请在 下方输入 要搜索的题目:

设一计算机系统有输入机一台、打印机两台,现有二道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms ,打印信息100ms ,结束。程序B运行的轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。要求:(1) 用图画出这二道程序并发执行时的工作情况。(2) 说明在二道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?(3) 程序A、B运行时有无等待现象?在什么时候会发生等待现象?

设一计算机系统有输入机一台、打印机两台,现有二道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms ,打印信息100ms ,结束。程序B运行的轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。要求:(1) 用图画出这二道程序并发执行时的工作情况。(2) 说明在二道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?(3) 程序
A、B运行时有无等待现象?在什么时候会发生等待现象?

发布时间:2025-03-07 23:47:06
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:(1)工作情况如图。程序A程序B时间(2)CPU有空闲等待,它发生在100 ms150 ms时间段内,此时间段内程序A与程序B都在进行I/O操作。(3)程序A无等待现象,程序B在0 ms50 ms时间段与180 ms200 ms时间段内有等待现象。工作情况的另一种描述形式如下:程序B程序A打印机输入设备300ms150ms180ms100ms50ms200mst第3章 进程管理习题1现代操作系统中为什么要引入“进程”概念? 它与程序有什么区别?之所以要引入进程的概念,是因为在一些可以并发的程序段之间,存在着某种相互制约的关系,每个程序段的执行不仅要受到其它程序执行的制约,而且还要动态地依赖系统资源的分配情况,因此每个可以并发执行的程序段就会因外界条件的限制而不能运行,被迫处于阻塞状态。仅用程序的概念无法表示程序的走走停停以及程序运行过程中对资源的竞争现象,因此需要采用一种动态的概念描述并发程序这种走走停停的现象,这就产生了进程的概念。进程和程序的区别:(1) 进程是程序的执行过程,是动态的过程,属于一种动态概念。程序是一组有序静态指令和数据的集合,用来指示处理机的操作,是一种静态概念。(2) 从结构上看,每个进程实体是由程序段和相应的数据段两部分构成,并且进程结构中还要包含PCB,即进程控制块。(3) 一个进程可以涉及到一个或几个程序的执行;反之,同一程序可以对应多个进程,即同一个程序段可以在不同数据集合上运行,可以构成不同的进程。(4) 进程能真实地描述并发执行的过程,而程序仅仅是静态指令堆积的序列。(5) 进程有可创建其他进程的功能,而一般的程序不具有创建其它程序的功能。(6) 每一个程序都是在一个进程现场中运行的。2叙述进程的并发性和制约性。并发性是进程的重要特征。即多道程序中多个进程同时向前推进的过程,没个进程总是与其它进程并发地执行的。进程的制约性是指一个进程的运行受到另一进程的制约。比如有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资源被别的进程占有而无法运行。3进程的含义是什么? 如何构造和描述进程?进程是程序的一次执行。进程由“进程控制块 程序 数据”构成,用进程控制块描述进程。4有三个并发进程,R负责从输入设备读入信息并传送给M,M将信息加工并传送给P,P将打印输出,写出下列条件下的并发程序。(1) 双缓冲区,每个区大小为K。(2) 单缓冲区,其大小为K。(1) 双缓冲区,每个区大小为K,信号量初值如下:mutexR=mutexP=1;emptyR=emptyP=k;fullR= fullP=0;变量的初值如下:inR=outR=inP=outP=0;用类Pascal编写程序如下:varmutexR,mutexP,emptyR,fullR,emptyP,fullP: semaphere;inR,outR,inP,outP: integer;buffer: array 0..k-1 of item;bufferP: array 0..k-1 of item;procedure Rbeginwhile true dobegin输入数据data1;P (emptyR);P (mutexR);bufferR(inR):=data1;inR:=(inR 1) mod (k);V(mutexR);V(fullR);endend;procedure Mbeginwhile true dobeginP(fullR);P(mutexR);data2:=bufferR(outR);outR:=(outR 1)mod (k);V(mutexR);V(emptyR);对data2进行加工;P(emptyP);P(mutexP);bufferP(inP):=data2;inP:=(inP 1)mod (k);V(mutexP);V(fullP);endend;procedure P:beginwhile true dobeginP(fullP);P(mutexP)data3:=bufferP(outP);outP:=(outP 1)mod(k);V(mutexP);V(emptyP);打印 data3;endend;beginseminitinal(mutexR.v,1;mutexP.v,1;emptyR.v,k;fullR.v,0;emptyP.v,k;fullP.v,0);inR:=0;outR:=0;inP:=0;outP:=0;cobeginR;M;P;coendend.(2)单缓冲区,大小为kvarempty,full,ok,mutex : semaphere;inR,outR,inP,outP : integer;buffer : array 0..k-1 of item;procedure R:beginwhile true dobegin输入数据 data1;P(empty);P(mutex);buffer(inR):=data1;inR:=(inR 1) mod (k);V(mutex);V(full)endend;procedure M:beginwhile ture dobeginP(full);P(mutex);data2:==buffer(outR);outR:=(outR 1) mod (k);V(mutex);对data2 加工;P(mutex);buffer(inP):=data2;inP:=(inP 1)mod (k);V(mutex);V(ok);endend;proedure P:beginwhile ture dobeginP(ok);P(mutex);data3:=buffer(outP);outP:=(outP 1) mod(k);V(mutex);V(empty);打印data3;end;endbeginseminitial(empty.v,k;full.v,0;ok.v,0;mutex.v,1);inR:=0;outR:=0;inP:=0;outP:=0;cobeginR;M;P;coendend.
专业技术学习
相关试题
专业技术学习
搜搜题库系统