欢迎来到天天文库
浏览记录
ID:59071180
大小:83.00 KB
页数:7页
时间:2020-10-29
《例1、设有一台计算机,有两条IO通道,分别接一台卡片输入.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、例1、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果。问:①系统要设几个进程来完成这个任务?各自的工作是什么?②这些进程间有什么样的相互制约关系?③用P、V操作写出这些进程的同步算法。分析我们画一个草图来帮助我们理解这道题:卡片机缓冲区B1打印机缓冲区B2输入处理输出从图中可以看出,从“卡片机”到“打印机”共需要3个操作,即输入、处理、输出。这3个动作就是完成任务的3个进程。下面我们看看这些进程之间有什么样的制约关系。可以看
2、出,这3个进程之间是同步关系,合作完成从输入到输出的工作任务。对其中任何一个进程,要处理好与其关联的两端设备的协调工作。以“输入进程”为例,它与卡片机和缓冲区B1关联,将卡片机的卡片输入到缓冲区B1,在不考虑卡片机的情况下,就要考虑缓冲区的情况,即是满还是空,是空缓冲区,输入进程就可以输入信息,如果缓冲区满,则要等待“处理进程”将B1中的信息取走,使之为空,输入进程才能继续工作。依此类推,可以找出另外2个进程的制约关系。一般来说,处理进程同步需要2个信号量,“输入进程”和“处理进程”同步,需要2个信号量,解决缓冲区B1的协调操作问题;
3、而“处理进程”和“输出进程”同步,还需要2个信号量,解决缓冲区B2的协调操作问题。因此,共需要4个信号量。本题中“处理进程”的算法有一些难度,因为它需要协调两个缓冲区的工作,考虑的因素比较多,算法复杂些。答案①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程
4、和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。③信号量含义及初值:B1full——缓冲区B1满,初值为0;B1empty——缓冲区B1空,初值为0;B2full——缓冲区B2满,初值为0;B2empty——缓冲区B2空,初值为0;例2、下表给出作业l,2,3的提交时间和运行时间。采用先来先服务调度算法和短作业优先调度算法,试问作业调度次序和平均周转时间各为多少?(时间单位:小时,以十进制进行计算。)作业号
5、提交时间运行时间1230.00.41.08.04.01.0分析解此题关键是要清楚系统中各道作业随时间的推进情况。我们用一个作业执行时间图来表示作业的执行情况,帮助我们理解此题。采用先来先服务调度策略,其作业执行时间图如下:作业作业3作业2作业100.41.08.012.013.0时间作业提交时间各作业陆续完成时间采用短作业优先调度策略,其作业执行时间图如下:作业作业3作业2作业100.41.08.09.013.0时间作业提交时间各作业陆续完成时间另外,作业i的周转时间Ti=作业完成时间-作业提交时间系统中n个作业的平均周转时间,其中T
6、i为作业i的周转时间。解:采用先来先服务调度策略,则调度次序为l、2、3。作业号提交时间运行时间开始时间完成时间周转时间10.08.00.08.08.020.44.08.012.011.631.01.012.013.012.0平均周转时间T=(8+11.6+12)/3=10.53采用短作业优先调度策略,则调度次序为l、3、2。作业号提交时间运行时间开始时间完成时间周转时间10.08.00.08.08.031.01.08.09.08.020.44.09.013.012.6平均周转时间T=(8+8+12.6)/3=9.53例3、今有三个批
7、处理作业。第一个作业10:00到达,需要执行2小时;第二个作业在10:10到达,需要执行1小时;第三个作业在10:25到达,需要执行25分钟。分别采取如下两种作业调度算法:调度算法1:作业号到达时间开始执行时间执行结束时间12310:0010:1010:2510:0012:0013:0012:0013:0013:25调度算法2:作业号到达时间开始执行时间执行结束时间12310:0010:1010:2511:5010:5010:2513:5011:5010;50(1)计算各调度算法下的作业平均周转时间。(2)调度算法1是什么作业调度算法
8、?分析作业的周转时间=作业完成时间-作业提交时间。以调度算法1的作业2为例,其周转时间=作业完成时间13:00-作业提交时间10:10,得到结果为2小时50分钟,转换为小时为2.83小时。转换的目的是为了方便计算平均周转
此文档下载收益归作者所有