操作系统应用题(解答)
个人收集整理 仅供参考学习
1 / 10 1.设有一台计算机,有两条I/O 通道,分别接一台卡片输入机和一台打印机.卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后在搬到缓冲区B2中,并在打印机上印出,问:
①系统要设几个进程来完成这个任务?各自地工作是什么?
②这些进程间有什么样地相互制约关系?
③用P 、V 操作写出这些进程地同步算法.
解:
①系统可设三个进程来完成这个任务:R 进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C 进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P 进程负责从缓冲区B2中取出信息,并在打印机上印出.
②R 进程受C 进程影响,B1放满信息后R 进程要等待——等C 进程将其中信息全部取走,才能继续读入信息;C 进程受R 进程和P 进程地约束:B1中信息放满后C 进程才可从中取出它们,且B2被取空后C 进程才可将加工结果送入其中;P 进程受C 进程地约束:B2中信息放满后P 进程才可从中取出它们,进行打印.
③信号量含义及初值:
B1full —— 缓冲区B1满,初值为0;(B1full =1表示B1满)
B1empty ——缓冲区B1空,初值为1;(B1empty =1表示B1空)
B2full —— 缓冲区B2满,初值为0;(B2full =1表示B21满)
B2empty ——缓冲区B2空,