操作系统习题+答案Word文档下载推荐.docx
《操作系统习题+答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《操作系统习题+答案Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。
orange:
semaphore;
/*盘子里有桔子*/
apple:
/*盘子里有苹果*/
plate:
=1;
=0;
/*盘子里没有桔子*/
/*盘子里没有苹果*/
parbegin
processfather
begin
L1:
P(plate);
放苹果;
V(apple);
gotoL1;
end;
processmother
L2:
P(plate);
放桔子;
V(orange);
gotoL2;
end;
processson
L3:
P(orange);
取桔子;
V(plate);
吃桔子;
gotoL3;
processdaughter
L4:
P(apple);
取苹果;
吃苹果;
gotoL4;
parend
2.和尚取水问题
寺庙里有老小和尚若干和一水缸,小和尚打水,老和尚饮水。
水缸容积为10桶水,水取自同一水井,每次只容一个桶打水,桶的总数为3个,每次往水缸倒水和从水缸取水仅为一桶。
Varmutex1,mutex2,empty,full,count:
semaphore;
mutex1:
=1;
代表可以用水井
mutex2:
代表可以用水缸
empty:
=10;
水缸的容量
full:
=0;
水缸中的水量
count:
=3;
水桶的个数
process小和尚:
begin
repeat
wait(empty);
wait(count);
wait(mutex1);
从井中打水;
signal(mutex1);
wait(mutex2);
送水入水缸;
signal(mutex2);
signal(count);
signal(full);
untilfalse;
end
process老和尚:
wait(full);
从缸中取水;
signal(empty);
3.有一座东西方向的独木桥,用P,V操作实现:
(1)每次只允许一个人过桥;
(2)当独木桥上有行人时,同方向的行人可以连续过桥,相反方向的人必须等待。
(3)当某一方向无人过桥时,另一方向的行人可以过桥。
(1)
设信号量
MUTEX=1
P
(MUTEX)
过桥
V
(2)
设信号量:
(东西方互斥)
MD=1
(东向西使用计数变量互斥)
MX=1
(西向东使用计数变量互斥)
设整型变量:
CD=0
(东向西的已上桥人数)
CX=0
(西向东的已上桥人数)
从东向西:
(MD)
IF
(CD=0)
{P
}
CD=CD+1
(MD)
CD=CD-1
{V
}
从西向东:
(MX)
(CX=0)
CX=CX+1
CX=CX-1
(3)
:
从东向西的,和
(2)相同;
从西向东的和
(1)相同。
4.
上图描述的生产者-消费者问题中,如果其缓冲区部分为n个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。
试重新描述生产过程和消费过程。
设第i块缓冲区的公用信号量为buf[i],初值为1;
生产者进程的私用信号量为produce,初值为n;
消费者进程的私用信号量为consume,初值为0。
生产过程和消费过程描述如下:
生产过程:
Begin
P(produce)
选择一个空缓冲区i
P(buf[i])
送数据入缓冲区i
V(consume)
V(buf[i])
End
消费过程:
P(consume)
选择一个满缓冲区i
取缓冲区i中的数据
V(produce)
5.若信号量的初值为2,当前值为-3,则表示有()等待进程。
A1个B2个C3个D5个
6.在操作系统中,(B)是竞争和分配计算机系统资源的基本单位。
A程序B进程C作业D用户
7.下面哪一个不会引起进程创建(C)
A用户登录B作业调度C设备分配D应用请求
8.进程和程序的本质区别是(B)
A内存和外存B动态和静态特征
C共享和独占使用计算机资源D顺序和非顺序执行机器指令
9.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是(B)
A一个缓冲区B一个数据区C一种同步机构D一段程序
10.在一辆公共汽车上,司机和售票员各行其职,司机负责开车和到站停车,售票员负责售票和开、关门,当售票员关好车门后,驾驶员才能继续开车行驶。
用P、V操作实现司机与售票员之间的同步。
问题分析:
是一个进程同步互斥问题,两个主要点是
1)司机开车的时候,售票员不能开门,(这里体现的是进程的互斥问题)车停之后,由司机通知售票员开门(这里体现的是进程的同步问题);
2)车门开着的时候,司机不能开车,等售票员把车门关上之后,由售票员通知司机开车。
同步信号量:
driver:
司机私有信号量,初为1;
conductor:
售票员私有信号量,初值为0;
初值的含义是售票员具有优先车门控制权。
semaphore
sem_driver=0,
sem_conductor=1;
void
driver()
{
while
(true)
p(sem_driver);
start_bus();
normal_driving();
station_stop();
v(sem_conductor)
conductor()
p(sem_conductor);
open_door();
shut_door();
sell_ticket();
v(sem_driver)
main()
parbegin
(driver,
conductor);
第三章
1.在一个有N个进程的单处理机系统中,有可能出现N个进程都被阻塞的情况。
(√)
2.系统处于不安全状态必然导致系统死锁。
(×
)
3.当一进程运行时,系统可基于某种原则,强行将其撇下,把处理机分配给其他进程,这种调度方式是(B)
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.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是(B)[选临界值,即发生死锁时刻,m个进程,每个进程需要n台机器,(n-1,n-1,n-1……n-1)先给m个进程依次分配n-1台机器,之后这m台机器都去抢夺最后一台机器,进入死锁状态,则总得机器资源数目为:
(n-1)*m+1
上面m=3,n=4代入得10
]
A9B10C11D12
9.在下列解决死锁的方法中,属于死锁预防策略的是:
(B)
A银行家算法B资源有序分配法C死锁检测法D资源分配图化简法
10.资源的按序分配策略可以破坏(D)条件。
[这样的话,所有进程资源的请求必须严格按照资源序号递增的次序提出,在所形成的资源分配图中不可能再出现环路,因而破坏了循环等待条件。
A互斥使用资源B占有且等待资源C非抢占资源D循环等待资源
11.进程的调度方式有两种,一种是剥夺方式,另一种是非剥夺方式
在先来先服务调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
12.死锁产生的必要条件有四个,即互斥条件、请求和保持条件、不可剥夺条件、环路等待条件。
13.银行家算法中,当一个进程提出的资源请求将导致系统从安全状态进入不安全状态时,系统就拒绝它的资源请求。
14.对待死锁,一般