《操作系统1-3章习题讲解--操作系统期中考试讲评.ppt》由会员分享,可在线阅读,更多相关《操作系统1-3章习题讲解--操作系统期中考试讲评.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系操作系统1-3章章习题讲解解-操作系操作系统期中考期中考试讲评n 1.OS的主要目标是什么?的主要目标是什么?(P33)解答:解答:1)方便性:方便用户、程序员;)方便性:方便用户、程序员;2)有效性:提高软硬件资源利用率;)有效性:提高软硬件资源利用率;3)可扩充性:便于扩充功能和性能;)可扩充性:便于扩充功能和性能;4)开放性:增加系统兼容性和互操作)开放性:增加系统兼容性和互操作性。性。Chap1 操作系统引论操作系统引论n 2.OS的作用可表现在哪几个方面?的作用可表现在哪几个方面?(P33)解答:解答:1)从一般用户的观点,可把)从一般用户的观点,可把OS看作看作是用户与计算机
2、硬件系统之间的是用户与计算机硬件系统之间的接口接口;2)从资源管理角度看,可把)从资源管理角度看,可把OS视为视为计算机系统计算机系统资源的管理者资源的管理者;3)OS作为系统软件覆盖在裸机之上作为系统软件覆盖在裸机之上后,便可获得一台功能显著增强的虚拟机后,便可获得一台功能显著增强的虚拟机器,因此,器,因此,OS还有还有扩充机器扩充机器的作用。的作用。Chap1 操作系统引论操作系统引论n 13.OS有那几大特征?最基本的特征是什有那几大特征?最基本的特征是什么?(么?(P33)解答:基本特征是:并发、共享、虚拟、解答:基本特征是:并发、共享、虚拟、异步。最基本的特征是异步。最基本的特征是:
3、并发性和共享性并发性和共享性Chap1 操作系统引论操作系统引论n 18.什么原因使什么原因使OS具有异步性?具有异步性?(P33)解答:解答:1)程序执行结果是不确定的,即程序)程序执行结果是不确定的,即程序运行结果是不可再现的。运行结果是不可再现的。2)每个程序在何时执行,多个程序)每个程序在何时执行,多个程序间的执行次序以及完成每个程序的时间都间的执行次序以及完成每个程序的时间都是不确定的,即不可预知性。是不确定的,即不可预知性。Chap1 操作系统引论操作系统引论n 22.基于微内核的基于微内核的OS中,应用了哪些新技中,应用了哪些新技术?术?(P33)解答:客户解答:客户/服务器技术
4、、面向对象技术。服务器技术、面向对象技术。Chap1 操作系统引论操作系统引论n补充补充1 1:什么是多道程序设计:什么是多道程序设计?实现多道实现多道程序设计的计算机需要那些必不可少的硬程序设计的计算机需要那些必不可少的硬件支持件支持?采用多道程序设计会带来什么好采用多道程序设计会带来什么好处处?解答:在计算机内存中同时存放几道相互独解答:在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互立的程序,它们在管理程序的控制下相互穿插地运行,共享穿插地运行,共享CPU和外设等资源。和外设等资源。硬件支持:硬件支持:中断技术中断技术优点:资源的利用率、系统吞吐量大。优点:资源的利用
5、率、系统吞吐量大。Chap1 操作系统引论操作系统引论n补充补充2 2:操作系统是如何从单道批处理,:操作系统是如何从单道批处理,发展到多道批处理,再到分时系统的,随发展到多道批处理,再到分时系统的,随之出现了哪些技术。之出现了哪些技术。解答:解答:1)单道)单道多道批处理:提高资源利用多道批处理:提高资源利用里,产生了多道程序设计技术、通道、中里,产生了多道程序设计技术、通道、中断、作业管理、处理机管理、存储管理、断、作业管理、处理机管理、存储管理、文件系统。文件系统。2)批处理)批处理分时系统:提高系统的交分时系统:提高系统的交互能力,产生了时钟技术。互能力,产生了时钟技术。Chap1 操
6、作系统引论操作系统引论n补充补充3 3:分时系统的出现让用户感受到了:分时系统的出现让用户感受到了什么好处?典型的分时系统是什么?什么好处?典型的分时系统是什么?解答:解答:1)同时性或多路性:同时性或多路性:多用户同时操作、使多用户同时操作、使用计算机用计算机 2 2)独占性:独占性:各终端用户感觉到自己独占了各终端用户感觉到自己独占了计算机;计算机;3 3)及时性:及时性:用户请求在较短时间内相应;用户请求在较短时间内相应;4 4)交互性:交互性:用户能计算机进行人机对话用户能计算机进行人机对话。典型的分时系统:典型的分时系统:UNIXChap1 操作系统引论操作系统引论n 6 6:从动态
7、性、并发性和独立性上比较进程和:从动态性、并发性和独立性上比较进程和程序程序.(P81P81)答案答案见见P37-38P37-38n 7 7:说明:说明PCBPCB作用,为什么作用,为什么PCBPCB是进程存在唯一是进程存在唯一标志标志.(P81P81)解答:解答:1)PCB 是进程实体的一部分,是操作系统是进程实体的一部分,是操作系统中最重要的记录型数据结构。中最重要的记录型数据结构。PCB 中记录了操中记录了操作系统所需的用于描述进程情况及控制进程运作系统所需的用于描述进程情况及控制进程运行所需的全部信息。行所需的全部信息。2)在进程的整个生命周期中,系统总是通在进程的整个生命周期中,系统
8、总是通过其过其PCB 对进程进行控制,系统是根据进程的对进程进行控制,系统是根据进程的PCB 而不是任何别的什么而感知到该进程的存而不是任何别的什么而感知到该进程的存在的。在的。Chap2 进程管理进程管理n 10 10:进程切换时保存:进程切换时保存CPUCPU状态信息包含哪状态信息包含哪些?(些?(P81P81)解答:解答:1)通用寄存器)通用寄存器 2)指令计数器)指令计数器 3)程序状态字)程序状态字 4)用户栈指针)用户栈指针 注意:处理机状态是注意:处理机状态是PCB的一部分,它描的一部分,它描述了进程在处理机上执行时的各种信息;述了进程在处理机上执行时的各种信息;当进行进程切换时
9、,处理机中的这些信息当进行进程切换时,处理机中的这些信息统统要被其它进程覆盖,所以必须保存。统统要被其它进程覆盖,所以必须保存。Chap2 进程管理进程管理n 18 18:同步应该遵循的基本原则?(:同步应该遵循的基本原则?(P82P82)答案见答案见P50P50n 19 19:记录型信号量的:记录型信号量的waitwait和和signal signal 的物的物理含义(理含义(P82P82)作业问题:作业问题:1)只答出只答出wait、signal操作的原子性。操作的原子性。2)只答出)只答出wait表示申请一个资源,表示申请一个资源,signal表示释放一个资源。表示释放一个资源。Chap
10、2 进程管理进程管理解答:解答:1)wait操作意味着请求一个单位的资源;操作意味着请求一个单位的资源;若减若减1后后S.value0时,表示资源已分配完时,表示资源已分配完 毕,故进程调用毕,故进程调用block原语进行自我阻塞,原语进行自我阻塞,并被插入到等待队列中。并被插入到等待队列中。2)signal操作意味着释放一个单位的资源;操作意味着释放一个单位的资源;若加若加1后后S.value=0,表示等待队列中仍有表示等待队列中仍有进程等待该资源,故进程调用进程等待该资源,故进程调用wakeup原原语唤醒一个等待进程。语唤醒一个等待进程。Chap2 进程管理进程管理Cont.n 21:如何
11、使用信号量机制实现多个进程:如何使用信号量机制实现多个进程对临界资源的互斥访问?(对临界资源的互斥访问?(P82)解答解答:1)设置记录型信号量)设置记录型信号量mutex,初值为,初值为1。2)将访问临界资源的代码放置于)将访问临界资源的代码放置于wait(mutex);和和 signal(mutex)之间。之间。Chap2 进程管理进程管理n 23:在生产者:在生产者消费者问题中,如果缺消费者问题中,如果缺少了少了signal(full)和和signal(empty),对执行,对执行结果有何影响?结果有何影响?(P82)作业问题:作业问题:1)认为缓冲区满后会溢出(或缓冲区中原有)认为缓冲
12、区满后会溢出(或缓冲区中原有数据被覆盖)。数据被覆盖)。2)认为消费者(或生产者)阻塞就是死锁。)认为消费者(或生产者)阻塞就是死锁。3)只下结论,缺少分析过程。)只下结论,缺少分析过程。Chap2 进程管理进程管理Producer:repeat wait(empty)wait(mutex)signal(mutex)signal(mutex)until falseConsumer:repeat wait(full)wait(mutex)signal(mutex)signal(empty)until false(2)Wait(empty)成功,继续成功,继续(当缓冲区放当缓冲区放满后,生产者满后
13、,生产者进程也阻塞进程也阻塞)(1)Wait(full)不成不成功功,消费者进程消费者进程阻塞阻塞Chap2 进程管理进程管理n 24:在生产者:在生产者消费者问题中,如果将消费者问题中,如果将两个两个wait操作即操作即wait(full)和和wait(mutex)互互换位置,或者将换位置,或者将signal(mutex)与与signal(full)互换位置,结果会如何?互换位置,结果会如何?(P82)作业问题:作业问题:1)认为认为signal互换会引起死锁互换会引起死锁。2)缺少分析过程缺少分析过程。Chap2 进程管理进程管理Producer:repeat wait(empty)wai
14、t(mutex)signal(mutex)signal(full)until falseConsumer:repeat wait(mutex)wait(full)signal(mutex)signal(empty)until false(1)Wait(empty)成功,继续成功,继续(3)Wait(mutex)失失败败,生产者进,生产者进程阻塞程阻塞(2)Wait(mutex)成功成功,继续,继续(4)Wait(full)失失败,消费者败,消费者进程阻塞进程阻塞Chap2 进程管理进程管理Consumer:repeat wait(full)wait(mutex)signal(mutex)sig
15、nal(empty)until falseProducer:repeat wait(empty)wait(mutex)signal(full)signal(mutex)until false(1)Signal(full)成功成功(2)Wait(full)成功成功,继续继续(3)wait(mutex)失败,消费者阻失败,消费者阻塞塞互换互换signal会不会死锁?会不会死锁?Chap2 进程管理进程管理n 38:从调度性、并发性、拥有资源及系统开销:从调度性、并发性、拥有资源及系统开销方面比较进程与线程?(方面比较进程与线程?(P83)解答解答见见P73n40:用于实现线程同步的私有信号量和共有
16、信:用于实现线程同步的私有信号量和共有信号量之间的差别?号量之间的差别?(P83)解答见)解答见P76n41:何谓用户级线程和内核支持线程?:何谓用户级线程和内核支持线程?(P83)解答见解答见P77Chap2 进程管理进程管理n补充补充1 1:有没有这样的状态转换,为什:有没有这样的状态转换,为什么?等待么?等待运行;运行;就绪就绪等待等待 解答:没有。都要经过中间状态:解答:没有。都要经过中间状态:1.等等待待状状态态的的进进程程获获得得所所需需的的资资源源后后,必必须须转转入入就就绪绪状状态态,直直到到获获得得CPU后后才才能能运行。运行。2.进进程程在在运运行行过过程程中中才才会会请请
17、求求资资源源,才才有可能因请求不到资源而转入等待状态。有可能因请求不到资源而转入等待状态。Chap2 进程管理进程管理n补补充充2:一一个个状状态态转转换换的的发发生生,是是否否一一定定导导致另一个转换发生,列出所有的可能。致另一个转换发生,列出所有的可能。解答:不一定。可能的情况如下:解答:不一定。可能的情况如下:1)执行执行阻塞阻塞 导致导致 就绪就绪执行(就绪队列不空)执行(就绪队列不空)2)执行执行就绪就绪 导致导致 就绪就绪执行执行 3)阻塞)阻塞就绪就绪 可能导致可能导致 就绪就绪执行执行 (在在抢抢占占方方式式下下,该该进进程程优优先先级级高高于于当当前前进进程程和和就绪队列中的
18、所有进程)就绪队列中的所有进程)Chap2 进程管理进程管理n补充补充3:用用wait-signal操作解决下图之同步问题操作解决下图之同步问题:Chap2 进程管理进程管理getcopyputVar Sfull,Sempty,Tfull,Tempty:semphore:=0,1,0,1;Get进程:进程:BeginRepeatWait(Sempty);Get(f,s);Signal(Sfull);Until false;endCopy进程:进程:BeginRepeatWait(Sfull);Wait(Tempty);Copy(s,t);Signal(Sempty);Signal(Tfull)
19、;Until false;endPut进程:进程:BeginRepeatWait(Tfull);Put(t,g);Signal(Tempty);Until false;endChap2 进程管理进程管理n补充补充4:理发师睡觉问题理发师睡觉问题Chap2 进程管理进程管理Chap2 进程管理进程管理问题分析:问题分析:理发师(理发师(barberbarber)重复的下列活动:()重复的下列活动:(1 1)睡觉;)睡觉;(2 2)为顾客理发;)为顾客理发;每个顾客(每个顾客(customerscustomers)执行下列活动:()执行下列活动:(3 3)在椅子)在椅子上等候;(上等候;(4 4)
20、理发;离开;)理发;离开;显然,理发师在(显然,理发师在(1 1)处要考察是否有顾客等候理发,)处要考察是否有顾客等候理发,如果没有,理发师睡觉;在(如果没有,理发师睡觉;在(2 2)处理发师等待最先)处理发师等待最先进入理发店的顾客唤醒,开始理发。进入理发店的顾客唤醒,开始理发。顾客在(顾客在(3 3)处先看是否有座位,没有则离开;等候)处先看是否有座位,没有则离开;等候理发的顾客在(理发的顾客在(4 4)处被理发师唤醒(最先理发的顾)处被理发师唤醒(最先理发的顾客要唤醒理发师);理发结束后离开。客要唤醒理发师);理发结束后离开。Var barber,customers,mutex:sema
21、phore:=1,0,1;简化版简化版int custCount=0;BarbarRepeatwait(customers);Cut hair;signal(barber);Until false;CustomersRepeatwait(mutex);if(cust_count=N+1)then signal(mutex);leave.;else custCount=custCount+1;signal(mutex);signal(customers);wait(barber);Get hair cut.wait(mutex);custCount=custCount-1;signal(mute
22、x);Until false;Var barber,customers,mutex:semaphore:=1,0,1;改进版改进版int custCount=0;BarbarRepeatwait(mutex);if(custCount=0)then signal(mutex);Sleep.;wait(customers);else signal(mutex);Cut hair;signal(barber);end if Until false;CustomersRepeatwait(mutex);if(cust_count=N)then signal(mutex);leave.;else cu
23、stCount=custCount+1;if(custCount=1)then signal(customers);signal(mutex);wait(barber);Get hair cut.wait(mutex);custCount=custCount-1;signal(mutex);Until false;课堂练习课堂练习 有一个阅览室,共有有一个阅览室,共有100个座位,读者进入时必个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登目,包括座号和读者姓名等,读者离开时要消掉登记的信息
24、,试问:记的信息,试问:(1)为描述读者的动作,应编写几个程序,设置几)为描述读者的动作,应编写几个程序,设置几个进程?个进程?(2)试用)试用wait/signal 操作描述读者进程之间的同步操作描述读者进程之间的同步关系。关系。Chap2 进程管理进程管理n 6:在抢占式调度方式中,抢占的原则是什么?:在抢占式调度方式中,抢占的原则是什么?(P114)解答解答见见P87n7:在选择调度方式和调度算法时,应遵循的准:在选择调度方式和调度算法时,应遵循的准则是什么?则是什么?(P114)解答见)解答见P9091n9:何谓静态和动态优先级?确定优先级的依据:何谓静态和动态优先级?确定优先级的依据
25、是什么?是什么?(P115)解答见)解答见P9394n13:为什么说多级反馈队列调度算法能较好的:为什么说多级反馈队列调度算法能较好的满足各方面用户的需要?满足各方面用户的需要?(P115)解答见)解答见P97Chap3 处理机调度与死锁处理机调度与死锁n补补 1.死锁的原因和必要条件及解决死锁的方法。死锁的原因和必要条件及解决死锁的方法。n解决死锁解决死锁的基本方法的基本方法n预防死锁:事先破坏死锁的必要条件,容易实预防死锁:事先破坏死锁的必要条件,容易实现,但是资源利用率和系统吞吐量较低。现,但是资源利用率和系统吞吐量较低。n避免死锁:在资源分配过程中防止系统进入不避免死锁:在资源分配过程
26、中防止系统进入不安全状态,从而避免死锁,实现较难,资源利安全状态,从而避免死锁,实现较难,资源利用率和系统吞吐量最高。用率和系统吞吐量最高。n检测死锁与解除死锁:无任何事先限制措施,检测死锁与解除死锁:无任何事先限制措施,进程执行过程中也不检测是否安全,允许死锁进程执行过程中也不检测是否安全,允许死锁产生并能清除死锁,实现较难,资源利用率和产生并能清除死锁,实现较难,资源利用率和系统吞吐量高。系统吞吐量高。Chap3 处理机调度与死锁处理机调度与死锁n补补 1.死锁的原因和必要条件及解决死锁的方法。死锁的原因和必要条件及解决死锁的方法。n解决死锁解决死锁的基本方法的基本方法n预防死锁:事先破坏
27、死锁的必要条件,容易实预防死锁:事先破坏死锁的必要条件,容易实现,但是资源利用率和系统吞吐量较低。现,但是资源利用率和系统吞吐量较低。n避免死锁:在资源分配过程中防止系统进入不避免死锁:在资源分配过程中防止系统进入不安全状态,从而避免死锁,实现较难,资源利安全状态,从而避免死锁,实现较难,资源利用率和系统吞吐量最高。用率和系统吞吐量最高。n检测死锁与解除死锁:无任何事先限制措施,检测死锁与解除死锁:无任何事先限制措施,进程执行过程中也不检测是否安全,允许死锁进程执行过程中也不检测是否安全,允许死锁产生并能清除死锁,实现较难,资源利用率和产生并能清除死锁,实现较难,资源利用率和系统吞吐量高。系统
28、吞吐量高。Chap3 处理机调度与死锁处理机调度与死锁n补补2.3个进程共享个进程共享4个资源,每个进程至多个资源,每个进程至多需要两个资源,问:会不会死锁?需要两个资源,问:会不会死锁?解答一:不会。因为不会。因为3个进程中必然会有个进程中必然会有1个个进程能够获得进程能够获得2个资源,该进程得以顺利执行个资源,该进程得以顺利执行完,并释放资源供其余完,并释放资源供其余2个进程使用。个进程使用。作业问题:作业问题:认为认为4个资源是不同种类的,故会个资源是不同种类的,故会发生死锁。发生死锁。Chap3 处理机调度与死锁处理机调度与死锁补补3 3、设三个进程、设三个进程P1,P2,P3,P1,
29、P2,P3,各按如下顺序执行:各按如下顺序执行:进程进程P1 进程进程P2 进程进程P3 在执行时能否产生死锁?如果可能,请说明在在执行时能否产生死锁?如果可能,请说明在什么情况下会产生死锁?并给出一个防止死锁产生什么情况下会产生死锁?并给出一个防止死锁产生的修改办法。的修改办法。P(S1)P(S2):V(S1)V(S2)P(S3)P(S1):V(S3)V(S1)P(S2)P(S3):V(S2)V(S3)Chap3 处理机调度与死锁处理机调度与死锁ProcessAllocationNeedAvailabeP0003200121622P110001750P213542356P300320652P400140656课堂练习:银行家算法课堂练习:银行家算法Chap3 处理机调度与死锁处理机调度与死锁谢谢大家!结结 语语