思考及练习题参考答案_第1页
思考及练习题参考答案_第2页
思考及练习题参考答案_第3页
思考及练习题参考答案_第4页
思考及练习题参考答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. 第1章 操作系统概述 思考与练习题参考答案1. 选择题(1) C (2) D (3) C (4) C(5)B (6)C(7)B (8)C(9)B (10)B(11)A 2. 填空题(1) 硬件 软件(2) 存储管理 设备管理(3)软硬件资源(4) 批处理操作系统 分时操作系统 实时操作系统(5) 20ms 时间片轮转调度算法3. 判断题(1) (2) (3) (4) (5) (6). (7) (8)4. 问答题(1) 简述操作系统的概念 答:操作系统是一组能控制和管理计算机系统的硬件和软件资源,合理地组织计算机工作流程并为用户使用计算机提供方便的程序和数据的集合。(2) 什么是批处理系统?

2、为什么要引入批处理系统? 答:批处理系统指用户的作业成批的处理,作业建立、过渡、完自动由系统成批完成。因为19581964年,晶体管时代,计算机速度、容量、外设品种和数量等方面和第一代计算机相比都有了很大开展,计算机速度有几十倍、上百倍的提高,故使手工操作的慢速度和计算机运算的高速度之间形成一对矛盾。只有设法去掉人工干预,实现作业自动过渡,这样就出现了成批处理。(3) 什么叫多道程序?试述多道程序涉及技术的根本思想及特征,为什么对作业进展多道批处理可以提高系统效率? 答:多道程序设计技术是在计算机存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插交替运行。当*道程序因*种原因不能

3、继续运行下去时,管理程序就将另一道程序投入运行,这样使几道程序在系统并行工作,可使中央处理机及外设尽量处于忙碌状态,从而大大提高计算机使用效率。在批处理系统中采用多道程序设计技术形成多道批处理系统,多个作业成批送入计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。 (4) 何为分时系统?简述其特点。答:分时系统采用时间片轮转法,使一台计算机同时为多个终端效劳。特点:多路性。假设干个终端连接到计算机上,系统按分时原则为每个用户效劳。宏观上多用户同时工作,共享系统资源。微观上,每个用户作业轮流在CPU上运行。独立性。各用户独立地使用一台终端工作,彼此互不干扰。用户感觉自己在独占使用计算机

4、。及时性。用户的请求能在较短时间得到响应。分时系统的响应时间指用户发出终端命令到系统响应,做出应答所需要的时间。此时间需要在用户能承受的围之,通常为2至3秒。交互性。在分时系统中,用户能与计算机进展对话,以交互的方式进展工作。用户可联机对文件进展编辑,对源程序进展编译、,对程序进展调试,运行程序等活动。(5) 分时系统和实时系统有何不同? 答:分时系统控制的主动权在计算机,计算机按一定时间间隔,以固定时间片或不固定时间片去轮流完成多个提交的任务,只是在用户反响相对较慢时,不感到机器走开。而实时系统控制的主动权在用户,用户规定什么时间要计算机干什么,计算机不能走开。 分时系统通用性强,交互性强,

5、及时响应性要求一般通常数量级为秒;实时系统往往是专用的,系统与应用很难别离,常常严密结合在一起,实时系统并不强调资源利用率,而更关心及时响应性通常数量级为毫秒或微秒、可靠性等。(6) 实现多道程序解决哪些问题? 答:首先包括分时使用硬件的硬件设计技术: CPU 和通道分时使用存、只读存储器和数据通道等;通道与通道分时使用CPU、存、通道的公用控制局部等;同一通道中的I/O又分时使用存、通道等。其次包括共享硬件和软件资源的软件设计技术:包括引入进程线程等技术。 (7) 设在存中有三道程序A、B和C,并按A、B、C的优先次序运行,其在CPU上运行时间以及I/O时间分别为:A:计算30ms,I/O

6、40ms,计算10msB:计算30ms,I/O 50ms,计算10msC:计算20ms,I/O 40ms,计算20msCPUI/O0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 t/msA B C A 空闲 B 空闲 C图1-1 三道作业并发运行情况试画出按多道程序运行的时间关系图(调度程序的执行时间忽略不计),完成这三道程序共花多少时间?比单道运行节省多少时间(假定运行环境为单CPU,每个程序所用的I/O设备一样,比方打印机)答:三道程序共花180ms,比单道80+90+80ms=250ms节省了110ms。(

7、8) 简述Winodws操作系统的开展历史。(略)(9) 简述Linu*操作系统的开展历史。(略)(10) 简述UNI*系统操作系统的开展历史。(略)第2章 处理器管理 思考与练习题参考答案1. 选择题 (1)A (2) D(3)B(4) C(5)D(6) D(7) C(8) B(9)D(10) C(11)D(12)A(13)C(14)D(15)B(16) D2. 填空题(1) 数据段PCB(2)运行时间短等待时间长 (3)并行并发。(4)资源分配调度(5)阻塞(6)共享存储区消息机制(7)阻塞(8)向前推进。(9)后备(10) 可剥夺 非剥夺3. 判断题(1)(2)(3)(4)(5)(6)(

8、7)(8)(9)(10)(11)(12)(13)(14)(15)4. 问答题(1) 简述进程和程序之间的区别和联系。答:进程和程序是既有区别又有联系的两个概念。1) 进程是动态的,程序是静态的。程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。程序可看作是电影的胶片,进程可以看作电影院放电影的过程。2) 一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。3) 一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。4) 程

9、序可以长期保存,进程只能存在于一段时间。程序是永久存在的,而进程有从被创立到消亡的生命周期。(2)为什么将进程划分成运行、就绪和阻塞三个根本状态?答: 根据多道程序执行的特点,进程的运行是走走停停的。因此进程的初级状态应该是执行和等待状态。处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它*种事件的发生。但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。因此,将等待状态的进程分成两局部,一局部是放在处理机上就能立即执行,这就是就绪的进程;另一局部是仍需等*种事件发生的

10、进程,即使放在处理机上也不能执行的进程,这就是阻塞进程。(3) 进程控制块PCB的作用是什么?它主要包含哪些容?答: 操作系统管理的进程是多种多样的,要对这些进程实施有效的管理,必须对进程进展抽象。为了便于系统控制和描述进程的活动,在操作系统核心为进程定义了一个进程控制块PCB。PCB用于描述进程的根本情况以及进程运行和变化的过程,它与进程一一对应。当系统创立进程时,为进程分配一个PCB;在进程运行过程中,系统通过PCB对进程实施管理和控制;进程完毕时,系统将收回PCB。PCB中的容主要包括调度信息和现场信息两大局部。调度信息包括进程名、进程号、优先级、当前状态、资源信息、程序和数据的位置信息

11、、隶属关系和各种队列指针信息等。现场信息主要包括程序状态字、时钟存放器和界限存放器等描述进程运行情况的信息。(4) 简述创立进程的大致过程解 创立一个进程大体分以下几步:1) 申请一个空白的PCB和唯一的进程标识号pid2) 为新进程分配除CPU以外的资源,包括存空间;3) 初始化PCB中的数据项,包括标志信息、状态信息、控制信息等;4) 将新进程的PCB插入系统的就绪队列。(5) 为何引入线程?线程与进程的关系是什么?答:在操作系统中引入进程的目的,是为了使多个程序并发执行,以改善资源利用率及提高系统的吞吐量;则,在操作系统中再引入线程则是为了减少程序并发执行时所付出的时空开销,使操作系统具

12、有更好的并发性。线程具有许多传统进程所具有的特征,故又称为轻型进程(Light-Weight Process)或进程元;而把传统的进程称为重型进程(Heavy-Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有假设干个线程,至少需要有一个线程。(6) 何谓进程通信?试列举几种进程通信方式。答:进程之间的信息交换,就是进程通信。进程同步与互斥,就实现了进程之间交换信息,但由于交换的信息量少,可以看作是低级通信。并发执行的进程,有交换信息的各种需要,除同步与互斥外,还可采用其它的通信方式。介绍几种常用的通信方式:共享存储、消息传递、共享文件。(7

13、)2运行就绪阻塞134进程的三个根本的转换如下列图所示,图中1、2、3、4分别代表*种类型状态变迁,请分别答复:1什么事件引起各状态之间的变迁?2系统中常常由于*一进程的状态变迁引起另一进程也产生状态变迁,试判断变迁31、21、32、41、34是否存在因果关系?答:1) 引起各变迁的事件如下:变迁1:正在执行的进程从处理机上退下,导致进程调度程序从就绪状态的进程中选取一个进程。 变迁2:正在执行的进程所分配的时间片用完,导致进程从处理机上退到就绪状态;或者在可抢占优先级的进程调度中,有更高有先级的进程进入就绪状态,导致正在执行的进程从执行状态退到就绪状态。 变迁3:进程需要等待事件的发生; 变

14、迁4:进程所等待的*事件发生了如I/O完成;2) 可能发生的因果变迁 31:由于处于运行状态的进程转入阻塞状态,进程调度程序根据调度算法,又从就绪队列中选择一个进程投入运行;21:由于处于运行状态的进程时间片用完,重新转入就绪状态,从而使进程调度程序又从就绪队列中选择一个进程投入运行;32:此种变化不存在;41:4的发生与1的发生没有必然关系;34:3的发生和4的发生没有必然关系。(8) 下表给出了4个作业J1、J2、J3、J4的提交时间、运行时间,试分别采用FCFS、SJF和HRRF调度算法,求出在各种作业调度算法下作业的平均周转时间和平均带权周转时间。表1 4个作业的提交时间和运行时间表作

15、业名提交时间运行时间/hJ110:002J210:181J310:480.5J411:000.8解:采用FCFS作业调度算法时,根据这4个作业提交作业的先后顺序依次运行,每个作业的周转时间和带权周转时间如表2所示。表 2 FCFS调度算法性能表作业名提交时间运行时间/h开场时间完成时间周转时间/h带权周转时间J110:00210:0012:0021J210:18112:0013:002.72.7J310:480.513:0013:302.75.4J411:000.813:3014:183.34.125作业的平均周转时间 = 2+2.7+2.7+3.3h/4=2.675h作业的平均带权周转时间

16、= 1+2.7+5.4+4.125/4=3.30625采用SJF作业调度算法时,每个作业的周转时间和带权周转时间如表3所示。表3 SJF调度算法性能表作业名提交时间运行时间/h开场时间完成时间周转时间/h带权周转时间J110:00210:0012:0021J210:18113:1814:1844J310:480.512:0012:301.73.4J411:000.812:3013:182.32.875作业的平均周转时间 = 2+4+1.7+2.3h/4=2.5h作业的平均带权周转时间 = 1+4+3.4+2.875/4=2.81875采用HRRF作业调度算法时,每个作业的周转时间和带权周转时间

17、如表4所示。当时间为10:00时,仅有作业J1,J1先运行。当作业J1完毕后,此时系统中存在3个作业,计算这3个作业J2、J3、J4的响应比,分别为2.7、3.4、2.25。作业J3的响应比高,作业J3运行。当作业J3完毕后,系统中剩下2个作业,计算这2个作业J2、J4的响应比,分别为3.2、2.875。作业J2的响应比高,运行作业J2。作业J2运行完毕后,运行作业J4。表 4 HRRF调度算法性能表作业名提交时间运行时间/h开场时间完成时间周转时间/h带权周转时间J110:00210:0012:0021J210:18112:3013:303.23.2J310:480.512:0012:301

18、.73.4J411:000.813:3014:183.34.125作业的平均周转时间 = 2+3.2+1.7+3.3h/4=2.55h作业的平均带权周转时间 = 1+3.2+3.4+4.125/4=2.93125(9) 引起进程调度的主要因素主要有哪些?答:1) 一个进程运行完毕;2) 一个正在运行的进程被阻塞;3) 在抢占式调度中,一个高优先级的进程被创立;4) 在抢占式调度中,一个高优先级进程由阻塞被唤醒;5) 在轮转式调度中,正在运行的进程运行完一个时间片。第3章 进程同步与死锁 思考与练习题参考答案1. 选择题 (1)C(2)A(3) C(4)B, A(5)B,D(6) A(7) A(

19、8) B(9) B(10) C(11) D(12) B(13)A(14) D(15) D(16) A (17) B(18) A2. 填空题(1)环路等待条件。(2)临界资源。(3) P、V等待(4) 可用资源数目等待该资源的进程数。(5) 等待(6) PV(7) 进程(8) 平安不平安(9) 信箱头信箱体(10) 低级高级3. 判断题(1) (2) (3)(4) (5) (6) (7) (8)(9)(10) (11) (12) 4. 问答题与计算分析题(1) 在多道程序系统中程序的执行失去了封闭性和再现性,因此多道程序的执行不需要这些特性,这种说法是否正确 ?答:这种说法不正确。可以想象,如果

20、一个程序在多道程序系统中,在一样的输入的情况下,屡次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要封闭性和再现性,只不过单道程序系统的封闭性和再现性是先天固有的,多道程序系统的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。所使用的方法就是同步和互斥的方法。(2)多个进程对信号量S进展了5次 P操作,2次V操作后,现在信号量的值是 -3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?解:因为S的当前值是-3,因此因为S处于阻塞状态的进程有3个;因为每进展一次P(S)操作,S的值都减1,每执行1次V操作S的值加1,故信号量的初值为-3+5-

21、2=0;(3) 设公共汽车上,司机和售票员的活动分别为:司机的活动为启动车辆,正常行车,到站停车;售票员的活动为关车门,售票,开车门。试问:在汽车不断地到站、停车、行驶过程中,司机和售票员的活动是同步关系还是互斥关系?并用信号量和P、V操作实现他们间的协调操作。解: 在这个问题中,司机与售票员间是并行操作的,司机和售票员各自的操作是顺序进展的。因此司机是一个进程,售票员是一个进程,它们之间是合作关系,即同步关系。根据一般常识,司机和售票员在车上的操作规则如下:售票员操作的规则是只有司机停车后,售票员才能开门让乘客上下车;司机操作的规则是只有售票员关门后,司机才能启动开场行驶汽车。根据同步规则以

22、及操作流程确定信号量的个数是2个,S1和S2。S1的含义是否关门,其初值为0,表示开门,其值假设为1表示关门;S2的含义是否停车,其初值为1,表示停车,其值假设为0表示开车。司机在的操作:在开车前看是否关门?假设没关则等待,这是一个P(S1)操作;假设门关,则开车。到达一个站点,则停车,这是一个V (S2) 操作;售票员的操作:看是否停车?假设没停则等待,这是一个P (S2) 操作;假设停则开门,这是一个V(S1)操作。司机与售票员的协调操作描述如下: intS1=0;intS2=1;main()cobegindriver();busman();coenddriver()while (1)P(

23、S1);启动车辆;正常行车;到站停车;V(S2); busserver ()while (1) 关车门;V(S1);售票;P(S2);开车门;上下乘客;(4) 在OS中引入管程的目的是什么?答:在OS中引入管程的目的是为了更简便、更可靠地解决进程之间的同步、互斥问题。在未引入管程之间,进程间的同步、互斥问题是由程序员处理的。例如,在临界区的前后插入P、V操作。但是,由程序员处理同步、互斥问题有可能引入种种人为的错误。管程主要是管理对共享数据的操作和使用,即把对共享数据互斥使用的控制这一任务从程序员身上,交由编译程序去处理,这样既方便了编程,又不会产生人为的同步、互斥上的错误。(5) 一售票厅只

24、能容纳300人,当少于300人时,可以进入;否则,需在外等候。假设将每一个购票者作为一个进程,请用P、V操作编程,并写出信号量的初值。解: 信号量S的初值为300;int S=300 main() P1( ); P2( ); Pn( ); P1() P(S); 进入售票厅; 购票; 退出售票厅; V(S); Pn( ) P(S); 进入售票厅; 购票; 退出售票厅; V(S); A进程CSAV(S1)P(S2)B进程P(S1)CSBV(S2)图3-11 第(6)题图T*h (6) 设A、B为两个并发进程,它们共享一个临界资源,其执行临界区的算法框图如下列图所示。试判断该算法是否有错?请说明理由

25、。如果有错,请改正。设S1、S2的初值为0,CSA、CSB为临界区。解:该算法有错。假设A进程永不要求访问临界资源,则不会执行V(S1),意味着B进程的申请永远得不到操作临界资源的时机;同理,假设B进程不要求访问临界资源,则不会执行V(S2),意味着A进程下次也得不到操作临界资源的时机。所以问题在于本应进展互斥控制而使用的却是同步控制。实现改正如下:A进程P(muye*)CSAV(mute*)B进程P(mute*)CSBV(mute*)第(6)题改正图T*h 设置信号mute*,初值为1;(7)消息缓冲通信机制有什么好处?试述消息缓冲通信的过程。解 消息缓冲通信机制不仅能较好地解决进程间的同步

26、互斥问题,还能交换大量信息,是理想的进程通信工具,而且操作系统隐藏了进程通信的实现细节,即通信过程对用户是透明的,这样就大简化了通信程序编制上的复杂性。消息缓冲通信的过程如下:当*个进程需要向另一个进程发送消息时,便向系统申请一个消息缓冲区,并把要发送的数据送到消息缓冲区,然后把该消息缓冲区插入到承受进程的消息队列中。承受进程在承受消息时,只要从本进程的消息队列中摘下该消息缓冲区,即可从中取下所需的信息,然后把该消息缓冲区交还给系统。(8) 桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者

27、取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。解 在此题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:int S=1;int Sa=0;int So=0;main( ) cobeginfather();son();daughter();coendfather() while(1) P(S );将水果放入盘中;if 放入的是桔子 V(So);else V(Sa);son( )while(1)P(So);从盘中取出桔子;V(S);吃桔子; daughter(

28、) while(1)P(Sa);从盘中取出苹果;V(S);吃苹果;(9)按序分配是防止死锁的一种策略。什么是按序分配?为什么按序分配可以防止死锁?解按序分配是适应于动态分配的一种分配方法。为了防止产生死锁,系统将所有资源进展,并规定进程请求资源时,严格按照设备的大小,比方由小到大的顺序进程申请。如果*进程第n号资源没有获得,则进程不能请求第jjn号资源。系统也可以规定由大到小的请求次序。因为按序分配可以破坏环路等待条件,因此可以防止死锁。(10) 有四个进程(P1,P2,P3和P4)和三类资源(R1,R2和R3)在T0时刻的资源分配情况如表3-9所示,(1)检查此刻的系统状态是否平安。(2)假

29、设在T0时刻之后,进程P3发出资源请求(1,0,1),即P3申请一个单位的R1和一个单位的R3,系统能否将资源分配给P3呢?表3-9 T0时刻的资源分配表 资源进程Ma*AllocationNeedAvailableR1 R2 R3R1 R2 R3R1 R2 R3R1 R2 R3P13 2 21 0 02 2 21 1 2P26 1 35 1 11 0 2P33 1 42 1 11 0 3P44 2 20 0 24 2 0解:(1)从表1分析可知,可用资源数能满足进程P2,当P2运行完毕后,释放它所占有的资源,使可用资源数目变为(6,2,3)。此刻,可用资源可满足其他任一进程,假设将可用资源分

30、配给进程P1,P1完毕后,可用资源数变为(7,2,3)。再将可用资源分配给进程P3,P3完毕后,可用资源数变为(9,3,4)。最后将可用资源分配给进程P4,P4完毕后,可用资源数变为(9,3,6)。因此,系统在T0时刻是平安的。2由于P3请求资源数(1,0,1)小于可用资源数(1,1,2),因此现有资源能满足P3的要求。系统先假定为P3分配资源,则可用资源数变为(0,1,1)。修改相关数据,如表2 所示。表 P3申请资源后的资源分配表 资源进程Ma*AllocationNeedAvailableR1 R2 R3R1 R2 R3R1 R2 R3R1 R2 R3P13 2 21 0 02 2 20

31、 1 1P26 1 35 1 11 0 2P33 1 43 1 20 0 2P44 2 20 0 24 2 0此刻,可用资源数0,1,1无法满足任一个进程的需要,故系统进入不平安状态,因此,系统不能为P3分配资源。(11) 利用管程解决生产者与消费者问题。解:下面以Hansen方法解决生产者和消费者问题。monitor boundbuffer/* 定义管程,其名称为boundbuffer */char bufferN;/* 缓冲区有N个空间 */int ne*tin,ne*tout;/* 缓冲区指针,将缓冲区的N个空间看作环形 */int count;/* 产品的数目 */condition

32、notfull,notempty;/* 同步条件变量 */void append(char *) /* 管程中的过程 */if (count=N) cwait(notfull); /* 缓冲区满,等待缓冲区空的信号 */bufferne*tin=*;/* 将产品放入缓冲区中 */ne*tin=(ne*tin+1) % N;/* 调整入队指针 */count+;/* 产品个数加1 */csignal(notempty);/* 向消费者进程发信号,有产品可供消费 */void take(char * *) if (count=0) then cwait(notempty); /* 没有产品,需要等待 */*=bufferne*tout; /* 取产品 */ne*tout=(ne*tout+1) % N; /* 修改队尾指针 */count-; /* 产品个数减1 */csignal(notfull); /* 向生产者进程发信号,有空闲区了 */monitor_main( ) /* 管程初始化程序 */ne*tin=0;ne*tout=0;count=0; /* 管程定义完毕 */void producer(int i) /* 生产者进程 */char *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论