操作系统复习资料.docx
《操作系统复习资料.docx》由会员分享,可在线阅读,更多相关《操作系统复习资料.docx(22页珍藏版)》请在冰豆网上搜索。
操作系统复习资料
一、第一章操作系统的概念
1、OS的基本概念:
P1-3
OS的定义:
是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。
OS的目的:
1)方便性2)有效性3)可扩充性4)开放性
OS的作用:
1)OS作为用户与计算机硬件系统之间的接口
2)OS作为计算机系统资源的管理者(资源分为四类:
处理机,存储器,I/O设备,信息)
3)OS用作扩充机器(覆盖了软件的机器)
2、OS的功能:
P14
Ø存储器管理功能,主要包括:
内存分配、地址映射、内存保护和内存扩充。
Ø处理机管理功能,其功能包括:
作业和进程调度,进程控制和进程通信。
Ø设备管理功能,主要包括:
缓冲区管理、设备分配、设备驱动和设备无关性(设备处理)。
Ø文件管理功能,其功能包括:
文件存储空间的管理、文件操作的一般管理、目录管理、文件的读写管理,存取控制和保护。
Ø用户接口(P18):
命令接口、程序接口、图形接口
3、OS的特征:
P11
操作系统作为一类系统软件有其基本特征:
并存、共享和异步性。
4、OS中的相关概念:
多道程序技术P6:
在批处理系统中引入多道程序设计技术形成了多道批处理系统。
进程:
3种典型定义
Ø进程是程序的一次执行
Ø进程是一个程序及其数据在处理机上顺序执行时所发生的活动
Ø进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
线程:
线程是操作系统分配cpu时间的基本单位,一个进程中可以有多个线程。
作业:
5、OS的分类:
P8分时(a)与实时(b)系统的主要区别。
(从一下几点比较)
1)多路性:
都有多路性,a表现在允许一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务:
b还主要表现在系统经常对多路的现场信息进行采集,以及对多个对象或多个执行机构进行控制
2)独立性:
都有独立性,a中每个用户各占一个终端,彼此独立操作,互不干扰:
而对b,对信息的采集和对对象的控制,也是彼此互不干扰的
3)及时性:
要求类似,都以人能接受的等待时间来确定,而b以控制对象所要求的开始截止时间或完成截止时间来确定
4)交互性:
a能向终端用户提供数据处理服务,资源共享的服务;b虽也有交互性,但此处人与系统的交互仅限于访问系统中某些特定的专用服务程序
5)可靠性:
b比a要求高
二、第二章进程管理
本章内容为掌握的重点,分成两部分:
进程控制与同步、进程通信。
1、程序的执行方式:
顺序与并发,以及它们的区别P26
顺序执行即在一个程序执行完后,才允许另一个程序执行
2、程序并发执行的特征:
P28
Ø失去封闭性:
资源状态由多个程序改变
Ø间断性:
“程序”是指令的有序集合,是“静态”的概念,而“计算”是指令序列在处理机上的执行过程,是“动态”的概念。
在并发执行中,一个共享程序可被多个用户作业调用,从而形成了多个间断的“计算”过程。
形成相互制约关系
Ø不可再现性:
并发程序在执行期间可以相互制约。
前趋图可以是并发程序相互制约的示例。
(P27)
3、进程的引入:
为了更好地描述系统中的并发活动。
进程实体由程序,数据集合和PCB三部分组成
●#4、PCB(ProcessControlBlock进程控制块)的构成及作用:
P32
进程控制块包括如下内容:
(1)进程标识符:
它是惟一的标志对应进程的一个标志符或数字;
(2)处理机状态:
包括是处理机的各种寄存器内容信息;
(3)进程调度信息:
表明该进程的执行状态;调度优先权:
表示进程获取CPU的优先级别;进程之间通信信息:
反映该进程与哪些进程有什么样的通信关系;
(4)进程控制信息:
被保护的信息有:
程序计数器程序状态字,各工作寄存器的内容等;资源需求、分配和控制方面的信息;进程实体信息:
指出该进程的程序和数据的存储情况,在内存或外存的地址、大小等;族系关系:
反映父子进程的隶属关系;其它信息:
如文件信息、工作单位等。
进程控制块的作用:
进程控制块是进程组成中最关键的部分。
每个进程有惟一的进程控制块。
操作系统根据PCB对进程实施控制和管理。
进程的动态、并发等特征是利用PCB表现出来的。
PCB是进程存在的惟一标志。
5、进程控制原语:
P34
所谓原语(Primitive)由若干条机器指令构成的并用以完成特定功能的一段程序,而且这段程序在执行期间不允许中断。
原语又称为“原子操作(AtomicOperation)”过程,作为一个整体而不可分割——要么全都完成,要么全都不做。
内核中有很多原语,如创建进程、终止进程、阻塞进程等。
●#6、进程同步
1)进程间两种制约关系:
1.资源共享关系(进程间接制约):
需互斥地访问资源
2.相互协作关系(进程直接制约):
一个进程的执行依赖于另外一个(几个)进程的完
2)临界资源:
一次仅允许一个进程使用的这类资源称为临界资源。
P39
3)临界区:
进程访问临界资源的那段程序代码叫临界区。
P40
4)同步机制应遵循的规则:
空闲让进、忙则等待、有限等待、让权等待。
P41
5)信号量机制解决进程同步问题
•Wait(s)
•Signal(s)
6)信号量的应用1.利用信号量实现互斥2.利用信号量来描述前趋关系
7)经典进程同步问题编程求解(P-C)(P46)
1、生产者-消费者问题
2、哲学家进餐问题
3、读者-写者问题
4、嗜睡的理发师问题BP43。
7、进程状态及变迁P31图2-5
1)P30三种基本状态是:
进行态、就绪态和阻塞态(或等待态)
(1)运行态(Running)运行状态是指当前进程已分配到CPU,它的程序正在处理机上执行时的状态。
此时正用CPU。
(2)就绪态(Ready)就绪状态是指进程已具备运行条件,但因为其它进程正占用CPU,所以暂时不能运行而等待分配CPU的状态。
可运行,但未分到CPU。
(3)阻塞态(Blocked)阻塞态是指进程因等待某种事件发生而暂时不能运行的状态。
不能运行,等待某个外部事件发生。
2)进程状态的转换
(1)就绪——运行:
处于就绪状态的进程被调度程序选中,分配到CPU后,该进程的状态就由就绪态变为运行态。
(2)运行——阻塞:
正在运行的进程因某个条件未满足而放弃对CPU的占用,这个进程的状态就由运行态变为阻塞态。
(3)阻塞——就绪:
处于阻塞状态的进程所等待事件发生了,系统就把该进程的状态由阻塞态变为就绪态。
(4)运行——就绪:
正在运行的进程如用完了本次分配给它的CPU时间片,它就得从CPU上退下来,暂停运行。
该进程状态就由运行态变为就绪态.
8、进程的协调P38:
是进程的低级,主要掌握互斥、同步机制。
实现进程同步的机制有:
标志位、加锁、信号量同步,要求能进行信号量的设置和编程。
9、进程调度的方式(P54):
进程调度方式有剥夺、非剥夺两种。
●#10、进程通信P54(是高级通信/进程同步是低级通信)
1)共享存储器系统2)消息传递系统3)管道通信(是基于文件的/外存)
三、第三章处理机调度与死锁
1、调度类型和调度队列P70
类型:
Ø高级调度(作业调度、长程调度、接纳调度)
Ø低级调度(进程调度,短程调度)(抢占式/非抢占式)
Ø中级调度(中程)
调度队列:
1)仅有进程调度的调度队列模型(P72)2)具有高级和低级调度队列的模型(P72)3)同时具有三级调度队列的模型(P73)
2、调度算法P75
1)先来先服务(FCFS)法
它的实现思想就是“排队买票”的办法,是非剥夺式的,最简单的一种调度算法,但效率低下。
有可能使作业长时间等待。
2)短进程优先算法(P76):
是剥夺式的,缺点是使用长进程等待更长的时间。
FCFS实例
作业情况
调度算法
进程名
A
B
C
D
E
平均
到达时间
0
1
2
3
4
服务时间
4
3
5
2
4
FCFS
(a)
完成时间
4
7
12
14
18
周转时间
4
6
10
11
14
9
带权周转时间
1
2
2
5.5
3.5
2.8
SJF
(b)
完成时间
4
9
18
6
13
周转时间
4
8
16
3
9
8
带权周转时间
1
2.67
3.1
1.5
2.25
2.1
3)优先级调度
原则:
将CPU分配给就绪队列中优先级最高的进程。
进程优先级的两种确定方式:
静态方式和动态方式。
P78
(1)静态优先级是在创建进程时就确定下来,而且在整个运行期间保持不变。
(2)动态优先级是随着进程的推进而不断改变的。
4)高响应比优先算法(P78)
这是一种兼顾短作业及等待时间两个因素的算法。
在多个进程等待调度的情况下,以响应比高者作为调度对象。
响应比=(等待时间+估计运行时间)/估计运行时间
5)时间片轮转法(RR)
根据进程分配到的CPU时间片,公平轮转,是剥夺式的。
具体:
系统把所有就绪进程按先进先出的原则排成一个队列。
新来的进程加到就绪队列末尾,每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。
时间片是一个小的时间单位。
当时间片用完,该进程将置于就绪队列,重新等待分配CPU时间片。
时间片大小的确定:
1)系统对响应时间的要求
2)就绪队列中进程的数目
3)系统的处理能力
6)多级队列法(P79)
设置n级就绪队列,第一级队列的优先级最高,每次总是调度级别较高的队列中的进程。
每个就绪队列对应一个时间片,各级队列的时间片随级别递增(即级别越高,时间片越长)。
对第n级按时间片轮转法调度,其余各级均按FCFS法调度。
多级队列法综合了多种因素,它根据进程运行情况的反馈信息对进程就绪队列进行组织并实施调度。
P80图3-5.
3.死锁与避免P90:
产生死锁的必要条件:
如果在计算机系统中同时具备下面四个必要条件时,那么会发生死锁。
即只要下面四个条件有一个不具备,系统就不会出现死锁。
互斥条件:
即某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占有。
不可抢占条件:
进程所获得的资源在未使用完毕之前,资源申请者不能强制地从资源占有者手中夺取资源,而只能由该资源的占有者进程自行释放。
占有且申请条件:
进程至少已经占有一个资源,但又申请新的资源;由于该资源已被另外进程占有,此时该进程阻塞;但是,它在等待新资源时,仍继续占用已占有的资源。
循环等待条件:
存在一个进程等待序列{P1,P2…Pn}其中P1等待P2所占有的某一资源,P2等待P3所占有的某一资源,……而Pn等待P1所占有的资源,形成一个进程循环等待环。
上面提到的这四个条件在死锁时会同时发生。
也就是说,只有一个必要条件不满足,则死锁就可以排除。
死锁的预防(死锁预防是排除死锁的静态策略。
)它的基本思想是要求进程申请资源时遵循某种协议,从而打破产生死锁的四个必要条件中的一个或几个,保证系统不会进入死锁的状态。
打破互斥条件,即允许进程同时访问某些资源。
此办法无实用价值。
打破不可抢占条件。
即允许进程强行从占有者那里夺取某些资源。
这种方法实现起来困难,会降低系统性能。
打破占有且申请条件。
可以实行资源预先分配策略。
即进程在运行前一次性地向系统申请它所需要的全部资源。
但也有缺点。
打破循环等待条件,实行资源有序分配策略。
死锁的避免:
排除死锁的动态策略——死锁的避免,它不限制进程有关申请资源的命令,而是对进程所发出的每一个申请资源命令加以动态地检查,并根据检查的结果决定是否进行资源分配。
死锁避免中应用到了安全序列的概念P94,其定义如下:
所谓系统是安全的,是指系统中的所有进程能够按照某一种次序分配资源,并且依次地运行完毕,这种进程序列{P1,P2…Pn}就是安全序列。
如果存在这样一个安全序列,则系统是安全的。
P95示例
●#银行家算法
这是一个著名的避免死锁的算法(应很好地掌握)。
数据结构:
P95
银行家算法步骤:
P96银行家算法示例P97
死锁的检测:
资源分配图P99(图3-20)
死锁定理P99:
如果能在资源分配图中,找到一个既不阻塞又非独立的进程结点,并将它消去,使之成为孤立结点。
依此类推,如能将所有结点都成为孤立结点。
则称该图是可完全简化的。
死锁状态的充分条件是:
当且仅当S状态的资源分配图是不可完全简化的。
该充分条件称为死锁定理。
死锁解除:
P100
1)剥夺资源法,从其它进程剥夺资源给死锁进程,以求解除死锁;2)撤消进程法,撤消死锁进程。
四、第四章存储管理
重点掌握存储管理的功能,以及虚拟存储的概念和应用。
具体的包括各种内存的分配策略、所用的数据结构及算法优劣的比较。
1、分区管理P107:
固定分区、动态分区(FF\BF\WF)、可重定位分区
2、分页管理P113:
原理是将一个作业的地址空间与物理地址分成大小相同的页或帧,使得一个作业可以被分配到不连接的区域。
基本任务是实现页的虚拟地址到帧的映射。
分页存储管理的基本方法是:
逻辑空间分页:
将一个进程的逻辑地址空间划分成若干大小相等的部分,每一部分称做页面或页,每页都有一个编号,叫做页号。
内存空间分块:
把内存也划分成与页面相同大小的若干个存储块,称做内存块或页框。
逻辑地址表示:
在分页存储管理方式中,表示地址的结构。
页号p页内地址d(位移量w)
内存分配原则:
在分页情况下,系统以块为单位把内存分给作业或进程,并且一个进程可装入物理上不相邻的内存块中,
页表,为解决作业或进程离散地分布在内存块中,系统为每个进程设立一张页面映象表,简称页表。
其作用是实现从页号到内存块的地址映射,如同邮政编码
分页地址结构
v3112110
页号P
位移W
v逻辑地址A;页大小L(设为1024)
v页号P=INT(A/L)
v页内偏移d=AmodL
v如:
A=2170B.则P=2,d=122
v3、动态分页(即请求分页存储管理,是目前最常用的一种实现虚拟存储的方式)P128:
基本功能是调入策略、替换策略(页面置换算法)和地址变换的实现。
v缺页中断机构:
可在指令执行期间产生例:
涉及6次缺页中断的指令(如图)
地址变换机构
v比基本分页机制,增加了中断处理
页面置换算法
v页面置换算法的优劣影响系统效率,不好的算法可能导致“抖动”现象
vOPT、#FIFO(先进先出):
见书本P143习题23题、LRU
v4、分段管理P119:
原理是作业按逻辑段管理,段的大小长度不等。
v5、段页式管理:
将作业按段划分,每个段再划分成若干大小相同的页,其地址机构由段号、段内页号和页内相对位移地址三部分组成。
v#6.内存分配策略和分配算法(P129)
v将内存分配涉及三个问题:
最小物理块数的确定、物理块的分配策略和物理块的分配算法。
v在为作业分配物理块时,将涉及到三个问题:
v第一,确定为保证作业正常运行所需要的最少物理块数;
v第二,为每个作业分配的物理块,其数目是固定的还是可变的;
v第三,对各作业所分配的物理块数,是采取平均分配算法还是根据作业的大小按比例分配等。
v物理块的分配策略P130有三种:
v固定分配局部置换:
为作业分配固定的物理块,并当缺页时,只能在本程序内实现置换。
v可变分配全局置换:
为作业分配一定的物理块,当缺页时从系统中找到空闲块再分配之,系统无空闲块时,从任一进程中实现页的置换。
v可变分配局部置换:
为作业分配物理块后,若缺页只能从本进程中实施页的置换,若系统发现某进程频繁置换时,可再为之分配物理块,以使之降低缺页率。
v作业在内存中物理块数的分配算法
v
(1)平均分配算法
v
(2)按比例分配算法
v(3)优先权分配算法
v五、第五章设备管理
v1、I/O设备与I/O控制方式P144,P151
v1)I/O设备种类繁多,重要性能指标有:
数据传输速率,数据传输单位,设备共享属性。
分别按以上三个指标分类:
低速设备,中速设备,高速设备块设备,字符设备独占设备,共享设备,虚拟设备。
v2)I/O控制方式:
程序I/O方式,中断驱动I/O控制方式(了解),直接存储器访问DMAI/O方式,I/O通道控制方式
v2、中断处理过程(了解)
v3、缓冲技术P155:
是为了解决与低速I/O设备之间的矛盾而采用的技术。
v4、设备分配P161(熟悉图5-16设备控制表)
v5.SPOOLing技术
v为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、脱机输出技术。
v组成
vspooling组成:
v1)输入#和输出#:
v在磁盘上开辟的2个大存储空间,模拟输入和输出设备。
v2)输入buf和输出buf(内存中)
v输入设备—输入buf—输入#—用户区
(1)
v用户区—输出#—输出buf—设备
(2)
v3)输入Spi和输出SPo进程。
v分别控制
(1),
(2)的动作。
vSPi相当于脱机输入控制器。
vSPo相当于脱机输出控制器。
v6,磁盘存储器管理:
磁盘访问时间
v磁盘调度:
FCFS、SSTF、扫描(SCAN)算法、循环扫描(CSCAN)算法
vFCFSSSTFSCANCSCAN
100道开始
100道开始
100道开始
100道开始
下一个磁道
移动距离
下一个磁道
移动距离
下一个磁道
移动距离
下一个磁道
移动距离
55
45
90
10
150
50
150
50
58
3
58
32
160
10
160
10
39
19
55
3
184
24
184
24
18
21
39
16
90
94
18
166
90
72
38
1
58
32
38
20
160
70
18
20
55
3
39
1
150
10
150
132
39
16
55
16
38
112
160
10
38
1
58
3
184
146
184
24
18
20
90
32
平均寻道长度:
55.3
平均寻道长度:
27.5
平均寻道长度:
27.8
平均寻道长度:
27.5
v六、第六章文件管理
v1、文件与文件系统:
文件是信息的一种组织方式,是在外存上具有标识名的一组相关数据的集合。
v2、文件的特点:
(P182)
v3、文件系统的功能
v4、文件的逻辑结构P186:
是从用户的观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立与文件的物理特性,又称为文件组织。
可分为两类:
有结构文件,无结构文件
v5、文件的物理结构P191:
又称文件的存储结构,指文件在外存上的存储组织形式。
不仅与存储介质性能有关,而且与所采用的外存分配方式有关。
v6、文件的管理:
文件的管理实际上是文件目录的管理。
文件目录,是文件系统在创建每个文件时,为文件建立的文件目录,也称文件说明或FCB,用于为文件设置文件描述和控制文件的数据结构,与文件一一对应。
要求如下:
1)实现“按名存取”2)提高对目录的检索速度3)文件共享4)文件重命名
v7、目录文件:
是文件系统管理文件的重要信息源,由全部的文件目录组成。
常用目录结构有单级目录、二级目录和多级目录。
v8、文件存储空间管理:
P205:
实现文件存储空间分配与空闲空间的组织。
常用两种数据结构:
空闲链表与位示图。
除此之外还有空闲表法,成组链接法。
v9、文件共享与保护(P209)
v文件共享即指系统应允许多个用户(进程)共享同一份文件。
v七、第七章操作系统接口
v1、用户接口包括:
命令接口、程序接口、图形用户接口
v(注:
其余章节自己复习)
v
v综合练习:
v选择题:
v1、Linux是(A)。
vA)实时系统B)分时系统C)网络操作系统D)文件系统
v分时OS通常采用(B)策略为用户服务
vA)可靠性和灵活性B)时间片轮转C)优先数D)短作业优先
v在下列OS的组成中,(A)不需要硬件的支持。
vA)进程调度B)时钟管理C)地址映射D)中断系统
v对进程的管理和控制使用的是(B)
vA)指令B)原语C)信号量D)信箱通信
v若信号量S的初值为2,当前值为-1,则表示有(B)个等待进程。
vA)0B)1C)2D)3
v6、对于两个并发进程,设互斥信号量mutex,若mutex=0,则表示(C)
v没有进程进入临界区
v有一个进程进入临界区
v有一个进程进入临界区,另一个在等待
v两个都进入临界区
v系统在(C),发生从目态到管态的转换。
(目态:
用户态,管态:
系统态)
vA)发出wait操作时B)发出signal操作时
vC)执行系统调用时D)执行置程序状态字时
v填空
v动态重定位技术依赖于重定位寄存器
v系统“抖动”现象是由于置换算法选择不当
v3、在虚拟存储系统中,若进程在内存中占3块,采用FIFO算法,当执行访问序列为1,2,3,4,1,2,5,1,2,3,4,5,6,时,将产生___10____次缺页中断。
(缺页率为10/13=76.92%)(本题为FIFO页面置换算法的一例)
v4、采用段式存储的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是___216____
v5、作业在执行中发生了缺页中断,经OS处理后,应该让其执行(中断前\后\被中断\第一条)____被中断__________指令。
v6、在页式管理系统中,页表如下:
v虚页号物理页号
v02
v11
v26
v33
v47
v若页的大小这4K,则将逻辑地址0转换成了____8192________物理地址
v7、若有一分页系统,某作业的页表如下
v虚页号物理页号
v02
v13
v21
v36
v页面大小为1024字节,请将逻辑地址1011,2148,3000,4000,5012,转化为物理地址
v解:
页面大小为1024字节=1K=210字节
v对十进制数逻辑地址/页面大小=页号(虚页号)…………页内地址
v转化后物理地址=页号(对应的物理页号)*页面大小+页内地址
v1011:
1011/1K=0…1011,查表0对应2,故物理地址为2*1K+1011=3059
v2148:
2148/1K=1…1124,查表1对应3,故物理地址为3*1K+1124=3059
v3000:
3000/1K=2…952,查表2对应1,故物理地址为1*1K+952=1976
v4000:
4000/1K=3…928,查表3对应6,故物理地址为6*1K+928=7072
v5012:
5012/1K=4…916,查表,页号大于表长,则产生越界中断。
v8、若页面改为2048字节,且第0,1,2页依次存放在物理块5,10,11中,则逻辑地址0A5C,的物理地址是多少?
v解:
页面大小为2048字节=2K=211字节,则页内地址