计算机操作系统(第三版)汤小丹第2章

上传人:飞****9 文档编号:127512267 上传时间:2020-04-03 格式:DOC 页数:12 大小:59.50KB
返回 下载 相关 举报
计算机操作系统(第三版)汤小丹第2章_第1页
第1页 / 共12页
计算机操作系统(第三版)汤小丹第2章_第2页
第2页 / 共12页
计算机操作系统(第三版)汤小丹第2章_第3页
第3页 / 共12页
计算机操作系统(第三版)汤小丹第2章_第4页
第4页 / 共12页
计算机操作系统(第三版)汤小丹第2章_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《计算机操作系统(第三版)汤小丹第2章》由会员分享,可在线阅读,更多相关《计算机操作系统(第三版)汤小丹第2章(12页珍藏版)》请在金锄头文库上搜索。

1、计算机操作系统(第三版 西电) 复习提纲及重点习题注意:1)“本章要点”部分,用红字标注的不是期末考试出题范围。2)“习题部分”用蓝字标注的是重点习题,期末考试50%的题目是这些习题的原题。红字标注的习题期末考试不考,仅供考研的同学参考。3)大部分习题答案只给出要点,同学们可以自行适当补充,但一定要简明扼要。4)如“本章要点”部分用红字标注的非考试内容,在“习题”部分有相关的重点习题,则对该部分内容只需做该习题即可。-第二章 要点这一章和第3章是本课程最重要的两章。2.1 进程的基本概念 本小节重点内容是进程的概念、进程的三种状态及转换(围绕P38图2-5理解)、进程控制块FCB的概念及作用、

2、进程就绪队列和阻塞(等待)队列的概念。其它内容作一般性的了解即可。2.2 进程控制掌握原语的概念。其它内容作一般性的了解即可。2.3 进程同步这一小节是至关重要的,也是相当难的。(1)P47-50,临界资源问题、临界区的概念、同步机制应遵循的规则。 (2)P50,整型信号量原语的含义,及其缺点。(3)P51,记录型信号量原语的含义,特点,及其优点(与整形信号量对比)。(4)P52-53 AND型信号量和信号量集,一般性了解。(5)P53 2.3.3 信号量的应用,一般性了解。(6)P55 管程,一般性了解。2.4 经典进程的同步问题 熟练掌握用记录型信号量解生产者消费者、哲学家进餐、读者-写者

3、问题。其它解法(AND信号量、信号量集、管程等)可以不看。 2.5 进程通信:一般性了解。2.6 线程 概念性的掌握什么是线程、线程与进程主要的异同、线程的状态、内核线程、用户线程。对于软件班和数学班的同学,上述概念将结合实验考核,二学历班的同学无此要求。教材习题1 什么是前驱图?为什么要引入前驱图?答:P35。前驱图是一个有向无循环图,用于描述进程之间执行的前后关系。引入前驱图可以比较直观的描述多道程序进程之间的不确定(异步)关系。2 试画出下面四条语句的前驱图: S1: a=x+y; S2: b=z+1; S3: c=a-b; S4: w=c+1 答:参考P36图2-4。根据变量赋值的顺序

4、,有 (S1 , S2)-S3-S43. 程序并发执行为什么会产生间断性特征?答:P36。因为程序在并发执行过程中存在相互制约性(同步要求),另外进程时而要求使用CPU、时而I/O也会造成进程间断。 4. 程序并发执行为何会失去封闭性和可再现性?答:P37。多个进程共享系统中的各种共享资源(可以表示为共享变量或共享内存),一方面资源状态可由多个进程来改变,另一方面处置不当可能引起共享变量出错(需要互斥来解决),即存在资源共享性使程序失去封闭性;而失去了封闭性导致程序失去可再现性。 5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?a.为了使程序在多道程序环境下能并发执行,并能对并发

5、执行的程序加以描述,而引入了进程概念。b.影响:OS通过管理进程,使程序的并发执行得以实行. 6. 试从动态性,并发性和独立性上比较进程和程序?a 动态性是进程最基本的特性,程序是静态实体;b 并发性是进程的重要特征,程序是不能并发执行的.c 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行. 7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?答:P41a. PCB是进程实体的一部分(进程实体包括PCB、程序代码、数据),是操作系统中最重要的记录型数据结构,PCB中记录了操作系

6、统所需的用于描述进程情况及控制进程运行所需的全部信息.b在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志. 8试说明进程在三个状态之间转换的典型原因答:结合P38图2.5说明。主要原因是请求I/O和I/O完成、CPU调度。9. 为什么要引入挂起状态?该状态具有哪些性质?答:P39。挂起是进程在就绪队列上等待,进程挂起时不接受CPU调度。a. 引入挂起状态是由于5种需要: 终端用户的需要,父进程的需要,操作系统的需要,对换的需要和负荷调节的需要.b. 处于挂起状态的进程虽在就绪队列中,但不能接收处理机调度

7、。 10 在进行进程切换时,所要保存的处理机状态信息主要有哪些?答:P42第一段。 11 试说明引起进程创建的主要事件.12 试说明引起进程撤消的主要事件.答:P44-45。13 在创建一个进程时,需完成的主要工作是什么?答:P44操作系统发现请求创建新进程事件后;1)申请空白PCB;2)为新进程分配资源;3)初始化进程控制块;4)将新进程插入就绪队列. 14 在撤消一个进程时,需完成的主要工作是什么?答:P45 “2进程的终止过程”15 试说明引起进程阻塞或被唤醒的主要事件是什么?答:P4616 进程在运行过程中存在哪两种形式的制约?试举例说明之答:P48第1-2段。1)直接制约:进程共享独

8、占式资源的互斥制约(比如互斥使用打印机);2)间接制约:进程之间存在合作关系带来的同步制约(比如生产者消费者问题)3)互斥也可以看作是一种特殊的同步。补充习题:什么是临界资源和临界区?a. 一次仅允许一个进程使用的资源成为临界资源,这种资源可以用共享变量代表,这种资源必须是互斥使用的。b. 在每个进程中,访问临界资源的那段程序称为临界区。 17. 为什么进程在进入临界区之前,应先执行进入区代码,在退出临界区后又执行退出区代码?答:P50。为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并

9、设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为进入区代码;在退出临界区后,必须执行退出区代码,用于恢复未被访问标志。使用信号量,则进入区代码为P(S),“退出区”代码为V(S),S初值为1 18 同步机构应遵循哪些基本准则?为什么?答:P50a. 空闲让进.b. 忙则等待.c. 有限等待.d. 让权等待. 上述准则适合于进程的同步和互斥。记录型信号量实现了上述原则。19 试从物理概念上说明记录型信号量wait和 signal答:P51。Wait操作又叫P操作,signal操作又叫V操作。20. 你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条

10、准则?答:P50-51。a. 在整型信号量机制中,未遵循让权等待的准则,存在“忙等”现象。b. 记录型信号量机制完全遵循了同步机构的四条准则。 21 如何利用信号量机制来实现多个进程对临界资源的互斥访问?并举例说明之。答:P50的伪代码 Repeat Entry sectionCritical section /对共享资源(临界资源)的访问Exit section Remainder section /不访问共享资源的其他代码 Until false说明了多个进程对临界资源的互斥访问的解决思路,具体的,可设一记录型信号量S,初值为1,用P(S)替代Entry section,V(S)替代Exi

11、t section 在教材生产者消费者和读者写者的例子中都能看到上述用法。22 试写出相应的程序来描述图2-17所示的前驱图(图略)答:参考P54-55“2利用信号量实现前驱关系”(考研的同学应把这部分内容看一下)。这也是信号量对进程同步的一种用法,信号量初值为0。23. 在生产者消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果会有何影响?答:缓冲区满后,生产者进程被阻塞(进入关于信号量empty的等待队列),由于消费者取走产品后不执行signal(empty), 被阻塞的生产者进程继续被阻塞,即便缓冲区有空位也不能生产。缓冲区空后,消费者进程被阻塞(进

12、入关于信号量full的等待队列),由于生产者生产后不执行signal(full), 被阻塞的消费者进程继续被阻塞,即便缓冲区有产品也不能消费。 24. 在生产者消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置;或者是将signal(mutex)与signal(full)互换位置结果会如何?答:首先,教材P58是生产者消费者问题的最佳解,它支持多个生产者进程和多个消费者进程并发,而不仅仅是一个生产者进程和一个消费者进程并发。(1)如果将(消费者的)两个wait操作即wait(full)和wait(mutex)互换位置,后果是:a.影响了多个消费者的并发性

13、,当一个消费者进行了wait(mutex),其它消费者因得不到mutex被阻塞,即便缓冲区有多个产品也不允许取。形象的说,教材的解法允许多个消费者同时逛商店,但拿产品时一个一个消费者拿;而颠倒wait(full)和wait(mutex)顺序后,商店一次只能允许一个顾客进入,等顾客拿完产品出门后,另一位顾客才能进去。b. 可能造成死锁。假如某消费者执行wait(mutex)后没被阻塞,但接着执行wait(full)后被阻塞了, 要等待生产者的signal (full)才能解除阻塞,而生产者可能因消费者提前使mutex=0而被阻塞,无法执行signal (full),这样就造成死锁。c 可能还有其

14、它后果。(2)将(生产者的)signal(mutex)与signal(full)互换位置,似乎不会影响并发性,也不会造死锁,个人认为这也是一种正确的写法。 这道题我给出的答案仅供参考。25. 我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥. 答: 先看教材P50的伪代码 Repeat Entry sectionCritical section Exit section Remainder section Until false说明了多个进程对临界资源的互斥访问的解决思路,在前面的第21题中,讨论了可设一记录型信号量S,初

15、值为1,用P(S)替代Entry section,V(S)替代Exit section。 还有一种办法是教材P75介绍的“互斥锁”,其思路很简单:将Critical section想象成只允许一个进程进入的小黑屋,小黑外有一把锁,当进程发现锁是开着的,可以进入小黑屋,然后关上锁不让其它进程进入,出来时把锁打开给其它进程进入的机会。 锁可以看作是(小黑屋外的)共享变量W,对W有两个操作:unlock(W) ,lock(W),这两个操作必须也是原子操作,其理由与信号量必须是原子操作一样。开锁原语: unlock(W)W=0;关锁原语: lock(W) if(W=1) do no_op; W=1;利用开关锁原语实现互斥,用lock(W);替代Entr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号