文档介绍:,有两条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空,初值为1;<B2empty=1表示B2空)R进程C进程P进程b5E2RGbCAP蒆蒂P(B2full>肀从B2中取出信息进行打印荿V(B2empty>袆P(B1full>芃P(B2empty>螈取B1送入B2蒇V(B1empty>芅V(B2full>羃P(B1empty>衿输入信息写入B1薆V(B1full>p1EanqFDPw螄2、现有一个作业,在段式存储管理的系统中已为其主存分配,建立的段表内容如下:螃段号羀主存起始地址<段基址)羈段长度膄0蒄120螈40肆1薃760芄30蝿2葿480芆20蚀3袁370薇20螆计算逻辑地址<2,15),<0,60),<3,18)的绝对地址是多少?蒁注:括号中第一个元素为段号,第二个元素为段内地址。蚈解:段式存储管理的地址转换过程为:<1)根据逻辑地址中的段号查段表的相应栏目;<2)根据段内地址<段长度,检查地址是否越界;<3)若不越界,则绝对地址=该段的主存起始地址+段内地址。逻辑地址<2,15)查段表得段长度为20,段内地址15<20,地址不越界,段号2查表得段首地址为480,于是绝对地址为480+15=495。逻辑地址<0,60)查段表得段长度为40,段内地址60>40,地址越界,系统发出“地址越界”中断。逻辑地址<3,18)查段表得段长度为20,段内地址18<20,地址不越界,段号3查表得段首地址为370,于是绝对地址=370+18=388。,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。RTCrpUDGiT膅 <1)先来先服务算法; 膁<2)最短寻找时间优先算法。虿解<1)3毫秒×292=876毫秒<2)3毫秒×120=360毫秒肈<注:各算法使移动臂的移动次序和移动的柱面数如下:薅<1)40→20→44→40→4→80→12→76羂<20)<24)<4)<36)<76)<68)<64)共移动292柱面螁<2)40→44→20→12→4→76→80膆<4)<24)<8)<8)<72)<4),有三个进程P1,P2,P3分别需要8台,7台和4台。若P1,P2,P3已申请到4台,2台和2台。试问:按银行家算法能安全分配吗?请说明分配过程。5PCzVD7HxA蚂解:系统能为进程P3分配二台打印机。因为尽管此时10台打印机已分配给进程P14台,P22台和P34台,全部分配完,但P3已分配到所需要的全部4台打印机,它不会对打印机再提出申请,所以它能顺利运行下去,能释放占用的4台打印机,使进程P1,P2均可能获得乘余的要求4台和5台,按银行家算法是安全的。:蕿beginS,Sr:Semaphore。rc:integer。蒃     S:=1。Sr:=1。rc:=0。蒂cobeginPROCESSReaderi(i=1,2…>蕿       beginP(Sr>蚇       rc:=rc+1。膇       ifrc=1thenP(S>。膃       V(Sr>。蚁       readfile。螅       P(Sr>。薆       rc:=rc-1袃     ifrc=0thenV(S>。蒈     V(Sr>。膈     end。羅   PROCES