ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:66.78KB ,
资源ID:14073751      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14073751.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机操作系统作业2含答案全解.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机操作系统作业2含答案全解.docx

1、计算机操作系统作业2含答案全解一、选择丿1.在进程的组成部分之中,进程在运行中不可修改的部分是 OA.私用程序段 B.共享程序段C.数据段 D.进程控制块2. 响应比高者优先作业调度算法是以计算时间和 来考虑的。A.输入时间 B.完成时间 C.周转时间 D.等待时间3.在消息缓冲通信中,消息队列属于 资源。A.临界 B.共享 C.永久 D.可剥夺4.进程间的同步是指进程间在逻辑上的相互 关系。A.联接 B.制约 C.继续 D.调用5.最适合于分时系统的进程调度算法是 。A.先来先服务(FCFS) B.最短作业优先(SSJF)C.优先数法 D.轮转法(RR)6.进程A和进程E通过共享缓冲区协作完

2、成数据处理,进程A负贵生产数据并放入缓冲区,进程B从缓冲区中读数据并输出。进程A和进程B之间的关系是 。A.互斥关系 B.同步关系 C.互斥和同步 D.无制约关系7.在优先级调度中, 类进程可能被“饿死”,即长时间得不到调度。A.短进程 B.长进程 C.低优先级进程 D.大内存进程8.进程从运行状态到阻塞状态可能是由于 。A.进程调度程序的调度 B.现运行进程的时间片耗尽C.现运行进程执行了 wait操作 D.现运行进程执行了 signal操作9.银行家算法在解决死锁问题中是用于 的。A.预防死锁 B.避免死锁 C.检测死锁 D.解除死锁10. 不是进程调度算法。A.时间片轮转法 B.先来先服

3、务方法C.响应比高者优先法 D.均衡调度算法11.下面关于线程的叙述中正确的是 。A.线程包含CPU现场,可以独立执行程序 B.每个线程有自己独立的地址空间C.线程之间的通信必须使用系统调用函数 D.进程只能包含一个线程12.并发进程之间 oA.彼此无关 B.必须同步 C.必须互斥 D.可能需要同步或互斥13.当一个进程运行时,系统可能基于某种原则强行将其撤下,把处理器分配给其他进程,这种调度方式是 OA.非剥夺方式 B.剥夺方式 C.中断方式 D.查询方式14.信号量S不能用于 操作。A. signal B. wait C.赋初值 D.运算表达式15. 是一种只能进行wait操作和signa

4、l操作的特殊变量A.调度 B.进程 C.同步 D.信号量16.分配给进程占用处理机的时间到而强迫进程P让出处理器,或有更高优先级的进程要运行,迫使正在运行的进程P让出处理器,则进程P状态变化的情况为 A.运行态一 就绪态 B.运行态一 等待态C.就绪态一 运行态 D.等待态一 就绪态17. 下面关于进程的叙述中正确的是 。A. CPU现场 B.进程优先级 C.进程运行状态 D.文件缓冲区29.PCE是描述进程状态和特性的数据结构,一个进 oA.可以有多个PCE B.可以和其他进程共用一个PCEC.可以没有PCE D.只能有唯一的PCE30.资源顺序分配法破坏了死锁发生的 必要条件。A.互斥占用

5、 B.占有等待 C.非剥夺 D.循坏等待解析:发生死锁的四个必要条件如下:互斥条件、占有并请求资源、非剥夺条件和循 环等待条件。一次分配所有资源的方法是当进程需要资源时,一次性提出所有的请求,若请 求的所有资源均满足则分配,只要有一项不满足,那么不分配任何资源,该进程阻塞,直到 所有的资源空闲后,满足了进程的所有需求时再分配。这种分配方法不会部分占有资源,所 以就打破了死锁的四个必要条件之一,实现了对死锁的预防。但是,这种分配方式需要凑齐 所有资源,所以,当一个进程所需的资源比较多时,资源的利用率会比较低,甚至会造成进 程的饥饿。正确答案为E。31.进程和程序的本质区别是 。A.内存和外存 B

6、.动态和静态特征C.共享和独占使用计算机资源 D.顺序和非顺序执行指令32.设有两个进程共享3个同类资源,为使系统不死锁,每个进程最多可以申请 资源。A. 0 B. 1 C. 2 D. 333.作业调度中的先来先服务算法是以 为出发点考虑的。A.作业执行时间 B.作业的周转时间C.作业等待时间 D.等待时间加运行时同34.设m为同类资源数,n为系统中的并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是w。下列情况下,系统会死锁的是 。A. 111=2,11=1,2 B. m=2,n=2, w=lC. m=4 ,n=3,W=2 D. m=4,n=2,w=3当2个进程已经拥有2个资源,

7、都申请第3个资源时,导致死锁。35.用于解决进程间互斥的方法是 。信号量及went、signal操作 加锁与解锁 信箱方式消息缓冲方式 特权指令方式A.、和 B.和 C.和 D.和36.在操作系统中,每个进程具有独立性,进程之间又具有相互制约性。对于任何两个并发进程,它们 二、简答题1.什么是线程?进程和线程的关系是什么?2.进程能自己将自己唤醒吗?进程能自己将自己撤销吗?3.父进程创建子进程之后,父子进程间的关系是什么?4.简述引进线程的好处。5.当一个进程的父进程被撤销时,该进程是撤销好还是不撤销好?6.为什么说进程同步问题关系到OS的成败?同步机制应遵循的准则是什么?7.进程之间存在哪几

8、种相互制约关系?各是什么原因引起的?卜列活动分别属于哪种 制约关系?(1) 若干同学去图书馆借书。(2) 两队举行篮球比赛。(3) 流水线生产的各道工序。(4) 商品生产和消费。8.高级调度和低级调度的主要任务是什么?为什么引入中级调度?9.在剥夺调度中,有哪些剥夺原则?10.引起进程调度的主要因素。11.何为死锁?产生死锁的原因和必要条件是什么?比较三种解决死锁的方法?12.试比较说明进程和程序的区别有哪些?1.有一个理发师,一把理发椅和n把供等候理发的顾客坐的椅子。如果没有顾客,则 理发师便在理发椅子上睡觉;当一个顾客到来时,必须唤醒理发师,进行理发;如果理发师 正在理发时,又有顾客来到,

9、则如果有空椅子可坐,他就坐下来等,如果没有空椅子,他就 离开。为理发师和顾客各编一段程序描述他们的行为,要求不能带有竞争条件。2.计算进程PC和打印进程P01、P02共享一个单缓冲区,计算进程负贵计算,并把计 算结果放入单缓冲中;打印进程P01、P02则负责从单缓冲中取出计算结果进行打印,而且 对每个计算结果,P01和P02都需分别打印一次。请用记录型信号量描述上述进程间的同步 关系。3.设有三个进程,输入进程(input)、计算进程(compute)和输出进程(output),它们通过 共享两个缓冲区bufl和bu2协作完成任务。如下图所示三个进程之间的合作关系如下:(1) 输入进程使用pu

10、t()函数把数据送到bufl,供计算进程调用calculateQ函数计算;(2) 计算进程每次调用get()函数从bufl取出已输入的可计算的数据进行计算,并把计 算结果使用put。函数把数据送到bu2送入buf供输出进程打印;(3) 输出进程调用get。函数把bu2中的数据使用pirnt ()函数输出。 定义合适的信号量,并用伪代码完成实现过程。4.设系统中有三类资源A、E和C,又设系统中有5个进程Pl, P2, P3, P4和P5。 在T0时刻系统状态如下:最大需求量己分配资源量剩余资源量ABCABCABCP112100031 6 3P2175100P3235135P4064002P506

11、5001(1) 系统是否处于安全状态?(请给出详细的判断过程)如是,则给出进程安全序列。(2) 如果进程P5申请1个资源类A和1个资源类C,能否实施分配?为什么?5.设有五道作业,它们的提交时间和运行时间见下表,试给出在如下表所示的三种调 度算法下,作业的执行顺序,以及平均周转时间和带权平均周转时间:7 lz )x12 3 z( z z先来先服务调度算法;短作业优先调度算法; 响应比高优先调度算法。作业提交和运行时间表作业名提交时间血需执行时间/hJI10.10.8J21030.5J310.50.4J410.603J510.70.26.假设系统有同类资源10个,供P, Q、R三个进程共享,P、

12、Q、R所需资源总数分 别为8、4、9,它们申请资源的次序和数量如下表所示。进程资源申请表次序进程申请量1R22P43Q24P25R16Q2按银行家算法为它们分配资源:(1)写出执行完序号为6的申请时,各进程的状态和已占的资源数。(2)请估计系统是否会出现死锁,并简要说明理由。7.下面给出的两个进程互斥的算法是安全的吗?为什么?#define true;#define false;Hit flag2;flag 1 =flag2=false;enter-crtsec(i)inti;Wlule(flagl-i)flagi=tme;leave-crtsec(i)Int i;flagi=false;pr

13、ocess I;Enter-cilsec(i);In critical section;Leave-citsec(i);&设系统有三种类型的资源,数量为(4, 2, 2),系统中有进程A, C按如下顺序请求资源:进程A申请(3, 2, 1)进程E申请(1, 0, 1)进程A申请(0, 1, 0)进程C申请(2, 0, 0)请你给出一和防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配 过程,指明哪些进程需要等待,哪些资源被剥夺。9.进程Al, A2,,Ail通过K个缓冲区向进程Bl, B2,,Bm 不断地发送消 息。发送和接收工作遵循如下规则:(1)每个发送进程一次发送一个消息,写入

14、缓冲区,缓冲区大小与消息长度一致;对每个消息,Bl, B2,,Bm都需接收一次,读入各自的数据区内;(3)K个缓冲区都满时,发送进程等待,没有可读的消息时,接收进程等待。试用wait和signal原语操作组织正确的发送和接收操作。一、 选择题BDABD BCCBD ADBDD AABAD DCCAA CCDDD BCCDB C二、 简答题线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度实体。在具有 多线程机制的操作系统中,处理机调度的基本单位不是进程而是线程。一个进程可以有多个 线程,而且至少有一个可执行线程。进程和线程的关系是:(1)线程是进程的一个组成部分。(2)进程的多个线

15、程都在进程的地址空间活动。(3)资源是分给进程的,而不是分给线程的,线程在执行中需要资源时,系统从进程的资 源分配额中扣除并分配给它。(4)处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程。(5)线程在执行过程中,需要同步。2.唤醒进程和撤消进程都是要通过CPU上运行程序来实现的。一个进程入睡了,它就不可 能被调度到CPU上运行;一个进程在撤消前必须先进入终止状态,而处于终止状态的进程 不可能被调度到CPU上运行。因此,进程被唤醒、被撤消都不能由自己来完成,只能由别 的进程实现。3.一个进程创建子进程之后,进程与产生的进程之间的关系是父子关系,分别成为进程和子 进程。

16、子进程一经产生就与你进程并发执行,子进程共享父进程和子进程。子进程一经产生 就与你进程并发执行,子进程共享父进程的正文段和已经打开的文件。4.(1)以线程作为系统调度的基本单位,减少了系统的时空开销。以进程为系统调度的基本 单位的系统中,进程的切换是很频繁的。在切换中由于要保留当时的运行环境,还要设置新 选中的进程的运行坏境,这既花费了处理机的时间,又增加了主存的空间,从而也限制了系 统进程的数量和进程的切换速度。(2)引进线程提高了系统的并行能力。线程作为进程内的一个可执行实体,减少了并行 粒度。线程作为调度的基本单位而不是资源分配的基本单位,调度更为容易,而且采用线程 提高系统的并行能力比

17、采用进程更为有效。(3)同一进程的线程共享进程的用户地址空间,所以同一进程的线程间的通信更容易实 现。5.在实际系统中,两种处理办法都是可行的,且各有优缺点。若撤消,则该进程的任务可能 还没有完成,这显然是不利的,特别是当该进程的运行结果对其他进程的运行很重要(如该 进程是其他进程的前趋进程,没有它的运行结果其他进程无法运行)时;若不撤消,则该进 程又可能成为不可控的”孤儿”,从而产生不可预测的结果。比较好的做法是,当一个进程的 父进程被撤消时,可以将该进程”过继”给系统内一个级别较高的进程(如Umx中的1#进程),让它有一个”新的父亲”,这样既可以继续完成其任务又不会成为不可控的。6.进程同

18、步问题若处理不当,有可能会产生种种”与时间有关性错误”,特别是当两个或多 个进程共享了公共变量而又没有互斥地使用这些变量时,极有可能导致用户程序运行结果的 不正确,这量种灾难性的后果。这种os显然是不成功的,是用户不敢使用的。有以下四条准则:空闲让进、忙则等待、有限等待、让权等待。7.进程间存在着两种相互制约的关系:直接制约关系(即同步问题)和间接制约关系(即互 斥问题)。同步问题是存在逻辑关系的进程之间相互等待产生的制约关系,互斥问题是相互 无逻辑关系的进程间竞争使用相同的资源所发生的制约关系。因为书的个数是有限的,一本书只能借给一个同学。 篮球只有一个,两队都要争夺。各道工序的开始都依赖前

19、道工序的完成。商品没生产出来,消费无法进行,商品未消费完,生产也无需进(1) 高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是按照 某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的 资源,然后再将所创建的进程控制块插入就绪队列中。(2) 低级调度又称进程调度。它是距离硕件最近的一级调度。其主要任务是按照某种算 法从就绪队列上选择一个(或多个)进程,使其获得CPUo(3) 引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时 不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。此时的进程状态为挂起 状态。当这些进程重

20、新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程 调入内存并将其状态变为就绪状态。9.(1) 时间片原则。在轮转算法中,CPU轮流为诸多进程服务,每个进程运行完自己的时 间片后,系统就将CPU剥夺过来,交给下一个进程使用。(2) 优先级原则。为紧迫的作业赋予较高的优先级,这种作业到达系统或由阻塞状态被 唤醒后,若其优先级高于当前运行的进程的优先级,可以剥夺当前运行进程的CPU。(3) 短作业(进程)优先原则。若一个作业(进程)到达系统,其运行长度比当前运行 的进程长度明显的短,则剥夺当前运行的进程CPU。10.1) 一个进程运行完毕。(2) 一个正在运行的进程被阻塞。(3) 在抢

21、占式调度中,一个高优先级的进程被创建。(4) 在抢占式调度中,一个高优先级进程由阻塞唤醒。(5) 在轮转式调度中,正垢进程运行完一个时间片。(1) 死锁是指多个进程因竞争资源而造成的一种僵持状态。若无外力作用,这些进程都 将永远处于阻塞状态,不能再运行下去。(2) 产生死锁的原因有:资源不足、进程推进次序不当。(3) 产生死锁的必要条件有:互斥条件、请求和保持条件、非剥夺条件、环路等待条件。 比较三种解决死锁的方法:(1) 预防死锁方法,主要是破坏产生死锁的必要条件。该方法是最容易实现的,但系统 资源利用率较低。(2) 避免死锁方法,比较实用的有银行家算法(Banker Algorithm)o

22、该算法需要较多的 数据结构,实现起来比较困难,但资源利用率最高。(3) 检测死锁方法是基于死锁定理设计的。定期运行该算法对系统的状态进行检测,发 现死锁便予以解除。其中,需要比较一下各咱死锁解除方案的代价,找到代价最小的方案。 该方法最难实现,资源利用率较高。12(1) 每个进程实体中包含了程序段和数据段这两个部分,因此说进程是与程序是紧密相 关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进 程控制块PCE。(2) 进程是程序的一次执行过程,因此是动态的:动态性还表现在进程由创建而产生、 由调度而执行、由撤消而消亡,即它具有一定的生命周期。而程序则只是一组指令的

23、有序集 合,并和永久地存放在某种介质上,其本身不具有运动的含义,因此是静态的。(3) 多个进程实体可同时存放在内存中并发地执行,也正是引入进程的目的。而程序(在 没有为它创建进程时)的并发执行具有不可再现性,因此程序不能正确地并发执行。(4) 进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。而因程序不 具有PCB,所以它是不可能在多道程序环境下独立运行的。(5) 程与程序不一一对应。同一个程序的多次运行,将形成多个不同的进程;同一个程 序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。三、应用题1.define CHAIRS /*为等候的顾客准备的椅子数*/semap

24、hore customers=0:semaphore barbeis=O;semaphore mutex=l: /* 用于互斥 */mt waiting;void baiberQwliile (1)wait(customers);wait (mutex);waitmg=waiting-l:signal (mutex);理发;signal(barbers):void customers()wait (mutex);if(waitmgCHAIRS)waitmg=waitnig+l:signal (mutex):signal (customers):坐下等待;wait (barbers):elses

25、ignal (mutex);2.为了实现计算进程和打印进程之间的同步,并使单缓冲中的每个计算结果都被两个打印 进程分别打印一次。可设置四个信号量:fbiii表示缓冲中是否有可供poi打印的计算结果, h】112表示缓冲中是否有可给P02打印的计算结果:emptypk emptv2则表示计算结果是否已 被P011、P02取走,只有当一个结果被两个打印进程都取走后,缓冲区才变空,计算进程才 可将下一个计算结果放入单缓冲。相应的同步算法可描述如下:Var empty 1 ,enpty2.fiillhfull2: semaphore:=1,1,0.0;beginParbeginPC:begmRepea

26、tcomputrt next number;P(eniptvl):P(eniptv2);add the number to bufer;V(fiilll);V(丘】112);Until false;endP01: beginrepeatP(fuUl);take from bufer;V(emptyl):print last number;until flase;endP02: beginRepeatP(hiU2):take from buffer;V(empty2);print last number;until falseendpaiendend3.信号量:nonfl. nonel:输入进程

27、与计算进程同步,bufl是否为空;nonf2、nonel:计算进程与输出进程同步,bu2是否为空;si、s2:分别互斥使用bufl和bu2procedure inputbeginwait(nonfl)wait(sl)put(data);signal(sl);signal(nonel);until falseend;procedure computebeginwait(nonel);wait(sl);data=getQ;data=calculate(data);signals 1);signal(nonfl);wait(nonf2);wait(s2);put(data);signal(s2);

28、signal(none2); until falseend;procedure outputbeginwait(none2);wait(s2); data=getQ; print(data); signal(s2);signal(nonf2); until falseend;4.(1)利用安全性算法对TO时刻的资源分配情况进行分析,结果如下:WorkNeedAllocationWork + AllocationFinishP31 6 31 0 01 3 52 9 8trueP12 9 81 2 70 0 32 9 11trueP22 9 110 7 51 0 03 9 11trueP43 9

29、110 6 40 0 23 9 13trueP53 9 130 6 20 0 13 9 14true系统处于安全状态,安全序列为:P3, Pl, P2, P4, P5o(2 ) Pl发出请求向量Request! (1, 0, 1),系统按银行家算法进行检查:1) Request 1 ( L 0, 1) = Needl(l, 2, 6)2)Request 1 (1, 0, 1) = Availably I, 6, 3)3)系统先假定可为Pl分配资源,并修改Available. Allocation! Needl向量,资源变化情况如下:剩余资源可满足P4,分给P4给还后(064)可满足P5,分配P5归还后(065)不满足其 它进程要求,即不能实施分配,因为分配后找不到安全序列,系统将处于不安全状态。5.2. (1 )采用先来先服务(FCFS)算法。作业名提交时间/h需执行时间/h开始运行时间/h完成时间/hJI10.10.310.110.4J21030.510.410.9J310.50.410.911.3J410.60.311.311.6J510.70.211 611.8Jb J2, J3, J4, J5T=(1040l)+(109J03)+(ll310

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2