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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

完整word版操作系统PV操作的作业参考答案文档格式.docx

1、0.44.012.011.631.013.0平均周转时间T(811.612)/310.53 采用短作业优先调度策略,则调度次序为l、3、2。9.012.6平均周转时间T(8812.6)/39.53 思考题1 请同学们判断这句话:作业一旦被作业调度程序选中,即占有了CPU。( )提示:需要清楚作业调度和进程调度的区别。【例2】考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少?答:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。当内存块数量为3时

2、:发生缺页中断的次数为16。在FIFO算法中,先进入内存的页面被先换出。当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4,可见4为最先进入内存的,本次应换出,然后把页6调入内存。发生缺页中断的次数为15。在LRU算法中,最近最少使用的页面被先换出。当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页面,分别为5、1、2,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。发生缺页中断的次数为11。在OPT算法中,在最远的将来才被访问的页面被先换出。当页6要调入时,内存的状态为1、2、5,考查页6后面要调入的页面,分别为2、1、2、,可见

3、5为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。【例3】在一个单道的程序设计系统中,有3个作业J1、J2、J3,它们到达输入井的时间分别为8:50、9:00、9:30,它们需要执行的时间分别为1.5小时、0.4小时、1小时。系统在10:00按响应比高者优先算法对它们进行调度,请回答:(1)作业被选中执行的次序是什么?(2)三个作业被选中时的响应比分别是多少?分析 响应比作业周转时间/作业运行时间 作业等待时间/作业运行时间00,计算作业的响应比:以J1为例,它的作业计算时间是1.5小时,即90分钟;J1从8:50到达输入井,在10:00时刻,J1的等待时间为70分钟,因此作业J1

4、的响应比为:170分钟/90分钟=1.77 同理,J2:160分钟/24分钟=3.5 J3:130分钟/60分钟=1.5因此按照响应比高者优先算法,优先调度J2。在10:24,J2完成。这时计算J1、J3的响应比:J1:1(7024)分钟/90分钟=2.04 J3:1(3024)分钟/60分钟=1.9 按照响应比高者优先算法,优先调度J1。在11:54,J1完成,系统调度J3,J3的响应比为1(302490)分钟/60分钟=3.4 因此,作业被选中执行的次序是J2、J1、J3。三个作业被选中时的响应比分别是:J1,2.04;J2,3.5;J3,3.4。(1)作业被选中执行的次序是J2、J1、J

5、3。(2)三个作业被选中时的响应比分别是:J1,1.04;J2,2.5;J3,2.4。思考题2 某作业的提交时间为10:30,需要运行的时间为1小时,假设11:00开始调度,它的响应比是 。【例4】设有进程A、B、C、D依次进入就绪队列(相隔一个时间单位),它们的优先级(优先数大的优先级较高)如下表所示:进程 CPU时间 优先数 A 20 B 15 C 8 4 D 10 试问采用“先来先服务”、“静态优先数法”调度算法(注:优先数大的优先级高),选中进程的执行次序。采用先来先服务调度算法,按照进程进入就绪队列的先后次序占有CPU,其执行次序是A-B-C-D。采用静态优先数法,进程A最先就绪,在

6、0时刻先占有CPU运行,随后1时刻进程B进入就绪队列,2时刻进程C进入就绪队列,3时刻进程D进入就绪队列。由于采用静态优先数法,不容许随时间的推移改变进程的优先级,所以当进程A运行结束时,系统的就绪队列中有B、C、D三个进程,而进程C优先级最高,于是选中C;这样分析下去,进程的执行次序是A-C-D-B。思考题3 时间片轮转调度算法是为了( )。A多个终端都能得到系统的及时响应 B先来先服务C优先级高的进程先使用CPU D紧急事件优先处理 参考解答 思考题1:错误。作业被作业调度程序选中,说明作业处于运行状态,即该作业进入内存并以进程的形式存在于系统中,但属于该作业的进程可能处于运行、就绪和等待

7、状态,只有处于运行状态的进程才能占有处理机,而其余两种状态的进程并不占有处理机。作业调度和进程调度的区别:一个作业从进入系统到最后完成,一般至少要经历两级调度:作业调度和进程调度。作业调度是宏观上的高级调度,它的主要功能是根据一定的算法,从输入井中选中若干个作业,分配必要的资源,如主存、外设等,为它们建立初始状态为就绪的作业进程。进程调度是微观上的低级调度,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。一般的操作系统都必须有进程调度。可见在多道系统中,作业调度与进程调度是相互配合来实现多道作业的并行执行的。两者的关系可用下图表示。思考题2:1.5(注:作业等待0.5小时,运行

8、1小时,响应比=10.5/1=1.5)思考题3:A【例5】考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问:(1)逻辑地址需要多少二进制位表示?(2)物理地址需要多少二进制位表示?分析 在分页存储管理中,逻辑地址结构如下图所示。它由两个部分组成:前一部分表示该地址所在页面的页号p;后一部分表示页内地址(页内位移)d。页号的地址位数决定了页的多少,假设页号有20位,则地址空间中最多可容纳的页面数为220,即1MB个页面。页内地址位数确定了每页的大小,若页内地址为12位,则每页大小为212,即2KB。同理,物理地址中块号的地址位数决定了块的数量。由于页

9、式存储管理内存空间块的大小与页面大小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同。解 因为页面数为8=23,故需要3位二进制数表示。每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。32个物理块,需要5位二进制数表示(32=25)。(1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。(2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。【例6】若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。000B 页号

10、 块号 否则释放队列中第一个等待信号量的进程。V操作的意义:我们用信号量及PV操作来实现进程的同步和互斥。PV操作属于进程的低级通信。什么是信号量?信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由PV操作来改变。一般来说,信号量S0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。

11、而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。利用信号量和PV操作实现进程互斥的一般模型是:进程P1 进程P2 进程Pn P(S); P(S);临界区; 临界区;V(S); V(S); 其中信号量S用于互斥,初值为1。使用PV操作实现进程互斥时应该注意的是:(1)每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。(2)P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。(3)互斥信号量的初值一般为1。利用信

12、号量和PV操作实现进程同步PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。使用PV操作实现进程同步时应该注意的是:(1)分析进程间的制约关系,确定信号量种类。在保持进程间有正确的同步关系情况下,哪个进程先执行,哪些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明确要设置哪些信号量。(2)信号量的初值与相应资源的数量有关,也与P、V操作在程序代码中出现的位置有关。(3)同一信号量的P、V操作要成对出现,但它们分别在

13、不同的进程代码中。【例10】生产者-消费者问题在多道程序环境下,进程同步是一个十分重要又令人感兴趣的问题,而生产者-消费者问题是其中一个有代表性的进程同步问题。下面我们给出了各种情况下的生产者-消费者问题,深入地分析和透彻地理解这个例子,对于全面解决操作系统内的同步、互斥问题将有很大帮助。(1)一个生产者,一个消费者,公用一个缓冲区。定义两个同步信号量:empty表示缓冲区是否为空,初值为1。full表示缓冲区中是否为满,初值为0。生产者进程while(TRUE)生产一个产品;P(empty);产品送往Buffer;V(full);消费者进程while(True)P(full);从Buffer

14、取出一个产品;V(empty);消费该产品;(2)一个生产者,一个消费者,公用n个环形缓冲区。empty表示缓冲区是否为空,初值为n。设缓冲区的编号为1n-1,定义两个指针in和out,分别是生产者进程和消费者进程使用的指针,指向下一个可用的缓冲区。产品送往buffer(in);in=(in+1)mod n;从buffer(out)中取出产品;out=(out+1)mod n;(3)一组生产者,一组消费者,公用n个环形缓冲区在这个问题中,不仅生产者与消费者之间要同步,而且各个生产者之间、各个消费者之间还必须互斥地访问缓冲区。定义四个信号量:mutex1生产者之间的互斥信号量,初值为1。mute

15、x2消费者之间的互斥信号量,初值为1。生产者进程 P(mutex1);V(mutex1);P(mutex2);V(mutex2);需要注意的是无论在生产者进程中还是在消费者进程中,两个P操作的次序不能颠倒。应先执行同步信号量的P操作,然后再执行互斥信号量的P操作,否则可能造成进程死锁。【例11】桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。分析在本题中,爸爸、儿子、女儿共用一个盘子,盘中一次只能放一个水果。当盘子为空时,爸爸可将一个

16、水果放入果盘中。若放入果盘中的是桔子,则允许儿子吃,女儿必须等待;若放入果盘中的是苹果,则允许女儿吃,儿子必须等待。本题实际上是生产者-消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。解:在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:int S1;int Sa0;int So0;main() cobegin father(); /*父亲进程*/ son(); /*儿子进程*/ daughter(); /

17、*女儿进程*/ coend father() while(1) P(S);将水果放入盘中;if(放入的是桔子)V(So);else V(Sa); son() P(So);从盘中取出桔子;V(S);吃桔子;daughter() P(Sa);从盘中取出苹果;吃苹果;思考题:四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)应定义的信号量及初值: 。(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发

18、工作:A() B() C() D() 1; 3; 5; 7;read F; read F;2; 4; 6; 8; 思考题解答:(1)定义二个信号量S1、S2,初值均为1,即:S1=1,S2=1。其中进程A和C使用信号量S1,进程B和D使用信号量S2。(2)从1到8分别为:P(S1) V(S1) P(S2) V(S2) P(S1) V(S1) P(S2) V(S2) 【例12】有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问:(1)为描述读者的动作,应编写几个程序,设置几个进程?(2)试用PV操作描述读者进程之间的同步关系。读者的动作有两个,一是填表进入阅览室,这时要考虑阅览室里是否有座位;一是读者阅读完毕,离开阅览室,这时的操作要考虑阅览室里是否有读者。读者在阅览室读书时,由于没有引起资源的变动,不算动作变化。算法的信号量有三个:seats表示阅览室是否有座位(初值为100,代表阅览室的空座位数);readers表示阅览室里的读者数,初值为0;用于互斥的mutex,初值为1。读者进入阅览室的动作描述getin:P (seats); /*没有座位则离开*/P(mutex)

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

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