当前位置:文档之家› 现代操作系统课后习题答案

现代操作系统课后习题答案

现代操作系统课后习题答案
现代操作系统课后习题答案

第二章进程管理

第一部分教材习题(P81)

3、为什么程序并发执行会产生间断性特征?(P36)

4、程序并发执行,为何会失去封闭性和可再现性?(P37)

【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。同时由于失去了封闭性,也将导致其再失去可再现性。程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。

5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?

【解】

在操作系统中引入进程的概念,是为了实现多个程序的并发执行。传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。

建立进程所带来的好处是使多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。

6、试从动态性、并发性和独立性上比较进程和程序?(P37)

【解】

(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。可见,进程有一定的生命期。而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。

(2)并发性:所谓进程的并发,指的是多个进程实体,同存于内存中,能在一段时间内同时运行。并发性是进程的重要特征,同时也成为OS的重要特征。引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是无法并发执行的。

(3)独立性:进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。凡未建立进程的程序,都不能作为一个独立的单位参加运行。

试比较进程与程序的异同。

【解】进程和程序是紧密相关而又完全不同的两个概念。

(1)每个进程实体中包含了程序段和数据段这两个部分,因此说进程与程序是紧密相关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即PCB。(2)进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建而产生、由调度而执行、由撤消而消亡,即它具有一定的生命期。而程序则只是一组指令的有序集合,并可

永久地存放在某种介质上,其本身不具有运动的含义,因此是静态的。

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

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

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

7、试说明PCB的作用?为什么说PCB是进程存在的惟一标志?(P41)

【解】PCB是进程实体的一部分,是OS中最重要的记录型数据结构。它记录了OS所需的、用于描述进程情况及控制进程运行所需的全部信息。PCB的作用,是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。

在进程的整个生命期中,系统总是通过PCB对进程进行控制,也就是说,系统是根据进程的PCB感知到该进程的存在的,所以说,PCB是进程存在的标志。

8、试说明进程在三个基本状态之间转换的典型原因?(P38)

【解】

(1)处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程就由就绪状态变为执行状态

(2)正在执行的进程因发生某事件而无法执行,如暂时无法取得所需资源,则由执行状态转变为阻塞状态。

(3)正在执行的进程,如因时间片用完或被高优先级的进程抢占处理机而被暂停执行,该进程便由执行转变为就绪状态。

某系统的进程状态转换图如图所示。

(1)说明引起各种状态转换的典型事件。

(2)分析下述状态转换是否可立即引起其他的状态转换:1,2,3,4。

【解】

(1状态转换 引起转换的典型事件 转换1 CPU 调度

转换2 执行进程的时间片用完,或被其他优先权更高的进程抢占CPU

转换3 等待某种事件(如I/O 的完成,或被他人占用的临界资源变为可用状态 转换4 进程所等待的事件发生(如I/O 完成,或所等待的临界资源变为可用状态)

(2状态转换2必然立即引发状态转换1:状态转换2发生后,进程调度程序必然要选出一个新的就绪进程投入运行,该新进程可能是其他进程,也可能是刚从执行状态转换成就绪状态的那个进程。

状态转换3可能立即引发状态转换1:状态转换3发生后,若就绪队列非空,则进程调度程序将选出一个就绪进程投入执行。 状态转换4可能引发状态转换1:状态转换4发生后,若CPU 空闲,并且没有其他进程竞争CPU ,则该进程将被立即调度。

另外,状态转换4还可能同时引发状态转换1和2:若系统采用抢占调度方式,而新就绪的进程具备抢占CPU 的条件(如其优先权很高),则它可立即得到CPU 转换成执行状态,而原来正在执行的进程则转换成就绪状态。

某系统的进程状态变迁图,请说明:

执行

就绪

阻塞 4

3

1

2

执行

就绪

阻塞

2

3

1

4

(1)引起各种状态转换的典型事件有哪些?

(2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换1?

(3)试说明是否会发生下述因果转换:

a)2→1

b)3→2

c)4→1

解:

(1)当进程调度程序从就绪队列中选取一个进程投入运行时引起转换1;正在执行的进程如因时间片用完而被暂停执行就会引起转换2;正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O)则会引起转换3;当进程等待的事件发生时(如I/O 完成)则会引起转换4。

(2)如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1。这是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换1。

(3)所谓因果转换指的是有两个转换,一个转换的发生会引起另一个转换的发生,前一个转换称为因,后一个转换称为果,这两个转换称为因果转换。当然这种因果关系并不是什么时候都能发生,而是在一定条件下才会发生。

a)2→1:当某进程发生转换2时,就必然引起另一进程的转换1。因为当发生转换2时,

正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。

b)3→2:某个进程的转换3决不可能引起另一进程发生转换2。这是因为当前执行进程

从执行状态变为阻塞状态,不可能又从执行状态变为就绪状态。

c)4→1:当处理机空闲且就绪队列为空时,某一进程发生转换4,就意味着有一个进程

从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行。

9、为什么要引入挂起状态?(P39)该状态具有哪些性质?

10、在进行进程切换时,所要保存的处理机状态信息主要有那些?(P42)

【解】保存的处理机状态信息主要由处理机中的各种寄存器内容组成。这些寄存器包括:通用寄存器,指令寄存器,程序状态字PSW,用户栈指针。

11、试说明引起进程创建的主要事件。(P44)

【解】

(1)用户登录在分时系统中,用户在终端键入登录命令后,若是合法用户,系统将为该终端用户建立一个进程,并插入到就绪队列中。

(2)作业调度批处理程序中,作业调度程序按一定的算法调度到某个作业时,就将该作业装入内存,为它分配必要的资源,并立即为其创建进程,插入就绪队列中。

(3)提供服务运行中用户程序提出某种请求,系统专门创建一个进程来提供用户所需服务。(4)应用请求应用进程自己创建一个进程,使自己和新进程以并发运行方式完成特定任务。

12、试说明引起进程被撤消的主要事件。

13、在创建一个进程时所要完成的主要工作是什么?(P44)

【解】需完成的主要工作有:

(1)申请空白PCB ;

(2)为新进程分配资源;

(3)初始化PCB ,其中包括:

●初始化标识符信息。将系统分配的标识符、父进程标识符填入新PCB中;

●初始化处理机状态信息。使程序计数器指向程序入口地址,使栈指针指向栈顶;

●初始化处理机控制信息。将进程状态设置为就绪或静止就绪,对于优先级通常设置为

最低,除非用户提出高优先级要求。

(4)将新进程插入就绪队列。

14、在撤消一个进程时所要完成的主要工作是什么?

15、试说明引起进程阻塞或被唤醒的主要事件是什么?(P46)

16、进程在运行时,存在哪两种形式的制约?并举例说明之。

17、为什么进程在进入临界区之前,应先执行“进入区”代码,在退出临界区后又执行“退出区”代码?(P50)

【解】为了保证诸进程互斥进入自己的临界区,便可实现它们对临界资源的互斥访问。为此,每个进程在进入临界区之前应先对欲访问的临界资源进行检查,看它是否正被访问。如果此刻临界资源没被访问,则该进程便可进入临界区,对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被某进程访问,则本进程不能进入临界区。因此,必须在临界区前增加一段用于上述检查的代码,把这段代码称为进入区。相应地,在临界区后面也要加上一段称为退出区的代码,用于将临界区正被访问的标志恢复为未被访问标志。

18、同步机构应遵循哪些基本准则?为什么?(P50)

【解】同步机构应遵循的基本准则有:

(1)空闲让进

无进程处于临界区时,相应的临界资源处于空闲状态,因而可允许一个请求进入临界区的进程立即进入自己的临界区,以有效利用临界资源。

(2)忙则等待

当已有进程进入自己的临界区时,意味着相应的临界资源正被访问,因而所有其他试图进入临界区的进程必须等待,以保证诸进程互斥地访问临界资源。

(3)有限等待

对要求访问临界资源的进程,应保证该进程能在有限时间内进入自己的临界区,以免陷入“死等”状态。

(4)让权等待

当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”。

19、试从物理概念上来说明记录型信号量wait和signal操作?(P51)

【解】在记录型信号量机制中,S.value的初值表示系统中某类资源的数目,因而又称资源信号量,每次的wait操作,意味着进程请求一个单位的资源,因此描述为S.value:=S.value-1;当S.value<0时,表示资源已分配完毕,因而进程调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表S.L中。可见,该机制遵循了让权等待准则。此时S.value的绝对值表示在该信号量链表中已阻塞进程的数目。每次signal操作,表示执行进程释放一个单位资源,故S.value:=S.value+1操作表示资源数目加1。若加1后仍是S.value<=0则表示该信号量链表中,仍有等待该资源的进程被阻塞,故还要调用wakeup原语,将S.L链表中的第一个等待进程唤醒。如果S.value的初值为1,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。

20、你认为整型信号量机制是否完全遵循了同步机构的四条准则?(P52)

【解】在整型信号量机制中的wait 操作,只要是信号量S<=0,就会不断地测试,因此,该机制并未遵循“让权等待”的准则,而是使该进程处于“忙等”的状态。

21、如何利用信号量机制来实现多个进程对临界资源的互斥访问?并举例说明之。 22、试写出相应的程序来描述图2-17所示的前趋图。

【解】(1)

Var a,b,c,d,e,f,g,h; semaphore:=0,0,0,0,0,0,0,0; begin

parbegin

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;singal(h);end;

begin wait(f);wait(g); wait(h); S7;end; parend end (2)

Var a,b,c,d,e,f,g,h,i,j; semaphore:=0,0,0,0,0,0,0,0,0,0,0; begin parbegin

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;singal(i);end;

S11

S3

S2

S51 S41 S71

S61 S81

S11

S21

S31

S41 S51 S61

S71

begin wait(f);S7;signal(j);end;

begin wait(g); wait(h);wait(i);wait(j); S8;end;

parend

end

23、在生产者—消费者问题中,如果缺少了signal(full)或 signal(empty),对执行结果会有什么影响?

【解】在生产者—消费者问题中,如果缺少了signal(full) ,那么消费者会认为生产者没有生产而阻塞,而生产者会不断生产,直到empty为0后阻塞,然后两个进程陷入“死等”状态。

如果缺少了signal(empty)开始两进程可同步运行。但当empty为0 时生产者会因此而阻塞,然后消费者进程继续运行直到full也为0阻塞,然后两个进程陷入“死等”状态。

24、在生产者—消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置,或者将signal(mutex)与signal(full)互换位置,结果会如何?

【解】如果将wait(full)和wait(mutex)互换位置,则如果consumer先进入临界区,就会一直等待full,但由于没有signal(mutex) ,producer将无法进入临界区而等待,则两个进程相互等待,陷入死锁。

如果signal(full)与signal (mutex)互换位置,则会使full的值不再是等待的consumer 进程数目。

var mutex,empty,full:semaphore:=1,n,0;

buffer:array[0,…,n-1]of item; in,out:integer:=0,0;

Begin

parbegin

producer:

begin

repeat

……

producer an item in nextp;

……

wait(mutex);//前2句颠倒则死锁

wait(empty);

buffer(in):=nextp;

in:=(in+1)mod n;

signal(full); //后2句颠倒不死锁

signal(mutex);

until false;

end

consumer:

begin

repeat

wait(full);

wait(mutex);

nextc:=buffer(out);

out:=(out+1)mod n;

signal(mutex);

signal(empty);

consume the item in nextc;

until false;

end

Parend

end

由于V操作是释放资源,因此对调V操作的次序无关紧要。

而对调P操作的次序则可能导致死锁。

这时因为对调P操作后,有可能出现这样一种特殊情况:在某一时刻缓冲池中已装满了产品且缓冲池中无进程工作(这时信号量full的值为n,信号量empty的值为0,信号量mutex的值为1),若系统此时调度生产者进程运行,生产者进程又生产了一个产品,它执行P(mutex)并顺利进入临界区(这时mutex值为0),随后它执行p(empty)时因没有空闲缓冲区而受阻等待,等待消费者进程进入缓冲池取走产品以释放出缓冲区;

消费者进程执行p(full)后再执行p(mutex)时,因缓冲池被生产者进程占据而无法进入。

这样就形成了生产者进程在占有临界资源的情况下,等待消费者进程取走产品,而消费者进程又无法进入临界区取走产品的僵局,此时两进程陷入死锁。

25、我们为某临界资源设置一把锁W,当W=1时表示关锁;当W=0时表示锁已打开。试写出开锁和关锁原语,并利用它们去实现互斥。

【解】我们采用一个变量W作为“锁”,代表某个临界资源的状态,W=0(false,锁已打开)表示该资源未用,W=1(true,关锁)表示该资源正被使用。同时,用一段程序作为开锁原语,用另一段程序作为关锁原语,要进入临界区的进程首先要执行关锁原语,当它退出临界区时,要执行开锁原语。从而实现对临界区的互斥控制。两个原语的作用是:

加锁原语lock

测试W是否为0

若W=0,让W=1

若W=1,继续测试

开锁原语unlock

使W=0

可见,加锁原语首先要判断临界区中有无进程,若W=0,表示无进程进入临界区,它可以马上进入,并立即将W置为1,同时禁止其他进程进入。若W=1,表示已经有进程进入,它只得等待。这种机构简单方便,但存在CPU的时间浪费,因为等待进入临界区的进程将不断循环测试W,等待W变为0。

26、试修改下面生产者-消费者问题解法中的错误:

producer:

begin

repeat

produce an item in nextp;

wait(mutex);

wait(full);

buffer(in):=nextp;

signal(mutex);

until false;

end

consumer:

begin

repeat

wait(mutex);

wait(empty);

nextc:=buffer(out);

out:=out+1;

signal(mutex);

consume item in nextc;

until false;

end

修改为:

producer:

begin

repeat

produce an item in nextp;

wait (empty);

wait (mutex);

buffer (in): =nextp;

in:=(in+1) mod n;

signal (mutex);

signal (full)

until false;

end

consumer:

begin

repeat

wait (full);

wait(mutex);

nextc:=buffer(out);

out:=(out+1) mod n;

out:=out+1;

signal(mutex);

signal(empty);

consume item in nextc;

until false

end

27、试利用记录型信号量机制写出一个不会出现死锁的哲学家进餐问题的算法。

28、在测量控制系统中的数据采集任务时,把所采集的数据送往一单缓冲区;计算任务从该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两任务共享单缓冲区的同步算法。【解】算法如下:

Var mutex, empty, full: semaphore: =1,1,0;

buffer: item;

begin

parbegin

Receive:

begin

repeat

Wait(empty);

Wait(mutex);

buffer: =nextp;

Signal(mutex);

Signal(full);

until false

end

Get:

begin

repeat

Wait (full);

Wait (mutex);

nextp: =buffer;

Signal (mutex);

Signal (empty);

until false

end

parend

end

29、画图说明管程由哪几部分组成?(P56)为什么要引入条件变量?(P57) 【解】如图:

通常,由于等待的原因可能有多个,为了区别它们,因此引入条件变量。

初始化代码

条件(不忙)队列

进入队列

共享数据

……

一组操作进程

30、如何利用管程来解决生产者—消费者问题?(P60)

【解】首先为它们建立一个管程,描述如下:

Type producer-consumer=monitor

var in, out, count: integer;

buffer: array[0,-----,n-1] of item;

notfull,notempty:condition;

procedure entry put(item)

begin

if count>=n then notfull.wait;

buffer(in):=nextp;

in:=(in+1) mod n;

count:=count+1;

if notempty.queue then notempty.signal; end

procedure entry get(item)

begin

if count<=0 then notempyt.wait;

nextc:=buffer(out);

out:=(out+1) mod n;

count:=count-1;

if notfull.queue then notfull.signal; end

begin in:=out:=0; count:=0; end

生产者和消费者可描述为:

producer: begin

repeat

produce an item in nextp;

PC.put(item);

until false;

end

consumer: begin

repeat

PC.get(item);

consume the item in nextc

until false;

end

31、什么是AND信号量?试利用AND信号量写出生产者—消费者问题的解法。

【解】AND信号量是指:将进程在整个运行过程中所需的所有临界资源一次性地全部分配给进程,待该进程使用完后再一起释放。只要尚有一个资源未能分配给该进程,其他所有可能为之分配的资源,也不分配给他,即:对若干临界资源分配,采取原子操作方式,要么全部分配到进程,要么一个也不分配。叫AND信号量。

解法如下:

var mutex,empty,full:semaphore:=1,n,0;

buffer: array[0,---,n-1]of item;

in,out:integer:=0,0;

begin

parbegin

producer: begin

repeat

produce an item in nextp

Swait(empty,mutex);

buffer(in):=nextp;

in:=(in+1)mod n;

Ssignal(mutex,full);

until false;

end

consumer: begin

repeat

Swait(full,mutex);

nextc:=buffer(out);

out:=(out+1)mod n;

Ssignal(mutex,empty);

consume the item in nextc;

until false

end;

32、什么是信号量集?试利用信号量集写出读者-写者问题的解法。

33、试比较进程间的低级与高级通信工具。(P65)

34、当前有哪几种高级通信机制?(P65)

【解】共享存储器系统,消息传递系统,管道通信系统。

35、消息队列通信机制有哪几方面功能?(P66)

【解】发送进程利用send原语,将消息直接发送给接收进程;接收进程利用receive原语接收消息。

36、为什么要在OS中引入线程?(P72)

37、试说明线程具有哪些属性?(P73)

38、试从调度性、并发性、拥有资源及系统开销几个方面,对进程和线程进行比较。

【解】

(1)调度性在传统的OS中,拥有资源的基本单位和独立调度、分派的基本单位都是进程。而在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位,使传统进程的两个属性分开,线程便能轻装运行,从而显著提高系统并发程度。在同一进程中,线程的切换不会引起进程切换,在由一个进程中的线程切换到另一个进程中的线程时,将会引起进程切换。

(2)并发性多线程的操作系统中,不仅进程可以并发执行,而且一个进程的多个线程也可并发执行。从而能更有效的使用系统资源和提高系统吞吐量。

(3)拥有资源进程是拥有资源的独立单位。线程自己使不拥有系统资源,但可访问隶属进程的资源。

(4)系统开销在创建和撤消进程时,系统要为之分配或回收资源,所以系统开销要显著大于在创建和撤消线程的开销。在进行进程切换时,涉及到整个当前进程CPU环境的保存以及新被调度运行的进程的CPU环境的设置。而线程切换只须保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作。可见,进程切换的开销也远大于线程切换的开销。此外,由于同一进程中的多个线程具有相同的地址空间,致使它们之间的同步和通信的实现也变得比较容易。

39、为了在多线程OS中实现进程之间的同步与通信,通常提供了哪几种同步机制?

【解】互斥锁,条件变量,计数信号量,多读、单写锁。

40、用于实现线程同步的私用信号量和公用信号量之间有何差异?(P76)

41、何谓用户级线程和内核支持线程?(P77)

【解】用户级线程仅存在于用户级中,它的创建、撤消和切换都不利用系统调用实现,与内核无关,相应的,内核也不知道有用户级线程存在。

内核级线程依赖于内核,无论用户进程中的线程还是系统进程中的线程,其创建、撤消、切换都由内核实现。在内核中保留了一张线程控制块,内核根据控制块感知线程的存在并对其进行控制。

比较:

(1)线程的调度与切换速度内核支持线程的调度和切换与进程的调度和切换十分相似。例如,在线程调度时的调度方式,同样也是抢占方式和非抢占方式两种。在线程的调度算法上,也同样可采用时间片轮转、优先权算法等。当由线程调度选中一个线程后,再将处理机分配给它。当然,线程在调度和切换上所花费的开销要比进程的小得多。对于用户级线程的切换,通常是发生在一个应用程序的多线程之间,这时,不仅无须通过中断进入OS的内核,而且切换的规则也远比进程调度和切换的规则简单。例如,当一个线程阻塞后会自动切换到下一个具有相同功能的线程,因此,用户级线程的切换速度特别快。

(2)系统调用当传统的用户进程调用一个系统调用时,要由用户态转入核心态,用户进程将被阻塞。当内核完成系统调用而返回时,才将该进程唤醒,继续执行。而在用户级线程调用一个系统调用时,由于内核并不知道有该用户级线程的存在,因而把系统调用看作是整个进程的行为,于是使该进程等待,而调度另一个进程执行,同样是在内核完成系统调用而返回时,进程才能继续执行。如果系统中设置的是内核支持线程,则调度是以线程为单位。当一个线程调用一个系统调用时,内核把系统调用只看作是该线程的行为,因而阻塞该线程,于是可以再调度该进程中的其他线程执行。

(3)线程执行时间对于只设置了用户级线程的系统,调度是以进程为单位进行的。在采用轮转调度算法时,各个进程轮流执行一个时间片,这对诸进程而言,似是公平。但假如在进程A中包含了一个用户级线程,而进程B中含有100个线程,这样,进程A中线程的运行时间,

将是进程B中各线程运行时间的100倍;相应地,速度就快100倍。假如系统中设置的是内核支持线程,其调度是以线程为单位进行的,这样,进程B可以获得的CPU时间是进程A的100倍,进程B可使100个系统调用并发工作。

42、试说明用户级线程的实现方法。(P77)

43、试说明内核支持线程的实现方法。(P77)

如何保证诸进程互斥地访问临界资源?

答:为了互斥地访问临界资源,系统必须保证进程互斥地进入临界区。为此,必须在临界区前增加一段称为进入区的代码,以检查是否有其他进程已进入临界区使用临界资源。若有,则进程必须等待;否则,允许进程进入临界区,同时设置标志表示有进程正在临界区内。同样地,在临界区后必须增加一段称作退出区的代码,用于将已有进程进入临界区访问临界资源的标志改为无进程进入临界区使用临界资源。进入区、退出区具体可用多种同步机制实现,如锁、信号量机制等。

何谓“忙等”?它有什么缺点?

答:所谓“忙等”是指“不让权”的等待,即进程因某事件的发生而无法继续执行时,它仍占有CPU,并通过不断地执行循环测试指令来等待该事件的完成。

“忙等”的主要缺点是浪费CPU的时间,另外,它还可能引起预料不到的后果。例如,考虑某个采取高优先权优先调度原则的系统,目前有2个进程A和B共享某个临界资源,A的优先权较高,B的优先权较低,且B已处于临界区内,而A欲进入自己的临界区,则A、B都不可能继续向前推进,陷入“死等”状态。

进程之间存在着哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(1)若干同学去图书馆借书;

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

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

(4)商品生产和社会消费。

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

(1)若干同学去图书馆借书是间接制约,其中书是临界资源。

(2)两队举行篮球比赛是间接制约,其中篮球是临界资源。

(3)流水线生产的各道工序是直接制约,各道工序间需要相互合作,每道工序的开始都依赖于前一道工序的完成。

(4)商品生产和社会消费是直接制约,两者也需要相互合作:商品生产出来后才可以被消费;

商品被消费后才需要再生产。

第二部分选择题

1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。

A.进程被进程调度程序选中

B.等待某一事件

C.等待的事件发生

D.时间片用完

2.分配到必要的资源并获得处理机时的进程状态是 B 。

A.就绪状态

B.执行状态

C.阻塞状态

D.撤消状态

3.P、V操作是 A 。

A.两条低级进程通信原语

B.两组不同的机器指令

C.两条系统调用命令

D.两条高级进程通信原语

4.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,

不可能发生的情况是 A 。

A.没有运行进程,有2个就绪进程,n个进程处于等待状态。

B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。

C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。

D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。

5.若P、V操作的信号量S初值为2,当前值为-1,则表示有 B 等待进程。

A. 0个

B. 1个

C. 2个

D. 3个

6.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是D 。

A.时间片用完

B.等待某事件发生

C.等待的某事件已发生

D.被进程调度程序选中

7.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是B 。

A.时间片用完

B.等待某事件发生

C.等待的某事件已发生

D.被进程调度程序选中

8.下列的进程状态变化中, C 变化是不可能发生的。

A.运行→就绪B.运行→就绪C.等待→运行D.等待→就绪

9.一个运行的进程用完了分配给它的时间片后,它的状态变为 A 。

A.就绪

B.等待

C.运行

D.由用户自己确定

10.用V操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。

A.等待

B.就绪

C.运行

D.完成

11.操作系统通过 B 对进程进行管理。

A. JCB

B. PCB

C. DCT

D. CHCT

12.用P、V操作可以解决 A 互斥问题。

A. 一切

B. 某些

C. 正确

D. 错误

13.一个进程被唤醒意味着 D 。

A. 该进程重新占有了CPU

B. 它的优先权变为最大

C. 其PCB移至等待队列队首

D. 进程变为就绪状态

14.多道程序环境下,操作系统分配资源以 C 为基本单位。

A. 程序

B. 指令

C. 进程

D. 作业

15. 从静态的角度看,进程是由(A)、(B)、(C)三部分组成的,其中(C)是进程存在的唯一标志。当几个进程共享(A)时,(A)应当是可重入代码。

A:程序段;

B:数据段;

C:PCB;

16. 进程的三个基本状态是(A)、(B)、(C)。由(A)到(B)是由进程调度所引起的;由(B)到(C)是正在执行的进程发生了某事件,使之无法继续执行而引起的。

A:就绪;

B:执行;

C:阻塞;

17. 正在等待他人释放临界资源的进程处于(A)状态,已分配到除CPU外的所有资源的进程处于(B)状态,已获得CPU的进程处于(C)状态。

A:阻塞;

B:就绪;

C:执行;

18. 下列进程状态转换中,绝对不可能发生的状态转换是(A);一般不会发生的状态转换是(B)。A:就绪→阻塞;

B:阻塞→执行;

19. 在一个单处理机系统中,存在5个进程,最多可有(A)个进程处于就绪队列;如果这5个进程中有一个系统进程IDLE(也叫空转进程,因为它只是不断循环地执行空语句),则最多可有(B)个进程处于阻塞状态。

A,B:(1)5;(2)4;(3)3;(4)2;(5)1;(6)0。

20. 正在执行的进程由于其时间片用完被暂停执行,此时进程应从执行状态变为(A)状态;处于静止阻塞状态的进程,在进程等待的事件出现后,应变为(B)状态;若进程正处于执行状态时,因终端的请求而暂停下来以便研究其运行情况,这时进程应转变为(C)状态,若进程已处于阻塞状态;则此时应转变为(D)状态。

A:(1)静止阻塞;(2)活动阻塞;(3)静止就绪;(4)活动就绪;(5)执行。

B:(1)静止阻塞;(2)活动阻塞;(3)静止就绪;(4)活动就绪;(5)执行。

C:(1)静止阻塞;(2)活动阻塞;(3)静止就绪;(4)活动就绪;(5)执行。

D:(1)静止阻塞;(2)活动阻塞;(3)静止就绪;(4)活动就绪;(5)执行。

21. 为使进程由活动就绪转变为静止就绪,应利用(A)原语;为使进程由执行状态转变为阻塞状态,应利用(B)原语;为使进程由静止就绪变为活动就绪,应利用(C)原语;从阻塞状态变为就绪状态应利用(D)原语。

A:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。

B:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。

C:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。

D:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。

22. 在分时系统中,导致进程创建的典型事件是(A);在批处理系统中,导致进程创建的典型事件是(B);由系统专门为运行中的应用进程创建新进程的事件是(C)。在创建进程时,(D)不是创建所必需的步骤。

A:(1)用户注册;(2)用户登录;(3)用户记账;(4)用户通信。

B:(1)作业录入;(2)作业调度;(3)进程调度;(4)中级调度。

C:(1)分配资源;(2)进行通信;(3)共享资源;(4)提供服务。

D:(1)为进程建立PCB;(2)为进程分配内存等资源;(3)为进程分配CPU;(4)将进程插入就绪队列。

23. 从下面对临界区的论述中,选出一条正确的论述。

(1)临界区是指进程中用于实现进程互斥的那段代码。

(2)临界区是指进程中用于实现进程同步的那段代码。

(3)临界区是指进程中用于实现进程通信的那段代码。

(4)临界区是指进程中用于访问共享资源的那段代码。

(5)临界区是指进程中访问临界资源的那段代码。

24. 进程A和B共享同一临界资源,并且进程A正处于对应的临界区内执行。请从下列描述中选择一条正确的描述。C

A. 进程A的执行不能被中断,即临界区的代码具有原子性。

B. 进程A的执行能被中断,但中断A后,不能将CPU调度给进程B。

C. 进程A的执行能被中断,而且只要B进程就绪,就可以将CPU调度给进程B。

D. 进程A的执行能被中断,而且只要B进程就绪,就必定将CPU调度给进程B。

25. (A)是一种只能由wait和signal操作所改变的整型变量,(A)可用于实现进程的(B)和(C),(B)是排他性访问临界资源。

A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。

B:(1)同步;(2)通信;(3)调度;(4)互斥。

C:(1)同步;(2)通信;(3)调度;(4)互斥。

26. 对于记录型信号量,在执行一次wait操作时,信号量的值应当(A),当其值为(B)时,进程阻塞。在执行signal操作时,信号量的值应当为(C),当其值为(D)时,应唤醒阻塞队列中的进程。

A:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。

B:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0.

C:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。

D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0.

27. 用信号量S实现对系统中4台打印机的互斥使用,S.value的初值应设置为(A),若S.value 的初值为-1,则表示S.L队列中有(B)个等待进程。

A:(1)1;(2)0;(3)-1;(4)4;(5)-4

B:(1)1;(2)2;(3)3;(4)4;(5)5;(6)6;(7)0。

28. 设有10个进程共享一个互斥段,如果最多允许有1个进程进入互斥段,则所采用的互斥信号量初值应设置为(A),而该信号量的取值范围为(B);如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量初值应设置为(C)。

A:(1)10;(2);3;(3)1;(4)0。

B:(1)0~1;(2)-1~0;(3)1~-9;(4)0~-9。

C:(1)10;(2);3;(3)1;(4)0。

29. 在生产者-消费者问题中,应设置互斥信号量mutex、资源信号量full和empty。它们的初值应分别为(A)、(B)、(C)。

A:(1)0;(2)1;(3)-1;(4)-n;(5)+n。

B:(1)0;(2)1;(3)-1;(4)-n;(5)+n。

C:(1)0;(2)1;(3)-1;(4)-n;(5)+n。

30. 对生产者-消费者问题的算法描述如下,请选择正确的答案编号填入方框中。

Producer: begin

Repeat

(A);

(B);

Buffer(in):=m;

In:=(in+1)mod n;

(C);

(D);

Until false

End

Consumer: begin

Repeat

(E);

(B);

M:=buffer(out);

Out:=(out+1)mod n;

(C);

(F);

Until false

end

A: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full);

(5)wait(full); (6)signal(empty)。

B: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full);

(5)wait(full); (6)signal(empty)。

C: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full);

(5)wait(full); (6)signal(empty)。

D: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full);

(5)wait(full); (6)signal(empty)。

E: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full);

(5)wait(full); (6)signal(empty)。

F: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full);

(5)wait(full); (6)signal(empty)。

31. 试选择(A)~(D),以便能正确地描述图2.12所示的前趋关系。

Var a,b,c: semaphore:=0,0,0;

Begin

Parbegin

Begin S1; (A); end;

Begin S2; (B); end;

Begin

Wait(a); wait(b); S3; (C); End

Begin (D); S4 end

Parend

End S1 S2

S3

S4

a

b

c

A: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。

B: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。

C: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。

D: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。

32.有两个程序:A程序按顺序使用CPU10秒、设备甲5秒、CPU5秒、设备乙10秒、CPU10秒;B程序按顺序使用设备甲10秒、CPU10秒、设备乙5秒、CPU5秒、设备乙10秒。在顺序环境下,执行上述程序,CPU的利用率约为(A)。若允许它们采用非抢占方式并发执行,并且不考虑切换等开销,则CPU的利用率约为(B)。

A(1)30%;(2)40%;(3)50%;(4)60%;(5)70%;(6)80%;(7)90%。

B(1)30%;(2)40%;(3)50%;(4)60%;(5)70%;(6)80%;(7)90%。

33. 从下面的叙述中选出一条正确的叙述:

(1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。(2)操作系统通过PCB来控制和管理进程,用户进程可从PCB中读出与本身运行状态相关的信息。

(3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。(4)当进程申请CPU得不到满足时,它将处于阻塞状态。

(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。

34. 从下面的叙述中选出4条正确的叙述:

(1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。

(2)进程被挂起(suspend)后,状态变为阻塞状态。

(3)信号量的初值不能为负数。

(4)线程是CPU调度的基本单位,但不是资源分配的基本单位。

(5)在进程对应的代码中使用wait、signal操作后,可以防止系统发生死锁。(6)管程每次只允许一个进程进入。

(7)wait、signal操作可以解决一切互斥问题。

(8)程序的顺序执行具有不可再现性。

35. 在引入线程的操作系统中,资源分配和调度的基本单位是(A),CPU调度和分配的基本单位是(B)。

A:(1)程序;(2)进程;(3)线程;(4)作业。

B:(1)程序;(2)进程;(3)线程;(4)作业。

36. 在三种基本类型的操作系统中,都设置了(A),在批处理系统中还应设置(B);在分时系统中除了(A)以外,通常还设置了(C),在多处理机系统中则还需设置(D)。

A:(1)剥夺调度;(2)作业调度;(3)进程调度;(4)中级调度;(5)多处理机调度。

B:(1)剥夺调度;(2)作业调度;(3)进程调度;(4)中级调度;(5)多处理机调度。

C:(1)剥夺调度;(2)作业调度;(3)进程调度;(4)中级调度;(5)多处理机调度。

D:(1)剥夺调度;(2)作业调度;(3)进程调度;(4)中级调度;(5)多处理机调度。

操作系统概念第七版习题答案(中文版)完整版

1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2 资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑或迷你电脑系统:内存和CPU 资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU 资源(c)手持电脑:功率消耗,内存资源 1.3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4 在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5 描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而且I/O 可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O 也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6 集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? Answer:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU 组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。

现代操作系统(第三版)答案

MODERN OPERATING SYSTEMS SECOND EDITION PROBLEM SOLUTIONS ANDREW S.TANENBAUM Vrije Universiteit Amsterdam,The Netherlands PRENTICE HALL UPPER SADDLE RIVER,NJ 07458课后答案网 w w w .k h d a w .c o m

SOLUTIONS TO CHAPTER 1PROBLEMS 1.An operating system must provide the users with an extended (i.e.,virtual)machine,and it must manage the I/O devices and other system resources. 2.Multiprogramming is the rapid switching of the CPU between multiple processes in memory.It is commonly used to keep the CPU busy while one or more processes are doing I/O. 3.Input spooling is the technique of reading in jobs,for example,from cards,onto the disk,so that when the currently executing processes are ?nished,there will be work waiting for the CPU.Output spooling consists of ?rst copying printable ?les to disk before printing them,rather than printing directly as the output is generated.Input spooling on a personal computer is not very likely,but output spooling is. 4.The prime reason for multiprogramming is to give the CPU something to do while waiting for I/O to complete.If there is no DMA,the CPU is fully occu-pied doing I/O,so there is nothing to be gained (at least in terms of CPU utili-zation)by multiprogramming.No matter how much I/O a program does,the CPU will be 100percent busy.This of course assumes the major delay is the wait while data are copied.A CPU could do other work if the I/O were slow for other reasons (arriving on a serial line,for instance). 5.Second generation computers did not have the necessary hardware to protect the operating system from malicious user programs. 6.It is still alive.For example,Intel makes Pentium I,II,and III,and 4CPUs with a variety of different properties including speed and power consumption.All of these machines are architecturally compatible.They differ only in price and performance,which is the essence of the family idea. 7.A 25×80character monochrome text screen requires a 2000-byte buffer.The 1024×768pixel 24-bit color bitmap requires 2,359,296bytes.In 1980these two options would have cost $10and $11,520,respectively.For current prices,check on how much RAM currently costs,probably less than $1/MB. 8.Choices (a),(c),and (d)should be restricted to kernel mode. 9.Personal computer systems are always interactive,often with only a single user.Mainframe systems nearly always emphasize batch or timesharing with many users.Protection is much more of an issue on mainframe systems,as is ef?cient use of all resources. 10.Every nanosecond one instruction emerges from the pipeline.This means the machine is executing 1billion instructions per second.It does not matter at all how many stages the pipeline has.A 10-stage pipeline with 1nsec per 课后答案网 w w w .k h d a w .c o m

N套_操作系统期末试卷(含答案)

一、选择题 1、在现代操作系统中引入了(),从而使并发和共享成为可能。 A.单道程序 B. 磁盘 C. 对象 D.多道程序 2、( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A.网络 B.分布式 C.分时 D.实时 3、从用户的观点看,操作系统是()。 A. 用户与计算机硬件之间的接口 B.控制和管理计算机资源的软件 C. 合理组织计算机工作流程的软件 D.计算机资源的的管理者 4、当CPU处于管态时,它可以执行的指令是()。 A. 计算机系统中的全部指令 B. 仅限于非特权指令 C. 仅限于访管指令 D. 仅限于特权指令 5、用户在程序中试图读取某文件的第100个逻辑块时,使用操作系统提供的()接口。 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、设有3个作业,它们同时到达,运行时间分别为T1、T2和T3,且T1≤T2≤T3,若它们在单处理机系统中按单道运行,采用短作业优先调度算法,则平均周转时间为()。 A. T1+T2+T3 B. (T1+T2+T3)/3 C. T1+T2/3+2*T3/3 3+2*T2/3+T1 11、在下面的I/O控制方式中,需要CPU干预最少的方式是()。 A.程序I/O方式 B.中断驱动I/O控制方式 C.直接存储器访问DMA控制方式D.I/O通道控制方式 12、有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变

操作系统概念课后习题答案

1.1在多道程序和分时环境中,多个用户同时共享一个系统,返种情冴导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像在与用机器上一样的安全度?并解释乀。 Answer:a.窃叏戒者复制某用户癿程序戒数据;没有合理癿预算来使用资源(CPU,存,磁盘空闱,外围设备)b.应该丌行,因为人类设计癿仸何保护机制都会丌可避兊癿被另外癿人所破译,而丏径自信癿认为程序本身癿实现是正确癿是一件困难癿亊。 1.2资源的利用问题在各种各样的操作系统中出现。试例丼在下列的环境中哪种资源必须被严栺的管理。(a)大型电脑戒迷你电脑系统(b)不服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑戒迷你电脑系统:存呾CPU资源,外存,网络带宽(b)不服务器相联癿工作站:存呾CPU资源(c)手持电脑:功率消耗,存资源 1.3在什举情冴下一个用户使用一个分时系统比使用一台个人计算机戒单用户工作站更好? Answer:当另外使用分时系统癿用户较少时,仸务十分巨大,硬件速度径快,分时系统有意丿。充分利用该系统可以对用户癿问题产生影响。比起个人电脑,问题可以被更快癿解决。迓有一种可能収生癿情冴是在同一时闱有许多另外癿用户在同一时闱使用资源。当作业足够小,丏能在个人计算机上合理癿运行时,以及

当个人计算机癿性能能够充分癿运行程序来达到用户癿满意时,个人计算机是最好癿,。 1.4在下面丼出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实

时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对二实时系统来说,操作系统需要以一种公平癿方式支持虚拟存储器呾分时系统。对二手持系统,操作系统需要提供虚拟存储器,但是丌需要提供分时系统。批处理程序在两种环境中都是非必需癿。 1.5描述对称多处理(SMP)和非对称多处理乀间的区别。多处理系统的三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而丏I/O可以在仸何处理器上运行。非对称多处理有一个主处理器控制系统,不剩下癿处理器是随从关系。主处理器为从处理器安排工作,而丏I/O也叧在主处理器上运行。多处理器系统能比单处理器系统节省资金,返是因为他们能共享外设,大容量存储呾电源供给。它们可以更快速癿运行程序呾增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、觃模经济、增加可靠性) 1.6集群系统不多道程序系统的区别是什举?两台机器属二一个集群来协作提供一个高可靠性的服务器的要什举? Answer:集群系统是由多个计算机耦合成单一系统幵分布二整个集群来完成计算仸务。另一方面,多道程序系统可以被看做是一个有多个CPU组成癿单一癿物理实体。集群系统癿耦合度比多道程序系统癿要低。集群系统通过消息迕行通信,而多道程序系统是通过共享癿存储空闱。为了两台处理器提供较高癿可靠性服务,两台机器上癿状态必项被复制,幵丏要持续癿更新。当一台处理器出现敀障时,另一台处理器能够接管敀障处理癿功能。

《现代操作系统第四版》 第六章 答案

第四章文件系统习题 Q1: 给出文件/etc/passwd的五种不同的路径名。(提示:考虑目录项”.”和”…”。) A: /etc/passwd /./etc/passwd /././etc/passwd /./././etc/passwd /etc/…/etc/passwd /etc/…/etc/…/etc/passwd /etc/…/etc/…/etc/…/etc/passwd /etc/…/etc/…/etc/…/etc/…/etc/passwd Q2:在Windows中,当用户双击资源管理器中列出的一个文件时,就会运行一个程序,并以这个文件作为参数。操作系统要知道运行的是哪个程序,请给出两种不同的方法。 A:Windows使用文件扩展名。每种文件扩展名对应一种文件类型和某些能处理这种类型的程序。另一种方式时记住哪个程序创建了该文件,并运行那个程序。Macintosh以这种方式工作。

Q3:在早期的UNIX系统中,可执行文件(a.out)以一个非常特別的魔数开始,这个数不是随机选择的。这些文件都有文件头,后面是正文段和数据段。为什么要为可执行文件挑选一个非常特别的魔数,而其他类型文件的第一个字反而有一个或多或少是随机选择的魔数? A:这些系统直接把程序载入内存,并且从word0(魔数)开始执行。为了避免将header作为代码执行,魔数是一条branch指令,其目标地址正好在header之上。按这种方法,就可能把二进制文件直接读取到新的进程地址空间,并且从0 开始运行。 Q4: 在UNIX中open系统调用绝对需要吗?如果没有会产生什么结果? A: open调用的目的是:把文件属性和磁盘地址表装入内存,便与后续调用的快速访问。 首先,如果没有open系统调用,每次读取文件都需要指定要打开的文件的名称。系统将必须获取其i节点,虽然可以缓存它,但面临一个问题是何时将i节点写回磁盘。可以在超时后写回磁盘,虽然这有点笨拙,但它可能起作用。 Q5:在支持顺序文件的系统中总有一个文件回绕操作,支持随机存取

操作系统试题及答案

操作系统试题一 一、单选题(每小题1分,共20分) 1、操作系统中采用多道程序设计技术提高CPU和外部设备的【A 】。 A、利用率 B、可靠性 C 、稳定性D、兼容性 2、如果分时操作系统的时间片一定,那么【C】,则响应时间越短。 A、内存越少 B、内存越多 C、用户数越少 D、用户数越多 3、若把操作系统看作资源管理者,下列的【C】不属于操作系统所管理的资源。 A、CPU B、内存 C、中断 D、程序 4、操作系统是通过【D 】感知进程存在的。 A、程序名 B、进程的状态 C、中断 D、进程控制块 5、当【B 】时,进程从执行状态变为就绪状态。 A、进程被进程调度程序选中 B、时间片用完 C、等待某一事件 D、等待的事件发生 6、以下的进程状态变化中,不可能发生的变化是【D 】。 A、执行状态到就绪状态 B、等待状态到就绪状态 C、执行状态到等待状态 D、等待状态到执行状态 7、若P、V操作的信号量S初值为2,当前值为-3,则表示有【D】

个等待进程。 A、0个 B、1个 C、2个 D、3个 8、P、V操作是【A】 1 / 22 A、两条低级进程通信原语 B、两条高级进程通信原语 C、两条系统调用命令 D、两组不同的机器指令 9、用V操作唤醒一个等待进程时,被唤醒的进程状态变为【B 】。 A、等待 B、就绪 C、执行 D、完成 0、资源的有序分配策略破坏【D 】条件,是一种死锁预防策略。 A、互斥条件 B、保持和请求条件 C、不剥夺条件 D、环路等待条件 1、银行家算法是一种【B 】算法。 A、死锁预防 B、死锁避免 C、死锁检测 D、死锁解除 2、某系统中有同类资源10个,每个进程的资源需求量为3个,则不会发生死锁的最大并发进程数为【C】 A、2 B、、4 D、5 3、分区管理中采用首次适应分配算法时,应把空闲区按【C】次序进行管理。 A、大小递增 B、大小递减 C、地址递增 D、地址递减 4、很好地解决了内存碎片问题的存储管理方案是【C 】。

现代操作系统试卷及其答案

1.一般用户更喜欢使用的系统是()。 A.手工操作 B.单道批处理 C.多道批处理 D.多用户分时系统 2. 与计算机硬件关系最密切的软件是()。 A.编译程序 B.数据库管理系统 C.游戏程序 D.OS 3. 现代OS具有并发性和共享性,是()的引入导致的。 A.单道程序 B. 磁盘 C. 对象 D.多道程序 4. 早期的OS主要追求的是()。 A.系统的效率 B.用户的方便性 C.可移植 D.可扩充性 5.()不是多道程序系统 A.单用户单任务 B.多道批处理系统 C.单用户多任务 D.多用户分时系统 6.()是多道操作系统不可缺少的硬件支持。 A.打印机 B.中断机构 C.软盘 D.鼠标 7. 特权指令可以在()执行。 A.目态 B.浏览器中 C.任意的时间 D.进程调度中 8. 没有了()计算机系统就启动不起来。 A.编译器 B.DBMS C.OS D.浏览器 9. 通道能够完成()之间的数据传输。 A.CPU与外设 B.内存与外设 C.CPU与主存 D.外设与外设 10. 操作系统的主要功能有()。 A.进程管理、存储器管理、设备管理、处理机管理 B.虚拟存储管理、处理机管理、进程调度、文件系统 C.处理机管理、存储器管理、设备管理、文件系统 D.进程管理、中断管理、设备管理、文件系统 11. 单处理机计算机系统中,()是并行操作的。 A.处理机的操作与通道的操作是并行的 B.程序与程序 C.主程序与子程序 D.用户程序与操作系统程序 12. 处理机的所有指令可以在()执行。 A.目态 B.浏览器中

C.任意的时间 D.系统态 13.()功能不是操作系统直接完成的功能。 A.管理计算机硬盘 B.对程序进行编译 C.实现虚拟存储器 D.删除文件 14. 要求在规定的时间内对外界的请求必须给予及时响应的OS是()。 A.多用户分时系统 B.实时系统 C.批处理系统时间 D.网络操作系统 15. 操作系统是对()进行管理的软件。 A.硬件 B.软件 C.计算机资源 D.应用程序 16.()对多用户分时系统最重要。 A.实时性 B.交互性 C.共享性 D.运行效率 17.()对多道批处理系统最重要。 A.实时性 B.交互性 C.共享性 D.运行效率 18. ( )对实时系统最重要。 A.及时性 B.交互性 C.共享性 D.运行效率 19. Windows98是()操作系统。 A.多用户分时 B.批处理系统 C.单用户多任务 D.单用单任务 20. 分布式系统与网络系统的主要区别是() A.并行性 B.透明性 C.共享性 D.复杂性 21. ( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A.网络 B.分布式 C.分时 D.实时 22. 如果分时操作系统的时间片一定,那么(),则响应时间越长。 A.用户数越少 B.用户数越多 C.内存越小 D.内存越大 23. 下面6个系统中,必须是实时操作系统的有()个。 ·航空订票系统 ·过程控制系统 ·机器口语翻译系统 ·计算机辅助系统

《操作系统》期末试卷(含答案)

计算机网络试题 一、选择题 1、在现代操作系统中引入了(),从而使并发和共享成为可能。 A.单道程序 B. 磁盘 C. 对象 D.多道程序 2、( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A.网络 B.分布式 C.分时 D.实时 3、从用户的观点看,操作系统是()。 A. 用户与计算机硬件之间的接口 B.控制和管理计算机资源的软件 C. 合理组织计算机工作流程的软件 D.计算机资源的的管理者 4、当CPU处于管态时,它可以执行的指令是()。 A. 计算机系统中的全部指令 B. 仅限于非特权指令 C. 仅限于访管指令 D. 仅限于特权指令 5、用户在程序中试图读取某文件的第100个逻辑块时,使用操作系统提供的()接口。 A. 系统调用 B.图形用户接口 C.原语 D.键盘命令 6、下列几种关于进程的叙述,()最不符合操作系统对进程的理解? A.进程是在多程序并行环境中的完整的程序。 B.进程可以由程序、数据和进程控制块描述。 C.线程是一种特殊的进程。 D.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 7、当一个进程处于()状态时,称其为等待(或阻塞)状态。 A. 它正等待中央处理机 B. 它正等待合作进程的一个消息 C. 它正等待分给它一个时间片 D. 它正等待进入内存 8、一个进程释放一种资源将有可能导致一个或几个进程()。 A.由就绪变运行 B.由运行变就绪 C.由阻塞变运行 D.由阻塞变就绪 9、下面关于线程的叙述中,正确的是()。 A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。 B.线程是资源的分配单位,进程是调度和分配的单位。 C.不管系统中是否有线程,进程都是拥有资源的独立单位。 D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。

(完整版)操作系统课后题答案

2 . OS的作用可表现在哪几个方面? 答:(1)0S作为用户与计算机硬件系统之间的接口;(2)0S作为计算机系统资源的管理者;(3)0S实现了对计算机资源的抽象。 5 .何谓脱机I/O 和联机I/O ? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围 机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出 都是在主机的直接控制下进行的。 11 . OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20 .试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25 ?何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽 量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核 中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2.画出下面四条语句的前趋图: S仁a : =x+y; S2=b : =z+1; S3=c : =a - b ; S4=w : =c+1; 7 ?试说明PCB的作用,为什么说PCB是进程存在的惟一标志? 答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在 多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程 并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11 .试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态T执行状态:进程分配到CPU资源;(2)执行状态T就绪状态:时间片用 完;(3)执行状态T阻塞状态:I/O请求;(4)阻塞状态T就绪状态:I/O完成. 19 ?为什么要在OS中引入线程? 答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具

操作系统第四版-课后习题答案

操作系统第四版-课后习题答案

第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分) (2)程序A 无等待现象,但程序B 有等待。程序B 有等待时间段为180rns 至200ms 间(见图中有色部分) 3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

江西理工大学-现代操作系统考试复习题

第一章:引论 1.系统调用与中断的概念。 作业题解 第一章引论 PE1-14. 陷阱和中断的主要差别是什么? 答:陷阱是由程序造成的,并且与它同步。如果程序一而再地被运行,陷阱将总在指令流中相同的位置的精确发生。而中断则是由外部事件和其他时钟造成的,不具有重复性。 PE1-20. 有一个文件,其文件描述符是fd,内含下列字节序列:3,1,4,1,5,9,2,6,5,3,5.有如下系统调用: lseek (fd, 3, SEEK_SET); // 从文件开头偏移量为3,此时将读写位置移到文件1,5,9,2的1处 Read(fd, &buffer, 4); 其中lseek调用寻找文件中的字节3.在读操作完成之后,buffer中的内容是什么? 答:包含字节:1,5,9,2。 PE1-22. 块特殊文件和字符特殊文件的基本差别是什么? 答:块特殊文件包含被编号的块,每一块都可以独立地读取或者写入。而且可以定位于任何块,并且开始读出或写入。这些对于字符特殊文件是不可能的。 PE1-29. 下面是单位转换练习: (a)一微年是多少秒? (b)微米常称micron.那么gigamicron是多长? (c)1TB存储器中有多少字节? (d)地球的质量是6000 yottagram,换算成kilogram是多少? 答:这些都可以直接转换: (a) micro year = 10-6X 365 X 24 X 3600 = 31.536 sec。 (b) 1km或者1000。 (c)有240字节,也就是1,099,511,627,776 字节。 (d)它是6 X 1024公斤。 第二章:进程与线程 1.进程的概念。 答:进程是对正在运行的程序的一个抽象。是容纳运行一个程序所需要的所有信息的容器。也可以说一个进程就是就是一个正在运行的实例。 2.进程的三种基本状态。 运行态(该时刻进程实际占用CPU)。 就绪态(可运行,但因为其他进程正在运行而暂时停止)。 阻塞态(除非某种外部事件发生,否则进程不能运行)。

操作系统试题(绝密)

“操作系统”复习提纲 2010-6-26 1.什么是操作系统?如何理解它的“机器扩展(extended machine)”和“资源 管理(resource management)”两个基本能力? 答:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合 1、它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源 2、合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能 3、使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运 行 作为扩展机器的操作系统,为程序员隐藏硬件的实际细节,并提供一个可以读写 的、简洁的命名文件视图的程序。它还隐藏了大量与中断、定时器、存储管理以 及其他与底层特征有关的令人烦恼的细节。 作为资源管理者的操作系统,主要任务是记录使用资源的情况、对资源的请求进 行授权、计算使用费用,并且为不同的程序和用户协调互相冲突的资源请求。在 时间和空间上实现共享资源的复用。 2.中断发生时,操作系统底层的运行框架(Skeleton)? 答:1)硬件压入堆栈技术器等 2)硬件从中断向量装入新的程序计数器 3)汇编语言过程保存寄存器值 4)汇编语言过程设置新的堆栈 5)C中断服务例程运行(典型的读和缓冲输入) 6)调度程序决定下一个将运行的进程 7)C过程返回至汇编代码 8)汇编语言过程开始运行新的当前进程。 3.什么是进程和线程,区别是什么? 答:线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成。进程是程序的一次动态执行过程,它也是系统资源分配的基本单位,它能和其他进程并发执行。 线程与进程的主要区别:进程是资源管理的基本单位,线程只是处理机调度的基本单位。进程进行处理机切换和调度时间较长,而线程进行处理机切换和调度时间较短,不发生资源的变化。线程和进程一样,都有自己的状态,也有相应的同步机制,不过由于线程没有单独的数据和程序空间,因此线程没有挂起状态。进程的调度、同步机制大多数由操作系统内核完成,而线程的控制既可以由操作系统内核进行,也可以由用户控制进行。 4.针对如下的多线程Web Server代码,图式说明进程和线程的结构关系。

操作系统答案解析

1.1什么是操作系统?用自己的话谈谈你对操作系统概念的认识与理解。 一、我的定义:计算机系统可分为四个部分:硬件、操作系统、应用程序和用户,操作系统是其中最重要的一部分。此外,操作系统也是系统软件中的第一软件。它管理和控制计算机系统中的硬件及软件资源、合理的组织计算机工作流程,以便有效利用这个资源为用户提供一个功能强大、使用方便和可扩充的工作环境,从而在计算机和用户之间起到接口作用。 操作系统在计算机系统中充当计算机硬件系统与应用程序之间的界面,所以,操作系统既面向系统资源又面向用户。面向系统资源,操作系统必须尽可能提高资源利用率;面向用户,操作系统必须提供方便易用的用户界面。 (1)系统方面:操作系统是对计算机资源管理;这些资源包括硬件和软件。操作系统向用户提供了高级而调用简单的服务,掩盖了绝大部分硬件设备复杂的特性和差异,使得用户可以免除大量的乏味的杂务,而把精力集中在自己所要处理的任务上。 (2)软件方面:操作系统是程序和数据结构的集合。操作系统是直接和硬件相邻的第一层软件,它是大量极其复杂的系统程序和众多的数据结构集成的。 (3)用户方面:操作系统是用户使用计算机的界,是用户与计算机硬件之间的接口,一般可以分为三种:命令方式,系统调用,图形界面。

二、它的功能:操作系统具有五大管理功能,即文件管理、存储管理、 信息管理、设备管理和处理机管理此外,操作系统还具有提供良好用户界面的功能,因为操作系统是计算机与用户之间的接口,最终是用户在使用计算机,所以它必须为用户提供一个良好的用户界面。用户界面的好坏是直接关系到操作系统能否得到用户认可的一个不容忽略的关键问题。界面主要有三种:命令界面、程序界面和图形界面。 1.文件管理 操作系统的文件管理子系统是最接近用户的部分,它给用户提供一个方便、快捷、可以共享、同时又提供保护的对文件的使用环境。 2.存储管理 存储管理涉及系统另一个紧俏资源——内存,它一方面要为系统进程及各个用户进程提供其运行所需要的内存空间,另一方面还要保证各用户 进程之间互不影响,此外,还要保证用户进程不能破坏系统进程,提供内 存保护。 3.信息管理 主要解决内存分配、保护和扩充的问题; 4.设备管理 主要是对计算机系统中的输入输出等各种设备的分配、回收、调度和控制,以及输入输出等操作; 5.处理机管理 操作系统处理机管理模块的主要任务是确定对处理机的分配策略,实施对进程或线程的调度和管理。 三、它的种类:计算机上使用的操作系统的种类很多,但基本 类型可划分为三类:批处理操作系统、分时操作系统、实时操作系统。此外还有网络操作系统、分布式操作系统、个人操作系统等等 四、它的特性:操作系统有以下五方面特性 1.可靠性

现代操作系统第四版 第二章 答案

现代操作系统第二章进程与线程习题 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的空闲状态。请问CPU时间浪费的比例是多少 A:^5 =%

现代操作系统--作业题整理演示教学

注:标有“操作系统第二版中文版答案”的答案是从操作系统第二版中文答案的电子书上摘抄的,剩下的是非标准答案(可以忽略~~)。有几道题没有写。以下的相关文档仅供参考!祝各位同学考试愉快! 第一章:引论(P44) 1、什么是多道程序设计? 答:多道程序就是CPU在内存中多个进程之间迅速切换。它一般被用来使CPU 保持忙碌,当有一个或多个进程进行I/O时。(操作系统第二版中文答案) 2、什么是SPOOLing?读者是否认为将来的高级个人计算机会把SPOOLing作为标准功能? 答:SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。(回答:什么是SPOOLing?百度的~~~)输入SPOOLing是作业中的读入技术,例如:从卡片在磁盘,这样当当前执行的进程完成时,将等候CPU。输出SPOOLing在打印之前首先复制打印文件,而非直接打印。在个人计算机上的输入SPOOLing很少,但输出SPOOLing非常普通。(操作系统第二版中文答案) 3、在早期的计算机中,每个字节的读写直接由CPU处理(既没有DMA)。对于多道程序而言这种组织方式有什么含义? 答:多道程序的主要原因是当等候I/O完成时CPU有事可做。如果没有DMA,I/O 操作时CPU被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。无论程序操作多少I/O操作,CPU都是100%的忙碌。当然,这里是假定主要的延迟是数据复制时的等待。如果I/O很慢的话,CPU可以做其他工作。(操作系统第二版中文答案) 4、系列计算机的思想在20世纪60年代由IBM引入System/360大型机。现在这种思想已经消亡了还是继续活跃着? 答:它依然存在。例如:Interl以各种各样的不同的属性包括速度和能力消耗来产生Pentium I,II,III和4。所有这些机器的体系结构都是兼容的,仅仅是价格上的不同,这些都是家族思想的本质。(操作系统第二版中文答案) 5、缓慢采用GUI的一个原因是支持它的硬件的成本(高昂)。为了支持25行80列字符的单色文本屏幕应该需要多少视频RAM?对于1024*768像素24位色彩位图需要多少视频RAM?在1980年($5/KB)这些RAM的成本是多少?现在它的成本是多少? 答:25*80字符的单色文本屏幕需要2000字节的缓冲器。1024*768像素24位颜色的位图需要2359296字节。1980年代这两种选择将分别地耗费$10和$11520。而对于当前的价格。将少于$1/MB。(操作系统第二版中文答案) 8、考虑一个有两个CPU的系统,并且每个CPU有两个线程(超线程)。假设有三

高级操作系统答案

一、解释 1、分布式系统: 分布式系统是一些独立的计算机的集合,对该系统的用户来说,系统就像一台计算机一样,即:由大量CPU组成的计算机系统。这个定义有两方面的含义:第一,从硬件角度看,每台计算机都是自主的;第二,从软件角度看,用户将整个系统视为一台计算机。 2、微内核的主要任务 微内核具有更好的灵活性。主要提供四种服务: (1) 进程间的通信机制。 (2) 某些内存管理功能。 (3) 少量的低层进程管理和调度。(4) 低层输入和输出服务。 3、A TM对分布式系统的影响 A、延时:需要新的协议和系统结构处理 B、流量控制:信元淹没 C、阻塞控制:防止数据丢失 4、原子事务的基本特性 事务具有四个重要特性: (1)原子性(Atomic):对外界来说,事务的发生是不可分割的 (2)一致性(Consistent):事务不会破坏系统的恒定 (3)独立性(Isolated):并发的事务不会互相干扰 (4)持久性(Durable):一旦事务提交,所做的改变永远有效 5、并行透明性 并行透明性就是系统的活动可以在用户没有感觉的情况下并行发生(同时发生),即整个分布式并行服务器在用户看起来就像一个传统的单处理机分时系统。 6、请说出微内核优于单内核的两个优点 答:(1)微内核系统具有高度的模块化,对于每一个服务都有一个定义好的借口,每一

个服务程序对所有客户来说都是可以访问的,且和位置无关。 (2)微内核系统具有很高的灵活性,易于实现、安装和调试新的服务程序,因为增加或者改变一个服务程序不需要像有一个单内核那样停止系统和启动一个新的内核。 二、计算题 1、一个A TM系统以OC-3的速率传递信元,每个包48字节长,刚好放进一个信元, 一个中断耗时1μs,CPU用于中断处理的时间是多少?如果包长是1024字节呢? 答:OC-3的数据传输速率为155.520Mbps,由题意可知,一个信元是48字节。可得每秒传递包(信元)的数目为:((155.520*1024*1024)bps/8)/53=384609.76每进入一个包产生一次中断,一个中断耗时1μs,一秒内共产生384609.76个中断。CPU用于中断处理的时间是:1*10-6s*384609.76≈0.38s。 如果包长是1024字节,一个包可拆分为22个信元。每秒传递包的数目为:384609.76/22≈17482 CPU用于中断处理的时间是:1*10-6s*17482≈0. 017s. 2、假设一个空RPC(0字节数据)需时间1.0ms,每增加1k数据,时间增加1.5ms。如 果要从文件服务器读32k的数据,请计算一次读取32k数据的RPC所需的时间和 32次读取1k数据的RPC所需的时间? 解(1)由题知我们记一次读取32k数据的RPC所需的时间记为T则T=1.0+32*1.5=49ms。故一次读取32k数据的RPC所需的时间是49ms。 (2)32次读取1k数据所需的时间记为T1 则T1=32*(1.0+1.5)=80ms, 故32次读取1k所需的时间为80ms。 3、考虑一个分布式系统中的两台机器。这两台机器的时钟假设都每毫秒滴答1000次, 但实际上只有一个是这样,而另一个一毫秒仅滴答990次,如果UTC每分钟更新一 次那么时钟的最大偏移量将是多少? 答:第二个时钟每秒滴答990,000次,每秒提供了一个10毫秒的误差,这个误差在一分钟已增加到600毫秒。 4、如果要求的数据在缓存中,收到任务请求,分配这个工作,并做相应的处理需要15 毫秒;如果要进行磁盘读写,并且进行读写占用1/3的时间,则需要多使用75毫

相关主题
文本预览
相关文档 最新文档