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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

operateing system 习题.docx

1、operateing system 习题1、 设有三个进程,它们的提交时间及运行时间如下表,若采用短进程优先调度策略,试给出进程串行运行时的调度次序及平均周转时间。作业提交时间运行时间J1 04J2 2 8J3 35答:进程提交时间开始时间完成时间周转时间 J1 0 044 J2 2 9 1715 J3 3 4 9 6 平均周转时间(4156)/325/38.33各进程的调度次序: J1,J3,J22、 设有三道作业,它们的提交时间及运行时间如下表,若采用短作业优先调度策略,试给出作业单道串行运行时的调度次序及平均周转时间。 (8分)作业提交时间(单位:基本时间单位)运行时间(单位:基本时间单

2、位)J1J2J3023745作业提交时间开始时间完成时间周转时间 J1 0 077 J2 2 7 114 J3 311 16 13平均周转时间(7913)/329/39.67(4分)各作业的调度次序: (3分)3、 假定在单CPU条件下,有A,B,C,D四个作业依次到达(后面的作业依次比前一作业迟到一个时间单位)。四个作业分别需要运行11,6,2和1个时间单位,如果系统采用FCFS的调度算法,请计算:(1) 各作业的周转时间(2) 系统此时的平均周转时间;(3) 各作业的带权周转时间;(4) 系统此时的平均带权周转时间;解答:作业 作业到达时间 运行时间 完成时间 周转时间 带权周转时间 A

3、0 11 11 11 1 B 1 6 17 16 2.67 C 2 2 19 17 8.5 D 3 1 20 17 17平均周转时间T= 15.25平均带权周转时间 W= 7.294、 假设在单处理机上有五个(1,2,3,4,5)进程争夺运行,其运行时间分别为10、1、2、1、5(秒),其优先级分别为4、1、3、5、2;在某时刻这五个进程按照1,2,3,4,5的顺序同时到达。试回答:(1) 给出这些进程分别使用轮转法(时间片为2秒)、非剥夺优先级调度法时的运行进度表。(2) 在上述各算法的调度下每个进程的周转时间和等待时间为多少?解答:(1) 轮转法运行进度表:P1 P2 P3 p4 P5 P

4、1 P5 P1 P5 P1 0 2 3 5 6 8 10 12 14 15 19非剥夺优先级调度法运行进度表: P4 P1 P3 P5 P20 1 11 13 18 19(2) 轮转法周转时间和等待时间: 作业运行时间(小时)周转时间(小时)等待时间(小时)110190+6+2+1=921323253416555156+2+2=10非剥夺优先级调度法周转时间和等待时间: 作业优先级调度顺序运行时间(小时)周转时间(小时)等待时间(小时)142101112151191833321311451110524518135、 画出进程的五种状态变化图,并说明状态变化原因。答:变化原因在图上说明。6、 某

5、车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:(1)用PV(或wait和signal)操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。(2)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。(3)根据所定义的信号量,把应执行的PV(或wait和signal)操作填入下述括号中,以保证进程能够正确地并发执行。Buyi(I=1,2,) Do 进入售票厅; ( ) 购票;( )退出; while(1)解答: (1)定义一信号量S

6、,初始值为20。(1分)意义:S0S的值表示可继续进入售票厅的人数(1分)S=0表示售票厅中已有20名顾客(购票者)(1分)S0|S|的值为等待进入售票厅的人数(1分)(2) S的最大值为20(1分) S的最小值为20n(1分)(3) 上框为P(S)(1分) 下框为V(S)(1分)注:信号量的符号可不同(如写成t),但使用时应一致(即上述的s全应改成t)。7、 现为某临界资源设一把锁w,当w1时,表示关锁,w0时,表示锁已打开,试写出开锁和关锁的原语,并说明如何利用它们去控制对该临界资源的互斥访问?(7分) 开锁原语unlock(w)如下:unlock(w):w:0 关锁原语lock(w)如下

7、:Lock(w):L: if w1 then go to L eelsew:1;(4分) 可设临界段cs放在两者之间来实现互斥,即Lock(w);cs;unlock(w) (3分)8、 有两个用户进程A和B,在运行过程中都要使用系统中的一台打印机输出计算结果。(1) 试说明A、B两进程之间存在什么样的制约关系?(2) 为保证这两个进程能正确地打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。解答:(1) A、B两进程之间存在互斥的制约关系。因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。(2分)(2)mutex:用于互斥

8、的信号量,初值为1。(2分) 进程A 进程B . . P(mutex) P(mutex) 申请打印机 申请打印机 使用打印机 使用打印机 V(mutex) V(mutex) . .9、 进程process_A 进行计算后通过进程process_B输出,这两个并发进程的程序如下:int Count=0;process_A() do Count = Count + 10 while(1)process_B() do print(Count) Count =0; while(1)请回答:(1) 指出这两个并发进程的临界区。(2) 指出它们并发执行时可能出现的与时间有关的错误。(3) 用信号量机制进行

9、管理,写出它们能正确并发执行的程序。解答:(1) 临界区为process_A():Count = Count + 10,process_B():print(Count) Count =0;(2)错误顺序(不是唯一的) print(Count) Count = Count + 10 Count =0;(3)实现同步 信号量:S11(含义不清),S20; 信号量:mutex1;int Count=0;process_A() do wait(S1) wait(mutex);Count = Count + 10Signal(mutex)Signal(S2) while(1)process_B() do

10、 wait(S2) wait(mutex);print(Count) Count =0;Signal(mutex)Signal(S1) while(1)10、 有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问:(?)(1)为描述读者的动作,应编写几个程序,设置几个进程?(2)试用PV操作描述读者进程之间的同步关系。答:读者的动作有两个,一是填表进入阅览室,这时要考虑阅览室里是否有座位;一是读者阅读完毕,离开阅览室,这时的操作要考虑阅览室里是否有读者。读者在阅览室读书时,由于没有引起资源的变动,不算

11、动作变化。算法的信号量有三个:seats表示阅览室是否有座位(初值为100,代表阅览室的空座位数);readers表示阅览室里的读者数,初值为0;用于互斥的mutex,初值为1。读者进入阅览室的动作描述getin:while(TRUE)P (seats); /*没有座位则离开*/P(mutex) /*进入临界区*/填写登记表;进入阅览室读书;V(mutex) /*离开临界区*/V(readers) 读者离开阅览室的动作描述getout:while(TRUE)P(readers) /*阅览室是否有人读书*/P(mutex) /*进入临界区*/消掉登记;离开阅览室; V(mutex) /*离开临界

12、区*/V(seats) /*释放一个座位资源*/11、 假定进程A负责为用户作业分配打印机,进程B负责释放打印机,系统中设立一个打印机分配表如下,由各个进程共用。 打印机编号分配标志用户名用户定义的设备名001020试用P,V操作实现两进程对分配表的互斥操作。解答: 设一个互斥信号量mutex,其初值为1。 P1(分配进程)和P2(释放进程)的临界区代码可按下述形式组成: P(mutex); P(mutex); 分配打印机; 释放打印机; (读写分配表) (读写分配表) V(mutex); V(mutex);12、 设系统中只有一台打印机,有二个用户的程序在执行过程中都要使用打印机输出计算结果

13、。设每个用户程序对应一个进程。问:这二个进程间有什么样的制约关系?试用P,V操作写出这二个进程使用打印机的算法。解答: 因为打印机是一种临界资源,所以这二个进程只能互斥地使用这台打印机。即一个用户的计算结果打印完后,另一个用户再打印,因此是互斥关系。 设两个进程分别为A和B,设一个互斥信号量mutex,其初值为1,其算法如下: A进程 B进程 P(mutex); P(mutex); 使用打印机; 使用打印机; V(mutex); V(mutex); 13、 设P1,P2两进程共用一个缓冲区F,P1向F写入信息,P2则从F中读出信息。问这两个进程间是什么样的制约关系?试用P,V操作写出这两个进程

14、读写缓冲区的算法。解答: A,B两进程间是同步关系,即A进程向Q写满信息后,B进程才能从Q中取走信息。为此,设立两个信号量: empty:表示缓冲区Q为空(0为不空,1为空),初值为1, full: 表示缓冲区Q为满(0为不满,1为满),初值为0。 算法如下:A进程: B进程: while(true) while(true) P(empty); P(full); 向Q写入信息; 从Q中读出信息; V(full); V(empty); 注:若信号量初值不同,算法有些不同。如若empty和full的初值均为0,则A进程的算法中P(empty)语句应放在V(full)之后,即 解法不惟一 。14、

15、设A1,A2为两个并发进程,它们共享一临界资源,其临界区代码分别为CS1,CS2。问这两个进程间是什么样的制约关系?试用P,V操作写出这两个进程共享临界资源的算法。解答: 因为A,B两个进程是并发的,它们共享一个临界资源,所以两个进程间应互斥地进入临界区。设立一个互斥信号量mutex,其初值为1。具体算法如下: A进程: B进程: P(mutex); P(mutex); 临界区代码Csa; 临界区代码Csb; V(mutex); V(mutex);15、 设有一台计算机,有一条I/O通道,接一台卡片输入机,卡片机把一叠卡片逐一输入到缓冲区Q1中,计算机从缓冲区Q1中取出数据再进行加工处理。假设

16、系统中设一个输入进程Pr和一个计算进程Pc来完成这个任务。问这两个进程间有什么样的制约关系?请用P,V操作写出这些进程的算法。解答: 进程Pr受Pc进程的影响,B1放满信息后,Pr进程要等待,等Pc进程将其中全部信息取走,才能继续读入信息;同样地,Pc进程受Pr进程的约束,B1中信息放满后Pc进程才能从中取走信息。因此,两者之间是同步制约关系。 设两个信号量:B1full缓冲区B1满,初值为0; B1empty缓冲区B1空,初值为1。算法如下:Pr进程: Pc进程:while(true) while(true)P(B1empty); P(B1full);卡片信息写入缓冲区; 从B1中取出信息;

17、 V(B1full); V(B1empty); 注:若B1fullt 和B1empty的初值均为0,这时进程Pr有所不同,即,P(B1empty);应放在V(B1full)之后。也即解法不惟一 。* 利用信号量实现前趋关系 Var a,b,c,d,e,f,g; semaphore = 0,0,0,0,0,0,0; begin parbegin begin S1; signal(a); signal(b); end; begin wait(a); S2; signal(c); signal(d); end; begin wait(b); S3; signal(e); end; begin wai

18、t(c); S4; signal(f); end; begin wait(d); S5; signal(g); end; begin wait(e); wait(f); wait(g); S6; end; parend end 16、 多个进程共享一个文件,其中只读文件的进程称为读者,只写文件的进程称为写者。读者可以同时读,但写者只能独立写。下面的同步算法是用P、V操作写出的,并且它对写者优先,即一旦有写者到达,后续的读者必须等待。(8分)问题:1)、在上述算法的空白处填上正确的语句,使得该算法完整。2)、该算法有可能会出现什么问题?算法如下:int rmutex=1, wmutex=1,co

19、unt=0(正在读的读者的个数),s=1;main()parbegin reader(); writer();parend;reader()while(1)_(1)_;_(2)_;if (count=0) p(wmutex);count+;_(3)_;_(4)_;读文件;p(rmutex);count-;if (count=0) _(5)_; v(rmutex);writer() while(1) p(s); p(wmutex); 写文件; v(wmutex);v(s); 答:1)问题1: (1)_p(s)_ (2)_p(rmutex)_(3)_v(rmutex)_ (4)_v(s)_ (5)

20、_v(wmutex)_ 2)问题2:如果连续出现新的写者进程,则可能导致读者进程饿死。17、 指出下列哲学家就餐问题的算法在什么情况下会导致死锁,并改进此算法,使它不会产生死锁。 算法描述: 五个哲学家在一张圆桌上进行思考和吃饭。哲学家思考时,并不影响他人。只有当他吃饭时,他才试图拿起左右两根筷子(一根一根的拿起)。如果筷子已在他人手上,则需等待。只有当他同时拿起左右两根筷子时,才可以吃饭。如图7-1所示:程序描述为:(第i个哲学家,i=0,1,2,3,4) Var chopstick: array0.4 of semaphore; /* 各信号量初值均为1*/ Repeat P(chopst

21、icki); /* P操作,拿左筷子*/ P(chopsticki+1 mod 5); /* P操作,拿右筷子*/ Eat();/*吃饭*/ V(chopsticki); /*V操作,放下左筷子*/ V(chopsticki+1 mod 5); /* V操作,放下右筷子*/ 图7.1 Think();/*思考*/ Until false;答:1)、可能导致死锁的情况:每位哲学家都拿了左筷子,而在等待右筷子。即每位哲学家进程都只执行了语句:P(chopsticki)。2)、改进:编号为双数的哲学家先拿左筷子,而单数的先拿右筷子。程序为:Repeat if (i mod 2 = 0) P(chop

22、sticki); P(chopsticki+1 mod 5); else P(chopsticki+1 mod 5); P(chopsticki); Eat(); V(chopsticki); V(chopsticki+1 mod 5); Think(); Until false;18、 简述信号量的定义和作用。P,V操作原语是如何定义的?解答: 信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它是与相应资源的使用情况有关的;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针指出该队列的头。信号量通常可以简单反映出相应资源

23、的使用情况,它与P,V操作原语一起使用可实现进程的同步与互斥。 P,V操作原语的定义:P(S):顺序执行下述两个动作: 1 信号量S的值减1,即S=S-1;2 如果S0,则该进程继续执行,如果S0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号队列的末尾,并放弃处理机,进行等待。(直到有其它进程在S上执行V操作,把它释放出来为止。) V(S):顺序执行下述两个动作: 信号量S的值加1,即S=S+1;3 如果S0,则该进程继续执行,如果S0,则释放信号量队列上的第一个PCB(即信号量指针所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作态的进程继续执行。19、 某虚拟存储器的用

24、户编程空间共321KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:页号物理块号051102437则逻辑地址0A5C(H)所对应的物理地址是什么?解答:逻辑地址0A5CH)所对应的二进制表示形式是:0000 1010 0101 1100 ,由于1K=210,下划线部分前的编码为000010,表示该逻辑地址对应的页号为3查页表,得到物理块号是4(十进制),即物理块地址为:0001 0010 0000 0000 ,拼接块内地址0000 0000 0101 1100,得0001 0010 0101 1100,即125C(H)。20、 某段表内容如下:段号段首地

25、址段长度0120K40K1760K30K2480K20K3370K20K 一逻辑地址为(2,154)的实际物理地址为多少?答:逻辑地址(2154)表示段号为2,即段首地址为480K,154为单元号,则实际物理地址为480K+154。21、 (1) 某页式存储系统页表如下,设每页1KB,请写出逻辑地址为8300时所对应的页号和页的地址,以及在内存中对应的物理地址。(请详细写出运算过程) 系统页表: 页号012345678块号3561087124(2)已知如下段表:段号01234基址21923009013271952长度6001410058096在分段存储管理下系统运行时,下列逻辑地址(第一位表示

26、段号,第二位表示段内位移)的物理地址是什么?(a):(1,10) (b):(4,112)答: (1)页号P=INTA/L=8300/1024=8 页内地址d=A MOD L=8300 MOD 1024=20 物理地址 41024+108=4024 (2) (a):地址(1,10)的段号为1,查表得基址为2300,段长为14,物理地址为:2300 + 10 = 2310。 (b):地址(4,112)的段号为4,查表得基址为1952, 段长为96,地址(4,112)的段内位移为112,大于段长96,发生段越界,产生中断。22、 在页式虚拟存储管理的计算机系统中,运行一个共有8页的作业,且作业在主存中分配到4块主存空间,作业执行时访问页的顺序为6,0,1,2,0,4,3,1,2,6,7,4,2,5,6,请问用FIFO和LRU替换算法时,它们的缺页中断率分别是多少。(要求图示出内存页面变化情况)。答:(1)、采用FIFO算法: 访问串601204312674256 驻留集666664444444222000003333333551111111666666222222277777是否缺页缺页中断率为:10/15=66.67%(2)、采用LRU算法: 访问串601204312674256 驻留集6666644446666550000000222222

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

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