02-03操作系统结构(OS_Structure)
[]陈述:
1.IO设备与CPU可并行运行。
2.每一个设备控制器负责一个设备类型。
3.每一个设备控制器有一个局部缓存。
4.CPU通过局部缓存与主存交换数据。
5.设备控制器通过引起中断通知CPU操作已完成。
[]中断机制:中断使得系统更加高效同时反应更为迅速。
分为硬件中断(hardware interrupt)和软件中断(software interrupt 陷阱)
1.硬件中断如 disk,timer,etc。
2.软件中断如
异常——除0,非法内存访问
之类的system call——read(),write()
重点名词:
interrupt driven:中断驱动,现代的操作系统都是中断驱动的。
interrupt handler:中断服务程序
interrupt vector:中断向量,是中断服务程序的入口地址。
[]IO结构
1、设备与设备控制器相连
2、IO操作分为同步(Synchronous)和异步(Asynchronous)两种。
同步的含义:在IO开始以后,直到IO完成,控制权才转交给用户程序。
同步IO的两种方式:busy wait method(忙等方式)和(interrupt based method)中断方式。
忙等方式:wait instruction 和 wait loop。缺点是一次最多1个IO请求,不能同时处理多IO请求。
中断方式:device-status table 和 wait queue。
异步的含义:在IO开始以后,不等IO完成,控制权就转交给用户程序。
异步的举例:Windows message、callback function
重点名词:
a device controller(hardware):设备控制器,包括local buffer storage(本地缓冲器)、a set of registers(一组寄存器)
device driver:设备驱动程序。
[]DMA(Direct Memory Access)结构
1.设备控制器在本地缓冲和内存之间传输一整块数据而无需CPU的干预。
2.DMA控制器从CPU窃取内存周期。
3.RAM(Random access memory)主存是CPU可以直接访问的唯一大型存储介质。
4.RAM的问题:small、volatile(易失性)。
5.Secondary Storage:magnetic disk(磁盘)、magnetic tape(磁带)、floppy disks、CD—ROMs
6.速度比较 magnetic disk < main memory < cache < hardware register
[]硬件保护
当非法指令、访问不属于自己地址空间的内存或进程中止时,硬件陷入到OS中去。
多用户环境下,保护磁盘上的文件、数据。
1)Dual-Mode Operation 两状态运行(用户态、管态)
——共享系统资源要求操作系统确保有误程序不会引起其他程序的错误。
——mode bit模式位
——出现中断或者陷阱时,硬件切换到管态。
——Privileged instructions(特权指令)只能在管态来下运行。
——权指令令在用户态下需要调用 system call 切换到管态下使用。
2)IO Protection IO保护
——所有的IO指令都是特权指令。
——用户不能直接用IO指令,必须通过系统调用。
——确保用户程序不能在管态下控制计算机。
3)Memory Protection 内存保护
——必须保护中断向量和中断服务程序。
——确定进程能访问的合法空间。
——base register基址寄存器,limit register界限寄存器。
——CPU访问的address要介于[base,base+limit]区间内。
——用户态生成的每个地址都要经过硬件检查。
——当在管态下的时候,操作系统可以访问任意管态和用户态的内存空间。
4)CPU Protection CPU保护
——OS需要防止用户程序陷入死循环或者不调用系统服务且不将控制权返回到OS。
——timer定时器,特定周期中断CPU以保证操作系统维持控制权。
——load-timer是特权指令。
——timer用来实现分时系统,也可以用来计算当前时间。
[]OS Services for user(操作系统服务)
1.User interface
2.Program execution
3.IO Operation
4.File-system manipulation
5.Comminications
——Msg Passing消息传递
——Shared Memory共享内存
6.Error dection
其他操作系统服务如Resource allocation(资源分配)、Accounting(账务)、Protection(保护)
[]System Calls系统调用
1.系统调用提供在运行程序和操作系统之间的接口,通常以汇编语言指令形式提供。
2.系统调用的处理机构:陷入(TRAP)或异常处理机构。
3.把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令)。
4.系统调用的处理流程:
1)当用户使用系统调用时,产生一条相应的指令
2)CPU在执行到该指令时发生中断,发出有关的信号给陷入处理机构。
3)处理机构在收到了CPU发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能
。
4)在处理系统调用之前,陷入处理机构还需保存处理机现场(PSW、PC、系统调用号、用户栈指针、通用寄存器、用户定义的参数等)
。
5.如何找到实现系统调用功能的子程序:入口地址表,每个入口地址与相应的系统程序对应。
6.系统调用的类型:process control、file management、device management、information maintence、communications。
[]系统程序
1.文件操作
2.状态信息
3.文件修改
4.程序设计语言支持
5.程序调入和执行
6.通信
7.应用程序
[]系统部件
1.Process Management 进程管理
——进程是正在执行的程序。
——OS负责:进程的创建和删除、进程的挂起和恢复,提供进程同步和进程通信机制,死锁的处理。
2.Main Memory Management主存管理
——OS负责:保持记录存储器的哪一部分当前被使用以及被谁使用、当有可用存储空间时决定调入哪个进程、需要时分配和回收存储空间。
3.Secondary-Storage Management 二级储存器管理
——由于主存是易失性的,而且太小不足以永久保存所有数据和程序,需要二级存储器备份主存。
——在同磁盘管理的有关活动中,OS负责:空闲空间管理、存储器分配、磁盘调度。
4.I/O System Management I/O系统管理
——包括:缓冲区-高速缓存系统、通用设备驱动器接口、用于特定硬件设备的驱动程序。
5.File Management 文件管理
——OS负责:目录和文件的创建删除、支持操作文件和目录的原语、把文件映像到二级存储器、在稳定存储介质做文件副本。
6.Protection System 保护系统
——保护是一种机制,控制程序、进程、或用户对系统和用户资源的访问
。
7.Networking 网络处理
8.Command-Interpreter System 命令解释器系统
[]系统结构
1.简单结构
2.层次化结构
——OS划分为若干层,底层(0层)为硬件,最高层(N层)为用户层。
——分层的基本原则模块化:每层只能使用低层次的功能和服务。困难:层次的划分和安排要保证不出现双向依赖关系。
——分层的有点:低层和高层可分别实现。
高层的错误不会影响到低层,便于调试,利于功能的增删改。
调用关系清晰避免递归调用。
——缺点:系统中所有的控制转移、通讯的任务全部交给系统的核心去管理,需要花费一定的代价。
[]微内核
操作系统由两大部分组成:
1、运行在核心态的内核。
2、运行在用户态并以C/S方式运行的进程层。
特点:
1)内核精巧,只包含任务管理、虚存管理、进程间通信。
2)面向多处理机和分布式系统
3)基于客户/服务器体系结构。
优点:
1)易于扩充
2)易于移植
3)提高系统的可靠性:
4)提供多种操作环境
便于实现分布计算 RPC Remote Procedure Call
缺点:
消息传递方式增加开销,使响应变慢。
[]虚拟机
1.虚拟机是层次化的逻辑结果,它把硬件和操作系统都看成是硬件。
2.虚拟机为裸机提供了统一的接口。
3.操作系统创建了多个进程,每一个进程都有自己的处理器和(虚拟)内存。
4.实现方式:分时 共享
[]陈述:
1.IO设备与CPU可并行运行。
2.每一个设备控制器负责一个设备类型。
3.每一个设备控制器有一个局部缓存。
4.CPU通过局部缓存与主存交换数据。
5.设备控制器通过引起中断通知CPU操作已完成。
[]中断机制:中断使得系统更加高效同时反应更为迅速。
分为硬件中断(hardware interrupt)和软件中断(software interrupt 陷阱)
1.硬件中断如 disk,timer,etc。
2.软件中断如
异常——除0,非法内存访问
之类的system call——read(),write()
重点名词:
interrupt driven:中断驱动,现代的操作系统都是中断驱动的。
interrupt handler:中断服务程序
interrupt vector:中断向量,是中断服务程序的入口地址。
[]IO结构
1、设备与设备控制器相连
2、IO操作分为同步(Synchronous)和异步(Asynchronous)两种。
同步的含义:在IO开始以后,直到IO完成,控制权才转交给用户程序。
同步IO的两种方式:busy wait method(忙等方式)和(interrupt based method)中断方式。
忙等方式:wait instruction 和 wait loop。缺点是一次最多1个IO请求,不能同时处理多IO请求。
中断方式:device-status table 和 wait queue。
异步的含义:在IO开始以后,不等IO完成,控制权就转交给用户程序。
异步的举例:Windows message、callback function
重点名词:
a device controller(hardware):设备控制器,包括local buffer storage(本地缓冲器)、a set of registers(一组寄存器)
device driver:设备驱动程序。
[]DMA(Direct Memory Access)结构
1.设备控制器在本地缓冲和内存之间传输一整块数据而无需CPU的干预。
2.DMA控制器从CPU窃取内存周期。
3.RAM(Random access memory)主存是CPU可以直接访问的唯一大型存储介质。
4.RAM的问题:small、volatile(易失性)。
5.Secondary Storage:magnetic disk(磁盘)、magnetic tape(磁带)、floppy disks、CD—ROMs
6.速度比较 magnetic disk < main memory < cache < hardware register
[]硬件保护
当非法指令、访问不属于自己地址空间的内存或进程中止时,硬件陷入到OS中去。
多用户环境下,保护磁盘上的文件、数据。
1)Dual-Mode Operation 两状态运行(用户态、管态)
——共享系统资源要求操作系统确保有误程序不会引起其他程序的错误。
——mode bit模式位
——出现中断或者陷阱时,硬件切换到管态。
——Privileged instructions(特权指令)只能在管态来下运行。
——权指令令在用户态下需要调用 system call 切换到管态下使用。
2)IO Protection IO保护
——所有的IO指令都是特权指令。
——用户不能直接用IO指令,必须通过系统调用。
——确保用户程序不能在管态下控制计算机。
3)Memory Protection 内存保护
——必须保护中断向量和中断服务程序。
——确定进程能访问的合法空间。
——base register基址寄存器,limit register界限寄存器。
——CPU访问的address要介于[base,base+limit]区间内。
——用户态生成的每个地址都要经过硬件检查。
——当在管态下的时候,操作系统可以访问任意管态和用户态的内存空间。
4)CPU Protection CPU保护
——OS需要防止用户程序陷入死循环或者不调用系统服务且不将控制权返回到OS。
——timer定时器,特定周期中断CPU以保证操作系统维持控制权。
——load-timer是特权指令。
——timer用来实现分时系统,也可以用来计算当前时间。
[]OS Services for user(操作系统服务)
1.User interface
2.Program execution
3.IO Operation
4.File-system manipulation
5.Comminications
——Msg Passing消息传递
——Shared Memory共享内存
6.Error dection
其他操作系统服务如Resource allocation(资源分配)、Accounting(账务)、Protection(保护)
[]System Calls系统调用
1.系统调用提供在运行程序和操作系统之间的接口,通常以汇编语言指令形式提供。
2.系统调用的处理机构:陷入(TRAP)或异常处理机构。
3.把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令)。
4.系统调用的处理流程:
1)当用户使用系统调用时,产生一条相应的指令
2)CPU在执行到该指令时发生中断,发出有关的信号给陷入处理机构。
3)处理机构在收到了CPU发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能
。
4)在处理系统调用之前,陷入处理机构还需保存处理机现场(PSW、PC、系统调用号、用户栈指针、通用寄存器、用户定义的参数等)
。
5.如何找到实现系统调用功能的子程序:入口地址表,每个入口地址与相应的系统程序对应。
6.系统调用的类型:process control、file management、device management、information maintence、communications。
[]系统程序
1.文件操作
2.状态信息
3.文件修改
4.程序设计语言支持
5.程序调入和执行
6.通信
7.应用程序
[]系统部件
1.Process Management 进程管理
——进程是正在执行的程序。
——OS负责:进程的创建和删除、进程的挂起和恢复,提供进程同步和进程通信机制,死锁的处理。
2.Main Memory Management主存管理
——OS负责:保持记录存储器的哪一部分当前被使用以及被谁使用、当有可用存储空间时决定调入哪个进程、需要时分配和回收存储空间。
3.Secondary-Storage Management 二级储存器管理
——由于主存是易失性的,而且太小不足以永久保存所有数据和程序,需要二级存储器备份主存。
——在同磁盘管理的有关活动中,OS负责:空闲空间管理、存储器分配、磁盘调度。
4.I/O System Management I/O系统管理
——包括:缓冲区-高速缓存系统、通用设备驱动器接口、用于特定硬件设备的驱动程序。
5.File Management 文件管理
——OS负责:目录和文件的创建删除、支持操作文件和目录的原语、把文件映像到二级存储器、在稳定存储介质做文件副本。
6.Protection System 保护系统
——保护是一种机制,控制程序、进程、或用户对系统和用户资源的访问
。
7.Networking 网络处理
8.Command-Interpreter System 命令解释器系统
[]系统结构
1.简单结构
2.层次化结构
——OS划分为若干层,底层(0层)为硬件,最高层(N层)为用户层。
——分层的基本原则模块化:每层只能使用低层次的功能和服务。困难:层次的划分和安排要保证不出现双向依赖关系。
——分层的有点:低层和高层可分别实现。
高层的错误不会影响到低层,便于调试,利于功能的增删改。
调用关系清晰避免递归调用。
——缺点:系统中所有的控制转移、通讯的任务全部交给系统的核心去管理,需要花费一定的代价。
[]微内核
操作系统由两大部分组成:
1、运行在核心态的内核。
2、运行在用户态并以C/S方式运行的进程层。
特点:
1)内核精巧,只包含任务管理、虚存管理、进程间通信。
2)面向多处理机和分布式系统
3)基于客户/服务器体系结构。
优点:
1)易于扩充
2)易于移植
3)提高系统的可靠性:
4)提供多种操作环境
便于实现分布计算 RPC Remote Procedure Call
缺点:
消息传递方式增加开销,使响应变慢。
[]虚拟机
1.虚拟机是层次化的逻辑结果,它把硬件和操作系统都看成是硬件。
2.虚拟机为裸机提供了统一的接口。
3.操作系统创建了多个进程,每一个进程都有自己的处理器和(虚拟)内存。
4.实现方式:分时 共享