欢迎来到天天文库
浏览记录
ID:28742580
大小:99.00 KB
页数:10页
时间:2018-12-13
《forum14_f_101》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、答:为了提高计算机系统中各种资源的利用效率,缩短作业的周转时间,在现代计算机中广泛采用多道程序技术,使多种硬件资源能并行工作。多道程序同时在系统中存在并且运行,这时的工作环境与单道程序的运行条件相比,大不相同。首先,每个用户程序都需要一定的资源,如内存、设备、CPU时间等,因此系统中的软、硬件资源不再是单个程序独占,而是由几道程序所共享。这样,共享资源的状态就由多道程序的活动共同决定。此外,系统中各部分的工作方式不再是单纯串行的,而是并发执行的。所谓并发执行,如果是单CPU,则这些并发程序按给定的时间片交替地在处理机上执行,其执行的时间是重叠的;如果是多CPU,则这些并发程序在各自处
2、理机上运行。2、说明下列活动是属于哪种制约关系?(1)若干同学去图书馆借书;(2)两队进行篮球比赛;(3)流水线生产中的各道工序;(4)商品生产和社会消费;答:(1)互斥;(2)互斥;(3)同步;(4)同步3、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上印出。问:(1)系统要设几个进程来完成这个任务?各自的工作是什么?(2)这些进程间有什么样的相互制约关系?(3)用P.V操作写出这些进程的同步算法。(4)设系统中只有上述几个过程,用图表示出各自状态变迁情况及原因。答:(1)系统要设3
3、个进程来完成这个任务;第一个进程:从卡片机把一叠卡片逐一输入到缓冲区B1中;第二个进程:加工处理后再搬到缓冲区B2中;第三个进程:从缓冲区B2读出,打印机印出。(2)第一个进程从卡片机把一叠卡片逐一输入到缓冲区B1中,第二个进程加工处理B1中的数据。如果B1为空,则第二个进程无法进行;如果B1满了,第一个进程不能再进行。第二个进程加工处理B1中的数据并搬到B2中,第三个进程从B2读出。如果B2为空,则第三个进程无法进行;如果B2满了,第二个进程无法进行。(3)P:不能往满的B1送数据,设信号量S1,初值为k(k为缓冲区B1的大小)while(true){读一张卡片;P(S1);数据送到缓
4、冲区B1;V(S2);};Q:不能从空的B1读数据,设信号量S2,初值为0;不能往满的B2送数据,设信号量S3,初值为l(l为缓冲区B2的大小)while(true){P(S2);从缓冲区B1读数据;加工数据;V(S1);P(S3)加工的数据写入缓冲区B2;V(S4)};R:不能从空的B2读数据,设信号量S4,初值为0;while(true){P(S4);从缓冲区B2读数据;V(S3)打印;};(4)卡片打印机B1B2B1未满B2未满B1非空B2非空进程1运行阻塞等待就绪jklmjB1满kB1未满l卡片全部读完m新的一批卡片作业进程2运行阻塞等待就绪jklmjB2满kB2未满lB1空mB
5、1非空进程3运行阻塞等待就绪jklj无条件kB2空lB2非空4、假定一个阅览室最多可容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上标志(进入时登记,离开时去掉登记项),而且每次只允许一人登记或去掉登记,问:(1)应编写几个程序完成此项工作,程序的主要动作是些什么?应设置几个进程?进程与程序间的对应关系如何?(2)用P、V操作写出这些进程的同步通信关系。答:(1)编写1个程序即可完成工作,该程序负责管理读者进入登记、阅读、取消登记、离开。应设置100个进程,分别对应进入阅览室的每个读者。(2)设置readercount=100,控制可进入的读者数设置mutex=1,控
6、制操作登记表Proc(){P(mutex)P(readercount)分配阅览室资源V(mutex)Reading……P(mutex)回收阅览室资源V(readercount)V(mutex)}5、假使A、B两个火车站之间是单轨线,许多列车可以同时到达A站,然后经A站到B站,又列车从A到B的行驶时间是t,列车到B站后的停留时间是t/2。试问在该问题模型中,什么是临界资源?什么是临界区?答:因为许多列车可以同时到达A站,所以A站不是互斥资源,而A、B之间的单轨线每次只能允许一辆列车发出以后另一辆才能发出。因为列车行驶时间为t,B的停留时间为t/2,所以只要在前一辆列车走完前1/2路程后再发
7、车,到达B站时前一辆车也已离开B站。(1)A、B间单轨线的前半段是临界资源。(2)临界区:列车在单轨线前半段上行驶6、进程A1,A2,…,An1通过m个缓冲区向进程B1,B2,…,Bn2不断地发送消息,发送和接收工作遵循如下规则:(1)每个发送进程每次发送一个消息,写入一个缓冲区,缓冲区大小与消息长度一样;(2)对每一个消息,B1,B2,…,Bn2都需要各接收一次,读到各自的数据区内;(3)m个缓冲区都满时,发送进程等待;
此文档下载收益归作者所有
点击更多查看相关文章~~