- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 第二章业本(含答案)
第二章作业
第一次作业:
进程有哪三种基本状态?进程在三种基本状态之间转换的典型原因是什么?
答: 三种基本状态就绪状态执行状态阻塞状态
(1)就绪状态→执行状态:进程分配到CPU资源
(2)执行状态→就绪状态:时间片用完
(3)执行状态→阻塞状态:I/O请求
(4)阻塞状态→就绪状态:I/O完成
fork();
fork();
fork();
}
答
其家族树为:
试从动态性、并发性和独立性上比较进程和程序。
答
动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的;?
并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身(没有建立PCB)是不能并发执行的;
?独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。凡未建立PCB的程序,都不能作为一个独立的单位来运行。
分析下列代码的功能:
答:
sleep_on实现进程的睡眠过程
wake_up实现进程的唤醒过程
同步机制应该遵循哪些基本准则?你认为整型信号量机制遵循了同步机制的哪些基本准则?
答
同步机制应遵循四个基本准则:?
a.?空闲让进:当无进程处于临界区时,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。?
b.?忙则等待:当已有进程进入临界区时,其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。?
c.?有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
d.?让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。?
整型信号量机制使进程处于“忙等”状态,并未遵循“让权等待”的准则;而记录型信号量机制则完全遵循了同步机构的四条准则。
使用信号量实现下面的前趋图。
答
Var a,b,c,d,e,f,g,h:semaphore:=0,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 wait(c);s4; signal(f); end; begin wait(d);s5; signal(g); end;
begin wait(e);s6; signal(h); end; begin wait(f);wait(g);wait(h);s6; end; parend end
我们为某临界资源设置一把锁W,当W=1时表示关锁;当W=0时表示锁已打开,试写出开锁和关锁原语,并利用它们去实现互斥。
答:整型信号量:
lock(W): while W=1 do no-op
W:=1;
unlock(W): W:=0;
记录型信号量:
lock(W): W:=W+1;
if(W1) then block(W, L)
unlock(W): W:=W-1;
if(W0) then wakeup(W, L)
例子:
Var W:semaphore:=0;
begin
repeat
lock(W);
critical section
unlock(W);
remainder section
until false;
end
桌子上有一个空盘子,允许存放一只水果,爸爸可以向盘中放苹果,妈妈向盘子中放橘子,女儿专门吃盘子中的苹果,儿子专门吃盘子中的橘子。规定当盘子空的时候一次只能放一只水果,请用信号量实现他们之间的同步与互斥关系。
答
S, S1, S2 :semaphore=1,0,0;
Process Father:
Begin:
L1: P(S);
Put Apple;
V(S1);
End;
Process Mother:
Begin:
L2: P(S);
Put Orange;
V(S2);
End;
Process Son:
Begin:
L3: P(S2);
Get Orange;
V(S);
End;
Process Daughter:
Begin:
L4: P(S1);
Get Apple;
文档评论(0)