操作系统第二章习题与解答资料
计算机操作系统(习题集)第二章 答案
计算机操作系统(习题集)第二章答案计算机操作系统(习题集)第二章答案第二章进程管理一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在(b)进行的。
a.同一时刻b.同一时间间隔内c.某一紧固时刻d.某一紧固时间间隔内2、引入多道程序技术后,处理机的利用率(c)。
a.减少了b.有所改善c.大大提高d.没变化,只是程序的继续执行便利了3、顺序程序和并发程序的执行相比,(c)。
a.基本相同c.并发程序继续执行总体上继续执行时间慢b.有点不同d.顺序程序执行总体上执行时间快4、单一处理机上,将继续执行时间存有重合的几个程序称作(c)。
a.顺序程序b.多道程序c.并发程序d.并行程序5、进程和程序的本质区别就是(d)。
a.存储在内存和外存b.顺序和非顺序继续执行机器指令c.分时使用和独占使用计算机资源d.动态和静态特征6、进程就是程序在mammalian环境中的继续执行过程,它就是系统展开资源分配和调度的一个基本单位。
进程具备[1a]、[2d]、调度性、异步性和结构性等基本特征。
进程就是一次继续执行过程,具备生命期彰显了进程的[1]特征。
进程由程序段、[3b]、[4c]共同组成,其中[4]就是进程在系统中存有的唯一标识。
供选择的答案:[1][2]:a、动态性b、静态性c、共行性d、并发性e、可执行性f、易用性[3]:a、过程b、数据c、进程标识符d、函数[4]:a、fcbb、fifoc、pcbd、jcb7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1d]进入[2a]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3d],这个过程是由[4c]来完成。
供选择的答案:[1][2][3]:a、准备就绪状态b、静止状态c、阻塞状态d、运转状态[4]:a、进程控制程序b、资源分配程序c、进程调度程序d、处理机分配程序8、为了叙述进程的动态变化过程,使用了一个与进程二者联系的(c),根据它而认知进程的存有。
操作系统第二章课后答案
第二章进程管理2、试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3、程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4、程序并发执行时为什么会失去封闭性与可再现性?因为程序并发执行时,就是多个程序共享系统中的各种资源,因而这些资源的状态就是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5、在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制与描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6、试从动态性,并发性与独立性上比较进程与程序?a、动态性就是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只就是一组有序指令的集合,就是静态实体。
b、并发性就是进程的重要特征,同时也就是OS的重要特征。
引入进程的目的正就是为了使其程序能与其它建立了进程的程序并发执行,而程序本身就是不能并发执行的。
c、独立性就是指进程实体就是一个能独立运行的基本单位,同时也就是系统中独立获得资源与独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7、试说明PCB的作用?为什么说PCB就是进程存在的唯一标志?a、PCB就是进程实体的一部分,就是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
因而它的作用就是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。
b、在进程的整个生命周期中,系统总就是通过其PCB对进程进行控制,系统就是根据进程的PCB而不就是任何别的什么而感知到该进程的存在的,所以说,PCB就是进程存在的唯一标志。
操作系统第二章练习 答案
1.P、V 操作是 A 。
A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语2.设系统中有 n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是 A 。
A.没有运行进程,有2个就绪进程,n 个进程处于等待状态。
B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。
C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。
D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
3.若 P、V 操作的信号量 S 初值为2,当前值为-1,则表示有 B 等待进程。
A. 0个B. 1个C. 2个D. 3个4.用 V 操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。
A.等待B.就绪C.运行D.完成5.用 P、V 操作可以解决 A 互斥问题。
A.一切B.某些C.正确D.错误6.多道程序环境下,操作系统分配资源以 C 为基本单位。
A.程序B.指令C.进程D.作业7.从下面对临界区的论述中,选出一条正确的论述。
(1)临界区是指进程中用于实现进程互斥的那段代码。
(2)临界区是指进程中用于实现进程同步的那段代码。
(3)临界区是指进程中用于实现进程通信的那段代码。
(4)临界区是指进程中用于访问共享资源的那段代码。
(5)临界区是指进程中访问临界资源的那段代码。
8.(A)是一种只能由 wait 和 signal 操作所改变的整型变量,(A)可用于实现进程的(B)和(C),(B)是排他性访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。
B:(1)同步;(2)通信;(3)调度;(4)互斥。
C:(1)同步;(2)通信;(3)调度;(4)互斥。
9.对于记录型信号量,在执行一次 wait 操作时,信号量的值应当(A),当其值为(B)时,进程阻塞。
在执行 signal 操作时,信号量的值应当为(C),当其值为(D)时,应唤醒阻塞队列中的进程。
操作系统 第二章作业本(含答案)
第二章作业第一次作业:1.进程有哪三种基本状态?进程在三种基本状态之间转换的典型原因是什么?答:三种基本状态:就绪状态、执行状态、阻塞状态。
(1)就绪状态→执行状态:进程分配到CPU资源(进程调度);(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成2.在Linux系统中运行下面程序,最多可产生多少个进程?画出进程家族树。
main(){fork();fork();fork();}答:最多可以产生7个进程。
其家族树为:3.试从动态性、并发性和独立性上比较进程和程序。
答:1)动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的;2)并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身(没有建立PCB)是不能并发执行的;3)独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。
凡未建立PCB的程序,都不能作为一个独立的单位来运行。
4.分析下列代码的功能:答:sleep_on实现进程的睡眠过程;wake_up实现进程的唤醒过程。
第二次作业:1.同步机制应该遵循哪些基本准则?你认为整型信号量机制遵循了同步机制的哪些基本准则?答:同步机制应遵循四个基本准则:a. 空闲让进:当无进程处于临界区时,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。
b. 忙则等待:当已有进程进入临界区时,其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
c. 有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
d. 让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。
《现代操作系统第四版》 第二章 答案
现代操作系统第二章进程与线程习题1. 图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个状态两个。
但是,图中只给出了四种转换。
有没有可能发生其他两种转换中的一个或两个?A:从阻塞到运行的转换是可以想象的。
假设某个进程在I/O上阻塞,而且I/O 结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。
而另外一种转换(从阻塞态到就绪态)是不可能的。
一个就绪进程是不可能做任何会产生阻塞的I/O或者别的什么事情。
只有运行的进程才能被阻塞。
2.假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。
CPU需要哪些信息?请描述用硬件完成进程切换的工作过程。
A:应该有一个寄存器包含当前进程表项的指针。
当I/O结束时,CPU将把当前的机器状态存入到当前进程表项中。
然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程),然后,就可以启动这个进程了。
3.当代计算机中,为什么中断处理程序至少有一部分是用汇编语言编写的?A:通常,高级语言不允许访问CPU硬件,而这种访问是必需的。
例如,中断处理程序可能需要禁用和启用某个特定设备的中断服务,或者处理进程堆栈区的数据。
另外,中断服务例程需要尽快地执行。
(补充)主要是出于效率方面的考量。
中断处理程序需要在尽量短的时间内完成所需的必要处理,尽量减少对线程/程序流造成的影响,因此大部分情况下用汇编直接编写,跳过了通用编译过程中冗余的适配部分。
4.中断或系统调用把控制转给操作系统时,为什么通常会用到与被中断进程的栈分离的内核栈?A:内核使用单独的堆栈有若干的原因。
其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。
第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。
5.一个计算机系统的内存有足够的空间容纳5个程序。
这些程序有一半的时间处于等待I/O的空闲状态。
计算机操作系统(第四版)课后习题答案第二章,精品资料
第二章1. 什么是前趋图?为什么要引入前趋图?答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。
2. 画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趋图为:3. 为什么程序并发执行会产生间断性特征?程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
完整版本操作系统第二章作业含答案
第二章作业1.操作系统中为何要引入进度的观点?为了实现并发进度中的合作和协调,以及保证系统的安全,操作系统在进度管理方面要做哪些工作?答:为了从变化角度动向地剖析研究能够并发履行的程序,真切的反响系统的独立性、并发性、动向性和互相限制,操作系统中不得不引入进度的观点。
为了防备操作系统及其重点的数据构造如:PCB等,遇到用户程序损坏,将办理机分为核心态和用户态。
对进度进行创立、撤除以及在某些进度状态之间的变换控制。
2.试描绘目前正在运转的进度状态改变时,操作系统进前进度切换的步骤。
答:分为两种状况:(1):运转状态就绪状态:依据进度的自己的状况插入到就绪行列的适合地点,系统回收办理及转入进度调动程序从头进行调动。
(2):运转状态→堵塞状态:系统会调用进度调动程序从头选择一个进度投入运转。
3.现代操作系一致般都供给多任务的环境,是回答以下问题。
为支持多进度的并发履行,系统一定成立哪些对于进度的数据构造?答:系统一定成立 PCB。
为支持进度的状态变迁,系统起码应当供哪些进度控制原语?答:堵塞、唤醒、挂起和激活原语。
当进度的状态变迁时,相应的数据构造发生变化吗?答:会依据状态的变迁发生相应的变化。
比如:将进度 PCB中进度的状态从堵塞状态改为就绪状态,并将进度从堵塞行列摘下,投入到就绪行列中。
4.什么是进度控制块?从进度管理、中止办理、进度通讯、文件管理、设施管理及储存管理的角度设计进度控制块应当包括的内容。
答: PCB:描绘进度自己的特色、状态、调动信息以及对资源据有状况等的数据构造,是进度存在的独一表记。
进度控制块所包括的内容:①进度信息描绘;② CPU信息状态;③进度调动信息;④进度控制和资源占用信息。
5.假定系统就绪行列中有 10个进度,这10个进度轮换履行,每隔 300ms轮换一次,CPU在进度切换时所花销的时间是 10ms,试问系统化在进度切换上的开支占系统整个时间的比率是多少?解: P=(10*10)/[(300+10)*10]=3.2%6.试述线程的特色及其与进度之间的关系。
操作系统第二章练习题与答案
C.DCT D.FCB5.一个进程被唤醒,意味着该进程 D 。
A.重新占有CPU B.优先级变为最大C.移至等待队列之首 D.变为就绪状态6.由各作业JCB形成的队列称为 C 。
A.就绪作业队列 B.阻塞作业队列C.后备作业队列 D.运行作业队列7.既考虑作业等待时间,又考虑作业执行时间的作业调度算法是 A 。
A.响应比高者优先B.短作业优先C.优先级调度D.先来先服务8.作业调度程序从处于 D 状态的队列中选取适当的作业投入运行。
A.就绪 B.提交C.等待 D.后备9. A 是指从作业提交系统到作业完成的时间间隔。
A.周转时间 B.响应时间C.等待时间 D.运行时间10.计算机系统在执行 C 时,会自动从目态变换到管态。
A.P操作 B.V操作C.系统调用 D.I/O指令三、问答1.在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大家都在走走停停”这样一个现象?答:在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。
因此,从宏观上看,这些程序都开始了自己的工作。
但由于CPU只有一个,在任何时刻CPU只能执行一个进程程序。
所以这些进程程序的执行过程是交织在一起的。
也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。
2.什么是“原语”、“特权指令”、“系统调用命令”和“访管指令”?它们之间有无一定的联系?答:特权指令和访管指令都是CPU指令系统中的指令,只是前者是一些只能在管态下执行的指令,后者是一条只能在目态下执行的指令。
原语和系统调用命令都是操作系统中的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。
操作系统中有些系统调用命令是以原语的形式出现的,例如创建进程就是一条原语式的系统调用命令。
但并不是所有系统调用命令都是原语。
因为如果那样的话,整个系统的并发性就不可能得到充分地发挥。
3.操作系统是如何处理源程序中出现的系统调用命令的?答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。
操作系统第二章部分答案
26.假定有如下独木桥问题:过桥时,同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。
试用信号量机制解决。
答:(1)将独木桥的两个方向分别标记为A和B。
用整型变量countA和countB分别表示A、B方向上已在独木桥上的行人数,初值都设置为0。
需要设置三个初值都为1的互斥信号量:MA用来实现对countA的互斥访问,MB用來实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。
(2)以下使用信号量机制对A力向上的行人过桥和B方向上的行人过桥的算法进行描述:mt countA. countB;counlA= 0; countB = 0:Semaphore MA.MB .mutex; //定义了三个互斥信号量MA.value=l; MB.value=l; mutex.value=l;cobeginprocess A_direction_cross_bridge_person //A 方向上过独木桥的行人进程P(MA): //实现对临界资源countA的互斥访问〃当A方向上没有行人过独木桥吋,这吋有可能存在B方向上的行人在过独木桥。
if (countA = 0)P(mutex); ,7如果当前独木桥正在被使用,说明B方向上的行人正在过桥,则A方向上的行人必须等待。
countA=countA+l; 〃当B方向上没有行人过桥时,则A方向上的行人可以过独木桥。
因此A 方向上已在独木桥上的行人数增加1个V(MA); 〃退出临界区过桥:打A方向上的行人通过独木桥P(MA): 〃实现对临界资源countA的互斥访问countA=countA-l; //当A方向上的行人已经通过了独木桥时,则A方向上在独木桥上的行人数需要减少1个if(counlA==0)〃如果A方向上在独木桥上的行人数减少到0.则\>utex); 〃需要释放独木桥临界资源,唤醒第■个由于在等待独木桥而处于等待状态的B 方向上过独木桥的行人进程(如果此进程存在)V(MA);"退出临界区Process B_direction_cross_bridge_person //B 方向上过独木桥的行人进程P(MB); 〃实现对临界资源countB的互斥访问〃当B方向上没有行人过独木桥时,这吋有可能存在A方向上的行人在过独木桥。
操作系统第二章练习2 答案
1.P、V操作是 A 。
A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语2.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是 A 。
A.没有运行进程,有2个就绪进程,n个进程处于等待状态。
B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。
C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。
D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
3.若P、V操作的信号量S初值为2,当前值为-1,则表示有 B 等待进程。
A. 0个 B. 1个 C. 2个 D. 3个4.用V操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。
A.等待B.就绪C.运行D.完成5.用P、V操作可以解决 A互斥问题。
A.一切B.某些C.正确D.错误6.多道程序环境下,操作系统分配资源以C 为基本单位。
A.程序B.指令C.进程D.作业7.从下面对临界区的论述中,选出一条正确的论述。
(1)临界区是指进程中用于实现进程互斥的那段代码。
(2)临界区是指进程中用于实现进程同步的那段代码。
(3)临界区是指进程中用于实现进程通信的那段代码。
(4)临界区是指进程中用于访问共享资源的那段代码。
(5)临界区是指进程中访问临界资源的那段代码。
8.(A)是一种只能由wait和signal操作所改变的整型变量,(A)可用于实现进程的(B)和(C),(B)是排他性访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。
B:(1)同步;(2)通信;(3)调度;(4)互斥。
C:(1)同步;(2)通信;(3)调度;(4)互斥。
9.对于记录型信号量,在执行一次wait操作时,信号量的值应当(A),当其值为(B)时,进程阻塞。
在执行signal操作时,信号量的值应当为(C),当其值为(D)时,应唤醒阻塞队列中的进程。
(完整版)操作系统第二章作业答案
第二章作业1.操作系统中为什么要引入进程的概念?为了实现并发进程中的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?答:为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。
为了防止操作系统及其关键的数据结构如:PCB等,受到用户程序破坏,将处理机分为核心态和用户态。
对进程进行创建、撤销以及在某些进程状态之间的转换控制。
2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。
答:分为两种情况:(1):运行状态就绪状态:根据进程的自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。
(2):运行状态→阻塞状态:系统会调用进程调度程序重新选择一个进程投入运行。
3.现代操作系统一般都提供多任务的环境,是回答以下问题。
为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:系统必须建立PCB。
为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:阻塞、唤醒、挂起和激活原语。
当进程的状态变迁时,相应的数据结构发生变化吗?答:会根据状态的变迁发生相应的变化。
例如:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就绪队列中。
4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。
答:PCB:描述进程本身的特征、状态、调度信息以及对资源占有情况等的数据结构,是进程存在的唯一标识。
进程控制块所包含的内容:①进程信息描述;②CPU信息状态;③进程调度信息;④进程控制和资源占用信息。
5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?解:P=(10*10)/[(300+10)*10]=3.2%6.试述线程的特点及其与进程之间的关系。
操作系统 第二章部分答案
26. 假定有如下独木桥问题:过桥时,同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。
试用信号量机制解决。
答:(1) 将独木桥的两个方向分别标记为A和B。
用整型变量countA和countB分别表示A、B方向上已在独木桥上的行人数,初值都设置为0。
需要设置三个初值都为1的互斥信号量:MA用来实现对countA的互斥访问,MB用来实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。
(2)以下使用信号量机制对A方向上的行人过桥和B方向上的行人过桥的算法进行描述:int countA, countB;countA = 0; countB = 0;Semaphore MA,MB,mutex; 7个并发执行的进程Pi(i=1,2, …,7),若希望它们按照如下图所示的次序执行,试写出进程并发执行的算法。
Semaphore S[8]; alue=0;process PP(){cobegin 公共汽车上,司机的活动描述为:启动汽车、正常行车、到站停车;售票员的活动描述为:关车门、售票、开车门;试写出司机与售票员之间的同步算法。
答:在汽车行驶过程中,司机活动与售票员活动之间的同步关系为:售票员关车门后,向司机发开车信号,司机接到开车信号后启动汽车,在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门让乘客上下车。
因此司机启动汽车的动作必须与售票员关车门的动作取得同步,而售票员开车门的动作也必须与司机到站停车的动作取得同步。
在本题中,应设置两个信号量S1和S2。
S1表示是否允许司机启动汽车(或表示售票员是否已经关好车门),其初值为0;S2表示是否允许售票员开门(或表示司机是否已经到站停车了),其初值为0.采用信号量机制描述司机与售票员之间的同步算法如下:Semaphore S1,S2; 后进行以下分析:(S1) := - 1 = -1 < 0 ,那么司机进程就自己阻塞起来,等待售票员进程,售票员关车门。
操作系统第二章答案
第二章一、问答题1、配置在终端上的终端处理程序主要用于实现人机交互,应具有哪些功能?2、什么是系统调用?系统调用与一般过程调用的区别是什么?3、有I/O频繁、I/O与计算机均衡和计算量大的三个作业,它们同时进入主存并行工作,请给每个作业赋于运行优先数,并说明理由。
4、脱机命令接口和联机命令接口有什么不同?5、简述作业的状态有哪些?作业调度是把什么状态的作业调入到内存?6系统调用的执行过程大体上分成哪三步?7、命令解释程序有哪两种处理方法?8、解释作业和作业调度,作业调度选择作业的必要条件是什么?9、操作系统提供哪些便于用户控制交互式作业的使用接口?10、一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?为什么?二、计算题和证明1、某系统采用不能移动已在主存储器中作业的可变分区方式管理主存储器,现有供用户使用的主存空间100K,系统配有4台磁带机,有一批作业见表。
表该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,请分别写出采用优先数算法(数字越小优先级别越高)响应比高者优先算法、短作业优先算法、先来先服务算法选中作业执行的次序。
1, 2, 4, 5, 32、试证明短作业优先调度算法能达到最短平均周转时间。
证明:假定t个作业的执行时间分别是t1, t2, t3, ....,t n,则总的周转时间为T=t l+(t l+t2) ------ (t l+t2 ---------- t n) (t1<t2<t3v....vt n)=n t1+( n-1)t2+....+t n即t l, t l,…….,t l,坛….…,t2, t3,.……,t3,坛.……,t n-1, t n-1, t n之和,此序列表示为X X1 , X2, X3, .. , X n(n+1)/2,若任意其他执行序列,则其周转时间为S=S1 +(S1 +S2)+ …+(S 1+S2+ …+S n)即S1, .........S1, .................. , S, S2, ....... , S2, .......... S3, , S3, S2, , S n-1, S n-1, S n 之和,将此序歹U按照数大小进行排列,得到序列丫表示为y1, y2,y3,……,y n(n+1)/2,因为t1vt2vt3v....vtn,所以在序列X和丫的前n项肯定满足X i <y i,因为丫序列中最短的时间值(等于b的值)不会多于n个,所以从第n+1项开始其值必大于等于t2,因此在序列X和丫的前n+1, 2n-1项肯定满足X i <y i,因为丫序列中最短的时间值和次短值(等于t1或t2的值)不会多于2n-1个,所以从第2n 项开始其值必大于等于t3,因此在序列X和丫的前2n,3n-3项肯定满足X i < y i, 依次类推得到,每项都满足X i < y i, i=1 , 2, 3,…,n(n+1)/2因此短作业优先调度算法平均周转时间最短3、有一个多道程序设计系统,采用不允许移动的可变分区方式管理主存中的用户空间,设用户空间为100K,主存空间的分配算法为最先适应分配算法,进程假定所有作业都是计算型作业且忽略系统调度时间,请写出采用"计算时间短的作业优先算法"时作业的装入主存时间、开始执行时间、完成时间、周转时间以及它们的平均周转时间。
操作系统第2章(进程和线程的管理习题及解答)
第2章进程和线程的管理习题及解答例题解析例2.2.1 试说明进程和程序之间的区别和联系。
解进程和程序是既有区别又有联系的两个概念。
(1)进程是动态的,程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。
离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。
程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
(2)一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
(3)一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
(4)程序可以长期保存,进程只能存在于一段时间。
程序是永久存在的,而进程有从被创建到消亡的生命周期。
例2.2.2 举例说明多道程序系统失去了封闭性和再现性。
解例如,有两个循环程序A和B,共享一个变量N。
程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。
程序A和B在多道程序系统中同时运行。
假定某时刻变量N的值为n,可能出现下述三种情况:(1)N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0;(2)N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、 0 、1;(3)N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。
例 2.2.3 为什么将进程划分成执行、就绪和阻塞三个基本状态?解根据多道程序执行的特点,进程的运行是走走停停的。
因此进程的初级状态应该是执行和等待状态。
处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。
但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。
(完整版)操作系统第二章课后答案
第二章进程管理2. 试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3.程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。
操作系统第二章习题答案3
第2章操作系统用户界面Page 362.1 什么是作业?什么是作业步?答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。
它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
而且,在批处理系统中,作业是抢占内存的基本单位。
也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。
作业由不同的顺序相连的作业步组成。
作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。
例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。
2.2 作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
2.3 作业的输入方式有哪几种?各有什么特点?答:作业的输入方式有5种:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
(2)脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。
(3)直接耦合方式:直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。
(4)SPOOLING系统:SPOOLING又可译作外围设备同时联机操作。
在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。
作业的输入输出过程由主机中的操作系统控制。
(5)网络输入方式:网络输入方式以上述几种输入方式为基础。
当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式2.4 试述 SPOOLING 系统的工作原理。
计算机操作系统(第四版)课后习题答案第二章
第二章之迟辟智美创作1. 什么是前趋图?为什么要引入前趋图?答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系.2. 画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趋图为:3. 为什么法式并发执行会发生间断性特征?法式在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间呈现间断性.4. 法式并发执行时为什么会失去封闭性和可再现性?因为法式并发执行时,是多个法式共享系统中的各种资源,因而这些资源的状态是由多个法式来改变,致使法式的运行失去了封闭性.而法式一旦失去了封闭性也会招致其再失去可再现性.5. 在把持系统中为什么要引入进程概念?它会发生什么样的影响?为了使法式在多道法式环境下能并发执行,并能对并发执行的法式加以控制和描述,从而在把持系统中引入了进程概念. 影响: 使法式的并发执行得以实行.6. 试从静态性,并发性和自力性上比力进程和法式?a. 静态性是进程最基本的特性,可暗示为由创立而发生,由调度而执行,因得不到资源而暂停执行,以及由裁撤而消亡,因而进程由一定的生命期;而法式只是一组有序指令的集合,是静态实体.b. 并发性是进程的重要特征,同时也是OS的重要特征.引入进程的目的正是为了使其法式能和其它建立了进程的法式并发执行,而法式自己是不能并发执行的. c. 自力性是指进程实体是一个能自力运行的基本单元,同时也是系统中自力获得资源和自力调度的基本单元.而对未建立任何进程的法式,都不能作为一个自力的单元来运行.7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标识表记标帜?a. PCB是进程实体的一部份,是把持系统中最重要的记录型数据结构.PCB中记录了把持系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道法式环境下不能自力运行的法式(含数据),成为一个能自力运行的基本单元,一个能和其它进程并发执行的进程.b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何另外什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标识表记标帜.11.试说明进程在三个基本状态之间转换的典范原因. 答:(1)就绪状态→执行状态:进程分配到CPU 资源(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成12.为什么要引入挂起状态?该状态有哪些性质?答:引入挂起状态处于五种分歧的需要: 终端用户需要,父进程需要,把持系统需要,对调需要和负荷调节需要.处于挂起状态的进程不能接收处置机调度. 10.在进行进程切换时,所要保管的处置机状态信息有哪些?答:进行进程切换时,所要保管的处置机状态信息有:(1)进程以后暂存信息(2)下一指令地址信息(3)进程状态信息(4)过程和系统调用参数及调用地址信息.13.在进行进程切换时,所要保管的处置机状态信息有哪些?答:进行进程切换时,所要保管的处置机状态信息有:(1)进程以后暂存信息(2)下一指令地址信息(3)进程状态信息(4)过程和系统调用参数及调用地址信息.14.试说明引起进程创立的主要事件. 答:引起进程创立的主要事件有:用户登录、作业调度、提供服务、应用请求.15.试说明引起进程被裁撤的主要事件. 答:引起进程被裁撤的主要事件有:正常结束、异常结束(越界毛病、呵护错、非法指令、特权指令错、运行超时、等候超时、算术运算错、I/O 故障)、外界干预(把持员或把持系统干预、父进程请求、父进程终止). 16.在创立一个进程时所要完成的主要工作是什么?答:(1)OS 发现请求创立新进程事件后,调用进程创立原语Creat();(2)申请空白PCB;(3)为新进程分配资源;(4)初始化进程控制块;(5)将新进程拔出就绪队列.17.在裁撤一个进程时所要完成的主要工作是什么?答:(1)根据被终止进程标识符,从PCB 集中检索出进程PCB,读出该进程状态. (2)若被终止进程处于执行状态,立即终止该进程的执行,臵调度标识表记标帜真,指示该进程被终止后重新调度. (3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不成控进程. (4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统. (5)将被终止进程PCB 从所在队列或列表中移出,等候其它法式搜集信息.18.试说明引起进程阻塞或被唤醒的主要事件是什么?答:a. 请求系统服务;b. 启动某种把持;c. 新数据尚未达到;d. 无新工作可做.19. 为什么要在OS中引入线程?在OS中引入进程的目的,是为了使多个法式能并发执行,以提高资源利用率和系统吞吐量.在OS中再引入线程,则是为了减少法式在并发执行时所付出的时空开销,使OS具有更好的并发性.20.试说明线程具有哪些属性?答:(1)轻型实体(2)自力调度和分派的基本单元(3)可并发执行(4)共享进程资源.21. 试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比力. a. 调度性.在传统的把持系统中,拥有资源的基本单元和自力调度、分派的基本单元都是进程,在引入线程的OS中,则把线程作为调度和分派的基本单元,而把进程作为资源拥有的基本单元; b. 并发性.在引入线程的OS中,不单进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性; c. 拥有资源.无论是传统的把持系统,还是引入了线程的把持系统,进程始终是拥有资源的一个基本单元,而线程除拥有一点在运行时必不成少的资源外,自己基本不拥有系统资源,但它可以访问其隶属进程的资源;d. 开销.由于创立或裁撤进程时,系统都要为之分配和回收资源,如内存空间等,进程切换时所要保管和设置的现场信息也要明显地多于线程,因此,把持系统在创立、裁撤和切换进程时所付出的开销将显著地年夜于线程.。
操作系统第二版第二章课后习题答案
第二章进程和线程作业答案1,2,4,6,7,10,11,12,14, 211.在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。
进程和程序是两个完全不同的概念。
进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。
2.PCB的作用是什么?它是怎样描述进程的动态性质的?答:PCB是进程组成中最关键的部分。
每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。
PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。
4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1答:(1)就绪→运行:CPU空闲,就绪态进程被调度程序选中运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。
阻塞→就绪:阻塞态进程所等待的事件发生了。
运行→就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)2→1,可以。
运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
(B)3→2,不可以。
任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。
(C)4→1,可以。
某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
操作系统第二章课后答案
2•试画出下面4条语句的前趋图S i : a:=x+y; S 2: b:=z+1; S 3: c:=a-b; S 4: w:=c+1;3. 为什么程序并发执行会产生间断性特征?程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作, 致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期 间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是 由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致 其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描 述,从而在操作系统中引入了进程概念。
影响:使程序的并发执行得以实行。
6.试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源 而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指 令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS 的重要特征。
引入进程的目的正是为了使其 程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和 独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来 运行。
7.试说明PCB 的作用?为什么说PCB 是进程存在的唯一标志 ?a. P CB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。
作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
一个在多道程序环境下不能独立运行的程序 (含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 作业管理与接口
问答题与解答
2006 . 8
▲DLNU
operating IT system
1.何谓作业,作业步,作业流?通常把 计算机的作业分成哪几种类别?它们的 特点是什么? 1.答:作业是一次上机活动中,要求计算机所做工作的集合。作业是一
个动态的概念,当上机活动终止后,作业便不复存在。 作业步:由完成作业中某一相对独立事件的程序和数据构成,并由命令定 义之。 作业流:在批处理系统中,通常把一批作业按用户提交的先后次序或按某 种优先原则,依次安置在相应的输入装置上,并在系统控制下,依次将它 们输入到辅存中,这样的一批作业就形成了一个作业流。 通常把计算机的作业分成两大类:一类为批量型,另一类为终端型。 批量型作业的特点:作业周转时间长,作业控制方式是脱机控制。在具 有批量处理和分时两种功能的系统中,作业调度将批量型作业作为后台作 业,并穿插于会话型作业中间调度。 终端型作业的特点:用户和计算机直接交互作用,终端多出现于分时系 统中。
优先调度。 K(优先数)=(作业等待时间)2+1/作业要求运行时间
试问:这种算法反映了上述原则中的哪 些原则?简述理由。
▲DLNU
operating IT system
8.试比较下列作业调度算法,对短作业 的优先程度,对长作业的虐待程度,哪 种算法有可能发生长作业被饿死(总得 不到调度)现象? (a)FCFS(先来 8.答:( 1) 对短作业的优先程度按升高排序 先服务) (b) SJF(短作业优先)(c) 为: (a)<(c)<(b) 。(2)对长作业的虐待程 HRN (响应比高者优先)
▲DLNU
operating IT system
7.答:(1)如表1-6-1所示。
7.(1)作业调度算法的选择作业的原则,可以是保证 调度算法 吞吐量大 公平合理 发挥资源利用率 系统吞吐量大,对用户公平合理,充分发挥系统资源的 先来先服务 利用率。表 1-5-1给出了三种简单的作业调度算法,请 √ 指出每种算法主要是体现上述哪种原则的(在对应的行、 短作业优先 列上打上√记号)。 √
▲DLNU
operating IT system
3.作业建立程序应具有哪些功能?
3.答:当用户作业通过SPOOLing系统被装入到外 存的输入井中时,系统为了对该作业进行描述和控制, 由“作业建立”程序给该作业建立一个作业控制块 (JCB),其中包括该作业的属性,如作业名、拥有 该作业的用户名、作业类型、作业状态、优先级、作 业在输入井中的位置及其长度,以及作业运行所需要 的资源等情况。在这些信息中,有些应由用户提供, 另一些则应由系统赋予。“作业建立”程序在为一个 作业建立好JCB后,便将该JCB插入到含有一系列 JCB的后备队列中去。
阶段和提交、后备、执行、完成四个状态。 在一个多道程序系统中,用户提交的作业通过脱机 (或假脱机)输入。由“作业注册”程序负责作业由“提 交”到“后备”状态的转执行”状态,而后将控 制权交给进程管理系统。由“终止作业”程序负责将正常 运行结束或因发生错误而终止的作业转换为“终止”状态。
▲DLNU
operating IT system
4.答:作业管理主要包括作业的进入、作业的调度、作业的控制,以及作业的终止。 作业调度的主要功能是:按系统规定的算法,从系统己接纳的一批作业中选取一个子集,并满足它们所需的 资源,做好运行准备工作,使其成为内存中可运行的作业。 常用的调度算法。对于单道批量处理系统说,其调度算法有:(1)先来先服务算法;(2)最短作业优先算法; (3)响应比高者优先调度算法。 多道批量处理系统的调度算法:(l)基于先来先服务调度算法;(2)基于优先级高者优先调度算法:(3) 分时与优先级相结合调度算法。 作业调度与进程调度的区别:作业调度在操作系统内又叫宏观调度或高级调度。进程调度在操作系统内又叫 微观调度或低级调度。作业调度起协调作用,决定竞争CPU的作业进入系统。具体的竞争CPU的胜负则由进 程调度来裁决,以决定CPU的最后获得者。 在以下情况下,调用作业调度程序:当后备作业队列非空,且至少有一个作业进入完成状态而释放资源时, 作业调度程序就从后备作业队列中选取一个子集,为它们分配内存和资源而使其进入执行状态;进程调度则 是在。CPU空闲且就绪队列非空时,选取一个进程,为其分配CPU时间片。 评价一个作业调度算法的性能优劣通常是用作业的平均周转时间或带权平均周转时间的长短来衡量。对于 批处理系统,由于主要用于计算,因而对作业的周转时间要求较高,这样作业的平均周转时间或带权平均周 转时间被用来衡量其调度程序的优劣。 但对于分时系统来说,平均响应时间又被用来衡量调度策略的优劣。对于分时系统,除了要保证系统的吞 吐量大、资源利用率高之外,还应该保证用户能够容忍的响应时间。因此,在分时系统中,仅仅用周转时间 或带权周转时间来衡量调度性能是不够的。对于实时系统来说,衡量调度策略的优劣的主要目标是满足用户 要求的时限时间。确定作业调度算法的原则是:(1)选择的调度算法应与系统的整体设计目标一致。(2)注 意系统资源的均衡使用,使"I/O繁忙”的作业和"CPU繁忙”的作业搭配起来运行。(3)应保证进入系统的作 业在规定的截止时间内完成,而且应设法缩短作业的平均周转时间。
I/O量大与CPU量大作业搭配
√
吞吐量大 公平合理 发挥资源利用率
调度算法 先来先服务 短作业优先 I/O量大与CPU量大作业搭配
▲DLNU
operating IT system
(2)如果在实际系统中只采用上述三种 简单算法中的任意一种,都只体现其中 (2) 体现了先来先服务原则和最短作业优先原则。体现 一种原则,而其他原则得不到反映。为 先来先服务原则的理由是假若两道作业的运行时间相同, 此,给出下列能反映多种原则的调度算 但到达时间不同,早到达的作业等待时间长,根据公式 法,并假定完全根据优先数,按从高到 计算,它的优先数大,则优先调度。体现最短作业优先 低顺序挑选作业,作业优先数按下述公 原则的理由是假若两道作业同时到达,但运行时间不等, 根据公式计算,运行时间短的作业,其优先数高,因而 式计算:
▲DLNU
operating IT system
6.许多调度算法是参数化的,例如,轮转法 需要一个参数指定时间片,多队列反馈算法要 求定义队列个数、每个队列的调度算法,以及 6.答:( 1)短作业一般都有较高的优先级。(2)多级 队列反馈算法时,在每个队列中(同一优先级)的进程常 各队列中移动作业的数据等。这意味着这些算 常采用 FCFS。(3)同种优先级的进程按FCFS调度。 法实际上是一组算法的集合。例如,可视 (4 )轮转法调度总是从就绪队列中选第一个进程运行, FCFS 是一组不同时间片的轮转法组合。因此, 在就绪队列中常按 FCFS原则排队。又可以视FCFS为一 一种算法可能包含另一种算法。下面的各种算 组不同时间片( R=作业要求运行的时间)的轮转法,只 法之间有什么联系? 轮转一次便完成作业。 (1)优先级与SJF(短作业优先)(2)多级 队列反馈与FCFS (3)优先级与FCFS(4)轮转法与FCFS
t=150ms t=170ms B A A B B做V(S),唤醒A B时间片到时
时刻 t=0ms
执行态进程 A
表1-6-2 就绪态进程 A.B B
阻塞态进程
发生何种事件 A被调度选中
运行
被进程调 度选中 时间片到 P(S)
就绪
V(S)
阻塞
A进程 L:计算20ms P(S) 计算20ms goto L
B进程 N:计算30ms P(S) 计算20ms goto N
▲DLNU
operating IT system
▲DLNU
operating IT system
▲DLNU
operating IT system
度按严重程度排序为:(a)<(c)<(b)。(3) (b)有可能饿死长作业。
▲DLNU
operating IT system
9.假设某个系统的调度如图1-5-1(1)所示,其中时间片q=50 mst=20ms .还假定系统中只有 A,B两个进程。 A执行计算 20 ms后,做P B A A执行P(S)后, S=-1 ,开始执行 A变为阻塞态 (S)操作;然后计算20 ms,又返回起点循环, B 30 ms计 t=50ms B 操作;再计算 A B做V(S),唤醒A 算后,做 V (S) 20 ms后返回起点循环。如图 1-5-1 (2 )所示。假定 t=0时刻, A,B都在表1-5-2 时刻执行态进程就绪 t=70ms A B B时间片到时,B为就绪 态进程阻塞态进程发生何种事件就绪队中,A在B前。且忽略进程切 换时间:和 P, 1-5-2 A,B t=120ms B V操作本身时间不计,试按表 A A时间片到时, A的格式写出 做P(S),A应变 为阻塞态 两进程从t=0时刻到t=170 ms间的状态变化。
4.作业管理主要包括哪些内容?作业调 度的主要功能是什么?常用的作业调度 算法有哪几种?作业调度和进程调度有 什么区别?各在什么情况下调用它们? 如何评价一个作业调度算法的性能?确 定调度算法的原则是什么?
▲DLNU
operating IT system
5.答:一般认为 I/O型作业(程序)是短作业, 5.哪种算法既照顾 I/O型程序,而又 CPU型程序为长作业。响应比高者作业调度算法是可 饿不死计算型程序? 以既照顾I/O型作业,而又不至于饿死(长期得不到 调度称为饿死)计算型作业的调度算法,因为响应比 既考虑了作业的长短,又考虑了作业等待调度时间的 长短。
▲DLNU
operating IT system
2.在一个多道程序系统中,一个作业从 提交给系统到运行结束退出系统,通常 要经历哪几个阶段和哪些状态?由哪些 2.答:在一个多道程序系统中,一个作业从提交给系统 程序来负责这些状态之间的变换?你能 到运行结束退出系统,通常要经历收容、执行、完成三个 说出这些状态转变的原因吗?