南阳理工学院操作系统复习重点Word文件下载.docx
《南阳理工学院操作系统复习重点Word文件下载.docx》由会员分享,可在线阅读,更多相关《南阳理工学院操作系统复习重点Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
10.进程控制块(PCB)是进程实体的一部分,是操作系统中最重要的记录性数据结构,记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的所有信息。
OS是根据PCB来对并发执行的进程进行控制和管理
11.进程控制块(PCB)是进程存在的唯一标志。
为什么呢?
当系统创建一个新进程时,就为它建立了一个PCB;
进程结束时又回收其PCB,进程于是也随之消亡。
PCB经常被系统访问,尤其是被运行频率很高的进程及分派程序访问,故PCB应常驻内存。
12.进程并发执行时的相互制约关系1)间接相互制约关系,源于互斥资源的共享2)直接相互制约关系,源于进程间的合作
13.临界资源和临界区的概念:
许多硬件资源如打印机,磁带机等,都属于临界资源。
对于临界资源(CriticalResource),无论是硬件临界资源(打印机等),还是软件临界资源(例如前面讨论生产者-消费者问题的变量counter),多个进程必须互斥地对它进行访问。
人们把每个进程中访问临界资源的那段代码称为临界区(CriticalSection)。
14.同步机制四准则:
空闲让进,忙则等待,有限等待–避免“死等”,让权等待–避免“忙等
15.信号量机制:
整型信号量:
会出现“忙等”,未遵循让权等待准则。
wait(S):
whileS<
=0dono-op;
S:
=S-1;
signal(S):
=S+1;
wait(S)和signal(S)均为原子操作(AtomicOperation)。
很长时间以来,它们被称为P、V操作,P操作请求资源,V操作释放资源,它们应成对出现。
记录型信号量:
不存在“忙等”现象,遵循让权等待准则。
1)记录型信号量是整型信号量的改进。
2)S.value的初值表示系统中某类资源的数目,因而又称为资源信号量。
若初值为1则称之为互斥信号量。
3)wait操作意味着进程请求一个单位的该类资源,signal操作意味着进程释放一个单位的该资源。
(大题)typesemaphore=record
value:
integer;
L:
listofprocess;
End
procedurewait(S)
varS:
semaphore;
begin
S.value:
=S.value-1;
ifS.value<0thenblock(S.L);
End
proceduresignal(S)
=S.value+1;
ifS.value≤0thenwakeup(S.L);
end
信号量可用于实现进程间互斥及同步
16.用信号量解决生产者-消费者问题:
利用记录型信号量解决生产者-消费者问题
varmutex,empty,full:
semaphore:
=1,n,0;
buffer:
array[0,…,n-1]ofitem;
in,out:
integer:
=0,0;
parbegin
producer:
repeat
produceanitemnextp;
wait(empty);
wait(mutex);
buffer(in):
=nextp;
in:
=(in+1)modn;
signal(mutex);
signal(full);
untilfalse;
end
consumer:
wait(full);
nextc:
=buffer(out);
out:
=(out+1)modn;
signal(empty);
consumetheiteminnextc;
parend
17.三种高级进程通信工具:
1)共享存储器(SharedMemory)系统(基于共享数据结构的通信方式(低效)基于共享存储区的通信方式(高级通信))2)消息传递(MessagePassing)系统(是应用最为广泛的一种进程间的通信机制。
在该机制中,进程间的数据交换是以格式化的消息(message)为单位的。
程序员直接利用操作系统提供的一组通信命令(原语),不仅能实现大量数据的传递,而且还隐藏了通信的实现细节,使通信过程对用户是透明的,从而大大简化了通信程序编写的复杂性。
消息传递机制还是微内核操作系统、分布式系统、计算机网络等的最主要的通信工具。
以其实现方式的不同,可进一步分成直接通信方式和间接通信方式两种。
)3)管道(Pipe)通信(UNIX操作系统首创了这种通信机制。
管道通信以文件系统为基础,所谓管道(pipe),就是连接两个进程之间的一个打开的共享文件,它专门用于进程之间的通信。
发送进程可以执行write操作,以字符流的形式源源不断地向管道(共享文件)的一端写入数据流,而接收进程可以执行read操作,从管道的另一端按先进先出的顺序读出数据。
管道机制具有互斥、同步、确定对方是否存在三方面的协调能力。
)
18.为什么要引入线程?
是为了减少程序在并发执行时所付出的时空开销,是OS具有更好的得并发性。
19.从调度,并发性,拥有资源,系统开销方面比较线程和进程:
1)调度:
传统操作系统中,进程是拥有资源的基本单位,又是独立调度、分派的基本单位;
而在引入线程的操作系统中,线程是调度和分派的基本单位,而进程是资源拥有的基本单位。
2)并发性:
不仅进程之间可以并发执行,而且一个进程中的多个线程之间亦可并发执行。
例如,文件服务进程的多个服务线程。
3)拥有资源:
进程是拥有资源的基本单位,线程不拥有系统资源(只有一点必不可少的资源),一个进程的代码段、数据段、系统资源等,可供该进程中的所有线程共享。
4)系统开销:
进程的创建、撤销、切换,操作系统所付出的开销远高于对线程的类似操作的开销。
在一些操作系统中,线程的切换、同步和通信都
20.高级调度:
又称作业调度或长程调度,其主要功能是根据某些算法,吧外存上处于后备队列中的那些作业调入内存。
21.低度调度:
又称进程调度,是从内存的就绪队列中选择某个进程使它优先获得CPU进入执行态。
进程调度有抢占方式和非抢占方式两种方式。
抢占方式主要基于优先权原则,短进程优先原则,时间片原则
22.比较先来先服务(FCFS)和短作业(进程)(SJ(P)F)优先两种调度算法的平均周转时间和平均带权周转时间。
(大题10分)
优点:
短进程优先调度算法能有效地降低作业的平均等待时间,提高系统吞吐量。
缺点:
1)对长作业不利,会导致长作业(进程)长期不被调度(Starvation);
2)完全未考虑作业的紧迫程度;
3)作业(进程)的长短是预估的,不一定准确。
公式:
平均周转时间:
从每个进程的完成时间减去到达时间,即为周转时间
平均带权周转时间:
每个进程的周转时间与其服务时间之比,即为带权时间
23.产生死锁的原因;
1)竞争资源(当系统中供多个进程共享的资源如打印机,公用队列,其数目不足以满足进程的需要时,会引起诸进程对资源的竞争而产生死锁)2)进程间推进顺序非法(进程在运行过程中,请求和释放资源的顺序不当,也会同样导致产生进程死锁)
24.产生死锁的四大必要条件:
1)互斥条件,2)请求和保持条件,3)不剥夺条件,4)环路等待条件
25.处理死锁的四种方法:
1)预防死锁,2)避免死锁,3)检测死锁,4)解除死锁(剥夺资源,撤销进程)
26.避免死锁:
系统的安全状态与不安全状态(安全状态,是指系统能按某种进程顺序,即安全序列〈P1,P2,…,Pn〉,来为每个进程Pi分配所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。
如果系统无法找到这样一个安全序列,则称系统处于不安全状态。
当系统进入不安全状态后,便有可能进而进入死锁状态。
避免死锁的实质在于:
系统在进行资源分配时,如何使系统不进入不安全状态)
假定系统中有三个进程P1、P2、P3,共有12台磁带机。
假设在T0时刻,P1、P2、P3已分别获得5台、2台、2台磁带机,尚有3台空闲未分配,如左表所示。
经分析发现,存在一个安全序列〈P2,P1,P3〉,能使每个进程最终都顺利完成,所以说T0时刻系统处于安全状态。
假设T0时刻之后,P3又请求1台磁带机,系统(在T1时刻)满足了它的请求,于是系统进入了不安全状态,如右表所示,此时再也无法找到一个安全序列。
27.银行家算法:
(大题)
假定系统中有五个进程P0、P1、P2、P3、P4和三类资源A、B、C,各类资源数量分别为10、5、7,在T0时刻资源分配情况如下:
(1)利用安全性算法分析可知,在T0时刻存在安全序列〈P1,P3,P4,P2,P0〉,故系统是安全的。
28.存储器层次结构:
在存储器层次结构中,越往高层则存取存取速度越快,容量越小,例如一台计算机的寄存器总容量最多不过几KB,而内存可以达到几GB甚至更大。
29.动态分区分配:
常用的数据结构有两种形式:
1)空闲分区表,2)空闲分区连。
分区分配算法:
1)首次适应算法(firstfit)从空闲链首(低址)开始顺序查找,直到找到一个大小能满足要求的空闲分区,从该分区割下一块空间分配给请求者,余下的空间仍留在空闲链中。
该算法可保留高址部分的大空闲区,但会导致低址部分不断被划分,低址会产生很多碎片,增加查找空闲分区的开销,不利于大作业。
2)循环首次适应算法(nextfit)是firstfit的变形。
不再是从链首(低址)开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找。
优点是使空闲分区分布得更均匀,减少查找开销,缺点是会缺乏大的空闲分区。
3)最佳适应算法(bestfit)每次分配内存时,总是把能满足需求、又是最小的空闲分区分配给作业,避免“大材小用”。
缺点是会在存储器中留下许多难以利用的小碎片4)最坏适应算法(worstfit)与bestfit相反,挑最大的空闲区分割给作业使用。
优点是产生碎片的几率最小,缺点是会缺乏大的空闲分区。
5)快速适应算法(quickfit)
30.分页式存储管理:
若给定逻辑地址A,页面大小为L,则:
页号P页面地址d
3112110
31.再由业号,查页表可得到块号,而页内地址与块内地址相同,于是完成了逻辑地址到物理地址的转换。
32.地址变换时什么情况下会产生越界中断:
如果页号大于或等于页表长度,则表示本次所访问的地址已经超越进程的地址空间。
于是,这一错误将被系统发现并产生一地址越界中断。
33.分页系统中,若没有引入快表,则CPU每存取一个数据要两次访问内存。
34.分页和分段的区别与联系:
它们都属于离散分配方式。
分页是从系统的角度,为了彻底解决碎片问题,提高内存利用率;
而分段是为了方便用户,便于信息的共享与保护等。
分页的逻辑地址是一维的,而分段的逻辑地址是二维的。
页面大小固定,而段的长度不固定。
段表跟页表相似,地址变换时都可能产生越界中断。
分段系统中,若没引入快表则CPU每存取一个数据要两次访问内存
35.段页式存储管理方式是分段和分页的结合,段页式系统中,若没引入快表,则CUP每存取一个数据要三次访问内存。
36.虚拟寄存器:
是指具有(页或段)请求调入功能和(页或段)置换功能,能在物理上不增加内存容量的前提下,从逻辑上对内存容量加以扩充的一种存储器系统。
其逻辑容量最大可接近内存容量和外存容量之和,运行速度接近内存,单位容量的成本却接近外存。
37.虚拟寄存器的四大特征:
1)虚拟性:
从逻辑上扩充内存容量,使用户看到的内存容量远大于实际容量。
是虚拟存储器所表现出来的最重要的特征。
虚拟性是以多次性和对换性为基础的。
2)多次性:
一个作业被分成多次调入内存运行。
是虚拟存储器最重要的特征。
3)对换性:
允许作业在运行过程中将一些程序和数据甚至是进程在内存和外存之间换进、换出。
4)离散性:
多次性和对换性建立在离散性的基础上。
离散性是虚拟存储器最本质的特征。
38.请求分页系统:
增加了请求调页与页面置换功能。
39.什么情况下会产生缺页中断:
在请求分页系统中,每当所要访问的页面不在内存时,便
产生一缺页中断,请求OS将所缺之页调入内存。
40.三种页面置换算法(P150-151的三幅图是重点):
1)最佳置换算法:
往后看哪一个最晚被访问是哪一个就被淘汰
2)
FIFO置换算法:
顾名思义就是哪一个先被访问过就淘汰哪一个3)LRU置换算法:
叫做最近最久未使用置换方法,其顾名思义是往前看哪一个最靠前被访问就淘汰哪一个。
41.I/O控制方式:
1)程序I/O方式:
早期的计算机系统2)中断驱动I/O控制方式:
引入中断机制的现代计算机系统,使用于字符设备3)直接存储访问DMAI/O控制方式:
引入了DMA控制器的现代计算机系统,适用于块设备。
4)I/O通道控制方式:
引入了I/O通道的现代大中型计算机系统,进一步减少CPU的干预。
(此处可出选择和简答题)老师给出的例子“键盘设备的I/O控制方式是?
”答:
中断驱动I/O控制方式 “磁盘设备的I/O控制方式是?
DMAI/O控制方式
在早期的计算机系统中,采用程序I/O方式;
系统中引入中断机制后,I/O控制方式便发展为中断驱动(InterruptDriven)方式;
随着DMA控制器的出现,I/O控制方式发展为DMA方式,从以字节为单位扩大到以数据块为单位进行传输,大大改善块设备的I/O性能;
I/O通道方式的引入,使对I/O操作的组织和数据的传送都能独立地进行而无需CPU干预。
42.缓冲的三条原因或作用:
1)缓和CPU与I/O设备间速度不匹配的矛盾;
2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制;
3)提高CPU和I/O设备之间的并行性。
43.单缓冲区:
操作系统将该缓冲区中的数据传到用户区的时间为M,I/O设备输入数据(T)和CPU对数据处理(C)两者是可以并行的,当T>
C时,系统对每一块数据的处理时间为M+T,反之则为M+C,故可把系统对每一块数据的处理时间表示为Max(C,T)+M。
44.双缓冲区:
双缓冲又称为缓冲对换(BufferSwapping),可加快输入输出速度,提高设备利用率。
双缓冲时,系统处理一块数据的时间可以粗略地认为是Max(C,T)。
如果C<
T,可使块设备连续输入;
如果C>
T,则可使CPU不必等待设备输入
45.I/O软件:
I/O软件的总体目标是高效性和通用性
46.I/O软件的层次结构:
1)用户层软件(高层):
实现与用户交互接口,用户可直接调用在用户层提供的,与I/O操作有关的库函数,对设备进行操作。
2)设备独立性软件(中间层):
负责实现与设备驱动器的统一接口,设备命名,设备的保护以及设备的分配与释放等,同时为设备管理与数据传送提供必要的存储空间。
3)设备驱动程序(低层):
与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。
4)中断处理程序(最低层):
用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后再恢复被中断进程的现场后返回到被中断进程。
此图为重点图之一在课本P179页可出选择或简答题(同上所诉)
47.设备分配:
需要用到一下几种数据结构;
DCT(设备控制表),COCT(控制器控制表),CHCT(通道控制表),SDT(系统设备表)
48.SPOOLing技术:
体现了操作系统的四大特征之一:
虚拟性,第一章讲过脱机输入、输出技术,可缓和CPU高速性和I/O设备低速性的矛盾。
在多道程序系统中,可用一个进程SPi模拟脱机输入的外围机,把低速输入设备上的数据传送到高速磁盘上;
用另一个进程SPo模拟脱机输出的外围机,把数据从高速磁盘传送到低速输出设备上。
这样在CPU的直接控制下,模拟脱机输入、输出功能,使外围操作与CPU对数据的处理同时进行,这种联机操作称为SPOOLing(SimultaneousPeripheralOperationsOn-Line),或称为假脱机操作。
48.SPOOLing系统的特点:
1)提高了I/O的速度2)将独占设备改为共享设备3)实现了虚拟设备的功能
49.寻道时间(T):
其占据了磁盘访问时间的大头,且可用磁盘调度算法进行优化。
改时间是启动磁臂的时间S与磁头移动n条磁道所花费的时间之和,即
T=mxn+s其中m是一常数
50.磁盘调度算法:
1)先来先服务(FCFS)算法:
平均寻道长度最大,故仅适用于请求磁盘I/O的进程数目较少的场合。
根据进程请求访问磁盘的先后次序进行调度。
缺点是平均寻道距离大,平均寻道时间长。
2)最短寻道时间优先算法(SSTF):
存在starvation(饥饿)现象,优先选择要求访问的磁道与当前磁头所在的磁道距离最近的进程,以使每次寻道时间最短,但SSTF算法不能保证平均寻道时间最短,并且可能导致进程饥饿(starvation)现象。
3)扫描(SCAN)算法又称电梯调度算法:
该算法不仅考虑欲访问的磁道与当前磁道的距离,更优先考虑磁头当前的移动方向。
其磁头移动规律颇似电梯的运行,又称电梯调度算法。
既有较好的寻道性能,又避免饥饿现象。
4)循环扫描(CSCAN):
CSCAN是SCAN变种,规定磁头只能单向移动(例如自里向外),移动到最外磁道访问后立即移动到最里的欲访问磁道,亦即将最小磁道号紧接着最大磁道号构成循环。
相比SCAN可降低进程的最大等待时间(由2T降到T+Smax)。
5)NStepSCAN算法和FSCAN算法:
SSTF、SCAN、CSCAN都可能会出现磁臂粘着(armstickiness)现象,即有一个或几个进程对某一磁道访问频率很高,磁臂停留在该磁道不动,从而垄断了整个磁盘设备,在高密度磁盘上容易出现此情况。
N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列,而每处理一个队列时又是按SCAN算法。
可避免粘着现象。
当N取值很大时,NStepSCAN接近SCAN;
当N=1时,NStepSCAN退化为FCFS。
FSCAN实质上是对NStepSCAN的简化,只将磁盘请求队列分成两个子队列。
一个是由当前所有请求磁盘I/O的进程形成的队列,另一个是扫描期间新出现的所有请求磁盘I/O的进程形成的等待队列。
先来先服务(FCFS)算法
最短寻道时间优先算法(SSTF)
扫描(SCAN)算法又称电梯调度算法
循环扫描(CSCAN)
第六章文件管理(p-208)
(重点)文件的逻辑结构:
是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,独立于文件的物理特性,又称为文件组织(FileOrganization)。
(重点)文件的物理结构:
又称为文件的存储结构,是指文件在外存上的存储组织形式,不仅与存储介质性能有关,而且与所采用的外存分配方式有关。
无论是文件的逻辑结构,还是其物理结构,都会影响到文件的检索速度。
文件逻辑结构的类型
有结构文件。
根据每个记录的长度,可分为定长记录、变长记录两类;
根据各记录的组织形式,可分为顺序文件、索引文件、索引顺序文件三种。
无结构文件,即流式文件
文件的逻辑结构:
顺序文件:
文件是记录的集合,文件中的记录可以是任意顺序的,可归纳为串结构和顺序结构两种。
串结构文件的检索只能逐个记录遍历,而对顺序结构文件可有更好的检索效率。
顺序文件的优点是对诸数据进行批量存取时效率最高,并且只有顺序文件能存储在磁带上。
缺点是在文件较大时,查找或修改单个记录性能很差,尤其是采用变长记录的顺序文件开销更大;
并且,增加或删除一个记录都比较困难。
索引文件:
对于定长记录的顺序文件可较方便地实现直接存取,但变长记录的直接存取是十分低效的,检索时间太长。
所以可为其建立一张索引表,而索引表本身是一个定长记录的顺序文件。
对索引文件检索分为两步,第一步可用折半查找法检索索引表,找到相应表项;
第二步利用该表项指向记录的指针,访问该条记录。
索引文件可用于对信息处理及时性要求较高的场合。
缺点是存储费用高。
索引顺序文件:
索引顺序文件可能是最常见的一种逻辑文件形式,可看作是顺序文件和索引文件的折衷。
它将顺序文件中的所有记录分为若干个组,为顺序文件建立一张稀疏索引表,在稀疏索引表中为每组中的第一个记录建立一个索引项,其中含有该记录的键值和指向该记录的指针。
检索时,首先利用用户提供的关键字(键值)检索稀疏索引表,再利用顺序查找法查找主文件。
其中,顺序文件的检索性能最差,索引文件的存储成本最高,索引顺序文件是前两者的折中。
常用的外存分配方法有连续分配、链接分配和索引分配三种。
文件的物理结构:
文件的物理结构直接与外存分配方式有关。
采用连续分配方式时,形成顺序式的文件物理结构;
链接分配方式形成链接式文件物理结构;
索引分配方式形成索引式文件物理结构。
连续分配(顺序结构):
连续分配(ContinuousAllocation)为每个文件分配一组相邻接的盘块。
此时的物理文件称为顺序文件。
应在目录项的文件物理地址字段中,记录该文件第一个记录所在的盘块号和文件长度(以盘块数进行计量)。
顺序访问容易,且顺序访问速度快(磁头移动距离最短)。
①要求有连续的存储空间,与内存动态分配类似,会产生大量碎片,紧凑开销很