操作系统作业第二章1

合集下载

操作系统 第二章 习题

操作系统 第二章 习题

第二章练习题及参考答案一、单项选择题1.用户作业可以通过()方式由用户自己按照作业来进行操作。

A.脱机B.自动控制C.在线处理D.联机处理2.()是操作系统提供的一种专门语言,它由操作系统的专门机制解释处理。

A.C语言B.JCL语言C.Ada语言D.Pascal语言3.作业调度算法中()调度算法最有利于提高资源利用率。

A.先来先服务B.优先数C.响应比最高优先D.均衡4.终端用户在终端上控制作业的执行要经历四个阶段,最初阶段是()。

A.用户注册B.终端连接C.作业控制D.用户退出5.在下面作业调度算法中()调度算法最有利于小作业,从而提高系统吞吐能力。

A.先来先服务B.计算时间短的作业优先C.优先数D.响应比最高者优先6.当中央处理器处于目态时,它可以执行的指令是()。

A.计算机系统中的全部指令B.仅限于非特权指令C.仅限于防管指令D.仅限于特权指令7.作业调度算法常考虑因素之一是使系统有最高的吞吐率,为此应()。

A.不让处理机空闲B.能够处理尽可能多的作业C.使各类用户满意D.不使系统过于复杂8. 分时操作系统环境下运行的作业通常称为()。

A.后台作业B.长作业C.批量型作业D.终端型作业9.在作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是()。

A.先来先服务B.优先数C.响应比最高优先D.计算时间段的作业优先10.作业调度程序从处于()状态的作业队列中选取适当的作业投入运行。

A.执行B.提交C.完成D.后备11.既考虑作业等待时间,又考虑作业执行时间的调度算法是()。

A. 先来先服务B.优先数C.响应比最高优先D.均衡12.()是指从作业提交给系统到作业完成的时间间隔。

A.周转时间B.响应时间C.等待时间D.执行时间13.作业从进入后备队列到被调度程序选中的时间间隔称为()。

A.周转时间B.响应时间C.等待时间D.触发时间二、多项选择题1.响应比最高者优先调度算法是()调度算法的折衷。

操作系统习题第二章

操作系统习题第二章

第二章1. 分配到必要的资源并获得处理机时的进程状态是__执行状态_________A 就绪状态B执行状态C阻塞状态 D 撤消状态2. 若进程信号量S的初值为2,当前值为-1(绝对值)则表示有_________个等待进程.A 0 B1 C2 D33. 程序的顺序执行通常在_单道程序_的工作环境中,具有以下特征_程序的可再现性_,程序的并发执行在_多道程序_的工作环境中,具有如下特征__资源共享_____.A 单道程序B 多道程序C程序的可再现性 D 资源共享4. 下列进程变化中, __等待---运行________变化是不可能发生的.A运行--- 就绪B运行---等待C等待---运行 D 等待---就绪5. 当_________时,进程从执行状态转变为就绪状态。

A 进程被调度程序选中B 时间片到C 等待某一事件D 等待的事件发生6.用P、V操作管理临界区时,信号量的初值应定义为_______A -1B 0C 1D任意值7.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则________A 表示没有进程进入临界区B 表示有一个进程进入临界区C表示有一个进程进入临界区,另一个进程等待进入D 表示有两个进程进入临界区8.如果系统中有n个进程,则就绪队列中进程的个数最多为________(就绪队列中的进程只要获得CPU就能运行,CPU中必定有一个正在运行的进程)A n+1B nC n-1 D19. 在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区.所谓临界区是指__一段程序_______A 一个缓冲区B 一段数据区C 同步机制D 一段程序10.如果系统中有n个进程,则在等待队列中进程的最多个数为_n_______个. (等待队列中的进程还缺少除了CPU以外,还缺少其他资源,如果其他资源获得不了就始终在等待队列)11. 如果信号量的当前值为-4(绝对值)则表示系统中在该信号量上有___4___个等待进程。

操作系统第二章练习 答案

操作系统第二章练习 答案

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-第二章

操作系统--习题课1-第二章

第二章进程的描述与控制-习题【例1】我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时表示锁已经打开。

试写出开锁和关锁原语,并利用他们实现互斥。

分析:在用锁实现互斥时,必须为每个临界资源设置一把锁W,值得注意的是锁W只能有开或关两种状态,相应地W只能取0或1两个值。

进行关锁操作时,若W处于开的状态,则表示相应的临界资源空闲,进程只需将锁的状态置为关,便可直接进入临界区;否则,若W已处于关状态,则表示其他进程正在使用临界资源,故执行关锁操作的进程必须等待。

进行开锁操作时,则必须将锁的状态置为开状态,以允许其他进程使用临界资源。

答:相应的关锁原语lock(W)和开锁原语unlock(W)可描述为:lock(W): while(W==1);W=1;unlock(W): W=0;在利用关锁原语和开锁原语实现进程互斥时,可将临界区CS放在其间,即:lock(W);CS;unlock(W);【例2】在所示图中,有一计算进程和打印进程,他们共享一个单缓冲区,计算进程不断地计算出一个整型结果并将它放入单缓冲区中,打印进程则负责从单缓冲区中取出每一个结果进行打印,请用信号量来实现它们的同步关系。

分析1:可从临界资源的角度来思考,先找临界资源,并为每种资源设置信号量,在访问临界资源之前加wait操作来申请资源,访问完临界资源后加signal操作来释放临界资源。

本题中有两类临界资源,第一类是计算进程争用的空闲缓冲区,初始状态下有一个缓冲区可供使用,故可为它设置初值为1的信号量empty;第二类是打印进程争用的已放入缓冲中的打印结果,初始状态下缓冲中无结果可供打印,故可为它设置初值为0的信号量full。

答1:具体的同步算法可描述为:semaphore full=0, empty=1;int buffer;cp(){int nextc;while(1){compute the next number in nextc;wait(empty);buffer=nextc;signal(full);}}pp(){int nextp;while(1){wait(full);nextp=buffer;signal(empty);print the number in nextp;}}main(){cobegincp(); pp();coend}其实,本题是一个n=1的生产者—消费者问题,与常规的生产者—消费者问题的算法比较一下,可以发现:单缓冲的情况下,缓冲区只需要简单变量来描述,而不必再用数组;另外,也不再需要in(out)指针来指示产品放到(取自)哪个缓冲区,而且,由于此时生产者、消费者不可能同时访问缓冲区,所以原来的mutex信号量也不再需要。

计算机操作系统(习题集)第二章 答案

计算机操作系统(习题集)第二章 答案

第二章进程管理一、单项选择题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、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。

进程具有[1A]、[2D]、调度性、异步性和结构性等基本特征。

进程是一次执行过程,具有生命期体现了进程的[1]特征。

进程由程序段、[3B]、[4C]组成,其中[4]是进程在系统中存在的唯一标识。

供选择的答案:[1][2] :A、动态性 B、静态性 C、共行性 D、并发性 E、可执行性 F、易用性[3] :A、过程 B、数据 C、进程标识符 D、函数[4] :A、FCB B、FIFO C、PCB D、JCB7、进程执行时的间断性,决定了进程可能具有多种状态。

进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1D]进入[2A]。

如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3D],这个过程是由[4C]来完成。

供选择的答案:[1][2][3] :A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态[4] :A、进程控制程序B、资源分配程序C、进程调度程序 D、处理机分配程序8、为了描述进程的动态变化过程,采用了一个与进程相联系的(C ),根据它而感知进程的存在。

计算机操作系统(第四版)课后习题答案第二章,精品资料

计算机操作系统(第四版)课后习题答案第二章,精品资料

第二章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郭要丹操作系统第二章

精编1郭要丹操作系统第二章

1,什么是前趋图?为什么要引入前趋图?所谓的前趋图,是指一个有向无循环图,可记为DAG,它用于描述进程之间执行的先后顺序。

为了能够更好地描述程序的顺序和并发执行情况,引入了前趋图。

2,试画出下面四条语句的前趋图:S1: a=x+y;S2: b=z+1;S3: c=a-b;S4: w=c+1.3,在这些并发执行的程之间形成了相互制约的关系。

而相互制约将导致并发程序具有“执行——暂停——执行”这种间断性的活动规律。

4,程序并发执行时为什么会失去封闭性和可再现性?当系统中存在着多个可以并发执行的程序时,系统中的各种资源将为它们所共享,而这些资源的状态也由这些程序来改变,致使其中任一程序在运行时,其环境都必然会受到其他程序的影响。

例如,当处理机已被分配给某个程序运行时,其它程序必须等待,显然,程序已经失去了封闭性。

程序在并发执行时,由于失去了并发性,其计算结果必将与并发程序的执行速度有关,从而使程序的执行失去了可再现性。

换而言之,程序经过多次执行后,虽然将它们执行时的环境和初始条件相同,但得到的结果却各不相同。

5,在操作系统中为什么要引入进程的概念?它会产生什么样的影响?在多道程序环境下,程序的执行属于并发执行,此时它们将失去封闭性,并且具有间断性,以及其结果不可再现性的特征,这也就决定了通常的程序是不能够参与并发执行的,否则,程序的运行也就失去了意义,为了能够使程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了“进程”的概念。

影响:是程序的并发得意执行。

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.操作系统是如何处理源程序中出现的系统调用命令的?答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。

操作系统第二章课件第二章练习

操作系统第二章课件第二章练习

第2章操作系统的基本概念一、单项选择题1. 操作系统是计算机系统中的()软件。

A.应用B.系统C.支撑D.工具2. 在计算机系统中配置了批处理操作系统,则能够()。

A.提高资源使用效率B.及时响应外部事件C.是用户直接干预作业的执行D.实现计算机间的通信3. 设计实时操作系统适应首先考虑()。

A.系统效率B.交互能力C.可移植性D.可靠性4. 如用户要利用计算机系统直接调试和控制程序的执行,则应在其上配置()操作系统。

A.批处理B.实时C.分时D.单用户5. 访管指令是一条()指令。

A.特权B.只允许在目态执行的C.只允许在管态执行的D.在目态和管态均可执行的6. 单操作系统完成了用户请求的“系统功能调用”后,应让中央处理器()工作。

A.维持在管态B.从管态转换到目态C.维持在目态D.从目态转换到管态二、多项选择题1. 在任何计算机系统中()。

A.主存储器可被中央处理器直接访问B.当CPU处于管态时只能执行特权指令C.操作系统只负责管理软件资源D.操作系统能接受用户输入的命令并控制用户程序的执行E.操作系统能为应用程序提供比裸机强的功能支持2. 各种类型的操作系统各有所长,它们追求的设计目标也不同,例如()。

A.多到批处理系统是为了提高系统的资源用率B.分时系统允许用户直接与计算机系统交互C.实时系统首先要考虑实时性和可靠性D.网络操作系统必须实现激素算计之间的通信及资源共享E.分布时操作系统要让多台计算机协作完成一个共同的任务3. 程序状态字是用来控制指令执行顺序并且保留和知识与程序有关的系统状态。

所以,()。

A. 每个程序都应该有一个PSWB. 程序状态字寄存器是用来存放当前运行程序的PSWC. 在多道程序设计系统中应设置多个程序状态自己村起来分别存放个成粗的PSW,以便多道并行执行D. 在用户程序的PSW中应置为管态,以便实用访管指令E. 处理器总是按程序状态字寄存器中的PSW控制程序的执行三、填空题1.计算机系统是由计算机________和计算机________两大部分组成。

操作系统第二章作业答案

操作系统第二章作业答案

第二章作业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.试述线程的特点及其与进程之间的关系。

操作系统第二章作业讲解

操作系统第二章作业讲解

操作系统第二章作业讲解第二章习题讲解1、进程之间存在着哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(1)若干同学去图书馆借书;(2)两队举行篮球比赛;(3)流水线生产的各道工序;(4)商品生产和社会消费。

答:进程之间存在着直接制约与间接制约这两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。

(1)若干同学去图书馆借书,是间接制约,其中书是临界资源;(2)两队举行篮球比赛,是间接制约,其中蓝球是临界资源;(3)流水线生产的各道工序,是直接制约,各道工序间需要相互合作,每道工序的开始都依赖于前一道工序的完成;(4)商品生产和社会消费,是直接制约,两者也需要相互合作:商品生产出来后才可以被消费;商品被消费后才需要再生产。

2、试写出相应的程序来描述下图所示的前趋图vara,b,c,d,e,f:semaphore:=0,0,0,0,0,0;begin S1; signal(a); signal(b);signal(c); end;begin wait(a); S2; end;begin wait(b); S3; signal(d); end; begin wait(c); S4; end;begin wait(d); S5; signal(e); signal(f); end; begin wait(e); S6; end;begin wait(f); S7; end;3、已知一个求值公式(A2+3B)/(B+5A),若A、B已赋值,试画出该公式求值过程的前趋图,并使用信号量描述这些前趋关系。

答:根据求值公式,假设:S1: X1=A*AS2: X2=3*BS3: X3=5*AS4: X4=X1+X2S5: X5=B+X3S6: X6=X4/X5var a,b,c,d,e:semaphore:=0,0,0,0,0;begin S1; signal(a); end;begin S2; signal(b); end;begin S3; signal(c); end;begin wait(a); wait(b); S4; signal(d); endbegin wait(c); S5; signal(e); endbegin wait(d); wait(e); S6; end4、桌上有一只能容纳一个水果的盘子;爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),一个儿子专等吃盘子中的桔子,一个女儿专等吃盘子里的苹果,1)试用信号量实现他们的同步关系;2)如果有两个家庭的爸爸、妈妈、儿子、女儿和二只盘子呢?会需要专门的实现吗?var empty,apple,orange:semaphore:= 1,0,0;说明:empty与apple表示盘子为空与盘子中放入了苹果,用于表示爸爸与女儿间的同步关系;empty与orange表示盘子为空与盘子中放入了桔子,用于表示妈妈与儿子间的同步关系;答案:1)使用记录型信号量father:beginrepeatproducer an apple;wait(empty);Put an apple to the dish;signal(apple);Until falseend daughter:beginrepeatwait(apple);Get an apple from dish;signal(empty);Eat an apple; Until falseendmother:beginrepeatproducer an orange;wait(empty);Put an orange to the dish;signal(orange); Until falseend son:beginrepeatwait(orange);Get an orange from dish;signal(empty);Eat an orange; Until falseend2)使用记录型信号量varmutex,empty,apple,orange:semaphore:=1,2,0,0;dish: array[0,1] of fruit;in, out:integer:= 0,0;father:beginrepeatproducer an apple;wait(empty);wait(mutex);if dish[in]==apple or dish[in]==orange thenin:=(in+1) mod 2;disk[in]:=apple;in:=(in+1) mod 2;signal(mutex);signal(apple);Until falseend daughter:begin repeatwait(apple);wait(mutex);ifdish[out]==orange thenout:=(out+1) mod 2;get an apple from dish[out];out:=(out+1) mod 2;signal(mutex);signal(empty);Eat an apple; Until falseEndmother:beginrepeatproducer an orange;wait(empty);wait(mutex);if dish[in]==apple or dish[in]==orange thenin:=(in+1) mod 2;disk[in]:=orange;in:=(in+1) mod 2;signal(mutex);signal(orange);Until falseend son:beginrepeatwait(orange);wait(mutex);ifdish[out]==apple thenout:=(out+1) mod 2;get an orange from dish[out];out:=(out+1) mod 2;signal(mutex);signal(empty);Eat an apple; Until falseend5、试用信号量实现课件92页,司机与售票员进程的同步关系var stop, door :semaphore:=0,0;driver:beginrepeatdrive a bus; arrive at bus station; signal(stop);rest;wait(door);Until falseend conductor:begin repeatsell tickets;wait(stop);Open the door;Close the doorsignal(door); Until falseend6、试用信号量解决读者—写者问题,使得写者与读者优先级根据到达顺序确定。

第二章 进程管理作业题

第二章 进程管理作业题

操作系统原理第二章作业一、应用题1、进程之间存在哪几种制约关系?各是什么原因引起的?以下活动各属于哪种制约关系?(1)若干学生去图书馆借书(2)两队学生进行篮球比赛(3)流水线生产的各道工序(4)商品生产和消费进程之间存在两种制约关系,即同步和互斥。

同步是由于并发进程之间需要协调完成同一个任务时引起的一种关系,为一个进程等待另一个进程向它直接发送消息或数据时的一种制约关系。

互斥是由于并发进程之间竞争系统的临界资源引起的,为一个进程等待另一个进程已经占有的必须互斥使用的资源时的一种制约关系。

1)是互斥关系,同一本书只能被一个学生借阅,或者任何时刻只能有一个学生借阅一本书。

2)是互斥关系,篮球是互斥资源。

3)是同步关系,一个工序完成后开始下一个工序。

4)是同步关系,生产商品后才能消费。

2、设P、Q、R共享一个缓冲区,P、Q构成一对生产者-消费者,R既为生产者又为消费者,使用P、V操作实现其同步。

The P,V code Using Pascalvar mutex,full,empty:semaphore; full:=1; empty:=0; mutex:=1; cobeginProcedure P Procedure Q Procedure R begin begin begin while true while true if empty:=1 then p(empty); p(full); begin P(mutex); P(mutex); p(empty); Product one;consume one; P(mutex); v(mutex); v(mutex); product; v(full); v(empty); v(mutex);end end v(full); endif full:=1 thenbeginp(full); p(mutex);消费一个产品;v(mutex);v(empty); endcoend3、某工厂有两个生产车间和一个装配车间,两个生产车间分别生产A、B两种零件,装配车间的任务是把A、B两种零件组装成产品,两个生产车间每生产一个零件后都要分别把他们送到专配车间的货架F1、F2上,F1存放零件A,F2存放零件B,F1和F2的容量均可以存放10个零件。

操作系统第二章习题

操作系统第二章习题

1.正在等待他人释放临界资源的进程处于___阻塞______状态;已分配到CPU外的所有资源的进程处_______状态;已获得CPU的进程处于____执行___状态;正在执行的进程由于时间片用完时转为____就绪__状态;因发生某种事件而暂时不能继续执行时转为___阻塞______状态;应终端用户请求而暂停执行时转为______状态。

2.不会发生的状态转换有_________,为什么?就绪-执行;执行-就绪;就绪—阻塞;阻塞-就绪;阻塞—执行;执行-阻塞;3.对于记录型信号量,在执行一次wait操作时,信号量的count值应当_______;当count 值为_______时,应唤醒阻塞队列中的进程。

在记录型信号量机制中,S. count>0时的值表示_______;每次用wait操作意味着_______,因此应将S. count_______;当S. count_______时,进程应阻塞;每次signal操作意味着_______,因此应将S. count_______;当S. count<=0时,表示_______,此时应_______。

4.在每个进程中访问_______的那段代码称为临界区;为实现对它的共享,应保证进程_______地进入自己的临界区;为此,在每个进程的临界区前应设置_______;临界区后应设置_______。

5.在利用信号量实现进程互斥时,应将_______置于_______和_______之间。

6.用信号量S实现对系统中4打印机的互斥使用,S.value的初值应设置为—1—。

7.若S.value当前值为-1,则表示S.L队列中有____1___个等待进程。

8.设有10个进程共享一个互斥段,如果最多允许一个进程进入互斥段,则所采用的互斥信号量应设置为___1____,而该信号量的取值范围为_1~(n-1)______;9.如果最多允许3个进程同时进入互斥段,则所采用的互斥信号量初值应设置为—3—。

操作系统第二章答案

操作系统第二章答案

第二章一、问答题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.1 知识点汇总1、作业及作业步图2-1 作业及作业步2、系统调用:用户程序中对操作系统的调用称为系统调用。

使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。

独立程序:不需要操作系统帮助的程序(包括程序的启动和结束)非独立程序:需要操作系统帮助的程序图2-2 系统调用的执行过程系统调用的特点:(1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。

CPU的指令集中都有一条系统调用指令,又称访管指令但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。

因此:同一种计算机上的不同操作系统,系统调用指令是相同的。

同一操作系统,在不同的计算机上,系统调用指令是不同的。

(2)系统调用是动态连接的静态连接:程序在编译时,将被调用的程序嵌入到自身中。

如:库函数调用动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。

如:动态连接库(dynamic link library,DLL),系统调用。

由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。

(3)系统调用的调用地址和返回地址不是固定的。

系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。

返回地址,由用户程序中系统调用指令的位置决定。

(4)安全接口在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。

执行系统调用时,进入系统态。

从系统调用中返回用户程序时,进入用户态。

状态切换的目的:某些特权指令只能在系统态下执行。

一些地址,只能在系统态下访问。

从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。

中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。

操纵系统第二版第二章课后知识题目解析

操纵系统第二版第二章课后知识题目解析

第二章进程和线程作业答案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,可以。

操作系统作业

操作系统作业

第二章进程管理(作业)1、程序执行时的两种方式及特点是什么?2、讨论Bernstein条件。

3、进程与程序的区别是什么?4、为什么说各进程在单机时并发执行与多机时并行执行在本质上是一样的?5、说明制约关系:a)若干同学去图书馆借书b)两队进行篮球比赛c)流水线生产中的各道工序d)商品生产与社会消费6、解释临界资源、临界区及互斥机制的原则。

7、设有K个进程共享一临界区,对于下述情况,说明信号量的初值,含义并用P,V原语写出互斥算法。

a)一次只允许一个进程进入临界区b)一次允许L(L﹤K)个进程进入临界区8、进程A的工作流程如图。

若系统中进程只有三种状态,转化如图。

被调度选中后可投入运行,时间片q=200ms,用序号列出其生命过程,并注明原因。

开始计算盘I/O 带I/O 打印I/O 结束250ms 50 ms 200 ms 150 ms9、设有n个单元的环形缓冲区以及一个无穷信息序列。

甲进程按信息序列逐个地把信息写入环形缓冲区,乙进程则逐个地把缓冲区信息读出。

试问:a)叙述甲、乙进程间的制约关系。

b)下面同步算法有无错误?其中S1初值为0,S2初值为n-1。

c)若缓冲区有无穷多个,则两进程间制约关系如何?请写出相应的同步算法。

10、设有64个存储区域其编号为0,…,63,存储区使用与否用一个64位的标志字表示,每一位对应一个存储区域,当某位置1时,表示该区已分配,置0表示该区空闲。

get进程负责存储区的分配,每次分配一个区域,其分配动作为:找出标志字的某个为0位,将其置1;put进程负责存储区的回收,其回收动作为:把回收区域对应的标志字的相应位置0。

试问:a)分析get,put进程的同步关系。

b)用P,V原语写出两个进程间的同步算法。

11、某超级市场,可容纳100人同时购物。

入口处备有篮子,每个购物者可持一只篮子入口购物,出口处结帐,并归还篮子(出入口仅容一个人通过),请用P,V原语写出购物同步算法。

操作系统第二章作业答案

操作系统第二章作业答案

答:中断一般处理过程:
1,设备给处理器发了个中断信号。
2,处理器处理完处理完当前指令后响应中断,这个延迟非常短,要求处理器没有关闭
1
中断。 3,处理器发送中断应答信号。 4,处理器将 pc 和 psw 压入栈 5,根据中断设置加载新的 pc。 6,中断处理程序剩余状态信息。 7,中断处理程序处理中断。 8,回复被中断成簇的上下文。 9,恢复到老的 psw 和 pc 的值。
理程序的功能和作用可以根据系统的需要、想要处理的预定的异常事件的性质和要求,以及
输入输出设备的特点,进行安排设计。因此中断系统对于操作系统完成其管理计算机的任务
也是十分重要的。一般来说中断有以下特点:一,能充分发挥处理器的利用效率。二,提高
系统的实时能力。
10、中断的一般处理过程是什么?若多个中断同时发生呢?
通常会设置两个缓冲区。
9、什么是中断?为什么说中断对现代计算机很重要?
答:中断就是指计算机在执行期间,系统内或系统外发生异步事件,使得 cpu 暂时中止当前
正在执行的程序而转去执行相应的பைடு நூலகம்件处理程序,待处理完毕后又返回原来被中断处继续执
行或者调度新的进程执行的过程。中断能迫使处理器去处理各中断处理程序,而这个中断处
矛盾。
首先,为了方便对缓冲区的管理,缓冲区往往是和设备相联系的,而不是直接与用户联
系。再者,缓冲区信息可供多个用户共同使用,并反复使用。这样就减少了输入输出的次数,
减轻了 通道和输入输出设备的压力。每当用户要求输入数据时,先在缓冲区中去找,如果
已经在缓冲区中,即可直接从中读取,这样就减少了输入次数。还有,为了提高设备利用率,
磁盘存储器
磁带机
光盘存储器
沿着层次下降时,每比特价格将下降,容量将增大,速度将变慢,而处理器的访问频率
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章
2. 试画出下面条语句的前趋图:
S1: a=x+y;
S2: b=z+1;
S3: c=a-b;
S4: d=c+1;
8. 试说明进程在三个基本状态之间转换的典型原因.
a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.
b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.
c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.
13 在创建一个进程时,需完成的主要工作是什么?
a. 操作系统发现请求创建新进程事件后,调用进程创建原语Creat();
b. 申请空白PCB;
c. 为新进程分配资源;
d. 初始化进程控制块;
e. 将新进程插入就绪队列.
18. 同步机构应遵循哪些基本准则?为什么?
a. 空闲让进.
b. 忙则等待.
c. 有限等待.
d. 让权等待.
为实现进程互斥地进入自己的临界区。

22. 试写出相应的程序来描述图2-17所示的前趋图:
Var a,b,c,d,e,f,g,h:semaphore:=0,0,0,0,0,0,0,0;
Begin
begin S1; Signal(a); Signal(b);end;
begin wait(a); S2;Signal(c); Signal(d);end;
begin wait(b); S3;Signal(e); end;
begin wait(c); S4;Signal(f);end;
begin wait(d); S5;Signal(g); end;
begin wait(e); S6;Signal(h);end;
begin wait(f); wait(g); wait(h); S7; end;
end
Var a,b,c,d,e,f,g,h,i,j:semaphore:=0,0,0,0,0,0,0,0,0,0;
Begin
begin S1; Signal(a); Signal(b);end;
begin wait(a); S2;Signal(c); Signal(d);end;
begin wait(b); S3;Signal(e); Signal(f);end;
begin wait(c); S4;Signal(g);end;
begin wait(d); S5;Signal(h); end;
begin wait(e); S6;Signal(i);end;
begin wait(f); S7;Signal(j);end;
begin wait(g); wait(h); wait(i); wait(i); S8; end;
end
25. 我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥.
开锁原语:
unlock(W):
W=0;
关锁原语:
lock(W);
if(W==1) do no_op;
W=1;
利用开关锁原语实现互斥:
var W: semaphore:=0;
begin
parbegin
process :
begin
repeat
lock(W);
critical section
unlock(W);
remainder section
until false;
end
parend
26. 试修改下面生产者-消费者问题解法中的错误:
producer:
begin
repeat
.
.
producer an item in nextp;
wait(mutex);
wait(full); /* 应为wait(empty),而且还应该在wait(mutex)的前面 */ buffer(in):=nextp; /* 缓冲池数组游标应前移: in:=(in+1) mod n; */ signal(mutex);/* signal(full); */
until false;
end
consumer:
begin
repeat
wait(mutex);
wait(empty); /* 应为wait(full),而且还应该在wait(mutex)的前面 */ nextc:=buffer(out);
out:=out+1; /* 考虑循环,应改为: out:=(out+1) mod n; */
signal(mutex);/* signal(empty); */
consumer item in nextc;
until false;
end。

相关文档
最新文档