一个 Spooling 系统由输人进程 Input、用户进程 User,输出进程 Output、输人缓冲区和输出缓冲区组成。进程 Input 通过输人缓冲区为进程 User 输人数据,进程 User 的处理结果通过缓冲区交给输出进程 Output 输出。进程间数据交换以等长度数据块为单位。这些数据块均存储在同一磁盘上。因此 Spooling 系统的数据块通信保证始终满足如下条件:
max≥m+n
其中 max 为磁盘容量(以该数据块为单位),m 为磁盘上输人数据块总数,n 为磁盘上输出数据块的总数。
该 Spooling 系统运行时:
(1) 只要有输入数据,进程 Input 立即将它放入输入缓冲区。
(2)只要输入缓冲区有数据块,进程 User 会输入。处理并产生结果数据写到输出缓冲区。
(3)只要输出缓冲区有数据块,进程 Output 立即会输出它。
请说明该 Spooling 系统在什么情况下会产生死锁。说明如何修正约束条件以避免死锁,同时仍允许输人数据块和输出数据块均存储在同一磁盘上。
查看答案和解析【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
启航教育热门私房课
MORE小班面授 名额有限 抢先体验
编辑推荐
最新内容