ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:108.57KB ,
资源ID:8865656      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8865656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统复习大纲.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统复习大纲.docx

1、操作系统复习大纲操作系统复习大纲1. 设备无关性(独立性)设备独立性是指操作系统把所有外部设备统一当作文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。2. 进程与程序的区别进程是程序的一次执行,属于动态概念,而程序是一组有序的指令,是一种静态概念。但进程离开了程序也就失去了存在的意义。一个进程可以执行一个或几个程序。反之,同一程序可能由几个进程同时执行。程序可作为软件资源长期保留,而进程是程序的一次执行过程,是暂时的。进程具有生命期。进程具有并发性,能与其它进程并发运行。而程序不具备这种特征。进程是一个独立的运行单位,也是系统

2、进行资源分配和调度的一个独立单位。因此,进程具有独立性,但有时进程间又具有相互制约性。 3. 局部性原理、抖动。时间局部性:如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。(程序循环、堆栈等是产生时间局部性的原因)空间局部性:在最近的将来将用到的信息很可能与现状正在使用的信息在空间地址上是临近的。4. 抖动的处理(抖动的原因)。抖动:在虚存中,页面在内存与外存之间的频繁调度,以至于调度页面所需时间比进程实际运行的时间还多(在页面置换中,刚被淘汰出的页马上又要用到,如此反复),此时系统效率急剧下降,甚至导致系统崩溃,这种现象叫做抖动。抖动的原因:页架数过少,频繁造成缺页中断;页面置换

3、算法的不合理,不合理的算法可能将不久要用到的页面淘汰出去;程序结构,滥用转移指令。5. 死锁的必要条件。(1) 资源独占性:资源被各进程互斥使用,即一个资源每次只能被一个进程所占用;(2) 资源不可抢夺性:一个资源被一个进程占用后,除非该进程用完自行释放,不能被别的进程强行抢占;(3) 资源的部分分配:一个进程占有了一些分配给他的资源后,仍要求占用其他的资源。(4) 循环等待资源:系统中若干进程之间对资源使用形成了一种循环等待的状况,即第一个进程占用了第二个进程所需资源,第二个占用第三个的,最后一个又占用第一个的。6. 分页式、分段式,两者的主要区别。段页式,为何要分页分段?为何要分页:分页管

4、理是解决碎片问题的一种有效办法,它允许程序的存储空间是不连续的,用户程序的地址空间被划分为若干个固定大小的区域。分页存储管理:将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面。为何要分段:满足用户程序员(1)方便编程,(2)信息共享,(3)信息保护,(4)动态增长,(5)动态链接的需要。P136分段存储管理:将程序分成若干逻辑段,并对这些段分别分配存储空间。两者的主要区别:(1) 页是信息的物理单位,分页是为了便于系统管理,而段是信息的,逻辑单位,分段是为了满足用户的需要。(2) 分页式存储管理的作业地址空间是一维的,而分段式存储管理作业地址空间是二维的。(3) 页的长度由系统确定,是

5、等长的,而段的长度由具有相对完整意义的信息长度确定,是不固定的。为何有段页式:分页存储管理能有效提高内存的利用率,分段存储管理能很好地满足用户的需要,段页式存储管理则是分页和分段两种存储管理方式的结合,它同时具备了两者的优点。段页式存储管理:先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。7. 进程与线程的关系。线程是进程的一个组成部分,没各进程创建时通常只有一个线程,需要时可创建其它线程;进程的多线程都在进程的地址空间活动;资源是分给进程的,不是分给线程的,线程执行中需要资源时,可从进程资源中划分;处理机调度的基本单位是线程,线程之间竞争处理机,真正在CPU运行的

6、是线程,线程在执行时需要同步。线程:进程描述1:1每个线程的执行就是一个进程n:1每个进程定义一个地址空间并动态拥有资源1:n一个线程可以在多个进程间转移,同一进程可产生多个线程并运行n:n包含1:n和n:1的性质8. 什么是死锁、饥饿。死锁与饿死的区别。死锁:由于进程间相互竞争系统资源或通信而引起的一种阻塞现象。饥饿:当等待时间给进程推进和响应带来明显影响时,称为进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称进程饿死。死锁与饿死的区别:(1) 从进程状态看,死锁进程都出于等待状态,忙是等待(处于运行或就绪状态)的进程并非处于等待状态,但却可能被饿死。(2) 死锁进

7、程等待永远不会被释放的资源,饿死进程等待会被释放但却不会分配给自己的资源,其等待时限没有上界。(3) 死锁一定发生了循环等待,而饿死则不然。这也表明通过资源分配图可以检测死锁存在与否,却不能检测是否有进程饿死。(4) 死锁一定涉及多个进程,而饥饿或被饿死的进程可能只有一个。饥饿和饿死与资源分配策略有关,因而防止饥饿与饿死可以从公平性考虑,确保所有进程不被忽略。9. 安全性检测算法(已知流程图,写代码)。数据结构: Available: array1.mof integer; /系统可用资源 Claim: array1.n,1.mof integer; /进程最大需求 Allocation: a

8、rray1.n,1.mof integer; /当前分配 Need: array1.n,1.mof integer; /尚需资源 Request: array1.n,1.mof integer; /当前请求int Workm; 工作变量, 记录可用资源.int Finishn; 工作变量, 记录进程是否可进行完.1. Work = Available;Finish = false;2. 寻找满足如下条件的i: (1) Finishi=false;(2) NeediWorki; 如果不存在, 则转步骤4;3. Work = Work + Allocationi;Finishi = true; 转

9、步骤24. 如果对于所有i, Finishi = true, 则系统处于安全状态, 否则处于不安全状态.10. 进程的特征。进程的特征:(1) 并发性:可以与其他进程一起向前推进(2) 动态性:动态产生、消亡,生存期内状态动态变化(3) 独立性:一个进程是可以调度的基本单位(4) 交往性:同时运行的进程可能发生相互作用(5) 异步性:进程以各自独立,不可预知的速度向前推进(6) 结构性:每个进程由一个PCB。11. 进程的状态及其转移。 运行:进程当前处于运行状态。 就绪;进程已准备好运行。 阻塞;进程等待某些事件发生(如I/O操作)后才能运行。 创建:进程刚产生,但还未被操作系统提交到可运行

10、进程池中。 消失:进程被操作系统从可运行进程池中释放。 带有挂起状态的进程状态图:12. 最佳页面尺寸算法例:在一个分页系统中,设计算机的内存大小为M,作业平均尺寸为J,一个页表项占x个存储单位,问最佳页面尺寸P是多少?每个进程需要的页数:J/P占用 xJ/P 个存储单位每个进程的内部碎片平均为: P/2由页表和内部碎片带来的总开销: xJ/P+P/2=M对P求导,令其等于0,得到方程: 由此得到最佳页面尺寸公式13. 扔球问题。(1)有一个充分大的池子,两个人分别向池中扔球,甲扔红球,乙扔蓝球,一次扔一个,开始时池中有红、蓝球各一个,要求池中球满足条件:1红球数蓝球数2,用P V操作描述两个

11、进程信号量初值:r=1;b=0扔红 扔蓝 P(r) P(b)扔一个红 扔一个蓝V(b) V(r) V(r)(2)一个充分大的池子,甲乙丙三人扔球,甲扔红,乙扔蓝,丙扔绿。开始时池子中又红绿蓝球各一个。要求:池中球满足要求:1=红/蓝=2 ,且蓝=绿=红+蓝信号量初值:r,b1,g=1;b2=0 扔红 扔蓝 扔绿P(r) P(b1) P(g)扔一个红 P(b2) 扔一个绿V(b1) 扔一个蓝 V(b2)V(g) V(r) V(r) V(g)14. 设有一个型路口,其中A、B、C、D处各可容纳一辆车,车行方向如下图所示,试找出死锁并用有序分配法消除之。要求资源编号合理。解:(1)方向两台车分别位于

12、A和B;S方向一台车位于C;W方向一台车位于D。(2)S方向两台车分别位于B和C;E方向一台车位于A;W方向一台车位于D。设位置资源C、B、A、D的编号从低到高依次为1、2、3、4,管理四个位置的信号量分别为s1,s2,s3,s4,信号量的初值均为1。车辆活动如下:semaphore s1=1,s2=1,s3=1,s4=1; W :直行 P(s1); / 按序申请 P(s4); 驶入 D; 驶入 C; V(s4); 驶出 C; V(s1);E :左转 P(s2); 驶入 B; P(s3) ; 驶入 A; V(S2) P(s4) ; 驶入 D; V(s3) ; 驶出 D; V(s4); S :左

13、转 P(s1); 驶入 C; P(s2) ; 驶入 B; V(S1) P(s3) ; 驶入 A; V(s2) ; 驶出 A; V(s3); 15. 银行家算法(死锁检测,有流程图,写代码)。1. 如果RequestiNeedi, 则转步骤2; 否则进程申请资源量超过所申明最大资源需求量, 带错返回.2. 如果RequestiAvailablei, 则转步骤3; 否则本次申请当前无法满足, 进程pi必须等待.3. 系统假设分配资源, 将相应的数据结构修改为: Available = Available - Requesti; Allocation = Allocation + Requesti;

14、 Needi = Needi - Requesti;4. 如果上述分配所导致的新状态是安全的, 则转步骤5; 否则取消分配: Available = Available + Requesti; Allocation = Allocation - Requesti; Needi = Needi + Requesti; 进程pi等待.5确认分配,进程pi继续.16. 临界区。人们把每个进程中访问临界资源的那段代码成为临界区。17. 读着优先、写者优先(代码)。(1) 读者优先如果有读者来时,无读者和写者,新读者可以读;如有写者等待,但有其他读者正在读,则新读者可以读;有写者写,新读者则等待Var

15、wsem:semaphore; (initial value: 1)Writer: while(1) P(wsem); V(wsem); int readCount = 0;semaphore wsem = 1;semaphore mutex = 1;reader(): while(1) P(mutex); readCount = readCount+1; if (readCount = 1) P(wsem); V(mutex); P(mutex); readCount = readCount-1; if (readCount = 0) V(wsem); V(mutex); 变量wsem用来保

16、证读者与写者之间的互斥,以及写者与写者之间的互斥;变量readCount用来记录读者的数目;变量mutex用来实现读者对于变量readCount访问的互斥. 问题:读者源源不断,readcount不归0,写者会被饿死。这是不合理的,因为写者的操作是更新数据,应当优先进行,否则读者将读到已经过时的数据 策略:一旦有写者等待,新到达读者等待,正在读的读者都结束后,写者进入。(2) 写者优先如果有写者来时,无读者,新写者可以写;如有读者正在读,则新读者等待;有其他写者正在写,新写者则等待。int writeCount = 0;semaphore wsem,rsem = 1;semaphore mut

17、exY = 1;writer(): while(1) P(mutexY); writeCount = writeCount+1; if (writeCount = 1) P(rsem); V(mutexY); P(wsem); V(wsem); P(mutexY); writeCount = writeCount-1; if (writeCount = 0) V(rsem); V(mutex); int readCount = 0;semaphore wsem,rsem = 1;semaphore mutexX,mutex = 1;reader(): while(1) P(mutex); P(

18、rsem); P(mutexX); readCount = readCount+1; if (readCount = 1) P(wsem); V(mutexX); V(rsem); V(mutex); P(mutexX); readCount = readCount-1; if (readCount = 0) V(wsem); V(mutexX); 变量wsem用来保证读者与写者之间的互斥,以及写者与写者之间的互斥;变量writeCount用来记录写者的数目;变量mutexY用来实现读者对于变量writeCount访问的互斥;变量readCount用来记录读者的数目;变量mutexX用来实现读

19、者对于变量readCount访问的互斥;mutex用来实现rsem上不要有长的排队等待。18. 资源分配图的化简。可以通过对资源分配图的约简,来判断系统是否处于死锁状态资源分配图中的约简方法如下:(1)寻找一个非孤立且没有请求边的进程结点pi,若无算法结束;(2)去除所有pi的分配边使pi成为一个孤立结点;(3)寻找所有请求边均可满足的进程pj,将pj的请求边全部改为分配边;(4)转步骤(1) 若算法结束时,所有结点均为孤点,则称资源分配图是可以完全约简的,否则称为不可完全约简的文献已经证明,系统处于死锁状态的充分必要条件是资源分配图不可完全约简这一结论称为死锁定理定理:S为死锁状态的充分必要

20、条件是S的资源分配图不可完全约简 对于问题1,假设进程p3申请资源类r2中的一个实例,由于没有空闲的资源实例,将增加一条申请边(p3,r2),形成图 52. 此时, 出现了两个环路: p1 r1 p2 r3 p3 r2 p1 和p2 r3 p3 r2 p2. 进一步分析可以验证,此时系统已经发生死锁,且进程p1、p2和p3都参与了死锁. 对于问题2,此图中亦有一个环路: p1r2p4r1p1 然而并不存在死锁. 注意观察p2可能会释放资源类r1中的一个资源实例, 该资源实例可分配给进程p3, 从而使环路断开. 综合上述分析可以看出, 如果资源分配图中不存在环路, 则系统中不存在死锁; 反之,

21、如果资源分配图中存在环路, 则系统中可能存在死锁, 也可能不存在死锁.19. 堆栈型置换算法证明,LRU(PPT)。一般来说,分配给程序的主存页面数越多,虚页装入到主存到中的机会也就越多,因此命中率也可能越高,至少不应该下降,通常把满足这种关系的页面替换算法称为堆栈型替换算法。设长度为L的任何页面地址流,t为已经处理过t-1个页面的时间点,n为分配给该地址流的实存页架数,Bt(n)表示在t时间点,n个页架实存中的页面集,Lt表示到t时已经遇到过的地址流中相异页的页数,如果置换算法中具有: nLt时,Bt(n) Bt(n+1) nLt时,Bt(n) = Bt(n+1) 对任意一个程序的页地址流作

22、两次主存页面数分配,分别分配m个和n个主存页面,并且有mn。如果在任何时刻t,主存页面数集合Bt都满足关系:Bt(m)Bt(n)最近最少使用(Least Recently Used,LRU)页面置换算法则是根据页面调入内存后的使用情况,选择最近最少使用的页面予以淘汰。因为LRU算法满足,n=Lt时,Bt(n)=Bt(n+1)n表示分配给程序的实页数,Bt(n)表示t时刻在n个实页中的虚页集合,Lt为t时刻不同虚页的页面数。由于在主存中保留的是最近使用过的页面。如果先给某一个程序分配n个主存页面,那么在t时刻,这n个主存页面都是最近使用过的页面。如果再给这个程序多分配一个主存页面,那么在t时刻,

23、这n1个主存页面也都是最近使用过的页面。因此,在这n1个主存页面中必然包含了前面的n个主存页面。所以, LRU算法都是堆栈型算法。20. 在非抢占调度算法中,SPN具有最小平均等待时间。假如有4道作业,它们的提交时间及运行时间如下表所示:作业号提交时刻运行时间(分钟)18:0012028:303039:00649:3012采用单道运行,试问下述调度算法下,它们的调度顺序,并分别计算各调度算法下三个作业的平均周转时间 T 和平均带权周转时间 W。 T=1/N(Ti),Ti=结束时刻-提交时刻; W=1/N(Wi), Wi= Ti /作业 i 实际执行时间SPN(SJF):调度顺序为1 3 4 2

24、作业号到达时刻要求运行时间(分钟)结束时刻周转时间Ti(分钟)带权周转时间Wi18:0012010:00120139:00610:06661149:301210:1848428:303010:481384.6T=1/4(120+66+48+138)=93分钟W=1/4(1+11+4+4.6)=5.15以下证明是本人拙劣作品,证明过程还存在不严谨之处,请注重思路,细节上的东西因为时间问题暂不想追究。设有n个作业,将作业根据运行时间从小到大排序为(即由SPN算法得出的工作序列)A1 A2 An,其对应的运行时间为t1 t2 tn,等待时间为a1 a2 an,总等待时间为Wa现任取两个作业i 与j

25、互换位置(ii 且 tjti W0 即 WbWa又 平均等待时间W=总等待时间/n因此在非抢占调度算法中,SPN具有最小平均等待时间。21. 信号量相关概念、值。S.value的初值表示系统中某类资源的数目, 因而又称为资源信号量对它的每次P操作,意味着进程请求一个单位的该类资源,因此描述为S.value =S.value-1当S.value0时,表示该类资源已分配完毕,因此进程应调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表S.L中。对信号量的每次V操作,表示执行进程释放一个单位资源,故S.value =S.value+1操作表示资源数目加1。 若加1后仍是S.value0

26、,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,故还应调用V原语,将S.L链表中的第一个等待进程唤醒。如果S.value的初值为1,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。 22. FAT12 FAT16 FAT32 簇的大小。设硬盘大小为M文件系统FAT12FAT16FAT32簇个数簇大小M/M/M/23. 分布式操作系统中,进程间的通信方式。(1) 共享存储器系统基于共享数据结构的通信方式基于共享存储区的通信方式(2) 消息传递系统直接通信方式间接通信方式(3) 管道系统24. 若在一个分页存储管理系统中,A:逻辑地址 L:页面大小 P:页号 d:地址P=int

27、A/L d=A mod L若在一分页存储管理系统中,某作业也表如下所示,一直页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应物理地址页号块号02132136分析页面存储管理的结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示,给定逻辑地址A,页面大小L,则页面号P。地址d可按下式求得p=intA/L |d=A modL其中int是取整函数,mod是取余函数解本题,为秒速方便,设页号P,页内位移d则:(1)对于逻辑地址1011,p=int(1011/1024)=0,d=1011mod1024=1011,查页表第0页在第2块,所以物理地址为10242+1011=3059(2)2148 p=2 d=100第2页第1块物理地址1024+100=1124(3)p=3 d=928第三页第六快物理地址1024*6+928=7072(4)p=4 d=916页号超过页表长度,缺页中断。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1