操作系统练习题_第1页
操作系统练习题_第2页
操作系统练习题_第3页
操作系统练习题_第4页
操作系统练习题_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

-.z.四十一、在UNI*系统中运行下面程序,最多可产生多少个进程"画出进程家族树。P249main(){fork();fork();fork();}[分析及相关知识]系统调用fork的功能是创建一个新进程,新进程运行与其创建者一样的程序,新创建的进程称为子进程,调用fork的进程称为父进程,父子进程都从fork调用后的那条语句开始执行。当程序执行时,若所有进程都能成功地执行系统调用fork,则会产生最多数目的进程。为了描述方便起见,将开始执行时的进程称为A进程,此时程序计数器PC,指向第一个fork调用。main(){fork();/*←PC,进程A*/fork():fork();}当进程A成功地执行完第一个fork调用时,它创建了一个子进程,将此子进程称为进程B。此时,进程A、B的程序计数器PC指向第二个fork调用,进程A派生了1个子孙进程.main(){fork():fork();/*←PC,进程A*/fork();}main(){fork();fork();/*←PC,进程B*/fork();}当进程A、B成功地执行完第二个fork调用时,它们分别创建了一个子进程,将这些子进程分别称为进程C、D.此时,进程A、B、C、D的程序计数器PC指向第三个fork调用,进程A派生了3个子孙进程。main(){fork();fork();fork();/*←PC,进程A*/}main(){fork();fork();fork();/*←PC,进程B*/}main(){fork();fork();fork();/*←PC,进程C*/)main(){fork();fork();fork();/*←PC,进程D*/)当进程A、B、C、D成功地执行完第三个fork调用时,它们分别创建了一个子进程,将这些子进程分别称为进程E、F、C、H.此时,进程A、B、C、D、E、F、G、H的程序计数器PC指向程序结束处,进程A派生了7个子孙进程。main(){fork();fork();fork();}/*←PC,进程A*/main(){fork();fork();fork();)/*←PC,进程B*/main(){fork();fork():fork();}/*←PC,进程C*/main(){fork();fork();fork();}/*←PC,进程D*/main(){fork();fork();fork():}/*←PC,进程E*/main(){fork();fork();fork();}/*←PC,进程F*/main(){fork();fork();fork();)/*←PC,进程G*/main(){fork();fork();fork();}/*←PC,进程H*/进程家族树是一棵有向树,有向树的节点代表进程,由进程P指向进程Q的边表示由进程P创建了进程Q.我们称进程P是进程Q的父进程,进程Q是进程P的子进程,这样便形成了进程树。解:从上面的分析过程可以看出,执行第一个fork调用时,进程A创建了进程B;执行第二个fork调用时,进程A创建了进程C,进程B创建了进程D:执行第三个fork调用时,进程A创建了进程E,进程B创建了进程F,进程C创建了进程G,进程D创建了进程H。因此,在UNI*系统中运行题目中的程序,最多可产生7个进程,其进程家族树如图8.26所示。进程调度又称为低级调度,其主要功能是()A选择一个作业调入内存B选择一个主存中的进程调出到外存C选择一个外存中的进程调入到主存D将一个就绪的进程投入运行下列进程调度算法中,进程可能会长期得不到调度的情况是()A先来先服务调度算法B抢占式静态优先权法C时间片轮转调度算法D非抢占式动态优先权法下列属于预防死锁的方法是()A剥夺资源法B资源分配图简化法C资源互斥使用D银行家算法下列属于检测死锁的方法是()A银行家算法B撤销进程法C资源静态分配法D资源分配图简化法为了照顾紧迫性作业,应采用()A先来先服务调度算法B短作业优先调度算法C时间片轮转调度算法D优先权调度算法设*多道系统,有磁带机2台,打印机1台,采用资源的静态分配法(假设作业获得资源后才允许进入内存)以及短作业优先调度算法和先来先服务进程调度算法。忽略I/O时间,现有作业序列如下,求5个作业完成的时间作业名到达时间计算时间需磁带机需打印机J18:0025分钟1台1台J28:2015分钟0台1台J38:2020分钟1台0台J48:3020分钟1台0台J58:3510分钟1台1台设*多道系统,有供用户使用的内存空间为200K,磁带机2台,打印机1台,系统采用可变分区管理方式,对磁带机、打印机采用静态分配,并忽略I/O时间,现有一作业序列如下:作业到达时间计算时间要求主存量申请磁带机数申请打印机数J18:0025分钟30K1台1台J28:2015分钟60K0台1台J38:2020分钟120K1台0台J48:3020分钟40K1台0台J58:3510分钟20K1台1台设作业调度采用短作业优先,且优先分配主存低地址区域,且不能移动内存中的作业,内存中的作业采用平分CPU时间,则作业调度的次序是:J1->j3->j4->j5->j2作业开始时间结束时间J18:008:30J38:209:00J48:309:10J58:359:15J28:209:30设*任务被分为大小相等的4段,系统为每段建立了一个由8个页表项的页表,设页面大小为2KB,问(1)每段最大尺寸为多少?(2)逻辑地址空间多大?(3)逻辑地址格式是什么?(4)设该任务访问到物理单元为00021ABCH中的一个数据,则该系统的物理地址空间最大为多少?解:(1)2*8=16KB(2)16*4=64KB(3)判断:请求分页管理系统,若把页面大小增加一倍,则缺页中断次数会减少一半判断:虚地址即程序执行时所要访问的内存地址在请求分页存储管理系统中,地址变换过程可能会因为()原因而发生中断虚存的理论基础是()虚存中LRU算法,分配3页,每页存200个整数,其中第一页存放程序,程序已在内存,数组A按先行后列存储,求程序A和B的缺页次数分别为多少?程序A:程序B:Fori:=1to100doForj:=1to100doForj:=1to100doFori:=1to100doA[i,j]:=0A[i,j]:=01.设备管理的()功能来实现用户程序与实际的物理设备无关。A设备分配B设备独立性C缓冲管理D虚拟设备2.Spooling技术可以实现设备的()A独占分配B共享分配C虚拟分配D物理分配3.以下()是磁盘寻道调度算法A时间片轮转法B优先级调度算法C最近最久未使用算法D先来先服务算法4.缓冲技术中的缓冲池是在()AROMBcacheC内存D外存5.为了使系统中多个进程同时处理输入输出,最好使用()技术。A缓冲池B循环缓冲C双缓冲D单缓冲6.OS中以下()是硬件机制"AspoolingB通道C文件D虚拟设备7.以下关于缓冲的描述正确的是()A以空间换时间B以时间换空间C提高外设的处理速度D提高CPU的处理速度8.在Spooling系统中,用户输出数据首先送入()A内存固定区域B打印机C磁盘固定区域D输出设备9.中断处理中,I/O中断是指()A设备出错B数据传输结束C数据传输开始D数据传输结束或设备出错10.磁盘请求以10,22,20,2,40,6,38柱面的次序到达磁盘驱动器,寻道时每个柱面的移动需要6ms,计算以下算法的寻道时间是多少?(假设磁头由20号柱面向柱面号大的方向移动)FCFS,SSTF,SCAN,CSCANFCFS:(10+12+20+38+34+32)*6=(30+50+66)*6=146*6=876ms11.磁盘扇区大小为512B,每个磁道有80个扇区,磁盘转速360rpm。处理机使用中断方式从磁盘读取数据,每个字节产生一次中断,如果处理中断需要2.5ms,试问:(1)处理机花费在处理I/O上的时间占整个磁盘访问时间的百分比是多少?(忽略寻道时间)(2)若采用DMA方式,每读完一个扇区产生一次中断,处理机花费在处理I/O上的时间占整个磁盘访问时间的百分比又是多少?19桌上有一个空的水果盘,盘中一次只能放一个水果,服务员,男顾客和女顾客共用这个盘子,服务员可以向盘中放草莓,也可以向盘中放香蕉,男顾客专等吃盘中的草莓,女顾客专等吃盘中的香蕉,规定每次当盘子空时只能放一个水果供顾客取用,请用信号量机制实现服务员,男顾客,女顾客三个进程的同步解:设信号量:dish表示服务员是否可以向盘中放水果1strawberry表示男顾客是否可以取草莓0banana表示女顾客是否可以取香蕉吃0p(dish)p(banana)p(strawberry)服务员放水果女顾客取草莓吃男顾客取香蕉吃if放的是草莓v(dish)v(dish)v(banana)elsev(strawberry)20设有两个优先级相同的进程P1、P2,令信号量S1,S2的初值为0,已知z=2,试问P1,P2并发执行后*,y,z的值。进程P1进程P2y:=1;*:=1;y:=y+2;*:=*+1;V(S1);P(S1);z:=y+1;*:=*+y;P(S2);V(S2);y:=y+z;z:=*+z;解1.*=5,y=7,z=4;2.*=5,y=7,z=9;3.*=5,y=12,z=9;*系统有R1,R2,R3共3种资源,在T0时刻,P1,P2,P3和P4这4个进程对资源的占有和需求情况见下表,此刻系统可用资源向量为(2,1,2),问:若此时P1,P2均发出资源请求向量Request(1,0,1)为保持系统安全性,应该如何分配资源给这两个进程?说明所采用的原因。进程Ma*(r1,r2,r3)Allocation(r1,r2,r3)Need(r1,r2,r3)P13,2,21,0,02,2,2P26,1,34,1,12,0,2P33,1,42,1,11,0,3P44,2,20,0,24,2,0解:设两个向量work=Available(2,1,2),Finish[i]=false;i=1,2,3,4;当Request2(1,0,1)时;Request2<=Need2;Request2<=Available;所以Available=Available-Request2=(1,1,1);Allocation2=Need2+Request2=(5,1,2);Need2=Ma*2-Allocation2=(1,0,1);此时work=Available=1,1,1;因由Need2<=work,故P2可完成,完成后,work=Available+Ma*2=(8,2,5).当P2完成后,释放资源后。Request1(1,0,1)均满足。故采取分配方式:先给P2(1,0,1)资源,等P2完成后,再把资源分配给P1.即可安全完成。在采用页式

温馨提示

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

评论

0/150

提交评论