操作系统第二章课后作业

发布 2022-07-15 01:21:28 阅读 4269

习题二。

2.答:前趋图如下:

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

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

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

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

阻塞状态—>就续状态:i/o完成。

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

var a,b,c,d,e,f,g,h: semaphore:=0,0,0,0,0,0,0,0;

beginparbegin

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

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

var a,b,c,d,e,f,g,h,i,j: semaphore:=0,0,0,0,0,0,0,0,0,0;

beginparbegin

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

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

producer:

beginrepeat

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;

endconsumer:

beginrepeat

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;

end28.答:算法如下:

var mutex, empty, full: semaphore:=1,1,0;

beginparbegin

gather: begin

repeat

gather data in nextp;

wait(empty);

wait(mutex);

buffer:=nextp;

signal(mutex);

signal(full);

until false;

endcompute: begin

repeat

wait(full);

wait(mutex);

nextc:=buffer;

signal(mutex);

signal(empty);

compute the data in nextc;

until false;

endparend

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

操作系统第二章作业

第二章作业 第一次作业 1.进程有哪三种基本状态?进程在三种基本状态之间转换的典型原因是什么?2.在linux系统中运行下面程序,最多可产生多少个进程?画出进程家族树。main fork fork fork 3.试从动态性 并发性和独立性上比较进程和程序。4.分析下列 的功能 第二次作业 1.同步机...

操作系统第二章作业

1 一般的处理器由运算器 控制器 一系列的寄存器以及高速缓存构成。运算器实现任何指令中的算术和逻辑运算,是计算机计算的核心 控制器负责控制程序运行的流程,包括取指令 维护cpu状态 cpu与内存的交互等 寄存器是指令在cpu内部作处理的过程中暂存数据 地址以及指令信息的存储设备,在计算机的存储系统中...

操作系统第二章作业

24.在进程调度是抢占式的情形下,书69页图2 24中展示的互斥问题的peterson解法能正常工作吗?如果是非抢占式的情况呢?答 可以正常工作,但如果是非抢占式的情况可能会失败。35.对某系统进行检测后表明,当阻塞在i o之前时,平均每个进程运行时间为t。一次进程切换需要的时间为s,这里s实际上就...