例1设有一台计算机-有两条IO通道-分别接一台卡片输入机和一_第1页
例1设有一台计算机-有两条IO通道-分别接一台卡片输入机和一_第2页
例1设有一台计算机-有两条IO通道-分别接一台卡片输入机和一_第3页
例1设有一台计算机-有两条IO通道-分别接一台卡片输入机和一_第4页
例1设有一台计算机-有两条IO通道-分别接一台卡片输入机和一_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、例1、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果。问: 系统要设几个进程来完成这个任务?各自的工作是什么? 这些进程间有什么样的相互制约关系? 用P、V操作写出这些进程的同步算法。分析 我们画一个草图来帮助我们理解这道题:卡片机缓冲区B1打印机缓冲区B2输入处理输出从图中可以看出,从“卡片机”到“打印机”共需要3个操作,即输入、处理、输出。这3个动作就是完成任务的3个进程。下面我们看看这些进程之间有什么样的制约关系。可以看出,这3个进程之间是同步关系,合作完成从输入到输出的工作任

2、务。对其中任何一个进程,要处理好与其关联的两端设备的协调工作。以“输入进程”为例,它与卡片机和缓冲区B1关联,将卡片机的卡片输入到缓冲区B1,在不考虑卡片机的情况下,就要考虑缓冲区的情况,即是满还是空,是空缓冲区,输入进程就可以输入信息,如果缓冲区满,则要等待“处理进程”将B1中的信息取走,使之为空,输入进程才能继续工作。依此类推,可以找出另外2个进程的制约关系。一般来说,处理进程同步需要2个信号量,“输入进程”和“处理进程”同步,需要2个信号量,解决缓冲区B1的协调操作问题;而“处理进程”和“输出进程”同步,还需要2个信号量,解决缓冲区B2的协调操作问题。因此,共需要4个信号量。本题中“处理

3、进程”的算法有一些难度,因为它需要协调两个缓冲区的工作,考虑的因素比较多,算法复杂些。答案系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。R进程受C进程影响,B1放满信息后R进程要等待等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。信号量含义及

4、初值:B1full 缓冲区B1满,初值为0;B1empty缓冲区B1空,初值为0;B2full 缓冲区B2满,初值为0;B2empty缓冲区B2空,初值为0;例二:应用题(每小题10分,共20分) 1设A:B两个进程共用一个缓冲区Q,A向Q写入信息,B从Q读出信息,算法框图如图所示。判断该同步问题的算法是否正确?若有错,请指出错误原因并予以改正。这个算法不对。(1分) 因为A、B两进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从、Q中读出完整的信息。(1分)进行改正:A、B两进程要同步使用缓冲区Q。为此,设立两个信号量

5、: empty表示缓冲区Q为空,初值为l; (2分)full表示缓冲区Q为满,初值为0。 (2分)算法框图如图所示。(每个图正确各2分,共4分)例3、下表给出作业l,2,3的提交时间和运行时间。采用先来先服务调度算法和短作业优先调度算法,试问作业调度次序和平均周转时间各为多少?(时间单位:小时,以十进制进行计算。)作业号提交时间运行时间1230.00.41.08.04.01.0分析 解此题关键是要清楚系统中各道作业随时间的推进情况。我们用一个作业执行时间图来表示作业的执行情况,帮助我们理解此题。采用先来先服务调度策略,其作业执行时间图如下: 作业作业3作业2作业1 0 0.4 1.0 8.0

6、12.0 13.0 时间 作业提交时间 各作业陆续完成时间采用短作业优先调度策略,其作业执行时间图如下: 作业作业3作业2作业1 0 0.4 1.0 8.0 9.0 13.0 时间 作业提交时间 各作业陆续完成时间 另外,作业i的周转时间Ti作业完成时间作业提交时间 系统中n个作业的平均周转时间,其中Ti为作业i的周转时间。解:采用先来先服务调度策略,则调度次序为l、2、3。作业号提交时间 运行时间 开始时间 完成时间周转时间1 0.08.00.08.0 8.02 0.44.08.0 12.0 11.63 1.01.0 12.0 13.0 12.0平均周转时间T(811.612)/310.53

7、采用短作业优先调度策略,则调度次序为l、3、2。作业号提交时间运行时间开始时间完成时间周转时间1 0.0 8.0 0.0 8.0 8.03 1.0 1.08.09.08.02 0.4 4.0 9.0 13.0 12.6平均周转时间T(8812.6)/39.53例3、今有三个批处理作业。第一个作业10:00到达,需要执行2小时;第二个作业在10:10到达,需要执行1小时;第三个作业在10:25到达,需要执行25分钟。分别采取如下两种作业调度算法:调度算法1:作业号到达时间开始执行时间执行结束时间12310:0010:1010:2510:0012:0013:0012:0013:0013:25调度算

8、法2:作业号到达时间开始执行时间执行结束时间12310:0010:1010:2511:5010:5010:2513:5011:5010;50 (1)计算各调度算法下的作业平均周转时间。 (2)调度算法1是什么作业调度算法?分析 作业的周转时间作业完成时间作业提交时间。 以调度算法1的作业2为例,其周转时间=作业完成时间13:00作业提交时间10:10,得到结果为2小时50分钟,转换为小时为2.83小时。转换的目的是为了方便计算平均周转时间。解:(1)采用调度算法1时: 作业1的周转时间为2小时;作业2的周转时间为2.83小时;作业3的周转时间为3小时;平均周转时间为:(22.833)32.61

9、小时。 采用调度算法2时: 作业1的周转时间为3.83小时;作业2的周转时间为1.67小时;作业3的周转时间为0.42小时;平均周转时间为:(3.83l.670.42)3l.97小时。(2)调度算法1是按照作业到达的先后次序执行的,所以它是先来先服务调度算法。例4、考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问: (1)逻辑地址需要多少二进制位表示? (2)物理地址需要多少二进制位表示? 解 因为页面数为8=23,故需要3位二进制数表示。每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。32个物理块,需要5位二进制数表示

10、(32=25)。(1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。(2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。分析 在分页存储管理中,逻辑地址结构如下图所示。页号p页内地址d 它由两个部分组成:前一部分表示该地址所在页面的页号p;后一部分表示页内地址(页内位移)d。页号的地址位数决定了页的多少,假设页号有20位,则地址空间中最多可容纳的页面数为220,即1MB个页面。页内地址位数确定了每页的大小,若页内地址为12位,则每页大小为212,即2KB。同理,物理地址中块号的地址位数决定了块的多少,由于页式存储管理内存空间块的大小与页面大

11、小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同。例5、若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。页号块号01232316 解 本题中,为了描述方便,设页号为p,页内位移为d,则:(1)对于逻辑地址1011,pint(1011/1024)0,d1011 mod 10241011。查页表第0页在第2块,所以物理地址为1024210113059。(2)对于逻辑地址2148,pint(2148/1024)2,d2148 mod 1024100。查页表第2页在第1块,所以物理地址为10

12、241001124。(3)对于逻辑地址4000,pint(4000/1024)3,d4000 mod 1024928。查页表第3页在第6块,所以物理地址为102469287072。(4)对于逻辑地址5012,pint(5012/1024)4,d5012 mod 1024916。因页号超过页表长度,该逻辑地址非法。例6、考虑下述页面走向: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少?解 使用FIFO算法,缺页次数是16;使用LRU算法,缺页次数是15;使用OPT算法,缺页次数是

13、11。分析 所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。当内存块数量为3时: FIFO 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6块1 1 1 1 4 4 4 6 6 6 3 3 3 2 2 2 6块2 2 2 2 1 1 1 2 2 2 7 7 7 1 1 1块3 3 3 3 5 5 5 1 1 1 6 6 6 3 3缺页 因此,FIFO算法发生缺页中断的次数为16。在FIFO算法中,先进入内存的页面被先换出。例如,当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4、,可见4为最先进入内存的,本次应换出,然

14、后把页6调入内存。 LRU 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 块1 1 1 1 4 4 5 5 5 1 1 7 7 2 2 2 块2 2 2 2 2 2 6 6 6 3 3 3 3 3 3 块3 3 3 1 1 1 2 2 2 2 6 6 1 6缺页 因此,LRU算法发生缺页中断的次数为15。在LRU算法中,最近最少使用的页面被先换出。例如,当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页面,分别为5、1、2、,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。 OPT 1,2,3,4,2,1,5,6,2,1,2,3,7

15、,6,3,2,1,2,3,6 块1 1 1 1 1 1 1 3 3 3 3 6 块2 2 2 2 2 2 2 7 2 2 2 块3 3 4 5 6 6 6 6 1 1缺页 因此,OPT算法发生缺页中断的次数为11。在OPT算法中,在最远的将来才被访问的页面被先换出。例如,当页6要调入时,内存的状态为1、2、5,考查页6后面要调入的页面,分别为2、1、2、,可见5为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。例7假设一个磁盘有200个磁道,编号从0199。当前磁头正在143道上服务,并且刚刚完成了125道的请求。如果寻道请求队列的顺序是:86, 147, 91, 177, 94,

16、150, 102, 175, 130问:为完成上述请求,下列算法各自磁头移动的总量是多少? FCFS SSTF 电梯法答案 FCFS为565;SSTF为162;电梯法为125。分析 磁头在143道上,下一个请求为86,采用先来先服务磁盘调度算法FCFS,按照请求到来的次序依次响应,于是磁头从143道移动到86道上,移动磁道数为143-86=57。再从86道移动到147道,依此类推,进行调度的情况为: 下一磁道移动磁道数861479117794150102175130576156868356487345磁头移动总量为565。 采用最短寻道时间优先磁盘调度算法SSTF,当前磁头在143道上,选择的

17、下一个请求距当前磁头所在位置应具有最小的寻道时间。比较离143道最近的两个请求:130和147,可知,从143道移动到147道花费的时间最短,仅为4,于是磁头移动到147道上。依此类推,进行调度的情况为:下一磁道移动磁道数147150130102949186175177432028835892磁头移动总量为162。 采用电梯磁盘调度算法,要按照磁头移动的方向对请求进行扫描法,一侧的所有请求完成后,才掉头回扫。题中的条件“当前磁头正在143道上服务,并且刚刚完成了125道的请求”说明磁头移动的方向是从125道到143道。根据电梯法,磁头要继续向数大的方向扫描下去,于是先遇到147道的请求,然后是

18、150道,直到177道请求处理完,这时这一侧的请求全部完成了。于是磁头掉头回扫,首先碰到130道的请求,最后处理的是86道的请求。具体的调度情况为: 下一磁道移动磁道数147150175177130102949186432524728835磁头移动总量为125。例8:用如下图所示的进程状态转换图能够说明有关处理机管理的大量内容。试回答: (1)图中标识的4种进程状态的变迁是由什么事件引起的?(2)下述进程状态变迁的因果关系能否发生?为什么?A21 B32 C41就绪一运行:CPU空闲,就绪态进程被调度程序选中。 运行一就绪:正在运行的进程用完了本次分配给它的CPU时间片。 运行一阻塞:运行态进

19、程因某种条件未满足而放弃对CPU的占用,如等待读文件。阻塞一就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。 (2)下述进程状态变迁:(6分) (A)2一1:可以。运行进程用完了本次分配给它的时间片,让出CPU,然后操作系统按照某种算法从就绪队列中选出一个进程投入运行。 (B)32:不可以。任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。 (C)4一1:可以。某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。 例8:考虑下面存储访问序列,该程序大小为460字:10 ,11,104,170,73,309,185,245,246,434,458,364设页面大小是100字,请给出该访问序列的页面走向。又设该程序的基本可用内存是200字,如果采用最近最少使用置换算法(LRU)置换算法,缺

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论