第一、二章(Ly手工归纳)1简述操作系统的主要功能\答:处理器管理、存储管理、设备管理、文件管理、网络功能、用户接口。
2操作系统的特征:并发性、共享性、虚拟性、异步性3操作系统的类型批处理操作系统、分时操作系统、实时操作系统、微机操作系统、网络操作系统、分布式操作系统4程序的并发执行程序的并发执行是指在逻辑上相互独立的一组程序在执行时间上的相互重叠,即一个程序段的执行尚未结束,另一程序段的执行已经开始。
5程序顺序执行顺序性,封闭性,可再现性6程序并发执行间断性,无封闭性,不可再现性7进程的定义进程是可并发执行的程序的一次执行过程,是系统进行资源分配和调度的一个独立的基本单位和实体,是一个动态的概念。
8进程的特征动态性:进程是程序的一次执行过程具有生命期;它可以由系统创建并独立地执行,直至完成而被撤消。
独立性:各个进程之间相互独立,是系统分配资源和能够被处理机调度的基本单位。
并发性:进程是可以并发执行的基本单位,从宏观上看,它们可以“同时”执行。
由于共享资源,进程间相互约束,相互依赖。
异步性:各个进程按照各自独立的、不可预知的速度异步向前推进。
即进程按异步方式执行。
9进程三种基本状态:执行状态(Executing)、就绪状态(Ready)、阻塞状态(Blocked)或等待(Wait)10进程控制块进程控制块—PCB(Process Control Block)记录和描述进程的动态特性,描述进程的执行情况和状态变化。
是进程存在的唯一标识。
11进程的描述进程标识信息:外部标识信息内部标识信息进程家族标识处理机状态信息:通用寄存器指令计数器程序状态字(PSW)用户栈指针进程调度信息:进程状态进程优先级其它调度信息等待事件进程控制信息:程序数据地址进程同步及通信资源清单链接指针12os内核①进程运行状态操作系统中,为了防止用户进程对OS及PCB等关键信息的破坏。
一个进程在其生命期中有两种机器运行状态:系统态(核心态,管态)具有较高的访问权,可访问核心模块。
用户态(目态)限制访问权。
②原语(primitive)是机器指令的延伸,是非进程模块,不能并发执行。
执行过程不可中断,用微代码实现。
13进程控制原语创建语言、阻塞语言、挂起语言、撤销语言、唤醒语言、激活语言14进程间的约束关系互斥关系进程之间由于竞争使用共享资源而产生的相互约束的关系。
这种因共享资源而产生的制约关系称为进程的互斥。
—间接相互制约关系同步关系并发执行进程之间通过在执行时序上的某种限制而达到相互合作的这种约束关系称为进程的同步—直接相互制约关系15临界资源与临界区临界资源(critical source):凡是以互斥方式使用的共享资源都称为临界资源。
临界资源具有一次只允许一个进程使用的属性。
临界区(critical section):每个进程互斥访问临界资源的那段代码称为临界区16同步机制的准则空闲让进无进程处于临界区内时,可让一个申请进入该临界区的进程进入。
忙则等待临界区内有进程时,申请进入临界区的进程必须等待。
有限等待进程进入临界区的请求,必须在有限的时间内满足。
让权等待等待进入临界区的进程,必须立即释放CPU。
17信号量机制信号量、P、V操作原语定义:V AR S:Semaphore;P操作(wait 原语)①S.value:= S.Value - 1;②若S.Value ≥ 0 进程继续执行。
若S.Value< 0 进程阻塞,并进入等待队(L)。
V操作(Signal原语)①S.value:= S.Value + 1;②若S.Value> 0 进程继续执行。
若S.Value ≤ 0 则释放S等待队列中的一个进程,使之转为就绪状态。
18进程通信的类型直接通信发送进程通过收、发原语直接将消息发送到接受进程的消息缓冲区。
间接通信发送进程将消息发送到电子邮箱,接受进程再从中取出消息。
第三、四章(Ly手工归纳)1进程调度的方式非抢占式(非剥夺式):进程一旦被调度,就一直占有CPU,直到完成或因发生某事件而被阻塞(I/O请求)。
抢占式(剥夺式):进程未执行完,可由调度程序剥夺其CPU,另分配给别的进程。
抢占的原因有:优先级、时间片、短进程等2进程调度的功能记录系统中所有进程的执行情况、确定分配处理机的原则(调度算法)、分配处理机给进程、回收处理机、进行进程上下文切换3调度算法先来先服务(FCFS)算法、最短CPU运行期优先(SCBF)算法、最高优先权(HPF)算法、时间片轮转(RR)算法、多级反馈队列算法4死锁的基本概念(1)产生死锁原因:竞争资源、进程推进顺序不当(2)产生死锁的必要条件互斥条件:进程互斥使用临界资源。
不剥夺条件:资源只能由占有它的进程释放,不能被其它进程剥夺。
请求保持条件:进程在申请新资源的同时,保持对某些资源的占有。
环路等待条件:存在循环等待链,在链中每个进程在等待它的前一进程所持有的资源。
(3)解决死锁的方法预防死锁:限制并发进程对于资源的需求,破坏产生死锁的必要条件。
严格限制死锁的发生。
避免死锁:在资源的动态分配过程中,采用某种算法防止系统进入不安全状态,避免死锁发生。
检测与解除死锁:对资源的分配不加限制,系统定时运行“死锁检测”程序,如检测到死锁,设法加以解除。
5避免死锁:在分配资源时,分析计算系统的安全性,避免系统进入不安全状态,则可避免死锁。
6系统状态安全:存在一个进程序列<P1,P2,。
Pn>,如果系统按此顺序为每个进程分配它们所需的最大资源,而不造成死锁,则称系统状态S(t)安全。
7银行家算法银行家算法是著名的避免死锁的算法。
其基本思想是:O S —银行家、进程—借贷的客户、资源—可周转的借贷资金8程序的装入绝对装入方式:直接用物理地址编制程序。
可重定位装入方式(静态重定位):重定位——将逻辑地址转换为物理地址的过程,也称为地址变换或地址映射。
动态运行时装入方式(动态重定位):在作业运行过程中进行地址转换,将程序的地址(逻辑地址)转换为内存的物理地址。
进程在内存中的地址是可变的,并可动态申请内存空间。
9连续分配存储管理方式固定分区分配:分区长度和个数将不再变化。
建立内存分配表记录分区分配的情况。
动态分区分配:根据用户实际需要,动态的分配连续空间。
建立已分配分区表及未分配分区表。
●回收分区采用拼接技术。
●紧凑技术10分区分配算法首次适应算法FF:未分配分区按地址从小到大排列。
分配时顺序查找,选择第一个满足要求的分区进行分配。
最差适应算法:按空闲区大小升序排列,分配时顺序查找,选择第一个满足要求的最小分区进行分配。
最佳适应算法BF:按空闲区大小升序排列,分配时顺序查找,选择第一个满足要求的最小分区进行分配。
11离散分配存储管理方式页式存储管理、段式存储管理、段页式存储管理12实存管理方案的主要问题:要求作业一次装入,造成内存资源的浪费。
、用户编程的地址空间(逻辑空间)不能超过实际的内存空间,无法运行很大的应用程序。
13虚拟存储管理的基本思想:(1)用大容量的外存来对内存空间进行逻辑扩充扩充,为用户提供一个比实际内存空间大得多的虚拟内存空间。
(2)基于程序的局部性原理,采用“部分装入”、“部分交换”的策略。
14请求分页管理(1)内存分配:将地址空间连续划分为大小相等的页面,将内存空间也划分为与页面大小相等的物理块(页框),作业的页面部分装入,不连续存放。
仅存在很少的页内零头。
(2)地址变换:通过页表进行地址变换,其地址结构为:请求分页系统中的页表,页描述子:15请求式分页存储管理16页面置换算法⑴最佳置换算法(Optimal):理论算法,所选择的淘汰页面,是永不访问的或在最长时间内不再被访问的页面。
⑵FIFO算法:是一种最简单的淘汰算法,首先淘汰在内存中驻留时间最长的页面。
算法依据是:作业按页号依次装入,一般相邻页面间逻辑关系最密切,故最早调入的页面不被使用的可能性比最近调入的页面大。
⑶LRU(Least Recently Used)算法:即最近最久不使用页面的淘汰算法。
算法依据:在本次缺页中断前的近一段时间内,未被使用时间最长的页面,推测在最近的将来,它也不会被使用。
需要硬件支持:寄存器或堆栈。
⑷LFU(Least Frequently Used)算法:最不常使用页面淘汰算法,LRU的近似算法。
首先淘汰到当前时间为止,被访问次数最少的页面。
只要在页表中增加一个访问计数器即可。
该页被访问时计数器加1。
缺页中断时,淘汰计数器值最小的页面。
淘汰后,对计数器清零。
17I/O 系统的结构微机I/O系统:CPU通过总线与设备控制器相连接,设备控制器是CPU 与设备之间的接口。
主机I/O系统:使用I/O通道(I/O处理机),实现对设备控制器的控制。
18I/O系统应该由以下部分组成:I/O设备设备控制器总线或通道19I/O控制方式:程序直接控制、中断控制方式、DMA 控制方式、通道控制方式20缓冲管理(1)为什么引入缓冲技术:缓解CPU与外设速度不匹配的问题。
、减少CPU中断响应次数,放宽响应时间。
、提高CPU与I/O设备,I/O设备之间的并行操作能力。
(2)缓冲技术的基本思想:在内存中开辟一个或多个专用区域(缓冲区),作为CPU 与I/O 设备间信息的集散地。
(3)缓冲区的组织:单缓冲区(single buffer)、双缓冲区(double buffer)、循环缓冲(circular buffer)、缓冲池(buffer pool)21设备分配的数据结构设备控制表DCT(Device Control Table):反映设备特性,设备与I/O控制器连接情况。
控制器控制表COCT(Controler Control Table):记录I/O控制器使用情况及与通道连接情况。
(DMA无)通道控制表CHCT(Channel Control Table):描述通道的使用情况。
系统设备表SDT(System Device Table):整个系统一张,记录已连接到系统中的设备情况,每个设备在SDT中占一表项。
22设备独立性:设备独立性(device independence)是I/O软件的一个关键性概念,是指用户程序独立于使用的物理设备。
(1)逻辑设备表:为了实现设备独立性,进程使用逻辑设备名。
系统为每个进程建立一张逻辑设备表LUT(Logical Unit table)。
LUT 包括:逻辑设备名、物理设备名、驱动程序地址。
通过LUT 实现用户程序中逻辑设备名到物理设备名的映射。
(2)使用逻辑设备名的优点:有利于改善资源的利用率。
提供了设备分配的灵活性。
为用户程序提供了与设备无关的接口,为I/O重定位提供方便,因此,提高了用户程序的可适应性。
23虚拟设备管理多道程序系统中,进程对设备的需求频繁,尤其是独占设备数量有限、效率低,故引入虚拟设备管理技术。