文档库 最新最全的文档下载
当前位置:文档库 › 计算机操作系统作业2(含答案)

计算机操作系统作业2(含答案)

计算机操作系统作业2(含答案)
计算机操作系统作业2(含答案)

一、选择题

1.在进程的组成部分之中,进程在运行中不可修改的部分是______。

A.私用程序段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和进程B通过共享缓冲区协作完成数据处理,进程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.先来先服务方法

C.响应比高者优先法D.均衡调度算法

11.下面关于线程的叙述中正确的是______。

A.线程包含CPU现场,可以独立执行程序B.每个线程有自己独立的地址空间C.线程之间的通信必须使用系统调用函数D.进程只能包含一个线程

12.并发进程之间______。

A.彼此无关B.必须同步C.必须互斥D.可能需要同步或互斥

13.当一个进程运行时,系统可能基于某种原则强行将其撤下,把处理器分配给其他进程,这种调度方式是______。

A.非剥夺方式B.剥夺方式C.中断方式D.查询方式

14.信号量S不能用于______操作。

A.signal B.wait C.赋初值D.运算表达式

15.______是一种只能进行wait操作和signal操作的特殊变量

A.调度B.进程C.同步D.信号量

16.分配给进程占用处理机的时间到而强迫进程P让出处理器,或有更高优先级的进程要运行,迫使正在运行的进程P让出处理器,则进程P状态变化的情况为______ A.运行态->就绪态B.运行态->等待态

C.就绪态->运行态D.等待态->就绪态

17.下面关于进程的叙述中正确的是______。

A.进程获得CPU运行是通过调度得到的

B.优先级是进程调度的重要依据,一旦确定就不能改变

C.在单CPU的系统中,任何时刻都有一个进程处于运行状态

D.进程申请CPU得不到满足时,其状态变为阻塞

B.错误优先级是可以动态改变的。

C.错误没进程的时候,系统可以空闲。

D.错误变为就绪态。

18.操作系统通过______对进程进行管理。

A.进程B.进程控制块C.进程启动程序D.进程控制区

19. 若一个进程拥有100个线程,这些线程属于用户级线程,它们在系统调度执行时间上占用的时间片个数是______。

A.1B.100 C.1/100 D.0

本题主要考查关于进程和线程之间资源共享的知识点。在引入线程的操作系统中,线程是进程中的一个实体,是系统独立调度和分派的基本单位。但是线程自己基本上不拥有系统资源,所以它不是资源分配的基本单位,它只拥有一部分在运行中必不可少的与处理机相关的资源,如线程状态、寄存器上下文和栈等,它同样有就绪、阻塞和执行三种基本状态。它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。由于用户线程不依赖于操作系统内核,因此,操作系统内核是不知道用户线程的存在的,用户线程是由用户来管理和调度的,用户利用线程库提供的API来创建、同步、调度和管理线程。所以,用户线程的调度在用户程序内部进行,通常采用非抢先式和更简单的规则,也无须用户态和核心态切换,所以速度很快。由于操作系统不知道用户线程的存在,所以,操作系统把CPU的时间片分配给用户进程,再由用户进程的管理器将时间分配给用户线程。那么,用户进程能得到的时间片即为所有用户线程共享。因此,正确答案应为A。

20. 解除死锁通常不采用的方法是______。

A.终止一个死锁进程B.终止所有死锁进程

C.从死锁进程处抢夺资源D.从非死锁进程处抢夺资源

21. 到其他3种状态的进程状态是______。

A.就绪B.阻塞C.完成D.执行

22.信号量的初值为2,当前值为-3,则表示等待进程有______。

A.1个B.2个C.3个D.5个

若信号量为正,则表示资源数;若信号量为负,则表示等待的进程数

23.wait操作可能导致______。

A.进程就绪B.进程结束C.进程阻塞(等待)D.新进程创建24.在操作系统中为避免系统的死锁采用______。

A.银行家算法B.破坏占有并等待条件

C.死锁检测和恢复D.破坏非剥夺条件

25.下列的进程状态变化中不可能发生的变化是______。

A.等待→运行B.运行→等待C.运行→就绪D.等待→就绪26.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为______。

A. 3 B.1 C.2D.0

27.进程之间交换数据不能通过______途径进行。

A.共享文件B.消息传递C.访问进程地址空间D.访问共享存储区域28.进程控制块PCB不包括的内容是______。

A.CPU现场B.进程优先级C.进程运行状态D.文件缓冲区

29.PCB是描述进程状态和特性的数据结构,一个进程______。

A.可以有多个PCB B.可以和其他进程共用一个PCB

C.可以没有PCB D.只能有唯一的PCB

30.资源顺序分配法破坏了死锁发生的______必要条件。

A.互斥占用B.占有等待C.非剥夺D.循环等待

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

31.进程和程序的本质区别是______。

A.内存和外存B.动态和静态特征

C.共享和独占使用计算机资源D.顺序和非顺序执行指令

32.设有两个进程共享3个同类资源,为使系统不死锁,每个进程最多可以申请______资源。

A.0 B.1 C.2D.3

33.作业调度中的先来先服务算法是以______为出发点考虑的。

A.作业执行时间B.作业的周转时间

C.作业等待时间D.等待时间加运行时同

34.设m为同类资源数,n为系统中的并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是w。下列情况下,系统会死锁的是______。

A.m=2,n=l,w=2 B.m=2,n=2,w=1

C.m=4,n=3,W=2 D.m=4,n=2,w=3

当2个进程已经拥有2个资源,都申请第3个资源时,导致死锁。

35.用于解决进程间互斥的方法是______。

①信号量及wait、signal操作②加锁与解锁③信箱方式

④消息缓冲方式⑤特权指令方式

A.③、④和⑤B.①和②C.①和③D.②和⑤

36.在操作系统中,每个进程具有独立性,进程之间又具有相互制约性。对于任何两个并发进程,它们______。

A.必定无关B.必定相关C.可能相关D.可能相同

二、简答题

1.什么是线程?进程和线程的关系是什么?

2.进程能自己将自己唤醒吗?进程能自己将自己撤销吗?

3.父进程创建子进程之后,父子进程间的关系是什么?

4.简述引进线程的好处。

5.当一个进程的父进程被撤销时,该进程是撤销好还是不撤销好?

6.为什么说进程同步问题关系到OS的成败?同步机制应遵循的准则是什么?

7.进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?

(1)若干同学去图书馆借书。

(2)两队举行篮球比赛。

(3)流水线生产的各道工序。

(4)商品生产和消费。

8.高级调度和低级调度的主要任务是什么?为什么引入中级调度?

9.在剥夺调度中,有哪些剥夺原则?

10.引起进程调度的主要因素。

11.何为死锁?产生死锁的原因和必要条件是什么?比较三种解决死锁的方法?

12.试比较说明进程和程序的区别有哪些?

三、应用题

1. 有一个理发师,一把理发椅和n把供等候理发的顾客坐的椅子。如果没有顾客,则理发师便在理发椅子上睡觉;当一个顾客到来时,必须唤醒理发师,进行理发;如果理发师正在理发时,又有顾客来到,则如果有空椅子可坐,他就坐下来等,如果没有空椅子,他就离开。为理发师和顾客各编一段程序描述他们的行为,要求不能带有竞争条件。

2. 计算进程PC和打印进程P01、P02共享一个单缓冲区,计算进程负责计算,并把计算结果放入单缓冲中;打印进程P01、P02则负责从单缓冲中取出计算结果进行打印,而且对每个计算结果,P01和P02都需分别打印一次。请用记录型信号量描述上述进程间的同步关系。

3. 设有三个进程,输入进程(input)、计算进程(compute)和输出进程(output),它们通过共享两个缓冲区buf1和buf2协作完成任务。如下图所示

三个进程之间的合作关系如下:

(1)输入进程使用put()函数把数据送到buf1,供计算进程调用calculate()函数计算;

(2)计算进程每次调用get()函数从buf1取出已输入的可计算的数据进行计算,并把计算结果使用put()函数把数据送到buf2送入buf供输出进程打印;

(3)输出进程调用get()函数把buf2中的数据使用print()函数输出。

定义合适的信号量,并用伪代码完成实现过程。

4. 设系统中有三类资源A、B和C,又设系统中有5个进程P1,P2,P3,P4和P5。在T0时刻系统状态如下:

(1)系统是否处于安全状态?(请给出详细的判断过程)如是,则给出进程安全序列。

(2)如果进程P5申请1个资源类A和1个资源类C,能否实施分配?为什么?

5. 设有五道作业,它们的提交时间和运行时间见下表,试给出在如下表所示的三种调度算法下,作业的执行顺序,以及平均周转时间和带权平均周转时间:

(1) 先来先服务调度算法;

(2) 短作业优先调度算法;

(3) 响应比高优先调度算法。

作业提交和运行时间表

6. 假设系统有同类资源10个,供P,Q、R三个进程共享,P、Q、R所需资源总数分别为8、4、9,它们申请资源的次序和数量如下表所示。

按银行家算法为它们分配资源:

(1) 写出执行完序号为6的申请时,各进程的状态和已占的资源数。

(2) 请估计系统是否会出现死锁,并简要说明理由。

7.下面给出的两个进程互斥的算法是安全的吗?为什么?

#define true;

# define false;

Int flag[2];

flag[1]=flag[2]=false;

enter-crtsec(i)

int i;

{

While(flag[1-i])

flag[i]=true;

}

leave-crtsec(i)

Int i;

{

flag[i]=false;

}

process I;

Enter-crtsec(i);

In critical section;

Leave-crtsec(i);

8. 设系统有三种类型的资源,数量为(4,2,2),系统中有进程A,B,C按如下顺序请求资源:

进程A申请(3,2,1)

进程B申请(1,0,1)

进程A申请(0,1,0)

进程C申请(2,0,0)

请你给出一和防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺。

9. 进程A1,A2,…,An 通过K 个缓冲区向进程B1,B2,…,Bm 不断地发送消息。发送和接收工作遵循如下规则:

(1) 每个发送进程一次发送一个消息,写入缓冲区,缓冲区大小与消息长度一致;

(2) 对每个消息,B1,B2,…,Bm 都需接收一次,读入各自的数据区内;

(3) K 个缓冲区都满时,发送进程等待,没有可读的消息时,接收进程等待。

试用wait 和signal 原语操作组织正确的发送和接收操作。

一、选择题

BDABD BCCBD ADBDD AABAD DCCAA CCDDD BCCDB C

二、简答题

1.

线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度实体。在具有多线程机制的操作系统中,处理机调度的基本单位不是进程而是线程。一个进程可以有多个线程,而且至少有一个可执行线程。

进程和线程的关系是:

(1)线程是进程的一个组成部分。

(2)进程的多个线程都在进程的地址空间活动。

(3)资源是分给进程的,而不是分给线程的,线程在执行中需要资源时,系统从进程的资源分配额中扣除并分配给它。

(4)处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程。

(5)线程在执行过程中,需要同步。

2.

唤醒进程和撤消进程都是要通过CPU上运行程序来实现的。一个进程入睡了,它就不可能被调度到CPU上运行;一个进程在撤消前必须先进入终止状态,而处于终止状态的进程不可能被调度到CPU上运行。因此,进程被唤醒、被撤消都不能由自己来完成,只能由别的进程实现。

3.

一个进程创建子进程之后,进程与产生的进程之间的关系是父子关系,分别成为进程和子进程。子进程一经产生就与你进程并发执行,子进程共享父进程和子进程。子进程一经产生就与你进程并发执行,子进程共享父进程的正文段和已经打开的文件。

4.

(1)以线程作为系统调度的基本单位,减少了系统的时空开销。以进程为系统调度的基本单位的系统中,进程的切换是很频繁的。在切换中由于要保留当时的运行环境,还要设置新选中的进程的运行环境,这既花费了处理机的时间,又增加了主存的空间,从而也限制了系统进程的数量和进程的切换速度。

(2)引进线程提高了系统的并行能力。线程作为进程内的一个可执行实体,减少了并行粒度。线程作为调度的基本单位而不是资源分配的基本单位,调度更为容易,而且采用线程提高系统的并行能力比采用进程更为有效。

(3)同一进程的线程共享进程的用户地址空间,所以同一进程的线程间的通信更容易实现。

5.

在实际系统中,两种处理办法都是可行的,且各有优缺点。若撤消,则该进程的任务可能还没有完成,这显然是不利的,特别是当该进程的运行结果对其他进程的运行很重要(如该进程是其他进程的前趋进程,没有它的运行结果其他进程无法运行)时;若不撤消,则该进程又可能成为不可控的"孤儿",从而产生不可预测的结果。比较好的做法是,当一个进程的父进程被撤消时,可以将该进程"过继"给系统内一个级别较高的进程(如Unix中的1#进程),

让它有一个"新的父亲",这样既可以继续完成其任务又不会成为不可控的。

6.

进程同步问题若处理不当,有可能会产生种种"与时间有关性错误",特别是当两个或多个进程共享了公共变量而又没有互斥地使用这些变量时,极有可能导致用户程序运行结果的不正确,这量种灾难性的后果。这种OS显然是不成功的,是用户不敢使用的。

有以下四条准则:空闲让进、忙则等待、有限等待、让权等待。

7.

进程间存在着两种相互制约的关系:直接制约关系(即同步问题)和间接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待产生的制约关系,互斥问题是相互无逻辑关系的进程间竞争使用相同的资源所发生的制约关系。

(1)属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学。

(2)属于互斥关系,篮球只有一个,两队都要争夺。

(3)属于同步关系,各道工序的开始都依赖前道工序的完成。

(4)属于同步关系,商品没生产出来,消费无法进行,商品未消费完,生产也无需进行。

8.

(1)高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。

(2)低级调度又称进程调度。它是距离硬件最近的一级调度。其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。

(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。

9.

(1)时间片原则。在轮转算法中,CPU轮流为诸多进程服务,每个进程运行完自己的时间片后,系统就将CPU剥夺过来,交给下一个进程使用。

(2)优先级原则。为紧迫的作业赋予较高的优先级,这种作业到达系统或由阻塞状态被唤醒后,若其优先级高于当前运行的进程的优先级,可以剥夺当前运行进程的CPU。(3)短作业(进程)优先原则。若一个作业(进程)到达系统,其运行长度比当前运行的进程长度明显的短,则剥夺当前运行的进程CPU。

10.

1)一个进程运行完毕。

(2)一个正在运行的进程被阻塞。

(3)在抢占式调度中,一个高优先级的进程被创建。

(4)在抢占式调度中,一个高优先级进程由阻塞唤醒。

(5)在轮转式调度中,正垢进程运行完一个时间片。

11.

(1)死锁是指多个进程因竞争资源而造成的一种僵持状态。若无外力作用,这些进程都将永远处于阻塞状态,不能再运行下去。

(2)产生死锁的原因有:资源不足、进程推进次序不当。

(3)产生死锁的必要条件有:互斥条件、请求和保持条件、非剥夺条件、环路等待条件。比较三种解决死锁的方法:

(1)预防死锁方法,主要是破坏产生死锁的必要条件。该方法是最容易实现的,但系统资源利用率较低。

(2)避免死锁方法,比较实用的有银行家算法(Banker Algorithm)。该算法需要较多的数据结构,实现起来比较困难,但资源利用率最高。

(3)检测死锁方法是基于死锁定理设计的。定期运行该算法对系统的状态进行检测,发现死锁便予以解除。其中,需要比较一下各咱死锁解除方案的代价,找到代价最小的方案。该方法最难实现,资源利用率较高。

12.

(1)每个进程实体中包含了程序段和数据段这两个部分,因此说进程是与程序是紧密相关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB。

(2)进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建而产生、由调度而执行、由撤消而消亡,即它具有一定的生命周期。而程序则只是一组指令的有序集合,并和永久地存放在某种介质上,其本身不具有运动的含义,因此是静态的。

(3)多个进程实体可同时存放在内存中并发地执行,也正是引入进程的目的。而程序(在没有为它创建进程时)的并发执行具有不可再现性,因此程序不能正确地并发执行。

(4)进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。而因程序不具有PCB,所以它是不可能在多道程序环境下独立运行的。

(5)程与程序不一一对应。同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。

三、应用题

1.

#define CHAIRS /* 为等候的顾客准备的椅子数*/

semaphore customers=0;

semaphore barbers=0;

semaphore mutex=1;/* 用于互斥*/

int waiting=0;

void barber()

{

while (1)

{

wait(customers);

wait (mutex);

waiting=waiting-1;

signal (mutex);

理发;

signal(barbers);

}

}

void customers()

{

wait (mutex);

if(waiting

{

waiting=waiting+1;

signal (mutex):

signal (customers);

坐下等待;

wait (barbers);

}

else

{

signal (mutex);

}

}

2.

为了实现计算进程和打印进程之间的同步,并使单缓冲中的每个计算结果都被两个打印进程分别打印一次。可设置四个信号量:full1表示缓冲中是否有可供P01打印的计算结果,full2表示缓冲中是否有可给P02打印的计算结果;emptypl、empty2则表示计算结果是否已被P01l、P02取走,只有当一个结果被两个打印进程都取走后,缓冲区才变空,计算进程才可将下一个计算结果放入单缓冲。相应的同步算法可描述如下:

Var empty1,enpty2,full1,full2: semaphore:=1,1,0,0;

begin

Parbegin

PC:begin

Repeat

computrt next number;

P(empty1):

P(empty2);

add the number to bufer;

V(full1);

V(full2);

Until false;

end

P01: begin

repeat

P(full1);

take from bufer;

V(emptyl):

print last number;

until flase;

end

P02:begin

Repeat

P(full2);

take from buffer;

V(empty2);

print last number;

until false

end

parend

end

3.

信号量:nonf1、none1:输入进程与计算进程同步,buf1是否为空;

nonf2 、none1:计算进程与输出进程同步,buf2是否为空;

s1、s2:分别互斥使用buf1和buf2

procedure input

begin

wait(nonf1)

wait(s1)

put(data);

signal(s1);

signal(none1);

until false

end;

procedure compute

begin

wait(none1);

wait(s1);

data=get();

data=calculate(data);

signal(s1);

signal(nonf1);

wait(nonf2);

wait(s2);

put(data);

signal(s2);

signal(none2);

until false

end;

procedure output

begin

wait(none2);

wait(s2);

data=get();

print(data);

signal(s2);

signal(nonf2);

until false

end;

4.

系统处于安全状态,安全序列为:P3,P1,P2,P4,P5。

(2)P1发出请求向量Request1(1,0,1),系统按银行家算法进行检查:

1) Request1(1,0,1)<= Need1(1,2,6)

2) Request1(1,0,1)<= Available(1,6,3)

3) 系统先假定可为P1分配资源,并修改Available、Allocation1、Need1向量,资源变化情况如下:

max Allocation Available Need

A B C A B C A B C A B C

P1 1 2 10 0 0 4 0 6 2 0 1 6

P2 1 7 5 1 0 0 0 7 5

P3 2 3 5 1 3 5 1 0 0

P4 0 6 4 0 0 2 0 6 2

P5 0 6 5 0 0 1 0 6 4

剩余资源可满足P4,分给P4给还后(0,6,4)可满足P5,分配P5归还后(0,6,5)不满足其它进程要求,即不能实施分配,因为分配后找不到安全序列,系统将处于不安全状态。5.

J1,J2,J3,J4,J5

T=[(10.4-10.1)+(10.9-10.3)+(11.3-10.5)+(11.6-10.6)+(1l.8-10.7)]/5

=3.8/5=0.76h

T=[(10.4-10.1)/0.3+(10.9-10.3)/0.5+(11.3-10.5)/0.4+(11.6-10.6)/0.3+(1l.8-10.7)/0.2]/5

=13.033/5=2.61

(2) 短作业优先调度(SJF)算法。

J1,J2,J5,J4,J3

T=[(10.4-10.1)+(10.9-10.3)+(11.8-10.5)+(11.4-10.6)+(11.1-10.7)]/5

=3.4/5=0.68h

T=[(10.4-10.1)/0.3+(10.9-10.3)/0.5+(11.8-10.5)/0.4+(11.4-10.6) /0.3+ (11.1-10.7)/0.2]/5

=10.117/5=2.02

J1,J2,J3,J2,J5,J4,J3

T=[(10.4-10.1)+(11.0-10.3)+(11.8-10.5)+(11.5-10.6)+(11.2-10.7)]/5

=3.7/5=0.72h

T=[(10.4-10.1)/0.3+(11.0-10.3)/0.5+(11.8-10.5)/0.4+(11.5-10.6) /0.3+ (11.2-10.7)/0.2]/5

=11.15/5=2.23

6.

(1) 执行完序号为6的申请时,各进程的状态和已占的资源数如表所示;

根据单项银行家算法,过程为:

1) R申请2个资源时,剩余资源可使各进程运行结束,所以这个分配是安全的,故将2个资源分给R;

2) 同理,P、Q分别申请4,2个资源时,剩余资源可使各进程运行结束,所以这个分配也是安全的,故将4、2个资源分给P、Q;

3) P申请2个资源时,系统此刻剩余资源数为2,如果将这两个资源分给P,系统就没有资源了。这时的P、Q、R都还需要资源才可运行完,这样,P、Q、R将都进入阻塞状态,所以P申请的这两个资源不能分配。

4) 同理,接下来R欲申请1个资源也是不安全的分配,故不能分给。

5) Q申请2个资源时,假定操作系统分给它,Q进程将运行结束,Q释放的资源又可使P运行结束;P运行结束,释放的资源又可使R运行结束。所以这个分配是安全的,故将2个资源分给Q。

(2)不会死锁,因为银行家算法在任何时候均保证至少有一个进程能得到所需的全部资源,这样,得到资源的进程能及时归还资源供其他进程使用。

7.

从概念上讲,系统中各进程在逻辑上是独立的,它们可以按各自的速度向前推进。但由于它们共享某些临界资源,因而产生了临界区问题。对于具有临界区问题的并发进程,它们之间必须互斥,以保证不会同时进入临界区。

这种算法不是安全的。因为,在进入临界区的enter-crtsec()不是一个原语操作,如果两个进程同时执行完其循环(此前两个flag均为false),则这两个进程可同时进入临界区。

8.

①分配策略为:当进程Pi申请ri类资源时,检查ri中有无可分配的资源:有则分配给Pi;否则将Pi占有的资源全部释放而进入等待状态。(Pi等待原占有的所有资源和新申请的资源)

②资源分配过程:剩余资源

进程A:(3,2,1)(1,0,1)

进程B:(1,0,1)(0,0,0)

进程A:(0,1,0)(不满足)(3,2,1)

A的所有资源被剥夺,A处于等待

进程C:(2,0,0)(1,2,1)

C,B完成之后,A可完成。

9.

生产者-消费者问题的一个变形,一组生产者A1,A2....,An和一组消费者B1,B2,...,Bm共用k个缓冲区,每个缓冲区只要写一次,但需要读m次。因此,我们可以把这一组缓冲区看成m组缓冲区,每个发送者需要同时写m组缓冲区中相应的m个缓冲区,而每一个接收者只需读它自己对应的那组缓冲区中的对应单元。

设置一个信号量mutex实现诸进程对缓冲区的互斥访问;两个信号量数组empty[m]和full[m]描述m组缓冲区的使用情况。mutex的初值为l,数组empty中元素初值为k,数组full中的元素初值为0。其同步关系描述如下:

int mutex,empty[m],full[m];

int i;

mutex=1;

for(i=0;i<=m-1;i++)

{

empty[i]=k;

full[i]=0;

}

main( )

{

cobegin

A1();

A2();

An();

B1();

B2();

Bm();

coend

}

send() /*发送消息*/

{

in i;

for(i=0;i<=m-1;i++)

P(empty[i]);

P(mutex);

将消息放入缓冲区;

V(mutex);

for(i=0;i<=m-1;i++)

V(full[i]);

}

receive(i) /*接收消息*/

{

p(full[i]);

P(mutex);

将消息从缓冲区取出;

V(mutex);

V(empty[i]);

}

Ai() /*因发送进程A1,A2,...,An的程序类似。这里只给出进程Ai的描述。*/ {

while(1)

{

send();

}

}

Bi() /* 因接收进程B1,B2,…,Bm的程序类似这里只给出进程Bi的描述*/ {

while(1)

{

recive(i);

}

}

计算机操作系统习题答案

计算机操作系统习题答 案 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

第一章操作系统概论 1.单项选择题 ⑴ B; ⑵ B; ⑶ C; ⑷ B; ⑸ C; ⑹ B; ⑺ B;⑻ D;⑼ A;⑽ B; 2.填空题 ⑴操作系统是计算机系统中的一个最基本的系统软件,它管理和控制计算机系统中的各种系统资源; ⑵如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为多功能(元)操作系统; ⑶没有配置任何软件的计算机称为裸机; ⑷在主机控制下进行的输入/输出操作称为联机操作; ⑸如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于分时操作系统类型;如果OS可靠,响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户递交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理操作系统类型; ⑹操作系统的基本特征是:并发、共享、虚拟和不确定性; ⑺实时操作系统按应用的不同分为过程控制和信息处理两种; ⑻在单处理机系统中,多道程序运行的特点是多道、宏观上并行和微观上串行。 第二章进程与线程 1.单项选择题

⑴ B;⑵ B;⑶ A C B D; ⑷ C; ⑸ C; ⑹ D; ⑺ C; ⑻ A; ⑼ C; ⑽ B; ⑾ D; ⑿ A; ⒀ D; ⒁ C; ⒂ A; 2.填空题 ⑴进程的基本状态有执行、就绪和等待(睡眠、阻塞); ⑵进程的基本特征是动态性、并发性、独立性、异步性及结构性; ⑶进程由控制块(PCB)、程序、数据三部分组成,其中PCB是进程存在的唯一标志。而程序部分也可以为其他进程共享; ⑷进程是一个程序对某个数据集的一次执行; ⑸程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性; ⑹设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况: ①没有运行进程,有2个就绪进程,n个进程处于等待状态; ②有一个运行进程,没有就绪进程,n-1个进程处于等待状态; ③有1个运行进程,有1个等待进程,n-2个进程处于等待状态; ④有1个运行进程,n-1个就绪进程,没有进程处于等待状态; 上述情况中不可能发生的情况是①; ⑺在操作系统中引入线程的主要目的是进一步开发和利用程序内部的并行性; ⑻在一个单处理系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有4个,最少0个;

计算机操作系统作业2(含答案)

一、选择题 1.在进程的组成部分之中,进程在运行中不可修改的部分是______。 A.私用程序段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和进程B通过共享缓冲区协作完成数据处理,进程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.先来先服务方法 C.响应比高者优先法D.均衡调度算法 11.下面关于线程的叙述中正确的是______。 A.线程包含CPU现场,可以独立执行程序B.每个线程有自己独立的地址空间C.线程之间的通信必须使用系统调用函数D.进程只能包含一个线程 12.并发进程之间______。 A.彼此无关B.必须同步C.必须互斥D.可能需要同步或互斥 13.当一个进程运行时,系统可能基于某种原则强行将其撤下,把处理器分配给其他进程,这种调度方式是______。 A.非剥夺方式B.剥夺方式C.中断方式D.查询方式 14.信号量S不能用于______操作。 A.signal B.wait C.赋初值D.运算表达式 15.______是一种只能进行wait操作和signal操作的特殊变量 A.调度B.进程C.同步D.信号量 16.分配给进程占用处理机的时间到而强迫进程P让出处理器,或有更高优先级的进程要运行,迫使正在运行的进程P让出处理器,则进程P状态变化的情况为______ A.运行态->就绪态B.运行态->等待态 C.就绪态->运行态D.等待态->就绪态 17.下面关于进程的叙述中正确的是______。

计算机操作系统(第四版)

第三章处理机调度与死锁 1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。 3、何谓作业、作业步和作业流? 【解】作业包含通常的程序和数据,还配有作业说明书。系统根据该说明书对程序的运行进行控制。批处理系统中是以作业为基本单位从外存调入内存。 作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。 作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。 4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容? 【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。 JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等 5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业? 【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。应将哪些作业从外存调入

计算机操作系统习题及答案.

第5章死锁 1)选择题 (1)为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的_C__ 也可能产生死锁。 A. 进程优先权 B. 资源的线性分配 C. 进程推进顺序 D. 分配队列优先权 (2)采用资源剥夺法可以解除死锁,还可以采用_B___ 方法解除死锁。 A. 执行并行操作 B. 撤消进程 C. 拒绝分配新资源 D. 修改信号量 (3)发生死锁的必要条件有四个,要防止死锁的发生,可以通过破坏这四个必要条件之一来实现,但破坏_A__ 条件是不太实际的。 A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待 (4)为多道程序提供的资源分配不当时,可能会出现死锁。除此之外,采用不适当的_ D _ 也可能产生死锁。 A. 进程调度算法 B. 进程优先级 C. 资源分配方法 D. 进程推进次序 (5)资源的有序分配策略可以破坏__D___ 条件。 A. 互斥使用资源 B. 占有且等待资源 C. 非抢夺资源 D. 循环等待资源 (6)在__C_ 的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B. 有多个封锁的进程同时存在 C. 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D. 资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 (7)银行家算法在解决死锁问题中是用于_B__ 的。 A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁 (8)某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是_C__ 。 A. 12 B. 11 C. 10 D. 9 (9)死锁与安全状态的关系是_A__ 。 A. 死锁状态一定是不安全状态 B. 安全状态有可能成为死锁状态 C. 不安全状态就是死锁状态 D. 死锁状态有可能是安全状态

计算机操作系统作业及答案

作业2 1.若1页大小为4KB,计算机地址总线为32位,则页号共有多少位?逻辑地址 空间最多包含多少页?逻辑地址60000在第几页?页内偏移是多少?若该页被装进物理块1280中,则物理地址是多少? 解:所以页内偏移即页内地址占 12 位页号占 32-12=20 位逻辑地址空间最大页数为页 60000=(EA60)16=(1110 1010 0110 0000)2 其中低 12 二进制位为页内偏移,即(A60)16=2656。高 4 二进制位为页号,即(E)16=14。物理块号1280=(500)16 物理地址=(500A60)16=5245536. 2.假定当前磁头位于100号磁道,进程对磁道的请求序列依次为57,61,39, 20,88,161,139,38,175。当采用先来先服务和最短寻道时间优先算法时,总的移动的磁道数分别是多少?(请给出寻道次序和每步移动磁道数) 解:先来先服务最短寻道时间优先 43 +4+ 22+ 19+ 68+ 73+ 22+ 101 + 137 = 489 12 + 27 + 4 +18 + 1+ 18 + 119 + 22 + 14 = 235 。 3.设系统中有三种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5), A资源的数量17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如下表所示。系统采用银行家算法来避免死锁。请回答下列问题: (1)T0时刻是否为安全状态?若是,请给出安全序列。 (2)若进程P4请求资源(2,0,1),能否实现资源分配?为什么? (3)在(2)的基础上,若进程P1请求资源(0,2,0),能否实现资源分配?为什么? 进程最大资源需求量已分配资源量系统剩余资源数量 A B C A B C A B C P1559212233 P2536402 P3******* P4425204

计算机操作系统(第四版)1-8章 课后答案(全)

第一章操作系统引论 1.设计现代OS的主要目标是什么?答:方便性,开放性,有效性,可扩充性 2.OS的作用可表现在哪几个方面?答:OS作为用户与计算机硬件系统之间的接口;OS作为计算机系统资的管理者;OS实现了对计算机资源的抽象。 3.为什么说操作系统实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层1/0设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。0s通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。 4·说明推动分时系统形成和发展的主要动力是什么?答:主要动力是提高资源利用率和系统吞吐里,为了满足用户对人一机交互的需求和共享主机。 5.何谓脱机I/O和联机I/O?答:脱机1/0是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或一片上的数据或程序输入到殖带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而耽机1/0方式是指程序和数据的輸入输出都是在主机的直接控制下进行的。 6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。主要表现在:CPU的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。 7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及寸接收并及时处理该命令,在用户能接受的时采内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设路多路卡,健主机能同时接收用户从各个终端上轮入的数据;为每个终端配路缓冲区,暂存用户捷入的命令或教据。针对反时处理问题,应便所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。 8.为什么要引入实时OS?答:实时操作系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。引入实时OS是为了满足应用的需求,熏好地满足实时控制领域和实时信息处涯领域的需要。 9.什么是硬实时任务和款实时任务?试举例说明。答:硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的结是。举例来说,运载火箭的控制等。软实时任务是指它的截止时间并不严格,偶尔错过了任务的截止时间,对系统产生的影响不大。举例:网页内容的更新、火车售票系统。 10.试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带未巨大的经济损失,甚至是灾难性后,,所以在实时系统中,往往都采取了

计算机操作系统课后题答案(高等教育出版社)

练习题(一) Ⅰ问答题 1. 操作系统的两个主要目标是什么? 答:方便性与有效性。 2. 试说明操作系统与硬件、其它系统软件以及用户之间的关系? 答: 与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。。 与其他系统软件的关系:操作系统是系统软件,但它不同于其它系统软件和应用软件,它为其它系统软件和应用软件提供接口。应用软件要使用操作系统所提供的服务方可方便使用计算机。 与用户之间的关系:操作系统是为改善人机界面、提供各种服务,为用户使用计算机提供良好运行环境的一种系统软件。 3. 试论述操作系统是建立在计算机硬件平台上的虚拟计算机系统。 答:没有任何软件支持的计算机称为裸机,即使其硬件功能再强,也必定是难于使用的。而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。裸机位于最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机(Virtual Machine ),这样的计算机系统是概念上和逻辑上的计算机,不是物理上的真实计算机。 4. 什么是操作系统?它有哪些基本功能与基本特征? 答:操作系统是位于硬件层之上,所有其它软件层之下的一种系统软件,它控制和管理计算机系统资源、合理组织计算机工作流程、提供用户与计算机系统之间的接口。 操作系统的基本功能有:处理器管理、存储器管理、设备管理、文件管理和提供用户接口。 操作系统的基本特征有:并发性、共享性、虚拟性和不确定性。 5. 请叙述并发和并行两个概念的区别? 答:并发性是指两个或多个程序在同一时间段内同时执行,是宏观上的同时。而并行性是从硬件意义上考虑,是不同硬件部件(如CPU与I/O)在同一时刻的并行,即微观上,多个程序也是同时执行的。 6. 什么是多道程序设计? 在操作系统中使用这种技术有什么好处? 答:多道程序设计是指在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。 好处: ①提高了CPU的利用率。各道程序是轮流占用一个CPU,交替地执行。 ②改进了系统的吞吐量(系统吞吐量是指计算机系统在单位时间内完成的总工作量)。 ③充分发挥了系统的并行性,使CPU与I/O并行工作。提高CPU、设备、内存等各种资源的利用率,从而提高系统效率。

计算机操作系统答案

习题一 1.什么是操作系统?它的主要功能是什么? 答:操作系统是用来管理计算机系统的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合; 其主要功能有进程管理、存储器管理、设备管理和文件管理功能。 2.什么是多道程序设计技术?多道程序设计技术的主要特点是什么? 答:多道程序设计技术是把多个程序同时放入内存,使它们共享系统中的资源; 特点:(1)多道,即计算机内存中同时存放多道相互独立的程序; (2)宏观上并行,是指同时进入系统的多道程序都处于运行过程中; (3)微观上串行,是指在单处理机环境下,内存中的多道程序轮流占有CPU,交替执行。 3.批处理系统是怎样的一种操作系统?它的特点是什么? 答:批处理操作系统是一种基本的操作系统类型。在该系统中,用户的作业(包括程序、数据及程序的处理步骤)被成批的输入到计算机中,然后在操作系统的控制下,用户的作业自动地执行; 特点是:资源利用率高、系统吞吐量大、平均周转时间长、无交互能力。4.什么是分时系统?什么是实时系统?试从交互性、及时性、独立性、多路性 和可靠性几个方面比较分时系统和实时系统。 答:分时系统:一个计算机和许多终端设备连接,每个用户可以通过终端向计算机发出指令,请求完成某项工作,在这样的系统中,用户感觉不到其他用户的存在,好像独占计算机一样。 实时系统:对外部输入的信息,实时系统能够在规定的时间内处理完毕并作出反应。 比较:(1)交互性:实时系统具有交互性,但人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样向终端用户提供数据处理、资源共享等服务。实时系统的交互性要求系统具有连续人机对话的能力,也就是说,在交互的过程中要对用户得输入有一定的记忆和进一步的推断的能力。 (2)及时性:实时系统对及时性没的要求与分时系统类似,都以人们能够接受的等待时间来确定。而及时系统则对及时性要求更高。 (3)独立性:实时系统与分时系统一样具有独立性。每个终端用户提出请求时,是彼此独立的工作、互不干扰。 (4)多路性:实时系统与分时一样具有多路性。操作系统按分时原则为多个终端用户提供服务,而对于实时系统,其多路性主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。 (5)可靠性:分时系统虽然也要求可靠性,但相比之下,实时系统则要求系统高度可靠。 5.实时系统分为哪两种类型? 答:实时控制系统、实时信息处理系统。 6.操作系统的主要特征是什么? 答:并发性、共享性、虚拟性、不确定性。 7.操作系统与用户的接口有几种?他们各自用在什么场合? 答:有两种:命令接口、程序接口;

计算机操作系统作业

一、单项选择题 二、CADCA CADCC CBDBC DDADB DCAD 1.联想存储器在计算机系统中是用于__C____的。 A.存储文件信息B.与主存交换信息 C.内存地址变换D.内存管理信息 2.作业在执行中发生了缺页中断,经操作系统处理后,应该执行的指令是___D___。 A.被中断的前一条B.被中断的后一条 C.作业的第一条D.被中断的指令 在请求分页存储管理中,当指令的执行所需要的内容不在内存中时,发生缺页中断,当缺页调入内存后,应执行被中断指令。另:缺页中断作为中断与其它中断一样要经历如保护CPU环境,分析中断原因,转入缺页中断处理程序进行处理,恢复CPU环境等几个步骤,但缺页中断又是一种特殊的中断,它与一般中断相比,有着明显的区别,主要表现在下面两个方面:(1)缺页中断是在指令执行期间产生和处理中断信号的。(2)一条指令的执行期间,可能产生多次缺页中断。 3.实现虚拟存储器的目的是__D____。 A.实现存储保护B.实现程序浮动 C.扩充外存容量D.扩充内存容量 4.在段页式存储系统中,一个作业对应___C__。 A.多个段表B.一个段表,一个页表 C.一个段表,多个页表D.多个段表,多个页表 5.在虚拟页式存储管理方案中,完成将页面调入内存的工作的是___A___。 A.缺页中断处理B.页面淘汰过程C.工作集模型应用D.紧缩技术利用 6.采用分页式内存管理时,重定位的工作是由___C___完成的。 A.操作系统B.用户C.地址转换机构D.内存空间分配程序 7.在分页式内存管理系统中可能出现的问题是__B____。 A.颠簸B.不能共享C.外部碎片D.动态链接 8.在下列有关分页式内存管理的叙述中正确的是___D___。 A.程序和数据是在开始执行前一次性和装入的 B.产生缺页中断一定要淘汰一个页面 C.一个被淘汰的页面一定要写回外存 D.在页面中有“访问位”和“修改位”等消息 9. 在可变式分配方案中,最佳适应算法是将空白区在空白区表中按___C___次序排列。 A.地址递增B.地址递减C.容量递增D.容量递减 10. 在可变分区分配方案中,将空白分区按地址递增次序排列是要采用___C___。 A.最佳适应算法B.最差适应算法 C.首次适应算法D.最迟适应算法

计算机操作系统习题及答案()

第3章处理机调度1)选择题 (1)在分时操作系统中,进程调度经常采用_D_ 算法。 A. 先来先服务 B. 最高优先权 C. 随机 D. 时间片轮转 (2)_B__ 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A. 作业 B. 静态 C. 动态 D. 资源 (3)__A___ 是作业存在的惟一标志。 A. 作业控制块 B. 作业名 C. 进程控制块 D. 进程名 (4)设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为_ B_ 。 A. l小时 B. 5小时 C. 2.5小时 D. 8小时 (5)现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。系统按单道方式运行且采用短作业优先算法,则平均周转时间是_C_ 。 A. T1+T2+T3 B. (T1+T2+T3)/3 C. (3T1+2T2+T3)/3 D. (T1+2T2+3T3)/3 (6)__D__ 是指从作业提交给系统到作业完成的时间间隔。 A. 运行时间 B. 响应时间 C. 等待时间 D. 周转时间 (7)下述作业调度算法中,_ C_调度算法与作业的估计运行时间有关。 A. 先来先服务 B. 多级队列 C. 短作业优先 D. 时间片轮转 2)填空题 (1)进程的调度方式有两种,一种是抢占(剥夺)式,另一种是非抢占(非剥夺)式。 (2)在_FCFS_ 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。 (3)采用时间片轮转法时,时间片过大,就会使轮转法转化为FCFS_ 调度算法。 (4)一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个_作业步_ 。 (5)作业生存期共经历四个状态,它们是提交、后备、运行和完成。 (6)既考虑作业等待时间,又考虑作业执行时间的调度算法是_高响应比优先____ 。 3)解答题 (1)单道批处理系统中有4个作业,其有关情况如表3-9所示。在采用响应比高者优先调度算法时分别计算其平均周转时间T和平均带权周转时间W。(运行时间为小时,按十进制计算) 表3-9 作业的提交时间和运行时间

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

第二章 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)若该进程还有子进程,应将所

计算机操作系统”课程设计大作业

华南理工大学 “计算机操作系统”课程设计大作业 1)给出数据定义和详细说明; struct block_s{ /* 该块的实际长度,不包括block_s的大小。 */ int length; /* 申请该块的作业,为0表示该块空闲。 */ int owner; /* 当该块是空闲块时,offset表示下一空闲块的偏移,offset为TOTAL_BYTE表示该块是最后一个空闲块。 当该块非空闲块时,offset表示作业实际申请的大小。 */ int offset; }; 2)给出实现思想和设计流程; 该算法遍历空闲链表,找第一个大小能满足要求的块。 然后,若找到的块足够大,再把该块切成两块,返回第一块给调用者;把第二块加到空闲区链表中。

该算法遍历整个空闲链表,找一个大小能满足要求的块。并且该块是所有能满足要求的空闲块中,大小最小的块。 然后,若找到的块足够大,再把该块切成两块,返回第一块给调用者;把第二块加到空闲区链表中。 3)调试完成源程序; #include "stdio.h" #include #include #define n 10 /*假定系统允许的最大作业为n,假定模拟实验中n值为10*/

#define m 10 /*假定系统允许的空闲区表最大为m,假定模拟实验中m值为10*/ #define minisize 100 struct { float address; /*已分分区起始地址*/ float length; /*已分分区长度,单位为字节*/ int flag; /*已分配区表登记栏标志,用"0"表示空栏目*/ }used_table[n]; /*已分配区表*/ struct { float address; /*空闲区起始地址*/ float length; /*空闲区长度,单位为字节*/ int flag; /*空闲区表登记栏标志,用"0"表示空栏目,用"1"表示未分配*/ }free_table[m]; /*空闲区表*/ allocate(char J,float xk) { /*采用最优分配算法分配xk大小的空间*/ int i,k; float ad; k=-1; for(i=0;i=xk&&free_table[i].flag==1) if(k==-1||free_table[i].length

计算机操作系统-课后习题答案-张尧学

第一章绪论 1?什么是操作系统的基本功能?? 答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合 理地组织计算 机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统 的基本功能包括: 处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。 2?什么是批处理、分时和实时系统?各有什么特征? 答:批处理系统(batchprocess in gsystem ):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序( monitor )自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。 分时系统(timesharingoperationsystem ):把处理机的运行时间分成很 短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征 是:交互性、多用户同时性、独立性。 实时系统(realtimesystem ):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源 利用率低。 3.多道程序(multiprogramming )和多重处理(multiprocessing )有何区别? 答;多道程序(multiprogramming )是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing )系 统配置多个CPU能真正同时执行多道程序。要有效使用多重处理,必须采用 运算器、控制器、存储器、输入设备、输出设备 答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户 所要求的业务处理工作,作业说明书则体现用户的控制意图。 3.作业的输入方式有哪几种?各有何特点 答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方 式、SPOOLING (Simultaneous Peripheral OperationsOnline )系统和网络输入方式, 各有如下特点: (1)联机输入方式:用户和系统通过交互式会话来输入作业。 (2)脱机输入方式:又称预输入方式,利用低档个人计算机作为外围处理 机进行输入处理,存储在后备存储器上,然后将此后援存储器连接到高速外围 设备上和主机相连,从而在较短的时间内完成作业的输入工作。 (3)直接耦合方式:把主机和外围低档机通过一个公用的大容量外存直接 耦合起来,从而省去了在脱机输入中那种依靠人工干预宋传递后援存储器的过 程。 (4) SPOOLIN系统:可译为外围设备同时联机操作。在 SPOOLIN系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。

计算机操作系统作业

计算机操作系统作业Newly compiled on November 23, 2020

一、单项选择题 二、CADCA CADCC CBDBC DDADB DCAD 1.联想存储器在计算机系统中是用于__C____的。 A.存储文件信息 B.与主存交换信息 C.内存地址变换 D.内存管理信息 2.作业在执行中发生了缺页中断,经操作系统处理后,应该执行的指令是 ___D___。 A.被中断的前一条 B.被中断的后一条 C.作业的第一条 D.被中断的指令 在请求分页存储管理中,当指令的执行所需要的内容不在内存中时,发生缺页中断,当缺页调入内存后,应执行被中断指令。另:缺页中断作为中断与其它中断一样要经历如保护CPU环境,分析中断原因,转入缺页中断处理程序进行处理,恢复CPU环境等几个步骤,但缺页中断又是一种特殊的中断,它与一般中断相比,有着明显的区别,主要表现在下面两个方面:(1)缺页中断是在指令执行期间产生和处理中断信号的。 (2)一条指令的执行期间,可能产生多次缺页中断。 3.实现虚拟存储器的目的是__D____。 A.实现存储保护 B.实现程序浮动 C.扩充外存容量 D.扩充内存容量 4.在段页式存储系统中,一个作业对应___C__。 A.多个段表 B.一个段表,一个页表 C.一个段表,多个页表 D.多个段表,多个页表 5.在虚拟页式存储管理方案中,完成将页面调入内存的工作的是___A___。

A.缺页中断处理 B.页面淘汰过程 C.工作集模型应用 D.紧缩技术利用6.采用分页式内存管理时,重定位的工作是由___C___完成的。 A.操作系统 B.用户 C.地址转换机构 D.内存空间分配程序 7.在分页式内存管理系统中可能出现的问题是__B____。 A.颠簸 B.不能共享 C.外部碎片 D.动态链接 8.在下列有关分页式内存管理的叙述中正确的是___D___。 A.程序和数据是在开始执行前一次性和装入的 B.产生缺页中断一定要淘汰一个页面 C.一个被淘汰的页面一定要写回外存 D.在页面中有“访问位”和“修改位”等消息 9. 在可变式分配方案中,最佳适应算法是将空白区在空白区表中按___C___次序排列。 A.地址递增 B.地址递减 C.容量递增 D.容量递减 10. 在可变分区分配方案中,将空白分区按地址递增次序排列是要采用___C___。 A.最佳适应算法 B.最差适应算法 C.首次适应算法 D.最迟适应算法 11. 通常,采用紧缩法消除内存碎片的存储技术是___C___。 A.固定分区法 B.动态分区法 C.可重定位分区法 D.交换技术 12. 在请求分页存储管理中,当所访问的页面不在内存时,便产生缺页中断,缺页中断是属于__B__。 A. I/O中断 B.程序中断 C.访管中断 D.外中断 13. 在内存管理中,分段管理和分页管理的主要区别是_D__。

计算机操作系统-课后习题答案-张尧学

合 理地组织计算 机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统 的基本功能包括: 处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接 类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。 分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。 实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源 资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用 运算器、控制器、存储器、输入设备、输出设备 户 方式、SPOOLING (Simultaneous Peripheral OperationsOnline)系统和网络输入方式, 各有如下特点: (1)联机输入方式:用户和系统通过交互式会话来输入作业。 (2)脱机输入方式:又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理,存储在后备存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。 (3)直接耦合方式:把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预宋传递后援存储器的过程。

计算机操作系统第四版课后习题答案

《计算机操作系统》课后习题答案 注:课本为《计算机操作系统(第四版)》,汤小丹梁红兵哲凤屏汤子瀛编著,西安电子科技大学出版社出版 第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象 3.为什么说OS实现了对计算机资源的抽象? 答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。 4.试说明推动多道批处理系统形成和发展的主要动力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 5.何谓脱机I/O和联机I/O? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。 而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 6.试说明推动分时系统形成和发展的主要动力是什么? 答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。 7.实现分时系统的关键问题是什么?应如何解决?

计算机操作系统作业汇总(清华大学出版社)

思考与练习题(第一章) 1.什么是操作系统?它的主要功能是什么? 答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。其主要功能包括进程管理功能、存储管理功能、设备管理功能和文件管理功能。 2.什么是多道程序设计技术?多道程序设计技术的主要特点是什么? 答:把多个独立的程序同时放入内存,使它们共享系统中的资源。 (1)多道,即计算机内存中同时放多道相互独立的程序。 (2)宏观上并行,是指同时进入系统的多道程序都处于运行过程中。 (3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流占用CPU,交替执行。 3.批处理操作系统是怎样的一种操作系统?它的特点是什么? 答:批处理操作系统是一种基本的操作系统类型。在该系统中,用户的作业(包括程序、数据及程序的处理步骤)被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。 特点:单道:(1)自动性。(2)顺序性。(3)单道性。 多道:(1)多道性。(2)无序性。(3)调度性。 4.什么是分时操作系统?什么是实时操作系统?试从交互性、及时性、独立性、多路性和 可靠性几个方面比较分时操作系统和实时操作系统。 答:分时操作系统:计算机能够同时为多个终端用户服务,而且能在很短的时间内响应用户的要求。实时操作系统:对外部输入的信息,实时系统能够在规定的时间内处理完毕并做出反应。 (1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经常对多路的现场信息进行采集以及多个对象或多个执行机构进行控制。 (2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。 (3)及时性:实时信息处理系统与分时系统对及时性的要求类似,都以人们能够接受的等待时间来确定。实时控制系统对一时性的要求更高,是以控制对象所要求的开始截止时间或完成截止时间来确定的。 5.实时操作系统分为哪两种类型?

计算机操作系统课后习题答案

计算机操作系统课后习题答案 第一章os引论 1. 设计现代OS的主要目标是什么方便性,有效性,可扩充性和开放性. 2. OS的作用可表现为哪几个方面 a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. OS作为扩充机器. 3. 试说明推动多道批处理系统形成和发展的主要动力是什么不断提高计算机资源利用率和系统吞吐量的需要; 4. 何谓脱机I/O和联机I/O a. 脱机输入输出方式(Off-Line I/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b. 若这种输入输出操作在主机控制下进行则称之为联机输入输出方式. 5. 试说明推动分时系统形成和发展的主要动力是什么用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求. 6. 试说明实时任务的类型和实时系统的类型.a. 实时任务的类型按任务执行时是否呈现周期性来划分,分为周期性实时任务和非周期性实时任务;---根据对截止时间的要求来划分,分为硬实时任务和软实时任务;b. 通常把要同达行实时控制的系统统称为实时控制系统,把要求对信息进行实时处理的系统成为实时信息处理

相关文档
相关文档 最新文档