预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

程序ACPU20msIO230msCPU30msIO220msCPU30msIO120ms程序BIO230msCPU30msIO140msCPU30msIO120ms程序CIO120msCPU50msIO130msCPU20msIO230ms习题1.413014015017018011010090200306070单位:msCPUXCPUYI/O1程序A程序B程序CI/O2假定在具有2个CPU为X和Y的多机系统中,以多道程序设计方式,按如下条件执行上述3个程序,条件如下:(1)X和Y运算速度相同,整个系统可以同时执行2个程序,并且在并行处理程序时速度也不下降。(2)X的优先级比Y高,即当X、Y均能执行程序时,由X去执行。(3)当多个程序同时请求CPU或I/O设备时,按程序A、B、C的次序分配所请求的资源。(4)除非请求输入输出,否则执行中的程序不会被打断,也不会把控制转给别的CPU。而且因输入输出而中断的程序再重新执行时,不一定仍在同一CPU上执行。(5)控制程序的介入时间可忽略不计。(6)程序A、B、C同时开始执行。求:(1)程序A、B、C同时开始执行到执行完毕为止的时间。(2)X和Y的使用时间。由上图可以看出(1)A170msB150msC180ms(2)X的使用时间120msY的使用时间90ms习题3.41)引起各种状态转换的典型原因有哪些?运行态→就绪态时间片到或被更高优先级的进程抢占就绪态→运行态被调度运行态→阻塞态等待某一事件的发生而事件未发生阻塞态→就绪态等待的事件已发生2)当观察系统中某些进程时,能够看到某一进程的一次状态转换能引起另一个进程的一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换2?就绪队列中只有一个进程3)如图3.15,说明是否会发生下述因果转换:2→1会,在抢占式调度的情况下,更高优先级的进程到达,或时间片到3→2会,一个正在运行的进程因等待某一事件的发生而转入阻塞态,而就绪队列中有进程在等待运行4→1不会(3)挂起状态和阻塞状态有何区别?在具有挂起操作的系统中,进程的状态有哪些?如何变迁?被挂起进程处于静止状态,不能参与竞争CPU,直到被激活,但被挂起进程可能并不缺少资源;而阻塞进程是由于等待某一事件的发生,处于缺乏资源的状态。(4)在创建一个进程时需要完成的主要工作是什么?在撤消一个进程时需要完成的主要工作又是什么?创建进程的主要工作是为被创建进程创建一个PCB,并填入相应的初始值。并把该进程插入就绪队列。撤消该进程的所有子孙进程。在撤消的过程中,被撤消进程的所有系统资源(内存、外设)应全部释放出来归还给系统,并将它们从所有队列中移出。如果被撤消进程正在处理器上运行,则要调用进程调度程序将处理器分配给其它进程。习题4.55.应用题(1)有三个并发进程R、W1和W2,共享两个各可存放一个数的缓冲区B1、B2。进程R每次从输入设备读入一个数,若读入的是奇数,则将它存入B1中,若读入的是偶数,将它存入B2中;当B1中有数,由进程W1将其打印输出;当B2中有数,进程W2将其打印输出。试编写保证三者正确工作的程序。structsemaphoneB1_Empty,B1_Full,B2_Empty,B2_Full;B1_Empty.value=1;B1_Full.value=0;B2_Empty.value=1;B2_Full.value=0;voidR(){inta;While(1){readanumbera;if(a%2){wait(B1_Empty);putainB1;signal(B1_Full);}else{wait(B2_Empty);putainB2;signal(B2_Full);}}}voidW1(){while(1){wait(B1_Full);printanumberfromB1;signal(B1_Empty);}}voidW2(){while(1){wait(B2_Full);printanumberfromB2;signal(B2_Empty);}}voidmain(){parbegi