习题二。
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实际上就...