操作系统同步互斥习题

操作系统同步互斥习题
操作系统同步互斥习题

信号量的PV操作是如何定义的?试说明信号量的PV操作的物理意义。

参考答案:P(S):将信号量S减1,若结果大于或等于0,则该进程继续执行;若结果小于0,则该进程被阻塞,并将其插入到该信号量的等待队列中,然后转去调度另一进程。

V(S):将信号量S加1,若结果大于0,则该进程继续执行;若结果小于或等于0,则从该信号量的等待队列中移出一个进程,使其从阻塞状态变为就绪状态,并插入到就绪队列中,然后返回当前进程继续执行。

PV操作的物理含义:信号量S值的大小表示某类资源的数量。当S>0时,其值表示当前可供分配的资源数目;当S<0时,其绝对值表示S信号量的等待队列中的进程数目。每执行一次P操作,S值减1,表示请求分配一个资源,若S≥0,表示可以为进程分配资源,即允许进程进入其临界区;若S<0,表示已没有资源可供分配,申请资源的进程被阻塞,并插入S的等待队列中,S的绝对值表示等待队列中进程的数目,此时CPU将重新进行调度。每执行一次V操作,S值加1,表示释放一个资源,若S>0,表示等待队列为空;若S≤0,则表示等待队列中有因申请不到相应资源而被阻塞的进程,于是唤醒其中一个进程,并将其插入就绪队列。无论以上哪种情况,执行V操作的进程都可继续运行。

1、设公共汽车上,司机和售票员的活动分别是:

司机的活动:启动车辆;

正常行车;

到站停车;

售票员的活动:

关车门;

售票;

开车门;

在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?用P、V操作实现它们的同步。

设两个信号量S和C,初值为S=0;C=0;

司机:L1:正常行车售票员:L2:售票

到站停车P(S)

V(S)开车门

P(C)关车门

启动开车V(C)

GO TO L1 GO TO L2

2、请用PV操作实现他们之间的同步关系:

(1)桌上一个盘子,只能放一只水果。爸爸放苹果,妈妈放桔子,儿子只吃桔子,女儿只吃苹果。

(2)桌上一个盘子,只能放一只水果。爸爸放苹果,妈妈放桔子,儿子吃桔子、苹果。

参考答案:

第一步:确定进程

4个进程Father(爸爸)、Mother(妈妈)、Son(儿子)、Daughter(女儿)

Father进程:

将苹果放入盘中

Mother进程:

●将桔子放入盘中

Son进程:

●从盘中取出桔子

●吃桔子

Daughter进程:

●从盘中取出苹果

●吃苹果

第二步:确定进程的同步、互斥关系

●同步:Father当盘中无水果时,才可以将苹果放入盘中

●同步:Mother当盘中无水果时,才可以将桔子放入盘中

●同步:Son当盘中有桔子时,才可以从盘中取出桔子

●同步:Daughter当盘中有苹果时,才可以从盘中取出苹果第三步:设置信号量

●盘中无水果,Sp,初值1

●盘中有桔子,So,初值0

●盘中有苹果,Sa,初值0

第四步:用伪代码描述

begin

Sp,So,Sa:semaphore;

Sp :=1;

So :=0;

Sa :=0;

cobegin

Father ( );

Mother ( );

Son ( );

Daughter ( );

coend;

end;

process Father ( )

begin

L1: P(Sp);

将苹果放入盘中;

V(Sa);

goto L1;

end;

process Mother ( )

begin

L2: P(Sp);

将桔子放入盘中;

V(So);

goto L2;

end;

process Son ( )

begin

L3: P(So);

从盘中取出桔子;

V(Sp)

吃桔子;

goto L3;

end;

process Daughter ( )

begin

L4: P(Sa);

从盘中取出苹果;

V(Sp)

吃苹果;

goto L4;

end;

(2)

第一步:确定进程

3个进程Father(爸爸)、Mother(妈妈)、Son(儿子)

Father进程:

●将苹果放入盘中

Mother进程:

●将桔子放入盘中

Son进程:

●从盘中取出水果(桔子或苹果)

●吃水果(桔子或苹果)

第二步:确定进程的同步、互斥关系

●同步:Father当盘中无水果时,才可以将苹果放入盘中

●同步:Mother当盘中无水果时,才可以将桔子放入盘中

●同步:Son当盘中有水果(桔子或苹果)时,才可以从盘中取出水果

第三步:设置信号量

●盘中无水果,empty,初值1

●盘中有水果(桔子或苹果),full,初值0

第四步:用伪代码描述

begin

empty, full:semaphore;

empty:=1;

full :=0;

cobegin

Father ( );

Mother ( );

Son ( );

coend;

end;

process Father ( )

begin

L1: P(empty);

将苹果放入盘中;

V(full);

goto L1;

end;

process Mother ( )

begin

L2: P(empty);

将桔子放入盘中;

V(full);

goto L2;

end;

process Son ( )

begin

L3: P(full);

从盘中取出水果;

V(empty);

吃水果;

goto L3;

end;

3.某工厂有一个可以存放设备的仓库,总共可以存放10台设备。生产的每一台设备都必

须入库,销售部门可从仓库提出设备供应客户。设备的入库和出库都必须借助运输工具。

现只有一台运输工具,每次只能运输一台设备。请设计一个能协调工作的自动调度管理系统。

参考答案:

第一步:确定进程

可以为入库(Pin)和出库(Pout)各设置一个进程

Pin进程:

●生产了一台设备

●使用运输工具入库

Pout进程:

●使用运输工具出库

●提出设备供应客户

第二步:确定进程的同步、互斥关系

●同步:当仓库中有空余位置存放设备时,设备才可以入库

●同步:当仓库中有存放的设备时,设备才可以出库

●互斥:运输工具是临界资源,要互斥访问

第三步:设置信号量

●仓库中有空余位置数量,empty,初值10

●仓库中有存放的设备数量,full,初值0

●为运输工具设置互斥信号量S,初值1,表示当前可用

第四步:用伪代码描述

begin

empty, full, S:semaphore;

empty := 10;

full := 0;

S := 1;

cobegin

Pin ();

Pout ();

coend;

end;

process Pin ( )

begin

L1: 生产了一台设备 ;

P(empty);

P (S);

使用运输工具入库;

V (S);

V(full);

goto L1;

end;

process Pout ( )

begin

L2: P(full);

P (S);

使用运输工具出库;

V (S);

V(empty);

提出设备供应客户;

goto L2;

end;

4、写者优先的“读者――写者”问题:

1)共享读

2)互斥写、读写互斥

3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)

wmutex:semaphore=1 //读者与写者之间、写者与写者之间互斥使用共享数据S:semaphore=1 //当至少有一个写者准备访问共享数据时,它可使后续

的读者等待写完成

S2:semaphor=1 //阻塞第二个以后的等待读者

readcount,writecount: semaphore = 0,0; //当前读者数量、写者数量

mutex1 :semaphore = 1 //多个读者互斥使用readcount

mutex2 :semaphore = 1 //多个写者互斥使用writecount

Cobegin:

Reader: begin

Repeat

Wait(S2);

wait(S);

wait(mutex1)

if readcount=0 then wait(wmutex);

readcount++;

signal (mutex1);

signal(S);

signal(S2);

reading…

wait(mutex1);

readcount--;

if readcount=0 then signal(wmutex);

signal(mutex1);

until false;

begin;

writer: begin

repeat;

wait(mutex2);

if writecount=0 then wait(S);

writecount++;

signal (mutex2);

wait(wmutex);

writing…

signal(wmutex);

wait(mutex2);

writecount--;

if writecount=0 then signal(S);

signal (mutex2);

until false;

end;

coend;

5、有一个仓库,可以存放A、B两种产品,但要求:

①每次只能存入一种产品(A或B);

②A产品数量-B产品数量

③B产品数量-A产品数量

其中M、N是正整数,使用P、V操作描述产品A与产品B的入库过程。Mutex,Sa,Sb: Semaphore;

Mutex =1;

Sa=M-1;

Sb=N-1;

CoBegin:

Process PA:

Begin

Loop:

P(Sa);

P(Mutex);

产品A入库;

V(Mutex);

V(Sb);

Goto Loop;

End;

Process PB:

Begin

Loop:

P(Sb);

P(Mutex);

产品B入库;

V(Mutex);

V(Sa);

Goto Loop;

End;

CoEnd;

5、进程A1、A2、……An1通过m个缓冲区向进程B1、B2……Bn2不断地发送消息。发送和接收工作遵循如下规则:

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

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

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

待。

解答:本题是生产者——消费者问题的一个变形,一组生产者A1,A2,…….An1和一组消费者B1,B2,……Bn2公用m个缓冲区,每个缓冲区只要写一次,但需要读n2次,因此,我们可以把这一组缓冲区看成n2组缓冲区,每个发送者需要同时写n2组缓冲区,而每一个接收者只需读它自己对应的那组缓冲区中的对应单元。

Mutex,empty[n2],full[n2]:semaphore;

Mutex=1; //多进程互斥使用缓冲区

empty[0,1,……n2]={m,m,……m};

full[0,1,…..n2]={0,0,……0};

int I;

Cobegin:

Process Ai

Begin:

Loop:

Int I;

For ( I=0; I

P (empty[I]);

P(Mutex);

将消息放入缓冲区;

v(Mutex);

for( I=0; I

v(full[I]);

Goto Loop;

End;

Process Bi

Begin:

Loop:

P (full[I]);

P(Mutex);

从消息缓冲区取出消息;

v(Mutex);

v(empty[I]);

Goto Loop;

End;

CoEnd;

6、理发师问题:一个理发店有N张沙发和一张理发椅,没有顾客要理发时,理发师便去睡觉;当一个顾客走进理发店时,如果所有的沙发都已被占用,他便离开理发店;否则,如果理发师正在为其他顾客理发,则该顾客就找一张空沙发坐下等待;如果理发师因无顾客正在睡觉,则由新到的顾客唤醒理发师为其理发。在理发完成后,顾客必须付费,直到理发师收费后才能离开理发店。使用信号量实现这一同步问题。

解答:为解决上述问题,需要设置一个整形变量count用来对理发店中的顾客进行计数,再设置7个信号量:mutex用来实现顾客进程对count变量的互斥访问,其初值为1;sofa是对应于等候室中N张沙发的资源信号量,其初值为N;empty 表示是否有空闲的理发椅,其初值为1;full表示理发椅上是否坐有等待理发的顾客,其初值为0;cut用来等待理发的完成,其初值为0;payment用来等待付费,其初值为0;receipt用来等待收费,其初值为0。

Int count =0;

Mutex,sofa,empty,full,cut,payment,receipt: semaphore =1,N,1,0,0,0,0;

CoBegin:

Process Guest:

Begin:

P (mutex);

If(count>N) then

{

v(mutex);

exit shop;

}

else

{

count ++;

if ( count >1)then

{

p(sofa);

sit on sofa;

p(empty);

get up from sofa;

v(sofa);

}

else //count=1

{

p(empty);

sit on the baber_chair;

v(full);

p (cut);

pay;

v(payment);

p(receipt);

get up from the baber_chair;

v(empty);

p(mutex)

count--;

v(mutex);

exit shop;

End;

Process Barber:

Begin

Loop:

P(full);

Cut hair;

V(cut);

P(payment);

Accept payment;

V(receipt);

Goto Loop;

CoEnd;

7、一个海底隧道中只有一个车道,规定同一个方向的可以连续过隧道;某方向有列车过隧道时,另一个方向的列车就要等待,现在东岸和西岸都有列车要过隧道,如果把每个过隧道的列车看作一个进程,为保证安全,使用P、V操作实现正确管理。

8、如果系统中有N个进程,

?运行进程最多几个,最少几个?

?就绪进程最多几个,最少几个?

?等待进程最多几个,最少几个?

解答:运行进程最多1个,最少0个;

就绪进程最多N-1个,最少0个;

等待进程最多N个,最少0个;

9、教材作业第25题:

(1)具有忙等待的关锁和开锁原语:

Lock(W): { While W=1 Do No Operation;

W=1;

}

Unlock(W): { W=0;}

(2)不会忙等待的关锁和开锁原语:

Lock(W): { W++;

If W>1 Then Block();

}

Unlock(W): { W- -;

If W>=1 Then Wakeup();

}

10、教材作业第28题:

第一种解法:

S1,S2: Semaphore=0,0;

Main ()

{ Cobegin :

Collection( );

Computer( );

}

Collection( )

{ L1: Collect Mesg;

Put Mesg Into Buffer;

V ( S1);

P ( S2);

Goto L1;

}

Computer( )

{ L2: P ( S1);

Get Mesg;

V (S2);

Computing;

Goto L2;

}

第二种解法:

S1,S2: Semaphore=0,1;

Main ()

{ Cobegin :

Collection( );

Computer( );

}

Collection( )

{ L1: Collect Mesg;

P ( S2) ;

Put Mesg Into Buffer;

V ( S1);

Goto L1;

}

Computer( )

{ L2: P ( S1);

Get Mesg;

V (S2);

Computing;

Goto L2;

}

12、假设有三个并发进程P,Q,R,其中P负责从输入设备上读入信息并传送给Q,Q将信息加工后传送给R,R则负责将信息打印输出。写出下列条件的并发程序:(1)进程P、Q共享一个缓冲区,进程Q、R共享另一个缓冲区。

(2)进程P、Q共享一个由m个缓冲区组成的缓冲池,进程Q、R共享另一个由n个缓冲区组成的缓冲池。

参考答案:(1)

第一步:确定进程

3个进程P、Q、R

P进程:

●从输入设备上读入信息

●将信息放入缓冲区1

Q进程:

●从缓冲区1取出信息

●将信息放入缓冲区2中

R进程:

●从缓冲区2取出信息

●将信息打印输出

第二步:确定进程的同步、互斥关系

●同步:P当缓存区1无数据时,才可以向缓冲区1写入信息

●同步:Q当缓存区1有数据时,才可以从缓冲区1读取信息

●同步:Q当缓存区2无数据时,才可以向缓冲区2写入信息

●同步:R当缓存区2有数据时,才可以从缓冲区2读取信息

第三步:设置信号量

●缓存区1无数据,empty1,初值1

●缓存区1有数据,full1,初值0

●缓存区2无数据,empty2,初值1

●缓存区2有数据,full2,初值0

第四步:用伪代码描述

begin

empty1,empty2,full1,full2:semaphore;

empty1 :=1;

empty2 :=1;

full1 :=0;

full2 :=0;

cobegin

P ( );

Q ( );

R ( );

coend;

end;

process P ( )

begin

L1: 从输入设备上读入信息;

P(empty1);

将信息放入缓冲区1;

V(full1);

goto L1

end;

process Q ( )

begin

L2:P(full1);

从缓冲区1取出信息;

V(empty1);

P(empty2);

将信息放入缓冲区2;

V(full2);

goto L2

end;

process R ( )

begin

L3:P(full2);

从缓冲区2取出信息;

V(empty2);

将信息打印输出;

goto L3 ;

end;

(2)

第一步:确定进程

3个进程P、Q、R

P进程:

●从输入设备上读入信息

●将信息放入缓冲池1中的一个空缓冲区中

Q进程:

●从缓冲池1中的一个非空缓冲区中取出信息

●将信息放入缓冲池2中的一个空缓冲区中

R进程:

●从缓冲池2中的一个非空缓冲区中取出信息

●将信息打印输出

第二步:确定进程的同步、互斥关系

●同步:P当缓冲池1中有空的缓冲区时,才可以向缓冲池1写入信息

●同步:Q当缓冲池1中有非空的缓冲区时,才可以从缓冲池1读取信息

●同步:Q当缓冲池2中有空的缓冲区时,才可以向缓冲池2写入信息

●同步:R当缓冲池2中有非空的缓冲区时,才可以从缓冲池2读取信息第三步:设置信号量

●缓冲池1中的空缓冲区的数量,empty1,初值m

●缓冲池1中的非空缓冲区的数量,full1,初值0

●缓冲池2中的空缓冲区的数量,empty2,初值n

●缓冲池2中的非空缓冲区的数量,full2,初值0

第四步:用伪代码描述

begin

empty1,empty2,full1,full2:semaphore;

empty1 :=m;

empty2 :=n;

full1 :=0;

full2 :=0;

cobegin

P ( );

Q ( );

R ( );

coend;

end;

process P ( )

begin

L1: 从输入设备上读入信息;

P(empty1);

将信息放入缓冲池1中的一个空缓冲区中;

V(full1);

goto L1

end;

process Q ( )

begin

L2:P(full1);

从缓冲池1中的一个非空缓冲区中取出信息;

V(empty1);

P(empty2);

将信息放入缓冲池2中的一个空缓冲区中;

V(full2);

goto L2

end;

process R ( )

begin

L3:P(full2);

从缓冲池2中的一个非空缓冲区中取出信息;

V(empty2);

将信息打印输出;

goto L3 ;

end;

13、有四个并发进程:R1,R2,W1和W2,它们共享可以存放一个数的缓冲区。进程R1每次从磁盘读入一个数存放到缓冲区中,供进程W1打印输出;进程R2每次从键盘读一个数存放到缓冲区中,供进程W2打印输出。当缓冲区满时,不允许再向缓冲区中存放数据;当缓冲区空时,不允许再从缓冲区中取出数据打印输出。试用PV操作实现四个进程的协调运行。

参考答案:

第一步:确定进程

4个进程R1、R2、W1、W2

R1进程:

●从磁盘上读入一个数

●将数存放到缓冲区中

W1进程:

●将R1进程放进缓冲区中的数取出

●打印输出

R2进程:

●从键盘读入一个数

●将数存放到缓冲区中

W2进程:

●将R2进程放进缓冲区中的数取出

●打印输出

第二步:确定进程的同步、互斥关系

●同步:R1当缓存区无数据时,才可以向缓冲区写入数据

●同步:R2当缓存区无数据时,才可以向缓冲区写入数据

●同步:W1当缓存区中是R1写的数据时,才可以将数据从缓冲区中读出

●同步:W2当缓存区中是R2写的数据时,才可以将数据从缓冲区中读出

第三步:设置信号量

●缓存区无数据,empty,初值1

●缓存区中是R1写的数据,full1,初值0

●缓存区中是R2写的数据,full2,初值0

第四步:用伪代码描述

begin

empty, full1,full2:semaphore;

empty :=1;

full1 :=0;

full2 :=0;

cobegin

R1 ( );

R2 ( );

W1 ( );

W2 ( );

coend;

end;

process R1 ( )

begin

L1: 从磁盘上读入一个数;

P(empty);

将数存放到缓冲区中;

V(full1);

goto L1

end;

process R2 ( )

begin

L2: 从键盘上读入一个数;

P(empty);

将数存放到缓冲区中;

V(full2);

goto L2

end;

process W1 ( )

begin

L3:P(full1);

将缓冲区中的数取出;

V(empty);

打印输出;

goto L3

end;

process W2 ( )

begin

L4:P(full2);

将缓冲区中的数取出;

V(empty);

打印输出;

goto L4

end;

15、有一个阅览室,共有100个座位。读者进入阅览室时必须在入口处进行登记;离开阅览室时必须进行注销。试用PV操作描述读者进入/离开阅览室的同步与互斥关系。

参考答案:

第一步:确定进程

可以进入阅览室的读者可以有很多,这里设为n,即

n个Reader(读者)进程

Reader进程:

●登记

●进入阅览室

●读书

●离开阅览室

●注销

第二步:确定进程的同步、互斥关系

●同步:当教室内有空座位时,读者才可以登记,并进入阅览室

●互斥:同时只能有一个读者在入口处进行登记

●互斥:同时只能有一个读者在出口处进行注销

第三步:设置信号量

●教室内空座位数量,seat,初值100

●为入口处进行登记设置互斥信号量Sin,初值1,表示当前可用

●为出口处进行注销设置互斥信号量Sout,初值1,表示当前可用

第四步:用伪代码描述

begin

Sin, Sout, seat:semaphore;

seat :=100;

Sin := 1;

Sout := 1;

cobegin

process Reader-i ( i = 1,2,…,n );

begin

P(seat);

P(Sin);

登记;

V(Sin);

进入阅览室;

读书;

离开阅览室;

P(Sout);

注销;

V(Sout);

V(seat);

end

coend;

end;

17、设一个机票订购系统有n个售票处,每个售票处通过网络终端访问系统的公共数据区,假定公共数据区中的一些单元A j(j=1,2,……)分别存放各次航班的余票数,售票时,

若某次航班还有余票,则售给乘客,否则,拒绝售票。请用信号量的PV操作实现各售票进程的并发执行。

解: 设P i(i=1,2,…,n)表示各售票处的售票处理进程,公共数据区是多个售票进程共享的临界资源,为其设置互斥信号量S,初值为1,表示资源可用。算法描述如下:

begin

S:semaphore;

S :=1;

cobegin

process P i(i=1,2,…,n)

begin

R i:integer // 表示各进程执行时所用的工作单元

P(S)

R i := A j;

if R i ≥1 then begin R i := R i -1;

A j:= R i;

V(S);

输出一张票

end

else begin V(S);

输出“票已售完”信息;

end;

end;

coend;

end;

注意:算法中“else”部分的V操作不能少,否则当进程在临界区中判别条件R i ≥1不成立时无法退出临界区,当然也就不能唤醒等待进入临界区的其它进程,这就违反了同步机制应遵循的“空闲让进”和“有限等待”两个原则。

18、有三个进程PA、PB、PC合作解决文件打印问题:PA将文件记录从磁盘读入内存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的记录复制到缓冲区2,每执行一次复制一个记录;PC打印缓冲区2中的记录,每执行一次打印一个记录。每个缓冲区只能存放一个记录。请用信号量机制实现文件的正确打印。

解:本题中,进程PA、PB、PC之间的合作关系如图2-3所示:

图2-3 文件打印流程图

当缓冲区1为空时,PA可将记录读入其中,否则,PA需等待;当缓冲区1有记录而缓冲区2为空时,PB可进行复制工作,否则PB需等待;当缓冲区2有记录时,PC可打印记录,否则PC需等待。为此,设置4个信号量empty1、empty2、full1、full2,其中empty1、empty2分别表示缓冲区1和缓冲区2是否为空,初值均为“1”;full1、full2分别表示缓冲区1和缓冲区2中是否有记录,其初值均为“0”。算法描述如下:

begin

empty1,empty2,full1,full2:semaphore; empty1 :=1;

empty2 :=1;

full1 :=0;

full2 :=0;

cobegin

PA ( );

PB ( );

PC ( );

coend;

end; process P A( )

begin

L1: 从磁盘读一个记录;

P(empty1);

将记录存入缓冲区1;

V(full1);

goto L1

end;

process PB( )

begin

L2: P(full1);

从缓冲区1取一个记录;

V(empty1)

P(empty2);

将记录存入缓冲区2;

V(full2);

goto L2

end; process PC ( )

begin

L3: P(full2)

从缓冲区2取出一个记录;

V(empty2);

打印输出记录;

goto L3

end;

《操作系统》练习题及参考答案

《操作系统》练习题及参考答案 一、单项选择题(每小题1分,共15分) 1.操作系统是一种() A.系统软件 B.系统硬件 C.应用软件 D.支援软件 2.MS—DOS的存贮管理采用了() A.段式存贮管理 B.段页式存贮管理 C.单用户连续存贮管理 D.固定式分区存贮管理 3.用户程序在目态下使用特权指令将引起的中断是属于() A.硬件故障中断 B.程序中断 C.外部中断 D.访管中断 4.MS—DOS中用于软盘整盘复制的命令是() https://www.360docs.net/doc/8e5252203.html,P B.DISKCOPY C.SYS D.BACKUP 5.位示图方法可用于() A.盘空间的管理 B.盘的驱动调度 C.文件目录的查找 D.页式虚拟存贮管理中的页面调度 6.下列算法中用于磁盘移臂调度的是() A.时间片轮转法 B.LRU算法 C.最短寻找时间优先算法 D.优先级高者优先算法 7.在以下存贮管理方案中,不适用于多道程序设计系统的是() A.单用户连续分配 B.固定式分区分配 C.可变式分区分配 D.页式存贮管理 8.已知,作业的周转时间=作业完成时间-作业的到达时间。现有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2和T3,且T1 A.T1+T2+T3 B.(T1+T2+T3) C.T1+T2+T3 D. T1+T2+T3 9.任何两个并发进程之间() A.一定存在互斥关系 B.一定存在同步关系 C.一定彼此独立无关 D.可能存在同步或互斥关系 10.进程从运行状态进入就绪状态的原因可能是() A.被选中占有处理机 B.等待某一事件 C.等待的事件已发生 D.时间片用完

11.用磁带作为文件存贮介质时,文件只能组织成() A.顺序文件 B.链接文件 C.索引文件 D.目录文件 12.一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是() A.2 B.1 C.3 D.0.5 13.多道程序设计是指() A.在实时系统中并发运行多个程序 B.在分布系统中同一时刻运行多个程序 C.在一台处理机上同一时刻运行多个程序 D.在一台处理机上并发运行多个程序 14.文件系统采用多级目录结构后,对于不同用户的文件,其文件名() A.应该相同 B.应该不同 C.可以相同,也可以不同 D.受系统约束 15.在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是() A.无上邻空闲区,也无下邻空闲区 B.有上邻空闲区,但无下邻空闲区 C.有下邻空闲区,但无上邻空闲区 D.有上邻空闲区,也有下邻空闲区 二、双项选择题(每小题2分,共16分) 1.能影响中断响应次序的技术是()和()。 A.时间片 B.中断 C.中断优先级 D.中断屏蔽 E.特权指令 2.文件的二级目录结构由()和()组成。 A.根目录 B.子目录 C.主文件目录 D.用户文件目录 E.当前目录 3.驱动调度算法中()和()算法可能会随时改变移动臂的运动方向。 A.电梯调度 B.先来先服务 C.扫描 D.单向扫描 E.最短寻找时间优先 4.有关设备管理概念的下列叙述中,()和()是不正确的。 A.通道是处理输入、输出的软件 B.所有外围设备的启动工作都由系统统一来做 C.来自通道的I/O中断事件由设备管理负责处理 D.编制好的通道程序是存放在主存贮器中的 E.由用户给出的设备编号是设备的绝对号

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

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

计算机操作系统作业一附答案

一、单选题 1、(D)不就是基本的操作系统。 A.批处理操作系统 B.分时操作系统 C.实时操作系统 D.网络操作系统 2、(A)不就是分时系统的基本特征: A.同时性 B.独立性 C.实时性 D.交互性 3、实时操作系统追求的目标就是(C )。 A.高吞吐率 B.充分利用内存 C.快速响应 D.减少系统开销 4、操作系统就是为了提高计算机的[1 B]与方便用户使用计算机而配置的基本软件。它负责管理计算机系统中的[2 C],其中包括[3 F],[4 A],外部设备与系统中的数据。操作系统中的[3 F]管理部分负责对进程进行管理。操作系统对系统中的数据进行管理的部分通常叫做[5 B]。 供选择的答案: [1] A.速度 B.利用率 C.灵活性 D.兼容性 [2] A.程序 B.功能 C.资源 D.进程 [3] [4] A.主存储器 B.虚拟存储器 C.运算器 D.控制器 E.微处理器 F.处理机 [5] A.数据库系统 B.文件系统 C.检索系统 D.数据库 E.数据存储系统 F.数据结构 G.数据库管理系统 5、批处理系统的主要缺点就是(B )。 A.CPU的利用率不高 B.失去了交互性 C.不具备并行性 D.以上都不就是 6、操作系统就是计算机系统的核心软件。按功能特征的不同,可把操作系统分为[1 B]、[2 E]、[3 C]、网络操作系统与分布式操作系统基本类型。其中[1 B]的主要目标就是提高系统的吞吐率与效率,而[2 E]就是一旦有处理请求与要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回,例如[4 D]等。 供选择的答案: [1][2][3] A.单用户系统 B.批处理系统 C.分时系统 D.微机操作系统 E.实时系统 [4] A.计算机激光照排系统 B.办公自动化系统 C.计算机辅助设计系统 D.航空订票系统

操作系统习题答案整理

内存 1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使内存碎片尽可能少,而且使内存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。 正确答案:该程序应具有较好的局部性(Locality) 3提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。 Ⅰ.分配内存;Ⅱ.内存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.内存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.内存到外存间交换;Ⅷ.允许用户程序的地址空间大于内存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种内存管理方法有利于程序的动态链接() 正确答案:分段存储管理 6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制 8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比内存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:减少运行的进程数 14在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起()。 正确答案:越界中断 15 测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:加内存条,增加物理空间容量 16 对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()为主要目标。 Ⅰ.提高系统吞吐量;Ⅱ.提高存储空间的利用率;Ⅲ.降低存储费用;Ⅳ.提高换入换出速度。 正确答案:Ⅳ;Ⅱ 17 在请求调页系统中,若所需的页不在内存中,则会引起()。 正确答案:缺页中断 18 虚拟存储器一般都引入关联存储器技术,关联存储器是 正确答案:按内容寻址 19 在请求分页系统的页表增加了若干项,其中访问位供()参考。 正确答案:置换算法 20 在动态分区式内存管理中,倾向于优先使用低址部分空闲区的算法是();能使内存空间中空闲区分布得较均匀的算法是();每次分配时,把既能满足要求,又是最小的空闲区分配给进程的算法是()。 Ⅰ.最佳适应算法;Ⅱ.最坏适应算法;Ⅲ.首次适应算法;Ⅳ.循环首次适应算法(即Next fit)。 正确答案:Ⅲ;Ⅳ;Ⅰ

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

第三章内存管理习题 1.IBM360有一个设计,为了对2KB大小的块进行加锁,会对每个块分配一个4bit的密钥,这个密钥存在PSW(程序状态字)中,每次内存引用时,CPU都会进行密钥比较。但该设计有诸多缺陷,除了描述中所言,请另外提出至少两条缺点。 A:密钥只有四位,故内存只能同时容纳最多十六个进程;需要用特殊硬件进行比较,同时保证操作迅速。 2.在图3-3中基址和界限寄存器含有相同的值16384,这是巧合,还是它们总是相等?如果这只是巧合,为什么在这个例子里它们是相等的? A:巧合。基地址寄存器的值是进程在内存上加载的地址;界限寄存器指示存储区的长度。 3.交换系统通过紧缩来消除空闲区。假设有很多空闲区和数据段随机分布,并且读或写32位长的字需要10ns的时间,紧缩128MB大概需要多长时间?为了简单起见,假设空闲区中含有字0,内存中最高地址处含有有效数据。 A:32bit=4Byte===>每字节10/4=2.5ns 128MB=1282^20=2^27Byte 对每个字节既要读又要写,22.5*2^27=671ms 4.在一个交换系统中,按内存地址排列的空闲区大小是10MB,4MB,20MB,18MB,7MB,9MB,12MB,和15MB。对于连续的段请求: (a) 12MB (b) 10MB (c) 9MB

使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢? A:首次适配算法:20MB,10MB,18MB;最佳适配算法:12MB,10MB,9MB;最差适配算法:20MB;18MB;15MB;下次适配算法:20MB;18MB;9MB; 5.物理地址和虚拟地址有什么区别? A:实际内存使用物理地址。这些是存储器芯片在总线上反应的数字。虚拟地址是指一个进程的地址空间的逻辑地址。因此,具有32位字的机器可以生成高达4GB的虚拟地址,而不管机器的内存是否多于或少于4GB。 6.对下面的每个十进制虚拟地址,分別使用4KB页面和8KB页面计算虚拟页号和偏移量:20000,32768,60000。 A:转换为二进制分别为:0100111000100000 虚拟地址应该是16位1000000000000000 1110101001100000 4KB页面偏移量范围0~4027,需要12位来存储偏移量,剩下4位作为页号;同理8KB页面需要13位来存储偏移量,剩下3位作为页号;所以,4KB | 8KB 页号| 偏移量| 页号| 偏移量20000 | 0100 111000100000 | 010 0111000100000 32768 | 1000 000000000000 | 100 0000000000000 60000 | 1110 101001100000 | 111 0101001100000 7. 使用图3-9的页表,给出下面每个虚拟地址对应的物理地址:

操作系统作业(1-4)答案

操作系统作业 (第一章—第四章) 一、单项选择 1 在计算机系统中配置操作系统的目的是【】。 A 增强计算机系统的功能 B 提高系统资源的利用率 C 合理组织工作流程以提高系统吞吐量 D 提高系统的运行速度 2 在操作系统中采用多道程序设计技术,能有效提高CPU、内存和I/O设备的【】。 A 灵活性 B 可靠性 C 兼容性 D 利用率 3 在操作系统中,并发性是指若干事件【】发生。 A 在同一时刻 B 一定不在同一时刻 C 在某一时间间隔内 D 依次在不同时间间隔内 4 以下不属于衡量操作系统性能指标的是【】。 A 作业的大小 B 资源利用率 C 吞吐量 D 周转时间 5 下列选项中,操作系统提供给应用程序的接口是【】。 A 系统调用 B 中断 C 函数 D 原语 6 在分时系统中,当用户数为50时,为了保证响应时间不超过1s,选取的时间片最大值为【】。 A 10ms B 20ms C 50ms D 100ms 7 假设就绪队列中有10个就绪进程,以时间片轮转方式进行进程调度,如果时间片为180ms,切换开销为20ms。如果将就绪进程增加到30个,则系统开销所占的比率为【】。 A 10% B 20% C 30% D 90% 8 中断系统一般由相应的【】组成。 A 硬件 B 软件 C 硬件和软件 D 固件 9 以下工作中,【】不是创建进程所必须的。 A 创建进程的PC B B 为进程分配内存 C 为进程分配CPU D 将PCB插入就绪队列 10 系统中有5个用户进程且CPU工作于用户态,则处于就绪状态或阻塞状态的进程数最多分别为【】。 A 5,4 B 4,0 C 0,5 D 4,5 11 如果系统中有n个进程,则就绪队列中进程的个数最多为【】。 A 1 B n-1 C n D n+1

第3章 进程同步与通信 练习题答案

第3章进程同步与通信练习题 (一)单项选择题 1.临界区是指( )。 A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段 2.相关临界区是指( )。 A.一个独占资源 B.并发进程中与共享变量有关的程序段 c.一个共享资源 D.并发进程中涉及相同变量的那些程序段 3.管理若干进程共享某一资源的相关临界区应满足三个要求,其中( )不考虑。 A一个进程可以抢占己分配给另一进程的资源 B.任何进程不应该无限地逗留在它的临界区中c.一次最多让一个进程在临界区执行 D.不能强迫一个进程无限地等待进入它的临界区4、( )是只能由P和v操作所改变的整型变量。 A共享变量 B.锁 c整型信号量 D.记录型信号量 5.对于整型信号量,在执行一次P操作时,信号量的值应( )。 A.不变 B.加1 C减1 D.减指定数值 6.在执行v操作时,当信号量的值( )时,应释放一个等待该信号量的进程。 A>0 B.<0 c.>=0 D.<=0 7.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。 A初始化程序 B.原语 c.子程序 D控制模块 8.进程间的互斥与同步分别表示了各进程间的( )。 A.竞争与协作 B.相互独立与相互制约 c.不同状态 D.动态性与并发性 9并发进程在访问共享资源时的基本关系为( )。 A.相互独立与有交往的 B.互斥与同步 c并行执行与资源共享 D信息传递与信息缓冲 10.在进程通信中,( )常用信件交换信息。 A.低级通信 B.高级通信 c.消息通信 D.管道通信 11.在间接通信时,用send(N,M)原语发送信件,其中N表示( )。 A.发送信件的进程名 B.接收信件的进程名 C信箱名 D.信件内容 12.下列对线程的描述中,( )是错误的。 A不同的线程可执行相同的程序 B.线程是资源分配单位 c.线程是调度和执行单位 D.同一 进程中的线程可共享该进程的主存空间 13.实现进程互斥时,用( )对应,对同一个信号量调用Pv操作实现互斥。 A.一个信号量与一个临界区 B.一个信号量与—个相关临界区 c.一个信号量与一组相关临界 区 D一个信号量与一个消息 14.实现进程同步时,每一个消息与一个信号量对应,进程( )可把不同的消息发送出去。 A.在同一信号量上调用P操作 B在不同信号量上调用P操作 c.在同一信号量上调用v操作D.在不同信号量上调用v操作 (二)填空题 1.目前使用的计算机的基本特点是处理器______执行指令。 2.进程的______是指进程在顺序处理器上的执行是按顺序进行的。 3.当一个进程独占处理器顺序执行时,具有______和______两个特性。 4.进程的封闭性是指进程的执行结果只取决于______,不受外界影响。 5 进程的可再现性是指当进程再次重复执行时,必定获得______的结果。 6.一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为______.

计算机操作系统(第三版-汤小丹等)课后习题答案(全)整理后

第一章操作系统引论 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.实现分时系统的关键问题是什么应如何解决 答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。

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

第四章文件系统习题 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:在支持顺序文件的系统中总有一个文件回绕操作,支持随机存取

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

作业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 1.单项选择题 (1)大中小型计算机是以为中心的计算机系统。 A、CPU 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)B (2)B (3)A (4)B (5)D (6)B 2.填空题 (1)微机是以总线为纽带构成的计算机系统。 (2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。 (3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。 (4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。 (5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的应用范围。 3.简答题 (1)什么是操作系统?现代操作系统的基本特征是什么?并发性 (2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么?及时性 (3)试述分时系统的原理及其特性。时间片原则交互性同时性独立性及时性

操作系统作业参考答案及其知识点

操作系统作业参考答案及其知识点 第一章 思考题: 10、试叙述系统调用与过程调用的主要区别? 答: (一)、调用形式不同 (二)、被调用代码的位置不同 (三)、提供方式不同 (四)、调用的实现不同 提示:每个都需要进一步解释,否则不是完全答案 13、为什么对作业进程批处理可以提高系统效率? 答:批处理时提交程序、数据和作业说明书,由系统操作员把作业按照调度策略,整理为一批,按照作业说明书来运行程序,没有用户与计算机系统的交互;采用多道程序设计,可以使CPU和外设并行工作,当一个运行完毕时系统自动装载下一个作业,减少操作员人工干预时间,提高了系统的效率。 18、什么是实时操作系统?叙述实时操作系统的分类。 答:实时操作系统(Real Time Operating System)指当外界事件或数据产生时,能接收并以足够快的速度予以处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。 有三种典型的实时系统: 1、过程控制系统(生产过程控制) 2、信息查询系统(情报检索) 3、事务处理系统(银行业务) 19、分时系统中,什么是响应时间?它与哪些因素有关? 答:响应时间是用户提交的请求后得到系统响应的时间(系统运行或者运行完毕)。它与计算机CPU的处理速度、用户的多少、时间片的长短有关系。 应用题: 1、有一台计算机,具有1MB内存,操作系统占用200KB,每个用户进程占用200KB。如果用户进程等待I/0的时间为80%,若增加1MB内存,则CPU的利用率提高多少? 答:CPU的利用率=1-P n,其中P为程序等待I/O操作的时间占其运行时间的比例1MB内存时,系统中存放4道程序,CPU的利用率=1-(0.8)4=59% 2MB内存时,系统中存放9道程序,CPU的利用率=1-(0.8)9=87% 所以系统CPU的利用率提高了28% 2、一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始运行。程序A的运行轨迹为:计算50ms,打印100ms,再计算50ms,打印100ms,结束。程序B的运行轨迹为:计算50ms,输入80ms,再计算100ms,结束。

同步与互斥

习题解答: ?何谓与时间有关的错误? 举例说明之。 答:并发进程的执行实际上是进程活动的某种交叉,某些交叉次序可能得到错误结果。由于具体交叉的形成与进程的推进速度有关,而速度是时间的函数,因而将这种错误称为与时间有关的错误。 例如,两个并发进程的程序如下: int n=0; main( ){ 创建进程A; 创建进程B; }; A( ){ while(1){ n++; } }; B( ){ while(1){ 睡眠一段时间;printf(“%d”,n); n=0; } }; 假设进程A被部署在公园入口的终端上,用来记录一段时间内进入公园的人数,进程B被部署在公园的控制中心,用来输出一段时间内进入公园的总人数。进程A和进程B共享全局变量n,n表示记录下的人数。如果在进程B执行完打印语句后被进程A打断,进程A执行了若干次变量自增语句,之后进程B接着执行清0语句,那么进程A对n的累加丢失了,相当于进程B被打断的这段时间内进入公园的人没有被记录下来。发生与时间有关的错误。 ?有人说,假设两个进程之间没有共享内存,则二者之间没有公共变量,这种说法准确吗? 说明原因。 答:如果只从用户空间考虑,这种说法是正确的。但从操作系统的角度来说并不准确。两个没有公共内存的用户进程可能同时(宏观)进入操作系统,并访问操作系统空间中的公共变

量。 ?何谓忙式等待? 是否还有其它方式的等待? 比较它们之间的联系和差别。 答:不进入等待状态的等待称为忙式等待。另一种等待方式是阻塞式等待,进程得不到共享资源时将进入阻塞状态,让出CPU给其他进程使用。忙等待和阻塞式等待的相同之处在于进程都不具备继续向前推进的条件,不同之处在于处于忙等待的进程不主动放弃CPU,尽管CPU 可能被剥夺,因而是低效的;而处于阻塞状态的进程主动放弃CPU,因而是高效的。 ?下列进程互斥方法哪些存在忙式等待问题? (1)软件: 面包店算法(2) 硬件: TS指令(3) 关中断指令 答:(1)、(2)存在忙等待问题。 ?为何开关中断进程互斥方法仅在单CPU系统中是有效的? 答:关中断方法不适用于多CPU系统,因为关中断只能保证CPU不由一个进程切换到另外一个进程,从而防止多个进程并发地进入公共临界区域。但即使关中断后,不同进程仍可以在不同CPU上并行执行关于同一组共享变量的临界区代码. ?在多处理机系统中,软件互斥方法是否有效?为什么? 答:依然有效。多处理机并行与单处理并发之间的差别在于程序交叉的粒度,单处理机机环境中进程交叉发生在指令之间,多处理机环境中进程交叉发生在指令周期之间。由于纯软件互斥算法并不依赖特殊的硬件指令(如test_and_set),指令之间的交叉与指令周期之间的交叉结果相同。 ?试分析临界区域的大小与系统并发性之间的关系。 答:关于同一组变量的临界区域是不能并发执行的代码,临界区越大,并发性越差,因而编写并发程序应尽量缩小临界区域范围。 ?设CR1是关于一组共享变量SV1的临界区域,CR2是关于另外一组共享变量SV2的临

操作系统习题答案整理

存 1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使存碎片尽可能少,而且使存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。 正确答案:该程序应具有较好的局部性(Locality) 3提高存利用率主要是通过存分配功能实现的,存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。 Ⅰ.分配存;Ⅱ.存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.存到外存间交换;Ⅷ.允许用户程序的地址空间大于存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种存管理方法有利于程序的动态()? 正确答案:分段存储管理 6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受存空间的限制,但作业总的尺寸不受存空间的限制 8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:减少运行的进程数 14在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起()。 正确答案:越界中断 15 测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:加存条,增加物理空间容量 16 对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()为主要目标。 Ⅰ.提高系统吞吐量;Ⅱ.提高存储空间的利用率;Ⅲ.降低存储费用;Ⅳ.提高换入换出速度。 正确答案:Ⅳ;Ⅱ 17 在请求调页系统中,若所需的页不在存中,则会引起()。 正确答案:缺页中断 18 虚拟存储器一般都引入关联存储器技术,关联存储器是 正确答案:按容寻址 19 在请求分页系统的页表增加了若干项,其中访问位供()参考。 正确答案:置换算法 20 在动态分区式存管理中,倾向于优先使用低址部分空闲区的算法是();能使存空间中空闲区分布得较均匀的算法是();每次分配时,把既能满足要求,又是最小的空闲区分配给进程的算法是()。 Ⅰ.最佳适应算法;Ⅱ.最坏适应算法;Ⅲ.首次适应算法;Ⅳ.循环首次适应算法(即Next fit)。 正确答案:Ⅲ;Ⅳ;Ⅰ

操作系统教程第5版课后答案

操作系统教程第5版课后答案 费祥林、骆斌编著 第一章操作系统概论 习题一 一、思考题 1.简述现代计算机系统的组成及层次结构。 答:现代计算机系统由硬件和软件两个部分组成。是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。软件层由包括系统软件、支撑软件和应用软件。其中系统软件是最靠近硬件的。 2、计算机系统的资源可分成哪几类?试举例说明。 答:包括两大类,硬件资源和信息资源。硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。 3.什么是操作系统?操作系统在计算机系统中的主要作用是什么? 答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。 操作系统在计算机系统中主要起4个方面的作用。 (1)服务用户观点——操作系统提供用户接口和公共服务程序 (2)进程交互观点——操作系统是进程执行的控制者和协调者 (3)系统实现观点——操作系统作为扩展机或虚拟机 (4)资源管理观点——操作系统作为资源的管理者和控制者 4.操作系统如何实现计算与操作过程的自动化? 答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。又可分为批处理单道系统和批处理多道系统。单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率 5.操作系统要为用户提供哪些基本的和共性的服务? 答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。为了保证高效率、高质量的工作,使得多个应用程序能够有效的共享系统资源,提高系统效率,操作系统还具备一些其他的功能:资源分配,统计,保护等。 6.试述操作系统所提供的各种用户接口。 答:操作系统通过程序接口和操作接口将其服务和功能提供给用户。程序接口由一组系统调用组成,在应用程序中使用“系统调用”可获得操作系统的低层服务,访问或使用系统管理的各种软硬件资源,是操作系统对外提供服务和功能的手段;操作接口由一组命令和(或)作业控制语言组成,是操作系统为用户提

操作系统作业题及答案

《操作系统》课程作业 (2013年春) 姓名: 学号: 专业: 年级: 学校: 日期:

作业一:作业管理 1、有三道程序A、B、C在一个系统中运行,该系统有输入、输出设备各1台。三道程序 A、B、C构成如下: A:输入32秒,计算8秒,输出5秒 B:输入21秒,计算14秒,输出35秒 C:输入12秒,计算32秒,输出15秒 问:(1)三道程序顺序执行的总时间是多少? (2)充分发挥各设备的效能,并行执行上述三道程序,最短需多少时间(不计系统开销)?并给出相应的示意图。 2、假设一个单CPU系统,以单道方式处理一个作业流,作业流中有2道作业,共占用CPU 计算时间、输入卡片数和打印输出行数如下: 其中,卡片输入机速度为1000张/分钟,打印机输出速度为1000行/分钟,试计算:(1)不采用spooling技术,计算这两道作业的总运行时间(从第1道作业输入开始到最后一个作业输出完毕)。 (2)如采用spooling技术,计算这2道作业的总运行时间(不计读/写盘时间),并给出相应的示意图。

作业二:进程管理 1、 请写出两程序S1和S2可并发执行的Bernstein 条件。 2、 有以下5条语句,请画出这5条语句的前趋图。 S1:y=x+1 R(x) W(y) S2:c=f-w R(f,w) W(c) S3:d=r-y R(r,y) W(d) S4:x=a+b R(a,b) W(x) S5:r=c+y R(c,y) W(r) 3、 设在教材第62页3.6.4节中所描述的生产者消费者问题中,其缓冲部分为m 个长度相等 的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。重新描述发送过程deposit(data)和接收过程remove(data)。 P P P i P .. .. 1 2 i k 4、 设有k 个进程共享一临界区,对于下述情况,请说明信号量的初值、含义,并用P ,V 操作写出有关互斥算法。 (1) 一次只允许一个进程进入临界区; (2) 一次允许m (m

相关文档
最新文档