操作系统作业问题详解

操作系统作业问题详解

ID:45031700

大小:847.54 KB

页数:12页

时间:2019-11-08

操作系统作业问题详解_第1页
操作系统作业问题详解_第2页
操作系统作业问题详解_第3页
操作系统作业问题详解_第4页
操作系统作业问题详解_第5页
资源描述:

《操作系统作业问题详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档习题一1、举例说明为什么对并发执行的程序不加控制会产生与执行时间有关的错误?解:程序在并发执行时由于资源是共享的,而且常常资源数少于程序对这些资源的需求数,致使这些并发执行的程序之间因为竞争资源导致存在间接制约关系,这种间接制约使得并发执行的程序具有随机性(异步性),即“执行—暂停—执行”,它们何时启动、何时停止是未知的。例如:飞机售票系统、堆栈的存数与取数过程等(示例说明略)。2、程序并发执行为什么会失去顺序执行时的封闭性和可再现性?解:所谓“封闭性”是指程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。在程序并发执行

2、时由于资源共享,导致这些资源的状态将由多个程序来改变,又由于存在程序执行的随机性,所以程序的运行失去封闭性。由于失去了封闭性,也将导致其失去可再现性。即虽然它们执行时的环境和初始条件相同,但得到的结果却可能各不相同。习题二1、试用加锁的方法解决飞机售票系统的问题。例:民航售票系统,n个售票处实用文档2、用机器指令(testAndset)解决飞机售票系统中任一进程的算法。习题三1、进程在做P、V操作时对自己和其他进程有何影响?进程在信号量上执行P操作后,若信号量的值为正,当前进程继续执行;若信号量的值为负,当前进程变为等待状态、放弃处理机,其它

3、进程则有机会获得CPU。进程在信号量上执行V操作后,不会对自己有任何影响,但当信号量的值不大于0时,需要唤醒在该信号量上所对应的等待队列中的进程。实用文档2、设课程的前驱、后继关系如下,若每修一门课程看作进程Px(x∈1..6)试用P、V操作算法描述这种前驱与后继关系。答:Semaphore:S1:=S2:=S3:=S4:=S5:=S6:=0;BeginCobeginP1、P2、P3、P4、P5、P6coend;end.P1()P2()P3()Beginbeginbegin修计算机导论;P(S1);P(S2);V(S1);修高级语言程序设计修

4、计算机组成原理;V(S2);V(S3)V(S4);End;End;End;P4()P5()P6()BeginbeginbeginP(S3);P(S4);P(S5);修数据结构;修86汇编语言;P(S6);V(S5);V(S6);修操作系统;End;End;End;习题四1、有三个进程R、W1、W2,进程R从输入设备上读数据送缓冲区B,若是奇数由W1进程从B实用文档取数输出;若是偶数则由W2进程从B取数输出。设缓冲区B只有一个单元,试用信号量机制设计实现算法。1、se,sf1,sf2:semaphore;se:=1;sf1:=sf2:=0;R(

5、)、W1()、W2()并发执行ProcessRprocessW1processW2repeatrepeatrepeat读数;P(sf1);P(sf2);P(se);从B中取数;从B中取数;送数到B;V(se);V(se);ifBmod2!=0thenuntilfalseuntilfalseV(sf1);elseV(sf2);untilfalse2、设有一台计算机,挂有一台输入机和一台打印机。现在从输入机上把数据输入到缓冲区B中,处理程序处理后再把结果送到缓冲区B中,(设B只能放1个数据)然后在打印机上输出。问:(1)系统可设哪些进程来完成这一

6、任务?(2)这些进程之间有什么样的制约关系?(3)用PV操作写出这些进程的同步算法.答:(1)输入进程、处理进程、输出进程(2)处理进程不能在输入进程之前执行、输出进程不能在处理进程之前执行;输入进程在未得到处理进程、输出进程的消息前不能运行。(3)输入()、处理()、输出()进程并发执行Semaphore:s1、s2、s3;S1:=1;S2:=S3:=0;实用文档process输入()process处理()process输出()L1:读数L2:P(S2)L3:P(S3)P(S1)从B取数处理后再送B从B取数输出送数到BV(S3)V(S1)V

7、(S2)GotoL2GotoL3GotoL1习题五1、设系统中有M个资源,N个进程,每个进程都要求K个资源;若M=5、N=5、K=2,问:(1)如何分配会导致死锁?(2)要不死锁应该如何分配?•如果对每个进程平均分配1个资源,则系统中的可用资源为0,而每个进程都还需要1个资源,才能向前推进;因此、系统发生死锁。•只要保证有1个进程能获得2个资源,则它在有限的时间内就可以运行完成并释放资源,这样系统就不会死锁。例如、先给4个进程各分配1个资源,让它们先运行,通过安全性算法测试可以知道第5个进程的资源申请将被拒绝;再把最后1个资源分配给这4个进程

8、中的1个即可。2、假设甲、乙、丙三个并发进程间的PV操作同步算法如下所示,信号量S1,S2,S3的初值都为1,问这些算法在什么情况下发生死锁?如何防止死锁?甲乙丙.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。