资源描述
- .
第一章
判断改错题〔正确的打√,错误的打×并改正〕
实时系统只能应用于生产控制系统,不能应用于信息处理系统。〔 〕
并发含有“同时进展〞的概念,是指两个或者是多个事件在同一时刻发生。〔 〕
操作系统虚拟机在逻辑功能上与裸机一样,具有一个物理实体。〔 〕
对用户而言,操作系统是一种人机交互的环境,对设计者而言,它是一种强功能的系统资源管理程序。〔 〕
资源的共享是以程序的并行执行为条件的,没有程序的并行执行,就没有资源的共享。〔 〕
计算机系统的资源包括程序和数据两大局部。〔 〕
假设把计算机系统分为假设干层次,那么按由上而下顺序可分为应用系统与应用软件、操作系统、其它系统软件和裸机。〔 〕
批处理控制程序解决了作业间的自动转换,减少了时间浪费,尤其是主机CPU时间的浪费,如果一个用户的计算作业非常庞大,也不会单独一直占据CPU。〔 〕
习题解答:
错;应为:实时系统能应用于生产控制系统,也能应用于信息处理系统。
错;应为:……是指两个或者是多个事件在一段时间间隔同时发生。
错;应为:操作系统虚拟机在逻辑功能上与裸机不同,但只具有一个物理实体。
对;
错;应为:资源的共享是以程序的并发执行为条件的,没有程序的并发执行,就没有资源的共享。
错;应为:计算机系统的资源包括硬件资源和软件资源两大局部。
错:应为:假设把计算机系统分为假设干层次,那么按由上而下顺序可分为应用系统与应用软件、其它系统软件、操作系统和裸机。
错;应为:……,尤其是主机CPU时间的浪费,如果一个用户的计算作业非常庞大,就会单独一直占据CPU。
对;
填空题
实时含有立即、及时之意,因而 是实时系统最关键的因素。
操作系统的层次构造中,与 或运行频率较高的模块都安排在紧靠硬件的软件层中,这一局部通常称为 ,它在执行根本操作时,往往是利用 操作来实现,该操作具有原子性。
UNIX是一个真正的用户、任务的操作系统。
如果一个操作系统兼有、和三者或其中两者的功能,这样的操作系统称为通用操作系统。
实现多道程序设计必须妥善解决三个问题: 、 和系统资源的管理和调度。
批处理系统的主要优点是 ,资源利用率高,系统开销小,它的缺点在于作业处理的 ,用户交互能力较弱。
操作系统是对计算机进展 的程序,是计算机和 的接口。
提供网络通讯和网络资源共享功能的操作系统称为 操作系统。
对系统总体设计目标来说,批处理系统注重提高计算机的效率,尽量增加系统的 ,分时系统应保证用户的 ,而实时系统在及时响应和处理的前提下,再考虑 。
在主机控制下进展的输入/输出操作称为 操作。
在计算机系统中, 是整个系统硬件的核心和根底,而在计算机软件系统中,
具有同样的核心和根底作用。
习题解答:
响应时间;
硬件严密相关,核,原语;
多,多,网络;
批处理操作系统、分时操作系统、实时操作系统;
文件,作业;
系统吞吐量大,平均周转时间较长;
控制和管理,用户;
网络;
吞吐量,交互性,与用户的交互性;
联机I/O操作;
CPU,操作系统;
简答题
简述操作系统在计算机系统中的位置。
答:操作系统OS是运行在计算机硬件系统上的最根本的系统软件。它在计算机系统中位于计算机裸机和计算机用户之间,为系统软件和用户应用软件提供了强大的支持。
简述描述操作系统的虚拟机的观点和资源管理的观点。
答:描述操作系统有两种主要观点,一种是虚拟机的观点——装有操作系统的计算机极扩展了原计算机的功能,给用户提供了一个友好的、易于操作的界面,对用户来说,好似是一个扩展了的机器,即一台虚拟机器。另一种是资源管理的观点,操作系统完成对处理机、存储器、I/O设备等硬件资源和文件等软件资源的管理。
什么是操作系统?它有什么根本特征?
答:操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,以及方便用户的程序的集合。操作系统的根本特征是:
并发——是指两个或多个事件在同一时间间隔发生。宏观上是同时的,微观上是交替的。
共享——系统中的资源可供存中多个并发执行的进程共同使用。根据资源的不同属性,可分为两种资源共享方式:互斥共享和同时访问。
虚拟——通过某种技术把一个物理实体变成假设干个逻辑上的对应物,物理实体是实的,即实际存在,而后者是虚的,是用户的感觉。
异步性——在多道程序环境下,多个进程并发执行,但由于资源等因素的限制,存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,每道程序需多少时间才能完成,都是不可预知的,进程以异步的方式运行。但只要运行环境一样,作业经过屡次运行,都会获得完全一样的结果。
多道程序设计时应注意什么问题?
答:处理机管理问题——多道程序之间如何分配CPU,使CPU既能满足各程序运行的需要,又能提高处理机的利用率。
存管理问题——为每道程序分配必要的存空间,并防止程序遭破坏。
I/O设备管理——分配为多道程序共享的I/O设备,方便用户使用,提高设备利用率。
文件管理问题——组织大量的程序和数据,便于用户使用,保证数据的平安和一致。
作业管理问题——对系统中各种类型的作业进展组织。
本章综合练习题
实时操作系统必须在〔 〕处理来自外部的事件。
A.一个机器周期 B. 被控制对象规定的时间
C.周转时间 D.时间片
操作系统中最根本的两个特征是〔 〕
A.并发和不确定性 B.并发和共享 C.共享和虚拟 D.虚拟和不确定性
分时系统追求的目标是〔 〕
A.充分利用I/O设备 B.快速响应用户
C.提高系统吞吐量 D.充分利用存
批处理系统的主要缺点是〔 〕
A.系统吞吐量小 B.CPU利用率不高 C.资源利用率低 D.无交互能力
在主机控制下进展的输入输出操作称为〔 〕操作。
如果操作系统具有很强的交互性,可同时供多个用户使用,系统响应比拟及时,那么属于〔 〕类型;如果系统可靠,响应及时但仅有简单交互能力那么属于〔 〕类型;如果操作系统在用户提交作业后不提供交互能力,它追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,那么属于〔 〕类型。
设存中有三道程序A、B、C,它们按A、B、C的优先次序执行。它们的计算和I/O操作时间
操
作
A
B
C
计算操作\程序
30
60
20
I/O
40
30
40
计算
10
10
20
如下表所示〔单位:ms〕。假设三道程序使用一样设备进展I/O操作,即程序以串行方式使用设备。试画出单道运行和多道运行的时间关系图〔调度程序的时间忽略不计〕。在两种情况下,完成三道程序各要花多少时间?
试比拟分时系统和实时系统。
第二章
判断改错题〔正确的打√,错误的打×并改正。〕
进程由程序和数据两局部组成。〔 〕
在生产者消费者进程中,V操作的次序无关紧要,而P操作次序不能颠倒。〔 〕
产生死锁的原因之一是对计算机操作不当,造成计算机死机。〔〕
原语是指操作系统中的初始化程序。〔〕
假设进程处于阻塞状态,当引起阻塞的条件被解除时,进程状态应变为运行状态。( )
并发进程可以同时进入临界区,交替访问临界资源。( )
程序的封闭性是指该程序不允许某些进程调用。〔 〕
消息通信因为它数据量较小,因而它是一种低级通信方式。〔 〕
单机系统最多允许两个进程处于运行状态。〔 〕
死锁产生,必须要满足四个必要条件,所以,为防止死锁产生,主要注意如何不让这四个必要条件成立,并打破循环等待资源的环路。〔 〕
操作系统的进程管理是整个操作系统管理中的核心,它包含了进程的调度、协调以及进程通信。〔 〕
习题解答:
错;应为:进程由程序、数据和进程控制块及相关表格组成。
对;
错;应为:产生死锁的原因是:进程推进顺序不当或竞争资源。
错;应为:原语由假设干条指令所构成、用于完成一定功能的一个过程,具有原子性。
错;应为:……当引起阻塞的条件被解除时,进程状态应变为就绪状态。
错;应为:并发进程必须互斥进入临界区,互斥访问临界资源。
错;应为:程序的封闭性是指该程序在运行独占系统资源,只有程序本身能改变系统资源。
错;应为:消息通信的数据量大,它是一种高级通信方式。
错;应为:单机系统只允许一个进程处于运行状态。
对;
对;
填空题
操作系统中,进程是 、 和管理的最小独立单位,操作系统的各种活动都与 有关。
消息传递系统属于级通信方式,进程间的数据交换以为单位。
一个进程可以由系统创立,或者由 用创立原语创立。被创立的进程开场处于等待状态。在条件成熟时,采用 原语为它们分配除 以外的所需资源,并被排列到 队列中。
一次仅允许一个进程使用的资源称为 ,同时把访问该资源的那段程序代码称为 。
轮转法是按照 轮流地把处理器分配给就绪队列中的进程,该算法多用于 系统中,其难点在于 。
信号量的物理意义是当信号量大于零时表示 ;当信号量小于零时,其绝对值为 。
死锁的检测可以通过 图,利用 定理来实现。
进程运行过程中,因为 、等待I/O操作等事件发生时,通过 原语将它撤下,排入 队列,并引起新的 。
有m个进程共享同一临界资源,假设使用信号量机制实现对临界资源的互斥访问,那么信号量值的变化围是 。
对单处理机系统,处于 状态的进程只能有1个,处于就绪状态的进程可以有多个,它们仅未获得 控制权, 按某种方式排成一队列,此队列称为 队列,操作系统必须按照一定的 ,每次从队列中选择一个进程投入运行,这个选择过程称为 。
习题解答:
资源分配,调度,进程;
高,消息;
父进程,调度,处理器,就绪;
临界资源,临界区;
时间片,分时,时间片确实定;
资源的数目,等待该资源的进程数目;
资源分配,死锁;
缺乏资源,阻塞,等待,进程调度;
[1-m,1];
运行,处理器,就绪,调度算法,进程调度;
简答题
处理机管理的主要任务是什么?具有哪些主要功能?
答:处理机管理的主要任务是对处理机进展分配,并对其运行进展有效的控制和管理。主要功能有:进程控制、进程同步、进程通信和进程调度。
程序的顺序执行和并发执行有何不同?
答:程序的顺序执行具有以下特点:
顺序性——处理机的操作,严格按程序所规定的顺序执行。
封闭性——程序在封闭的环境下运行,独占全机资源,执行结果不受外界因素影响。
可再现性——只要程序执行的环境和初始条件一样,程序屡次重复执行,不管是不停顿执行,还是走走停停,都将获得一样的结果。
而程序的并发执行恰好相反,具有连续性、失去封闭性和不可再现性。〔展开说明〕
简述进程的定义,进程的根本状态以及进程状态转换的典型原因。
执行
答:进程是可并发执行的程序在一个数据集上的运行过程。进程有三种根本状态:就绪,执行和阻塞。
A B
C
就绪
阻塞
D
A:进程调度 B:发生某事件无法执行
C:时间片到或优先级高的进程到达 D:阻塞的事件消失
简述进程与程序的区别。
答:进程是可并发执行的程序在一个数据集合上的运行过程,进程有动态性、并发性、独立性和异步性、构造特征,而程序是静态的,不能并发执行,未建立进程的程序也不能作为一个独立的单位参加运行。
进程的实体是什么?
答:进程通过三个局部被感知:程序、数据集合、进程控制块及相应表格,这三局部组成了进程的实体。程序是进程运行所对应的执行代码,数据集合是进程运行所必需的数据资源,进程控制块是保存进程状态,控制进程转换的标志。
简述进程控制块的主要容。
答:PCB的容
进程标识符信息——外部标识符、部标识符。
处理机状态信息
进程调度信息——进程状态、优先级等。
进程控制信息——程序和数据地址、同步机制、资源清单等。
简述进程通信的概念,最根本的通信原语有那些?
答:为了进展进程协调,进程间应具有一定联系,这种联系通常采用进程间交换数据的方式进展,称为进程通信。
最根本的通信原语有发送原语和接收原语。
简述读者——写者问题的思想。
答:读者—写者问题是典型的进程同步问题。一个数据对象〔数据文件或记录〕可被多个进程共享,其中有些进程要求读〔读者进程〕,而另一些进程要求对数据对象进展写或修改〔写者进程〕。允许多个读进程同时读一个共享对象,但绝不允许一个写进程和其它读进程或写进程同时访问共享对象。该问题常被用来测试新同步原语。
什么是原语?★
答:由假设干条指令所构成、用于完成一定功能的一个过程,具有原子性。
简述引起进程调度的原因。
答:缺乏资源——正在运行的进程因某个条件不能满足,进入阻塞状态;运行进程被撤下,引起调度另一个进程进入运行。
时间片到——分时系统中,每当时间片到,正在运行的进程被暂时停顿,排入就绪队列,引起调度另一就绪进程进入运行
外部中断——外部中断信号引起调度。
进程完毕——进程正常执行完毕,终止,此时系统调度另一进程运行。
进程调度有何功能?有哪些常用的调度算法?
答:查询、登记和更新进程控制表PCB中相应表项,并根据表项中的容和状态作出选择决定;根据系统选定的调度算法,从就绪进程队列中选取一个就绪进程,分配CPU,并决定它运行多长时间〔调度方式〕;进展实际分配工作,更新被调度进程和正在运行进出的PCB表项,修改状态,切换进程执行代码。
常用的调度算法有:先进先出法、短执行进程优先法、优先级调度法、轮转法等。
什么叫平安状态?常用什么方法保持系统处于平安状态?
答:假设系统能按某种顺序〔平安序列〕来为每个进程分配其所需资源,直至最大需求,使每个进程都可顺利完成,此时系统处于平安状态。在银行家算法中检查资源分配后系统的平安性,保证系统处于平安状态,不会发生死锁。
进程之间存在哪几种相互制约关系?各是什么原因引起的?以下活动分别属于哪种制约?〔1〕假设干同学去图书馆借书〔2〕两队举行篮球比赛〔3〕流水线生产的各道工序〔4〕商品生产和社会消费。
答:进程之间存在两种相互制约关系:
〔1〕间接相互制约——资源共享关系,是由于多个进程共享同一资源引起的。
〔2〕直接相互制约——相互合作关系,是由于多个进程相互合作,共同完成同一任务造成。
其中〔1〕、〔2〕属于间接相互制约,而〔3〕、〔4〕属于直接相互制约。
系统中有3个进程,4个一样类型的资源,每个进程最多需要2个资源,该系统是否回发生死锁?为什么?
答:该系统不会发生死锁。因为4个资源分配给3个进程,无论如何分配,总会有1个进程能够分配到2个资源,该进程获得其最大资源数后,完成并释放其资源,剩余2个进程就可获得最大资源数,顺利完成,系统始终存在平安序列,故系统不会死锁。
资源分配图如以下图,系统是否处于死锁状态?
P1
0
· ·
P0
r1 r2 r3 r4
·
·
· ·
·
P3
P4
P2
答:对该图进展化简,得到如以下图所示的结果。由于该图是不可完全简化的,所以根据死锁定理,系统处于死锁状态。
P1
0
P0
· ·
r1 r2 r3 r4
·
·
· ·
·
P3
P4
P2
简述解决死锁的途径:
1〕、预防死锁——设置某些限制条件,去破坏产生死锁的四个必要条件之一。
2〕、防止死锁——资源动态分配过程中,用某方法防止系统进入不平安状态。
3〕、检测死锁——允许发生死锁,但通过系统设置的检测机构,检测死锁的发生,并准确确定与死锁有关的进程和资源。
4〕、解除死锁——将进程从死锁状态下解脱。
设有进程P1和P2并发执行,都要享用资源R1,R2,使用资源情况如下:
进程P1:……申请R1……申请R2……释放R1……
进程P2:……申请R2……申请R1……释放R2……
判断是否会产生死锁,并解释其原因。
答:在不同的运行推进速度下,可能产生死锁。在某时刻,P1占用R1,又去申请R2;而P2占用R2,又去申请R1;互不释放自己占用的资源,又得不到自己所需的资源,系统处于僵持状态,形成死锁。
简述死锁定理。
答:用资源分配图加以简化的方法来检测系统是否处于死锁状态。S为死锁状态的充分条件是,当且仅当s状态的资源分配图是不可完全简化的。该充分条件称为死锁定理。
综合应用题
请用信号量实现4*100接力赛的同步过程
P1
P2
P4
P3
解答:
S1 S2 S3
P1、P2、P3和P4分别代表四位运发动,他们的跑步顺序受其位置的限制。从上图表示可以看出,此题相当于是用信号量描述前趋关系。
S1、S2、S3、的初值均为0。
P1:起跑——>前进100米——>V(S1)
P2:P(S1)——>起跑——>前进100米——>V(S2)
P3:P(S2)——>起跑——>前进100米——>V(S3)
P4:P(S3)——>起跑——>前进100米——>到达终点
有一发送者进程和一接收者进程,其流程如下。s是用于实现进程同步的信号量,m是用于实现进程互斥的信号量。试完成流程图。假定缓冲区有无限多个,s和m的初值为多少?
发送者 接收者
申请缓冲区 C
把信息写入缓冲区 D
A 从消息链首取一个缓冲区
将缓冲区放到消息链尾 V(m)
B从缓冲区取出消息
V(s) 释放缓冲区
解答: s=0表示满缓冲的数量、即多少缓冲区里有消息
m=1表示互斥信号量
A:P(m) B:V(m) C:P(s) D:P(m)
由题意,m用于实现进程互斥,初值应为1,并应成对出现,由接收者进程的V(m)操作可知,m用于实现消息链存、取缓冲区操作的互斥,故D为P(m)。相应的,A为P(m),B为V(m)。
由发送者进程可知,当发送者将一个消息放入消息链尾后,执行V(s)操作,故s表示接收者可取消息的数量,又因s用于实现进程同步,所以接收者承受消息前,应判断是否有消息可以取,需对s执行P操作,所以C为P(s),发送者发送消息前,接收者无消息可取,s的初值应为0。
桌上有一只盘子,最多允许存放两只水果,每次只能放入或取出一个水果。爸爸专向盘中放苹果,妈妈专向盘中放桔子,两个儿子专等吃盘中的苹果,两个女儿专等吃盘中的桔子。试用PV操作实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。
解答:由题意,盘中最多可以放两只水果,而不管放入的是何种水果,故只要盘中有空位置,父母均可执行放水果的操作,即父母的放水果〔苹果、桔子〕操作仅取决于盘中是否有空位置。只有盘中有苹果,儿子才能取,只有盘中有桔子,女儿才能取,即儿女取水果的操作取决于相应水果是否存在。从另一个角度讲,父亲放苹果与儿子取苹果要同步,母亲放桔子与儿子取桔子要同步,分别需要用同步信号量实现。每次只能向盘子放入或从盘中取出一个水果,用互斥信号量实现。
设置信号量 s1=2,表示盘子中可放水果的空位置;
s2=1,表示盘中放、取水果的互斥信号量;
s3=0,表示盘中苹果的数目; s4=0,表示盘中桔子的数目;
父亲: 母亲: 儿子: 女儿:
P(S1) P(S1) P(S3) P(S4)
P(S2) P(S2) P(S2) P(S2)
放苹果 放桔子取苹果 取桔子
V(S2) V(S2) v(S2) v(S2)
V(S3) V(S4) V(S1) V(S1)
在公共汽车上,司机和售票员的活动分别是
司机:启动车辆;正常行车;到站停车;
售票员:关车门;售票;开车门;
在汽车不断到站、停车、行驶过程中,这两个活动存在着同步关系,试用信号量和P、V操作实现它们的同步。
解答:根据常识,车门关好后司机方可启动车辆,到站停车后售票员方可翻开车门,即门的开、关与车的停、开存在着相互制约的同步关系。定义信号量 run,表示司机是否可以启动车辆,也就是车门的状态〔0表示门开,1表示门关〕,初值为0。定义信号量stop表示售票员是否可以开车门,即车是否停好〔0表示车停,1表示车开〕,初值为0。初始状态为车停门开。
售票员:
上乘客;
关车门;
V(run); 车门关好后,run 加1,说明司机可以启动车辆。
售票;
P(stop); 判断是否可以开车门;假设司机已停车,stop为1,继续;
开车门; 假设司机未停车,stop为0,阻塞,无法开车门。
下乘客;
司机:
P(run); 判断是否可以启动车辆;假设售票员已关门run为1,继续;
启动车辆; 假设售票员未关门run为0,阻塞,无法启动车辆。
正常行车;
到站停车;
V(Stop); 停车后,stop加1,说明售票员可以开车门。
某寺庙,有小、老和尚假设干,有一水缸,由小和尚提水入缸供老和尚引用。水缸可容12桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为4个。每次入、取缸水仅为一桶,且不可同时进展。试给出有关取水、入水的算法描述。
解答:分析题目可知,小和尚负责用桶到井中取水并将水倒入缸中,其操作依次为拿桶、井中取水、倒水入缸。水桶只有4个,只有拿到桶前方可继续,否那么需要等桶,因水井径窄,每次只能容一个桶取水,故取水的小和尚对水井的访问必须是互斥的。老和尚负责用桶从缸中取水,其操作依次为拿桶、缸中取水。只有拿到桶前方可继续,否那么需要等桶。每次入、取缸水仅为一桶,且不可同时进展,说明小和尚倒水入缸、老和尚取水必须互斥。同时,缸中没水,老和尚不能取水,要等待小和尚倒水入缸;水缸满,小和尚不能倒水入缸,要等待老和尚取水,也就是说,小和尚倒水入缸和老和尚取水必须同步。设置互斥信号量和同步信号量:
m1=1,表示小和尚从水井取水时,对水井的互斥访问,即一次只能有一个水桶进出水井;
m2=1,表示小和尚倒水入缸、老和尚取水时对水缸的互斥访问,即每次入、取缸水只能一个桶;
count=4,表示是否有桶可以供小和尚、老和尚使用;
full=0满缓冲,表示缸有水的桶数,控制老和尚取水;
empty=12,空缓冲,缸还能放水的桶数,控制小和尚倒水入缸;
P(empty) 判断缸中是否有倒水的位置,假设有,水位-1,继续;
P(count) 判断是否有水桶可以使用,假设有,可用水桶数目-1,继续;
P(m1) 判断能否对水井访问,即是否有其他小和尚从水井取水
从井中取水互斥控制一个水桶从水井取水;
V(m1)
P(m2) 判断能否对水缸访问,即是否有其他和尚取水或倒水
送水入缸互斥地将水倒入水缸;
V(m2)
V(count) 水入缸后,水桶空闲,可供其他和尚使用。可用水桶数目+1
V(full) 水入缸后可供老和尚取水,可取水的桶数+1
此题特别要注意P操作的次序,例如:如果P(empty)和P(count)操作次序颠倒,就有可能产生死锁。
假设某时刻水缸水满〔empty=0; full=12〕,而四个小和尚依次拿水桶去井中取水,此时P(count)均执行减1操作,count 的值变为0,但继续执行P(empty)时,empty-1,empty<0,阻塞;此时老和尚想取水,执行P(full) ,继续,执行P(count),此时couunt-1,count<0,阻塞,即老和尚没有水桶可以取水。老和尚无法取水,小和尚无法倒水,形成僵局,死锁发生。所以,P操作的顺序不可颠倒。
小和尚从水井取水入缸
老和尚从缸中取水
P(full) 缸中是否有水供老和尚取用;假设有,可取水的桶数-1,继续;
P(count) 判断是否有水桶可以使用,假设有,可用水桶数目-1,继续;
P(m2) 判断能否对水缸访问,即是否有其他和尚取水或倒水
从缸中取水 互斥地从水缸中取水;
V(m2)
V(empty) 取水后,水缸中增加了倒水的位置,水位+1;
V(count) 取水后,水桶空闲,可供其他和尚使用。可用水桶数目+1
设系统中有五个进程、3种资源,总数分别为A 17,B 5,C 20,T0时刻系统状态如下。
最大资源需求
已分配资源
剩余资源数
A
B
C
A
B
C
A
B
C
P1
5
5
9
2
1
2
2
3
3
P2
5
3
6
4
0
2
P3
4
0
11
4
0
5
P4
4
2
5
2
0
4
P5
4
2
4
3
1
4
15
2
17
完成剩余资源数的计算:
T0时刻是否平安?
假设P2请求资源〔0,3,4〕,系统如何处理?
解答:T0时刻的向量见图中粗体数字。
need[i,j]=max[i,j]-allocation[i,j]
利用银行家算法对此资源分配情况进展分析,可得此时刻的平安性分析情况:
Work
Need
Allocation
Work+allocation
Finish
P4
2
3
3
2
2
1
2
0
4
4
3
7
True
P5
4
3
7
1
1
0
3
1
4
7
4
11
True
P1
7
4
11
3
4
7
2
1
2
9
5
13
True
P2
9
5
13
1
3
4
4
0
2
13
5
15
True
P3
13
5
15
0
0
6
4
0
5
17
5
20
True
因为T0时刻存在平安序列p4,p5,p1,p2,p3,故T0时刻平安。
按照银行家算法,在T0时刻P2请求资源〔0,3,4〕,
因请求资源数〔0,3,4〕<最大请求资源数〔1,3,4〕,继续。
请求资源数〔0,3,4〕>剩余资源数〔2,3,3〕,所以系统没有足够的资源,不能分配。
P1,P2,P3,P4四个进程同时依次进入就绪队列,它们所需要的处理器时间和优先数如下,假设不计调度等所消耗的时间,请答复:
进程 处理器时间〔秒〕 优先数
P1 20 2
P2 15 3
P3 10 5
P4 12 3
分别写出采用先来先效劳和非抢占式的优先数调度算法时进程执行的次序。
分别计算每个进程在就绪队列中的等待时间和平均等待时间。
解答:〔a〕进程执行次序为:
先来先效劳法
非抢占式的优先数法
P1、P2、P3、P4
P3、P2、P4、P1
〔b〕 先来先效劳法:
每个进程在就绪队列的等待时间分别为
P1:0〔秒〕
P2:0+20=20〔秒〕
P3:20+15=35〔秒〕
P4:35+10=45〔秒〕
平均等待时间为〔0+20+35+45〕/4=25〔秒〕
非抢占式的优先数法:
每个进程在就绪队列的等待时间分别为
P1:25+12=37〔秒〕
P2:0+10=10〔秒〕
P3:0〔秒〕
P4:10+15=25〔秒〕
平均等待时间为〔37+10+0+25〕/4=18〔秒〕
系统中有四道作业,分别用先来先效劳、短作业优先调度方法和最高响应比优先法调度,完成表格的计算,并计算平均带权周转时间。单位:小时
解答:先来先效劳:
作业
提交时间
运行时间
开场时间
完成时间
周转时间
1
1:00
2
1:00
3:00
2
2
1:10
6
3:00
9:00
7.83
3
2:00
2
9:00
11:00
9
4
2:00
1
11:00
12:00
10
平均带权周转时间=〔2/2+7.83/6+9/2+10/1〕/4=4.2
短作业优先调度:
作业
提交时间
运行时间
开场时间
完成时间
周转时间
1
1:00
2
1:00
3:00
2
2
1:10
6
6:00
12:00
10.83
3
2:00
2
4:00
6:00
4
4
2:00
1
3:00
4:00
2
平均带权周转时间=〔2/2+10.83/6+4/2+2/1〕/4=1.7
最高响应比优先法调度:
1:00 作业1运行
3:00 作业2:1+1.83/6=1.3 故作业4运行
响应比计算 作业3:1+1/2=1.5
作业4:1+1/1=2
4:00 作业2:1+2.83/6=1..。。。 故作业3运行
响应比计算 作业3:1+2/1=2
计算与短作业优先调度方法一样。
. word.zl
展开阅读全文