操作系统第二章课后作业

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题二

2.答:前趋图如下:

8.答:进程执行时的间断性决定了进程可能具有多种状态。事实上,运行中的进程可能具有就绪状态、执行状态和阻塞状态。三个基本状态之间转换

的原因如下:

就绪状态—>执行状态:进程获得CPU资源;

执行状态—>就绪状态:分配给进程的时间片已完;

执行状态—>阻塞状态:发生某事件而使进程的执行受阻,如I/O请求;

阻塞状态—>就续状态:I/O完成。

22.答:(a)此前趋图用程序描述如下:

V ar 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); S7; end;

parend

end

(b)此前趋图用程序描述如下:

V ar a,b,c,d,e,f,g,h,i,j: semaphore:=0,0,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); signal(f); end;

begin wait(c); S4; signal(g); end;

begin wait(d); S5; signal(h); end;

begin wait(e); S6; signal(i); end;

begin wait(f); S7; signal(j); end;

begin wait(g); wait(h); wait(i); wait(j); S8; end;

parend

end

26.答:蓝色字体为修改部分。

producer:

begin

repeat

.

.

.

produce an item in nextp;

wait(mutex);

wait(full); /*wait(full)应为wait(empty),且应与前一句

wait(mutex)置换顺序。*/

buffer(in):=nextp;

/*缓冲池数组游标应前移,应增加in:=(in+1)mod n;

*/

signal(mutex);

/*增加signal(full); */

until false;

end

consumer:

begin

repeat

wait(mutex);

wait(empty); /*应为wait(full);且应在wait(mutex);前面*/

nextc:=buffer(out);

out:=out+1; /*缓冲池为循环缓冲池,应为

out:=(out+1)mod n; */

signal(mutex);

/*增加signal(empty); */

consume item in nextc;

until false;

end

28.答:算法如下:

V ar mutex, empty, full: semaphore:=1,1,0;

begin

parbegin

gather: begin

repeat

gather data in nextp;

wait(empty);

wait(mutex);

buffer:=nextp;

signal(mutex);

signal(full);

until false;

end

compute: begin

repeat

wait(full);

wait(mutex);

nextc:=buffer;

signal(mutex);

signal(empty);

compute the data in nextc;

until false;

end

parend

end

34.答:高级通信机制可归结为三大类:共享存储器系统,消息传递系统和管道通信体统。

相关文档
最新文档