版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统应用题(解答)部门:xxx时问:xxx整理范文,仅供参考,可下载自行编辑1.设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后在搬到缓冲区B2中,弁在打印机上印出,问:系统要设几个进程来完成这个任务?各自的工作是什么?这些进程间有什么样的相互制约关系?用P、V操作写出这些进程的同步算法。解:系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。R进程受C进程影
2、响,B1放满信息后R进程要等彳f等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。信号量含义及初值:B1full缓冲区B1满,初值为0;<B1full=1表示B1满)B1empty缓冲区B1空,初值为1;<B1empt尸1表示B1空)B2full缓冲区B2满,初值为0;<B2full=1表示B21满)B2empty-缓冲区B2空,初值为1;<B2empt尸1表示B2空)R进程C进程P进程b5
3、E2RGbCAP下:计算逻辑地址<2,15),<0,60),<3,18)的绝对地址是多少?注:括号中第一个元素为段号,第二个元素为段内地址。解:段式存储管理的地址转换过程为:<1)根据逻辑地址中的段号查段表的相应栏目;<2)根据段内地址<段长度,检查地址是否越界;<3)若不越界,则绝对地址=该段的主存起始地址+段内地址。逻辑地址<2,15)查段表得段长度为20,段内地址15<20,地址不越界,段号2查表得段首地址为480,于是绝又t地址为480+15=496逻辑地址<0,60)查段表得段长度为40,段内地址60>40,地址越界,
4、系统发出“地址越界”中断。逻辑地址<3,18)查段表得段长度为20,段内地址18<20,地址不越界,段号3查表得段首地址为370,于是绝对地址=370+18=38&DXDiTa9E3d3.若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。RTCrpUDGiT<1)先来先服务算法;< 2)最短寻找时间优先算法。解<1)3毫秒X292=876毫秒<2)3毫秒X120=360毫秒< 注:各算法使移动臂的移动
5、次序和移动的柱面数如下:< 1)402044404-801276< 20)<24)<4)<36)<76)<68)<64)共移动292柱面< 2)404420124-7680< 4)<24)<8)<8)<72)<4)共移动120柱面4 .某系统中有10台打印机,有三个进程P1,P2,P3分别需要8台,7台和4台。若P1,P2,P3已申请到4台,2台和2台。试问:按银行家算法能安全分配吗?请说明分配过程。5PCzVD7HxA解:系统能为进程P3分配二台打印机。因为尽管此时10台打印机已分配给进程P14台,P2
6、2台和P34台,全部分配完,但P3已分配到所需要的全部4台打印机,它不会对打印机再提出申请,所以它能顺利运行下去,能释放占用的4台打印机,使进程P1,P2均可能获得乘余的要求4台和5台,按银行家算法是安全的。jLBHrnAILg5 .用PV操作解决读者写者问题的正确程序如下: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-1ifrc=0th
7、enV(S>。V(Sr>。end。PROCESSWriterj(j=1,2>beginP(S>。Writefile。V(S>end。coend。end。请回答:<1)信号量Sr的作用;<2)程序中什么语句用于读写互斥,写写互斥;<3)若规定仅允许5个进程同时读怎样修改程序?XHAQX74J0X解<1)Sr用于读者计数rc的互斥信号量;<2)ifrc=1thenP<S)中的P<S)用于读写互斥,写者进程中的P<S)用于写写互斥,读写互斥。LDAYtRyKfE<3)程序中增加一个信号量S5,初彳直为5,P<S
8、5)语句加在读者进程P<Sr)之前,V<S5语句加在t者进程第2个V<Sr)之后。Zzz6ZB2Ltk6 .判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正。设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。进程AV(S>进程B(S>从Q读出信息注:信号量S的初值为0解:这个算法不对。因为AB两进程共用一个缓冲区Q如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。dvzfvkwMI1进行改正:A、B两进程要同步使用缓冲区Q。为此,设立两个信号
9、量:empty表示缓冲区Q为空,初值为1;full表示缓冲区Q为满,初值为0。算法框图如图所示。A.进程B进程rIfP(empty>IP(full>向Q写入信息从Q中t,出信息V(full>IV(empty>7 .有三个用户进程AB和C,在运行过程中都要使用系统中的一台打印机输出计算结果。试说明AB、C进程之间存在什么样的制约关系?为保证这三个进程能正确地打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。rqyn14ZNXI解:(1>A、B、C三个进程之间存在互斥的制约关系。因为打印机属于临界资源,必须一个进
10、程使用完之后另一个进程才能使用。EmxvxOtOco<2)mutex:用于互斥的信号量,初值为1。各进程的代码如下:进程A进程B进程CP(mutex>P(mutex>P(mutex>申请打印机申请打印机申请打印机使用打印机使用打印机使用打印机V(mutex>V(mutex>V(mutex>8.假定在某移动臂磁盘上,刚刚处理了访问75号柱面的请求,目前正在80号柱面读信息,并且有下述请求序列等待访问磁盘:SixE2yXPq5请求序列:12345678欲访问柱面号:16040190188905832102试用:(1>电梯调度算法(2>最短寻找时
11、间优先算法分别列出实际处理上述请求的次序。解(1>电梯调度算法:由”刚刚处理了访问75号柱面的请求,目前正在80号柱面读信息”可知:初始磁头前进的方向是:”从小到大"6ewMyirQFL5814362790102160188190584032(2最短寻找时间优先算法:处理次序为:58627143901025840321601881909.有三个进程P1,P2和P3并发工作。进程P1需用资源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S&回答:kavU42VRUs(1若对资源分配不加限制,会发生什么情况?为什么?(2为保证进程正确工作,应采用怎样的资源分
12、配策略?为什么?讪:(1可能会发生死锁例如:进程P1,P2和P3分别获得资源S3,S1和S2后再继续申请资源时都要等待,这是循环等待。(或进程在等待新源时均不释放已占资源(2可有几种答案:A.采用静态分配由于执行前已获得所需的全部资源,故不会出现占有资源又等待别的资源的现象(或不会出现循环等待资源现象。y6V3ALoS89或B.采用按序分配不会出现循环等待资源现象。或C.采用银行家算法因为在分配时,保证了系统处于安全状态。10 .某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题
13、:M2ub6vSTnP(1用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。(2根据所定义的信号量,把应执行的PV操作填入下述方框中,以保证进程能够正确地并发执行。COBEGINPROCESSPI(12,begin;进入售票厅;购票;退出;end;COEND(3若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值。解(1定义一信号量S,初始值为20。意义:S0S的值表示可继续进入售票厅的人数S=0表示售票厅中已有20名顾客(购票者S0|S|的值为等待进入售票厅的人数(2上框为P(S下框为V(S(3S的最大值为20S的最小值为20n注:信号量的
14、符号可不同(如写成t,但使用时应一致(即上述的s全应改成t。11 .有两个进程P1和P2,它们执行的过程如下:P1:10秒CPLB作、20秒I/O操作设备1)、5秒CPLB作、10秒I/O操作设备2)、5秒CPl作、结束0YujCfmUCwP1:15秒I/O操作设备1)、10秒CPU1作、15秒I/O操作设备2)、10秒CPUt作、结束eUts8ZQVRd(1) 如果进程P1和P2顺序执行,请画出进程P1和P2执行情况图;(2) 如果进程P1和P2并发执行,请画出进程P1和P2执行情况图;(3) 分别计算在1)和2)情况下,CPU的利用率、设备1和设备2的利用率。解:(1P1和P2顺序执行P1
15、:'L-CPUI/O(DEV1CPI/O(DECP01030354550sQsAEJkW5TP2:I/O(DEV1>L-GPUI/O(DEV2>CPU50657590100GMsIasNXkA(2P1和P2并发执行CPU(PCPU(PCPU(ICPU(P2CPU(PI/O(DEV1>_I/O(DEV>(P1I/O(DEV2>I/O(DEV010152535405055TIrRGchYzg(3>在情况<1)下,CPU勺利用率=40/100=40%备1的利用率=35/100=35%设备2的利用率=25/100=25%在情况<2)下,CPU勺利
16、用率=40/55=73股备1的利用率=35/55=64%设备2的利用率=25/55=45%12 .一个程序P的用户空间为16K,存储管理采用请求式分页系统,每个页面大小为2K,存在以下的页表:页框号后效位121310100211510081其中,有效位=1表示页面在内存;0表示页面不在内存。请将虚地址0X060C,0x1502,0x1d71,0x2c27,0x4000转换为物理地址。答:用户地址空间共用14bit表示.范围为:0x00000x3FFF.超过这个范围即为"越界”0X060C:1548+12*2048=0x660C0x15020x65020x1d71:缺页0x2c27:0
17、x14270x4000:越界13 .有一个文件系统,根目录常驻内存,目录文件采用链接式,每个磁盘块存放10个下级文件的描述,最多存放40个下级文件(最多涉及到4个盘块>,若下级文件为目录文件,则上级目录指向该目录文件的第一块,否则指向普通文件的文件控制块。普通文件采用二级索引形式,文件控制块中给出12个磁盘块地址,前10个磁盘块地址指出前10页的物理地址,第11个磁盘块地址指向一级索引表,一级索引表给出256个磁盘块地址,即指出该文件第10页至第256页的地址,第12个磁盘块地址指向二级索引表,二级索引表中指出256个一级索引表的地址。(1该文件系统中的普通文件最大可有多少页?7EqZc
18、WLZNX(2若要读文件/A/D/K/Q中的某一页,最少要启动磁盘几次?最多要启动磁盘几次?答:1)一个文件的所有块可以通过下面三种途径找到:直接通过FCB找到前10块,通过一级索引找到256块,通过二级索引找到256*256块,所以一个文件最大可以有10+256+2562块lzq7IGf02E因为目录文件果用攫搔形式.一个域盘块存放I。个下级文件的描逑.一个目录下星塞林欣的个卜线文件.故一个|呆£件城各3门个列理块,根“系文件已在内存,故归必启动梗廉读入它.最小蝠居根目球文怦“目日文件1次1忒D目读文件1次1次K目录文件1忒1次Q文件控制跳1次1次Q文忖灵一应1次3次共5黑13/最
19、坏情况是:每次读取目录描述信息的时候都在最后一个块找到下级的目录或文件,所以要找到Q文件的FCB至少要读取A的第一块,DG二个目录项的所有四个块,再读取Q的FCB总共要1+4*2+1=10次启动硬盘。找到FCB后再读取该文件页所在的块,如果这一块在前10块之列,那么在启动一次硬盘就可以找到这一块,如果这一块在最后一块,则可能需要通过二级索引找到这一块,这总共需要读取二级索引和最后一块共2+1次读取硬盘。zvpgeqJ1hk14. 一个系统中存在某类资源m个,被n个进程共享。资源的分配和释放必须一个一个进行,请证明在以下两个条件下不会发生死锁:NrpoJac3v1每个进程需要资源的最大数在1m之
20、间;所有进程需要的资源总数小于m+n证明:假设进程Pi(0<i<n+1>需要的资源数为Ri,则R1+R2+.+Rn<m+n(1>1 <=Ri<=m(2>假设进程已经分配到的置源为Ai(0<i<n+1>,则Ai<=Ri假设当前发生了死锁,则A1+A2+.+An=mAi<Ri(0<i<n+1>也就是Ai+1<=Ri则A1+A2+-.+An+n<=R1+R2+,+Rn即m+n<=R1+R2+.+Rn和<1)矛盾,死锁不成立。15. 一个请求式分页存储系统,页表存放在内存:访问一次内
21、存需要100ns如果仅调入一个页面,需要花费8ms呐存有空页面,或需要进行页面置换,单被置换的页面没有修改过);如果调入一个页面同时需要进行被置换页面的写出,则需要20ms假设页面被修改的比例是60%请问,缺页率必须控制在多少以下,才能使得EAT<200ns?解:假设缺页率为f_rate,则,EAT=(1-f_rate>*100+f_rate*(40%*8000+60%*20000>如EAT<200,则,(1-f_rate>*100+f_rate*(40%*8000+60%*20000><200100-100*f_rate+15200*f_rate&l
22、t;200151*f_rate<1f_rate<1/151即缺页率小于0.66%。16. 一个文件有100个磁盘块,假设文件控制块在内存<如果文件采用索引分配(indexedallocation>,索引表也在内存)。在下列情况下,请计算在contiguous,linked,indexed(single-level>三种分配方式下,分别需要多少次磁盘I/O操作?<每读出或写入一个磁盘块都需要一次磁盘I/O操作)(10%>1nowfTG4KI假设在contiguous分配方式下,文件头部无空闲的磁盘块,但文件尾部有空闲的磁盘块。假设要增加的块信息存放在内存
23、中。fjnFLDa5Zo在文件开始处添加一个磁盘块;在文件结尾处添加一个磁盘块;在文件中间删除第50块磁盘块;<假设磁盘块编号从099)在文件第50块前添加一个磁盘块;<假设磁盘块编号从099)解:在文件开始处添加一个磁盘块:连续:201/链接:1/索引:1在文件结尾处添加一个磁盘块:连续:1/链接:101/索引:1在文件中间删除一个磁盘块:连续:48*2+1+1=98/链接:52/索引:0在文件中间添加一个磁盘块:连续:101/链接:52/索引:117. 一个操作系统有20个进程,竞争使用30个同类资源,申请方式是逐个进行,一旦某个进程获得了它的全部资源,就马上归还所有的资源,每
24、个进程最多使用30,最少使用一个资源。20个进程需要的资源总数小于50。如果仅考虑这类资源,系统会产生死锁吗?请说明理由。tfnNhnE6e5答:设max(i>表示第i个进程的最大资源需求量,need(i>表示第i个进程还需要的资源量,alloc(i>表示第i个进程已分配的资源量。由题中所给条件可知:max(1>+max(20>=(need(1>+need(20>>+(alloc(1>+alloc(20>><50HbmVN777sL如果在这个系统中发生了死锁,那么一方面30个资源R应该全部分配出去,即<反证法)alloc(1>+alloc(20>=30V7l4jRB8Hs另一方面所有进程将陷入无限等待状态。由上述两式可得:need(1>+need(20><205键)上式表示死锁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英语编制课程设计小学
- 石灰法烟气脱硫课程设计
- 英语兴趣班音标课程设计
- 挤压模课程设计
- 人教部编版七年级历史下册全册教案
- 椭球形塑料模课程设计
- 自制小乐器托班课程设计
- 幼儿园远足课程设计
- 电力行业前台服务总结
- 物流仓储行业配送优化建议
- 四川省住宅设计标准
- 2024-2030年中国自然教育行业市场发展分析及前景趋势与投资研究报告
- 12S522 混凝土模块式排水检查井
- 人感染禽流感诊疗方案(2024年版)
- 居家养老服务报价明细表
- 食材配送服务方案投标方案(技术方案)
- 年产15000吨硫酸铝项目环评报告表
- 2023-2024学年湖北省孝感市云梦县八年级(上)期末英语试卷
- 2024年一级注册建筑师理论考试题库ab卷
- 2024二人合伙经营项目简单协议书
- 小学数学班级学情分析报告
评论
0/150
提交评论