- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一章作业---操作系统引论
1。什么是操作系统?其主要功能是什么?
2。在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明:
(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?
(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。
简答:(1)存在空闲等待,时间为100ms~150ms之间
(2)A无等待,但B有等待,B等待时间段为180ms~200ms
第二章作业—进程和线程
设公共汽车上,司机和售票员的活动如下:
司机的活动:启动车辆;正常行车;到站停车。
售票员的活动:关车门;售票;开车门。
在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。
答:semaphore s1,s2;
s1=0;s2=0;
cobegin
司机();售票员();
coend
process 司机()
{
while(true)
{
P(s1);
启动车辆;
正常行车;
到站停车;
V(s2);
}
}
process 售票员()
{
while(true)
{
关车门;
V(s1);
售票;
P(s2);
开车门;
上下乘客;
}
}
设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。请用信号量和P、V操作,写出能够正确执行的程序。
答:semaphore sp,sq,sr;
int buf;sp=1;sq=0;sr=0;
cobegin
process P()
{
while(true)
{
从磁带读入数据;
P(sp);
Buf=data;
V(sq);
}
}
process Q()
{
while(true)
{
P(sq);
data=buf;
加工data;
buf=data;
V(sr);
}
}
process R()
{
while(true)
{
P(sr);
data=buf;
V(sp);
打印数据;
}
}
coend.
简述计数信号量的值与资源使用情况的关系。
第三章作业—-死锁
假定某计算机系统有R1、R2两类可再用资源(其中R1有两个单位,R2有一个单位),它们被进程P1、P2所共享,且已知两个进程均以下列顺序使用两类资源:
→申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→
试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。
答:,两个进程都执行完第一步,系统进入不安全状态。这个无论哪个进程执行完第二步,死锁都会发生。可能到达的死锁点:进程P1占有一个R1、一个R2,进程P2占有一个R1。或者相反。就形成死锁。
(略死锁点的资源分配图)
系统有同类资源m个,被n个进程共享,问:当mn和m≤n时,每个进程最多可以请求多少个这类资源,使系统一定不会发生死锁?
答:m≤n时,每个进程最多请求1个这类资源时不会死锁;当mn时,如果 m/n商为k,余数为t:若t为0,每个进程最多请求k个,若t不为0,每个进程最多请求k+1个,则系统不会发生死锁。
设当前的系统状态如下,此时Available=(1,1,2).
进程 Max Allocation R1 R2 R3 R1 R2 R3 P1 3 2 2 1 0 0 P2 6 1 3 5 1 1 P3 3 1 4 2 1 1 P4 4 2 2 0 0 2 (1)、计算各个进程还需要的资源数
(2)、系统是否处于安全状态?为什么?
(3)、进程P2发出请求向量request2=(1,0,1),系统能把资源分配给它吗?
(4)、若在进程P2申请资源后,P1发出请求
文档评论(0)