操作系统习题答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
wait(empty);
wait(count);
wait(mutex1);
从井中打水;
signal(mutex1);
wait(mutex2);
送水入水缸;
signal(mutex2);
signal(count);
signal(full);
until false;
end
process老和尚:
begin
答:
问题分析:
是一个进程同步互斥问题,两个主要点是
1)司机开车的时候,售票员不能开门,(这里体现的是进程的互斥问题)车停之后,由司机通知售票员开门(这里体现的是进程的同步问题);
2)车门开着的时候,司机不能开车,等售票员把车门关上之后,由售票员通知司机开车。
同步信号量:
driver:司机私有信号量,初为1;
第一章
1.操作系统的主要作用是(D)
A管理设备
B提供操作命令
C管理文件
D为用户提供使用计算机的接口,管理计算机的资源
2.对外部输入的信息能在规定时限内处理完毕并作出迅速反应的操作系统称为(C)
A分时操作系统
B批处理操作系统
C实时操作系统
D多处理机操作系统
3.操作系统的基本特征是并发性、共享性、虚拟性、异步性。
parbegin
process father
begin
L1:P(plate);
放苹果;
V(apple);
goto L1;
end;
process mother
begin
L2:P(plate);
放桔子;
V(orange);
goto L2;
end;
process son
begin
L3:P(orange);
答:记录型信号量解决苹果桔子问题,
plate:semaphore;/*盘子是否为空*/
orange:semaphore; /*盘子里有桔子*/
apple:semaphore; /*盘子里有苹果*/
plate := 1;
orange:= 0; /*盘子里没有桔子*/
apple:= 0; /*盘子里没有苹果*/
conductor:售票员私有信号量,初值为0;
取桔子;
V(plate);
吃桔子;
goto L3;
end;
process daughter
begin
L4:P(apple);
取苹果;
V(plate);
吃苹果;
goto L4;
end;
parend
2.和尚取水问题
寺庙里有老小和尚若干和一水缸,小和尚打水,老和尚饮水。水缸容积为10桶水,水取自同一水井,每次只容一个桶打水,桶的总数为3个,每次往水缸倒水和从水缸取水仅为一桶。
从东向西:
P (MD)
IF (CD=0)
{P (MUTEX) }
CD=CD+1
V (MD)
过桥
P (MD)
CD=CD-1
IF (CD=0)
{V (MUTEX) }
V (MD)
从西向东:
P (MX)
IF (CX=0)
{P (MUTEX) }
CX=CX+1
V (MX)
过桥
P (MX)
CX=CX-1
IF (CX=0)
生产者进程的私用信号量为produce,初值为n;
消费者进程的私用信号量为consume,初值为0。
生产过程和消费过程描述如下:
生产过程:
Begin
P(produce)
选择一个空缓冲区i
P(buf[i])
送数据入缓冲区i
V(consume)
V(buf[i])
End
消费过程:
Begin
P(consume)
(3)当某一方向无人过桥时,另一方向的行人可以过桥。
答:(1)
设信号量MUTEX=1
P (MUTEX)
过桥
V (MUTEX)
(2)
设信号量:MUTEX=1 (东西方互斥)Baidu Nhomakorabea
MD=1 (东向西使用计数变量互斥)
MX=1 (西向东使用计数变量互斥)
设整型变量:CD=0 (东向西的已上桥人数)
CX=0 (西向东的已上桥人数)
{V (MUTEX) }
V (MX)
(3):从东向西的,和(2)相同;从西向东的和(1)相同。
4.
上图描述的生产者-消费者问题中,如果其缓冲区部分为n个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。试重新描述生产过程和消费过程。
答:
设第i块缓冲区的公用信号量为buf[i],初值为1;
选择一个满缓冲区i
P(buf[i])
取缓冲区i中的数据
V(produce)
V(buf[i])
End
5.若信号量的初值为2,当前值为-3,则表示有()等待进程。
A 1个B 2个C 3个D 5个
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操作实现司机与售票员之间的同步。
repeat
wait(full);
wait(count);
wait(mutex2);
从缸中取水;
signal(mutex2);
signal(empty);
signal(count);
until false;
end
3.有一座东西方向的独木桥,用P,V操作实现:
(1)每次只允许一个人过桥;
(2)当独木桥上有行人时,同方向的行人可以连续过桥,相反方向的人必须等待。
答:Var mutex1, mutex2, empty, full, count: semaphore;
mutex1:=1;代表可以用水井
mutex2:=1;代表可以用水缸
empty:=10;水缸的容量
full:=0;水缸中的水量
count:=3;水桶的个数
process小和尚:
begin
repeat
4.什么是操作系统?
操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。
第二章
1 .苹果桔子问题
桌上有一只盘子,每次只能存放一个水果。一家四口人各行其职,爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),儿子专等吃盘子中的桔子,女儿专等吃盘子里的苹果。请用PV操作来实现四人之间的同步算法。
相关文档
最新文档