进程在运行时存在哪两种形式的制约?并举例说明之。
正确答案:
(1)间接相互制约关系。举例:有两进程A和B,如果A提出打印请求,系统已把唯一的一台打印机分配给了进程B,则进程A只能阻塞;一旦B释放打印机,A才由阻塞改为就绪。
(2)直接相互制约关系。举例:有输入进程A通过单缓冲向进程B提供数据。当缓冲空时,计算进程因不能获得所需数据而阻塞,当进程A把数据输入缓冲区后,便唤醒进程B;反之,当缓冲区已满时,进程A因没有缓冲区放数据而阻塞,进程B将缓冲区数据取走后便唤醒A。
(2)直接相互制约关系。举例:有输入进程A通过单缓冲向进程B提供数据。当缓冲空时,计算进程因不能获得所需数据而阻塞,当进程A把数据输入缓冲区后,便唤醒进程B;反之,当缓冲区已满时,进程A因没有缓冲区放数据而阻塞,进程B将缓冲区数据取走后便唤醒A。
答案解析:有
微信扫一扫手机做题