操作系统复习参考20.docx
- 文档编号:7283133
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:20
- 大小:417.84KB
操作系统复习参考20.docx
《操作系统复习参考20.docx》由会员分享,可在线阅读,更多相关《操作系统复习参考20.docx(20页珍藏版)》请在冰豆网上搜索。
操作系统复习参考20
操作系统复习参考
一.基础知识(选择填空判断)
1.操作系统的定义
定义:
操作系统是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度、以及方便用户使用的程序集合
2.基本特性
1)并发性(最重要特征)
并发性是指在一段时间内,宏观上有多个程序在同时运行;微观上这些程序只
能是分时地交替执行
2)共享性
共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用
两种实现资源共享方式:
(1)互斥共享方式
(2)同时访问方式
操作系统的两个最基本的特征是并发和共享。
3)虚拟性
“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
用于实现虚拟的技术(虚拟技术):
①时分复用技术②空分复用技术
4)异步性
进程是以人们不可预知的速度向前推进,此即进程的异步性。
3.主要功能
4.PCB结构
⏹进程标识符
⏹处理机状态
⏹进程调度信息
⏹进程控制信息
5进程状态(三种基本状态)
就绪状态
⏹进程已经分配了除处理机以外的左右必要资源,只要再获得处理机就能够执行的状态。
⏹这样的进程可能有多个,通常排成一个队列,称为就绪队列。
执行状态
⏹已经获得CPU,正在运行。
⏹在单处理机系统只有一个进程处于执行状态。
多处理机系统则有多个处于执行状态。
阻塞状态
⏹正在执行的进程由于发生某事件而暂时无法继续执行时,放弃处理机而进入的状态,又称等待状态。
⏹引起阻塞的事件:
请求I/O,申请缓存。
6进程的同步和互斥的含义
互斥:
并发执行的多个进程由于竞争同一资源而产生的相互排斥的关系。
同步:
进程间共同完成一项任务时直接发生相互作用的关系。
7信号量P或V操作时信号量值的变化
操作
原语
信号量S变化
语义
P操作
wait()
S=S-1
申请资源
V操作
signal()
S=S+1
释放资源
8临界资源、临界区的概念
临界资源:
一次仅允许一个进程使用的共享资源如:
打印机、磁带机、表格
临界区:
在每个进程中访问临界资源的那段程序;进程必须互斥进入临界区;
9同步机制的原则
①空闲让进②忙则等待③有限等待④让权等待
10.作业经历的三级调度
三级调度
调度对象
主要功能
主要应用
高级调度
(长程调度/
作业调度)
作业
决定外存上处于后备队列的哪几个作业调入内存并未他们创建进程分配资源放入就绪队列
多道批处理系统
中级调度
(内存调度)
内外存之间的进程
把内存中暂时不能运行的程序调到外存挂起
把外存中具备运行条件的就绪进程重新调入内存
实际上就是存储器管理中的对换功能
低级调度(短程调度/进程调度)
进程
决定就绪队列中哪些进程获得CPU并由分派程序将CPU分配给选中的程序
最基本的调度
无论哪种OS都必须配置
11.各种调度算法的基本思想
先来先服务算法(FCFS)
⏹作业调度中每次从后备作业队列中选择一个或多个最先进入该队列的作业进入内存,为它们分配资源、创建进程,然后放入就绪队列。
⏹进程调度时,每次从就绪队列中,选择一个最先进入该队列的进程分配处理机使之运行。
直到完成或阻塞后,才放弃处理机。
短作业(进程)优先调度算法(SCF)
⏹短作业优先(SJF)调度算法:
从后备队列中选择一个或多个若干运行时间最短的作业调入内存运行。
⏹短进程优先(SPF)调度算法:
从就绪队列中选出一个估计运行时间最短的进程,分配处理机使它立即执行直到完成,或发生某种事件而被阻塞放弃处理机时,再重新调度。
高响应比优先调度算法
12.基本分页系统的地址转换过程(3,--5,)
①将逻辑地址转换成二进制
②将页号部分替换成对应物理块号的二进制
③将新的二进制串转化成十六进制就是物理地址
13.基本分段系统的地址转换过程
(1)根据逻辑地址中的段号查段表的相应栏目;
(2)根据段内地址<段长度,检查地址是否越界;
(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。
14.段页式存储管理系统的原理(先分段后分页)
①分段和分页原理结合:
用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间。
②先将用户进程分成若干个段;
③再把每个段分成若干个页,并为每个段赋予一个段名;
15.虚拟存储的概念
⏹虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
⏹其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存
16.I/O控制方式
程序I/O方式
⏹程序I/O方式,CPU的高速性和I/O设备的低速性,使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。
⏹CPU要不断地测试I/O设备的状态,因为在CPU中无中断机构,使I/O设备无法向CPU报告它已完成了一个字符的输入操作。
中断驱动I/O控制方式
⏹在I/O设备输入每个数据的过程中,无须CPU干预,可使CPU与I/O设备并行工作。
⏹仅当输完一个数据时,才需CPU花费极短时间去做些中断处理。
⏹使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。
直接存储器访问(DMA)I/O控制方式
⏹数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;
⏹数据传送是从设备直接送入内存的,或者相反;
⏹仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成。
⏹DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。
I/O通道控制方式
⏹I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。
⏹又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。
17.缓冲区管理种类
(1)种类:
①单缓冲②双缓冲③循环缓冲④缓冲池
(2)单缓冲
①块设备工作过程:
⏹用户发出I/O请求;
⏹OS在主存中分配一缓冲区;
⏹从磁盘把一块数据输入到缓冲区的时间为T,
•OS将该缓冲区中的数据传送到用户区的时间为M,
•CPU对这一块数据处理的时间为C,
•T和C是可以并行的,
⏹系统对每一块数据的处理时间表示为:
Max(C,T)+M
②字符设备的工作过程:
⏹用户发出I/O请求;
⏹OS在主存中分配一缓冲区用于暂存用户输入的一行数据;
⏹输入期间,用户进程被挂起以等待数据输入完毕;
⏹输出时,用户进程将一行数据输入到缓冲区后,继续执行处理,当户用已有第二行数据输出时,如果第一行数据尚未被提取完毕,则用户进程阻塞;
18.I/O软件系统层次
19.Spooling技术
⏹Spooling技术:
是SimultaneousPeripheralOperationOn-Line(即外部设备联机并行操作)的缩写,是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
⏹组成
20.文件结构:
顺序文件、索引文件、索引顺序文件
顺序文件
逻辑记录的排序
⏹第一种是串结构,各记录之间的顺序与关键字无关,按存入时间的先后排列;
⏹第二种情况是顺序结构,指文件中的所有记录按关键字(词)排列。
可以按关键词的长短从小到大排序,也可以从大到小排序;或按其英文字母顺序排序;
对顺序文件的读/写操作
⏹对于定长记录文件,如果要查找第i个记录,第i个记录相对于第一个记录首址的地址为:
Ai=i×L
⏹对于变长度记录文件,要查找第i个记录,要顺序地查找每个记录,获得相应记录的长度Li,然后按下式计算出第i个记录的首址。
假定在每个记录前用一字节指明该记录的长度,则:
顺序文件的优缺点
⏹最佳应用场合是在对诸记录进行批量存取时,即每次要读或写一大批记录;
⏹在交互应用场合,用户要求查找或修改单个记录,便要逐个查找记录,性能可能很差;
⏹增加或删除一个记录,比较困难;
索引文件
⏹为变长记录文件建立一张索引表,对主文件中的每个记录,在索引表中设一个相应的表项,用于记录该记录的长度L以及指向该记录的指针;
⏹根据用户提供的关键字,利用折半查找法去检索索引表,从中找到相应的表项;
⏹利用该表项中给出的指针值,去访问所需的记录;
索引顺序文件
⏹是顺序文件和索引文件相结合的产物;
⏹将顺序文件中的所有记录分为若干个组,为顺序文件建立一张索引表;
⏹在索引表中为每组中的第一个记录建立一个索引项,含有该记录的键值和指向该记录的指针;
目录管理:
FCB分解、树形目录查找
文件存储空间管理:
空闲表、空闲链、位示图法、成组链接法
二.简答题(5,x5=25,)
1.什么是分页?
什么是分段?
二者主要有何区别?
(5,)
①分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页;
②在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义一组逻辑信息;
两者区别:
①页是信息的物理单位,分页是系统管理的需要。
段是信息的逻辑单位,是为了满足用户的需要。
②页的大小固定且由系统决定,段的长度却不固定。
③分页的作业地址空间是一维的,分段的作业地址空间则是二维的。
2.如何预防死锁(5,)
(1)破坏“请求保持”条件:
所有进程在开始运行之前,必须一次性申请运行过程所需的全部资源。
(2)破坏“不可剥夺”条件:
当已经保持了某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源,待以后需要时再重新申请。
进程已经占有的资源,在运行过程中会被暂时地释放掉,可认为是被剥夺。
(3)破坏“环路等待”条件:
将所有的资源按类型进行线性排队,并赋予不同的序号,所有进程请求资源严格按照资源序号递增的次序提出,防止出现环路。
3.外存分配方式有哪几种?
分别有何优缺点?
(5,)
分配方式
含义
优缺点
连续分配
①为每一个文件分配一组相邻接的盘块;
②把逻辑文件中的记录顺序地存储到邻接的各物理盘块中;
③形成的文件结构是顺序文件结构,物理文件是顺序文件;
优点:
顺序访问容易且速度快;
缺点:
(1)要求有连续的存储空间;
(2)必须事先知道文件的长度;
链接分配
①文件的信息存放在若干不连续的物理块中;
②各块之间通过指针连接,前一个物理块指向下一个物理块;
③分为隐式链接和显式链接
缺点:
①可靠性问题,如指针出错;
②存取速度慢,不适于随机存取;
③更多的寻道次数和寻道时间;
④链接指针占用一定的空间;
索引分配
①文件的信息存放在若干不连续物理块中,系统为文件建立索引表并将块号存放在索引表中;
②索引分配方式支持直接访问,当要读文件的第i个盘块时,可方直接从索引块中找到第i个盘块的盘块号;
优点:
①能充分利用外存空间;
②满足了文件动态增长、插入删除的要求;
③即能顺序存取,又能随机存取;
缺点:
①索引表本身带来了系统开销,如:
内外存空间,存取时间;
4.1动态分区分配思想、算法、回收(5,)
分配思想
⏹设请求的分区大小:
u.size
⏹设空闲分区大小:
m.size
⏹不可再切割的剩余分区大小:
size
⏹如果m.size-u.size≤size,则将整个分区分配给请求者;否则,剩余部分留在空闲分区链(表)中;
⏹将分区的首地址返回给调用者;
算法
⏹首次适应算法FF
⏹循环首次适应算法
⏹最佳适应算法
⏹最坏适应算法
⏹快速适应算法
回收
①回收区前存在相邻空闲区,将回收区并入前空闲区
②回收区后存在相邻空闲区,将回收区并入后空闲区
③回收区前后都存在相邻空闲区,将回收区和后空闲区都并入前空闲区
④回收区前后都不存在相邻空闲区,将回收区设为新的空闲区并命名
4.2内存分配的三个问题
最小物理块数的确定
⏹保证进程正常运行所需的最小物理块数。
系统为进程分配的物理块数少于此值时,进程将无法运行。
⏹进程应获得的最少物理块数与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。
物理块的分配策略
固定分配局部置换
⏹思路:
每个进程分配一固定页数的内存空间,在整
个运行期间都不改变;
⏹策略:
如果缺页,则只能从该进程的页面中选出一
页换出,再调入一页;
⏹困难:
每个进程分配多少页面难以确定。
太少会频
繁地出现缺页中断,降低吞吐量;太多又使
内存中进程数减少,可能造CPU或其他资源
空闲,进程对换时会花费更多的时间。
可变分配全局置换
⏹思路:
先为每个进程分配一定数目的物理块,
OS保持一个空闲物理块队列;
⏹策略:
缺页时,系统从空闲物理块队列中,取
出一物理块分配给该进程,并将调入的
缺页装入其中,从而增加了个进程的物
理块数。
当空闲物理块队列队列空时,
从内存中选择一页调出。
可变分配局部置换
⏹思路:
为每个进程分配一定数目的物理块;
⏹策略:
缺页时,从该进程的页面中选一页换出;
如果进程频繁地发生缺页中断,则再为该
进程分配附加的物理块;若一个进程的
缺页率特别低,则可适当减少该进程的
物理块;
⏹特点:
使大部分进程可以达到比较近似的性能;
物理块分配算法
⏹平均分配算法
⏹按比例分配算法
⏹考虑优先权的分配算法
三.综合题(10,x4=40,)
1.计算周转时间&带权周转时间先来先服务调度算法(5,)
周转时间=作业完成时间-作业提交时间
=外存等待时间+就绪队列等待时间+CPU执行时间+等待I/O操作时间
带权周转时间(W)=周转时间(T)/服务时间(Ts)
TIPS:
越接近1表示调度的性能越好
先来先服务算法(FCFS):
核心思想:
按照作业/进程到达的先后顺序进行调度
作业调度:
从后备作业队列选择最先进入的作业,将其调入内存并为之分配资源创建进程,然后放入就绪队列
进程调度:
从就绪进程队列选择最先进入的进程,为之分配CPU使之运行直到该进程运行完成或发生某件事而阻塞,才将CPU分配给其他进程。
2.生产者—消费者问题(10,)。
生产者-消费者问题
一组生产者进程生产产品给一组消费者进程消费。
一个有n个缓冲区的缓冲池,生产者一次向一个缓冲区中投入消息,消费者从一个缓冲区中取得。
生产者——消费者问题实际上是相互合作进程关系的一种抽象。
制约关系:
①空不能取:
不允许消费者进程到一个空缓冲区中取产品
②满不能存:
不允许生产者进程到一个已满且还没被取走的缓冲区中投放产品。
利用记录型信号量解决生产者—消费者问题
①使用一个数组来表示具有n个(0,1,…,n-1)缓冲区的缓冲池。
②输入指针in:
指示下一个可投放产品的缓冲区,每当生产者进程生产并投放一个产品后,in加1;
③输出指针out来指示下一个可从中获取产品的缓冲区,每当消费者进程取走一个产品后,out加1。
④缓冲池是循环数组。
⑤利用互斥信号量mutex实现诸进程对缓冲池的互斥使用;
⑥利用信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量。
Varmutex,empty,full:
semaphore:
=1,n,0;
buffer:
array[0,…,n-1]ofitem;
in,out:
integer:
=0,0;
begin
parbegin
proceducer:
begin
repeat
…
produceranitemnextp;
…
wait(empty);/*申请空缓冲区*/
wait(mutex);/*申请空缓池的使用*/
buffer(in):
=nextp;
in:
=(in+1)modn;/*输入指针下移*/
signal(mutex);/*释放缓池的使用权*/
signal(full);/*释放满缓冲区*/
untilfalse;
end
consumer:
begin
repeat
wait(full);/*申请满缓冲区*/
wait(mutex);/*申请空缓池的使用*/
nextc:
=buffer(out);
out:
=(out+1)modn;/*输出指针下移*/
signal(mutex);/*释放缓池的使用权*/
signal(empty);/*释放空缓冲区*/
consumertheiteminnextc;
untilfalse;
end
parend
end
在生产者—消费者问题中应注意:
⏹在每个程序中用于实现互斥的wait(mutex)和signal(mutex)必须成对地出现;
⏹对资源信号量empty和full的wait和signal操作,同样需要成对地出现,但它们分别处于不同的程序中。
⏹程序中的多个wait操作顺序不能颠倒。
先执行对资源信号量的wait操作;
再执行对互斥信号量的wait操作,否则可能引起进程死锁
3.银行家算法(10,)
银行家算法
Requesti是进程Pi的请求向量。
Requesti(j)=k表示进程Pi请求分配Rj类资源k个。
当Pi发出资源请求后,系统按下述步骤进行检查:
1.如果Requesti≤Need,则转向步骤2;否则,认为出错,因为它所请求的资源数已超过它当前的最大需求量。
2.如果Requesti≤Available,则转向步骤3;否则,表示系统中尚无足够的资源满足Pi的申请,Pi必须等待。
3.系统试探性地把资源分配给进程Pi,并修改下面数据结构中的数值:
Available=Available-Requesti
Allocationi=Allocationi+Requesti
Needi=Needi-Requesti
4.系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。
如果安全才正式将资源分配给进程Pi,以完成本次分配;否则,将试探分配作废,恢复原来的资源分配状态,让进程Pi等待。
安全性算法
1.设置两个向量。
Work:
它表示系统可提供给进程继续运行的各类资源数目,它包含m个元素,开始执行安全性算法时,Work=Available。
Finish:
它表示系统是否有足够的资源分配给进程,使之运行完成,开始Finish(I)=false;当有足够资源分配给进程Pi时,令Finish(i)=true;
2.从进程集合中找到一个能满足下述条件的进程。
Finish(i)==false;
Needi≤work;
如找到则执行步骤3;否则,执行步骤4;
3.当进程Pi获得资源后,可顺利执行直到完成,并释放出分配给它的资源,故应执行
Work=work+Allocationi
Finish(i)=true;转向步骤2;
4.若所有进程的Finish(i)都为true,则表示系统处于安全状态;否则,系统处于不安全状态。
银行家算法中的数据结构
(1)可利用资源向量Available;
⏹含有m个元素的数组;
⏹每一个元素代表一类可利用的资源数目;
⏹其初始值是系统中所配置的该类全部可用资源的数目;
⏹其数值随该类资源的分配和回收动态地改变;
⏹如果Available[j]=K,则表示系统中现有Rj类资源K个。
(2)最大需求矩阵Max;
⏹一个n×m的矩阵;
⏹定义了系统中n个进程中的每一个进程对m类资源的最大需求;
⏹如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K;
(3)分配矩阵Allocation;
⏹n×m的矩阵,
⏹定义了系统中每一类资源当前已分配给每一进程的资源数。
⏹如Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的数目为K。
(4)需求矩阵Need;
⏹n×m的矩阵,
⏹表示每一个进程尚需的各类资源数。
⏹如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。
(5)三个矩阵间关系:
Need[i,j]=Max[i,j]-Allocation[i,j]
银行家算法之例
假定系统有5个进程(p0,p1,p2,p3,p4)和三类资源(A,B,C),各种资源的数量分别为10,5,7,在T0时刻的资源分配情况如下图:
MaxAllocationNeedAvailable
ABCABCABCABC
P0753010743332
P1322200122
P2902302600
P3222211011
P4433002431
1.T0时刻系统是否安全?
如果安全,给出安全序列。
答:
安全,安全序列:
P1,P3,P4,P2,P0
解题思路:
①先分配Need<=Available的进程
②Avalilable=Available+Allocation
③重复①②操作直至分配完成则分配顺序就是安全序列,若过程中存在找不到满足①条件的现象,则说明该时刻系统处于不安全状态
2.如果某时刻T1,P1请求资源:
Request1(1,0,2),系统是否分配?
为什么?
答:
①分配
②原因:
Ⅰ.Request1(1,0,2)≤Need1(1,2,2)
Ⅱ.Request1(1,0,2)≤Available1(3,3,2)
Ⅲ.分配后存在安全序列:
{P1,P3,P4,P2,P0}
解题思路:
①先满足Request≤Need
②再满足Request≤Available
③若①②条件都满足,则假设可以分配,分配后Available=Available-Request
④按照第1题思路寻找安全序列
3.P1请求处理完毕后,如果某时刻T2,P4请求资源:
Request4(3,3,0),系统是否分配?
为什么?
答:
①不分配
②原因:
Ⅰ.Request4(3,3,0)≤Need4(4,3,1)
Ⅱ.Request4(3,3,0)>Available4(2,3,0)不符合要求,不分配让P4等待
3.页面置换算法的原理(OPT、FIFO、LRU)(10,)
4.磁盘调度算法(FCFS、SSTF、SCAN、CSCAN)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 复习 参考 20