操作系统复习答案 - 图文(3)

2019-01-05 11:58

分析:第一步:确定进程间的关系。司机到站停车后,售票员方可工作。同样,售票员关车门后,司机才能工作。所以司机与售票员之间是一种同步关系。第二步:确定信号量及其值。由于司机与售票员之间要互通消息,司机进程设置一个私有信号量run,用于判断司机能否进行工作,初值为0。售票员进程设置一个私有信号量stop,用于判断是否停车,售票员是否能够开车门,初值为0。 实现:

begin stop ,run:semaphore stop:=0;run:=0; cobegin

driver: begin L1: P(run); 启动车辆; 正常行车; 到站停车;

V(stop); goto L1; end;

conductor:begin L2:上乘客; 关车门; V(run); 售票; P(stop); 开车门; 下乘客; goto L2; end; coend; end;

第二部分 进程管理(14)

设自行车生产线上有一只箱子,其中有N个位置(N>=3)每个位置可放一个车架或一个车轮;又设有三个工人,其活动分别为:工人1生产车架,工人2生产车轮;工人 3组装自行车,用PV操作实现三个工人的合作 。 信号量:s 箱子空位置=n;s1 车架=0;s2车轮=0;mutex=1

信号量: s 箱子空位置=n ; s1 车架=0; s2车轮=0; mutex=1 cj 车架最多位置=n-2; cl 车轮最多位置=n-1 ? 工人1 工人2 ? Repeat Repeat

? 加工一个车架 加工一个车轮 P(cj) P(cl) P(s) P(s) P(mutex) P(mutex) 车架放入箱中 车轮放入箱中 V(mutex) V(mutex) V(s1) V(s2)

? 工人3 ? Repeat P(s1);P(mutex) ? 取一个车架; V(mutex)

P(s2); P(s2);P(mutex) ? 取2个车轮; V(mutex)

V(s);V(s);V(s) V(cj);V(cl);V(cl) ? 组装一台自行车

第二部分 进程管理(15)

用P.V操作解决下图之同步问题:get进程负责往单缓冲区S中输入数据, copy进程负责将单缓中区S中的数据复制到单缓冲区T, put进程负责从单缓中区T中取出数据用于处理。

信号量ms:1,s12:0,mt:1,s23:0

Get进程 copy进程 put进程 Repeat Repeat Repeat 生产数据 P(s12) P(s23) P(ms) 复制S数据 从T中取数据 放入s中 V(ms) V(mt)

V(s12) P(mt) Until false Until false 数据放入T中 V(s23)

Until false 第三部分 处理机调度(1) ? 处理机调度 答:

? 进程的调度方式(抢占式调度和非抢占式调度) ? 调度算法

答:先来先服务调度算法FCFS

短作业(进程)优先调度算法SJ(P)F 高优先权优先调度算法 基于时间片的轮转调度算法

? 死锁的原因,四个必要条件

答:原因:竞争资源引起进程死锁;进程推进顺序不当引起死锁

条件:1.互斥条件:指进程对所分配到的资源进行排他性使用,即在一

段时间内某资源只由一个进程占用。如果此时还有其他进程请求该资源,则请求者只能等待,直至占有该资源的进程用毕释放。

2.请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又被其他进程占有,此时请求进程阻塞,但又对自己已获得的其他资源保持不放。

3.不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。

4.环路等待条件:指在发生死锁时,必然存在一个“进程——资源”的环形链,即进程集合{P0,P1,P2,…,Pn}中的P0正在等待一个P1占用的资源;P1正在等待一个P2占用的资源,……,Pn正在等待一个已被P0占用的资源。

? 处理死锁的方法

答:一、预防死锁——消除产生死锁的必要条件 二、避免死锁——分配资源时防止进入不安全状态 三、检测死锁——不预防死锁,出现死锁就解除 四、解除死锁——与检测死锁配合使用 ? 死锁的预防措施、优缺点

答:1、摒弃“请求和保持”条件

静态资源分配法

优点:算法简单、易于实现且很安全 缺点:资源浪费严重,进程延迟运行。

2、摒弃“不剥夺”条件

系统规定,进程是逐个地提出对资源的要求的。当一个已经保持了某些资源的进程,提出新的要求不被满足时必须释放它已经保持的所有资源,待以后需要时再重新申请。从而摒弃了“不剥夺”条件。

该方法实现起来比较复杂且付出很大代价。可能会造成前功尽弃,反复申请和释放(抖动)情况。 3、摒弃“环路等待”条件

有序资源分配法:与前两种策略比较,资源利用率和系统吞吐量都有较明显的改善。但也存在严重问题:为资源编号限制新设备的增加;进程使用设备顺序与申请顺序相反;限制用户编程自由。 ? 银行家算法 银行家算法

设Requesti是进程Pi的请求向量,如果Requesti [j]=K,表示进程Pi需要K个Rj类型的资源。当Pi发出资源请求后,系统按下述步骤进行检查:

第三部分 处理机调度(2)

? 为了使系统中各部分资源得到均衡使用,就必须选择对资源需求不同的作业进行合理搭配。这项工作是由(作业调度 )完成的。

? 一种既有利于短小作业又兼顾到长作业的作业调度算法是( C ) A、先来先服务 B、时间片轮转 C、最高响应比优先 D、短作业优先

? 在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于( C进程自身和进程调度策略 ) 第三部分 处理机调度(3)

? 某作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是( 3 )

? 资源预先分配策略可以实现死锁的( 预防 ) ? 若系统中有五台打印机,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许( D )个进程参于竞争,而不会发生死锁。 A、5 B、2 C、3 D、4 第三部分 处理机调度(4)

? 假定在单CPU条件下有下列要执行的作业: (1)分别用一个执行时间图描述在下列算法时各自执行这些作业的情况:FCFS、RR(时间片=1)和非抢占式优先级。(2)对于上述每种算法,计算各个作业的周转时间、平均周转时间、带权周转时间、平均带权周转时间是多少

5 4 5 2 答案为五个作业


操作系统复习答案 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:学习《损害群众利益典型案例分析》心得体会

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: