操作系统习题及三Word文档下载推荐.docx
- 文档编号:17235917
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:10
- 大小:23.27KB
操作系统习题及三Word文档下载推荐.docx
《操作系统习题及三Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《操作系统习题及三Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
〕等待进程。
A.12、下面的表达中正确的选项是〔〕。
操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同为了防止发生进程死锁,各进程只能逐个申请资源
C.操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关的信息
A.进程同步是指某些进程之间在逻辑上的相互制约关系13、对于两个并发进程,设互斥信号量为mutex,假设mutex=0,那么〔〕.表示没有进程进入临界区
表示有一个进程进入临界区表示有两个进程进入临界区14、发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏〔〕条件是不太实际的。
A.互斥B.不可抢占C.局部分配D.循环等待15、资源的按序分配策略可以破坏〔〕条件。
A.互斥使用资源B.占有且等待资源C.非抢夺资源D.循环等待资源16、在〔〕的情况下,系统出现死锁。
.计算机系统发生了重大故障B.有多个封锁的进程同时存在C.假设干进程因竞争资源而无休止地相互等待他方释放己占有的资源D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数17、银行家算法是一种〔〕算法。
A.死锁解除B.死锁防止C.死锁预防D.死锁检测
18、某系统中有3个并发进程,都需要同类资源少资源数是〔〕。
4个,试问该系统不会发生死锁的最
A.9
B.10
C.11
D.12
19、信箱通信是一种〔〕通信方式。
A.直接通信B.间接通信C.低级通信D.信号量
20、并发进程失去了封闭性是指()。
.多个相对独立的进程以各自的速度向前推进.并发进程共享变量,其执行结果与速度有关二、填空题
1、假设一个进程已进入临界区,其他欲进入临界区的进程必须
。
2、用P,V操作管理临界区时,任何一个进程在进入临界区之前应调用
操作,退出临
界区时应调用操作。
3、用信箱实现通信时,应有和两条根本原语。
4、有m个进程共享同一临界资源,假设使用信号量机制实现对临界资源的互斥访问,那么信号量值的变化范围是。
5、死锁产生的必要条件有四个,即、、、6、银行家算法中,当一个进程提出的资源请求将导致系统从进入拒绝它的资源请求。
7、PV操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为
时,系统就。
8、在多线程操作系统中,线程与进程的根本区别在于进程作为是单位。
单位,而线程
9、界区是指并程中与10、操作系中信号量的与
有关的程序段
______的使用情况有关,它的能由
来改。
三、简答题1、什么是程的互斥与同步?
2、一个程入界区的度原是什么?
3、在操作系中,P操作和V操作各自的作是如何定的?
4、什么并程行可能会生与有关的?
如何防止?
5、什么采用有序源分配法不会生死?
四、应用题
1、四个程A、B、C、D都要一个共享文件制是程A和程C不能同文件F,程四个程并行能按系要求使用文件,用
B
F,系允多个程同文件F。
但限和程D也不能同文件F。
了使PV操作行管理,答复下面的:
1〕如何定信号量及初;
2〕在以下的程序中填上适当的P、V操作,以保它能正确并工作:
程A
程B
程C
程D
⋯
[1];
[3];
[5]
;
[7];
readF;
[2];
[4];
[6]
[8];
2、有一台算机,有两条I/O通道,分接一台卡片入机和一台打印机。
卡片机把一叠卡片逐一入到冲区B1中,加工理后再搬到冲区B2中,并在打印机上打印,:
①系要几个程来完成个任?
各自的工作是什么?
②些程有什么的相互制关系?
③用P、V操作写出些程的同步算法。
3、生者-消者表述如下:
一生者程和一消者程通冲区生系。
生者程将生的品送入冲区,消者程从中取出品。
假定形冲池中共有N个冲区,号0~N-1。
了描述生者程和消者程,指in和out分指向生者程和消者程当前所用的冲区(buffer),初均0。
〔1〕置三个信号量两程的同步,分是full、empty和mutex。
出它的含及初。
〔2〕下面是生者程的算法描述,填写相的P、V操作句。
while(TRUE){;
品送往buffer〔in〕;
in=〔in+1〕modN;
/*mod取模运算*/;
〔3〕指出生产者进程算法中的临界区是哪一段程序?
4、在银行家算法中,假设出现下述资源分配情况:
Allocation
Need
Available
P0
3
2
1
6
P1
7
5
P2
4
P3
P4
试问:
(1)该状态是否平安?
(2)如果进程P2提出请求Request2(1,2,2,2)后,系统能否将资源分配给?
5、桌上有一空盘,允许存放一只水果。
爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。
规定当盘空时一次只能放一只水果供吃者取用,请用P,V原语实现爸爸、儿子、女儿三个并发进程的同步。
6、哲学家甲请哲学家乙、丙、丁到某处讨论问题,约定全体到齐后开始讨论:
在讨论的间隙四位哲学家进餐,每人进餐时都需使用刀、叉各一把,餐桌上的布置如下图。
请用信号量及P、V操作说明这四位哲学家的同步、互斥过程。
丁刀1
叉2
¥b
丙食品甲b¥刀2叉1乙
答案三
同步、通信与死锁
一、
1、C
2、B
3、A
4、C
5、A
6、C
7、D
8、B
9、A
10、B
11、D
12、D
13、B
14、A
15、D
16、C
17、B
18、B
19、B
20、D
二、填空1、等待2、P、V3、送、接收4、1至-(m-1)5、互斥条件、不剥条件、局部分配、路条件6、平安状、不平安状7、低通信8、源分配、度和行位9、共享量
10、源、
PV
操作
三、答1.程的互斥是指在上本来完全独立的假设干程,由于争同一个源而生的相互制关系。
程的同步是程共同完成一任直接生相互作用的关系,也就是,些具有伙伴关系的程在行次序上必遵循确定的律。
2.一程入界区的度原是:
①如果有假设干程要求入空的界区,一次允一个程入。
②任何候,于界区内的程不可多于一个。
如已有程入自己的界区,其它所有入界区的程必等待。
③入界区的程要在有限内退出,以便其它程能及入自己的界区。
④如果程不能入自己的界区,出CPU,防止程出“忙等〞象。
3.P操作序行下述两个作:
①信号量的减1,即S=S-1;
②如果S≥0,程行;
如果S<0,把程的状置阻塞,把相的PCB入信号量列的末尾,并放弃理机,行等待〔直至其它程在S上行V操作,把它放出来止〕。
操作序行下述两个作:
①S加1,即S=S+1;
②如果S>0,程运行;
如果S≤0,放信号量列上的第一个PCB〔即信号量指所指向的PCB〕所的程〔把阻塞改就〕,行V操作的程运行。
4.有交往的并程可能会同使用共享源,如果种情况不加控制,由于程占用理器的、行的速度和外界的影响等,就会引起与有关的。
只要使假设干并程的相关界区互斥行,就可防止造成。
5.了便于明,不妨系中有m源,n个程,分用Rl,R2,⋯,Rm(1,2,⋯,m可看作源号)和P1,P2,⋯Pn表示。
根据有序源分配法可知,程申
源必按照源号的升序行,即任何程在占有了Ri源后,再申的源
Rj
的号
j一定大于
i。
因此在任一刻,系中至少存在一个程
Pk,它占有了高号
的资源
Rh,且它继续请求的资源必然是空闲的,因而
Pk
可以一直向前推进直至完成,当
Pk运行完成后即会释放它占有的所有资源;
在Pk完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成;
以此类推,所有进程均可运行完成,故不会发生死锁。
1.解:
1〕定义二个信号量S1、S2,初值均为1,即:
S1=1,S2=1〔共2分〕2〕从[1]到[8]分别为:
P(S1),V(S1),P(S2),V(S2),P(S1),V(S1),P(S2),V(S2)2、解:
①系统可设三个进程来完成这个任务:
R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;
C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;
P进程负责从缓冲区B2中取出信息,并在打印机上印出。
R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;
C进程受R进程和P进程的约束:
B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;
P进程受C进程的约束:
B2中信息放满后P进程才可从中取出它们,进行打印。
③信号量含义及初值:
B1full——缓冲区B1满,初值为0;
B1empty——缓冲区B1空,初值为0;
B2full——缓冲区B2满,初值为0;
B2empty——缓冲区B2空,初值为0;
R进程
C进程
P进程
输入信息写入缓冲区
B1;
V(B1full);
P(B1full);
P(B2full)
P(B1empty);
从B1中取出信息;
从B2中取出信息进行打印;
加工信息;
V(B2empty);
结果送入B2;
V(B1empty);
V(B2full);
P(B2empty);
(3.答:
〔1〕full表示放有产品的缓冲区数,初值为0;
empty表示可供使用的缓冲区数,初值为N;
mutex为互斥信号量,初值为1,表示互斥进入临界区。
2〕P〔empty〕,P〔mutex〕,V〔mutex〕,V〔full〕3〕生产者进程算法中的临界区是如下程序段:
产品送往buffer〔in〕;
in=(in+1)modN;
/*mod为取模运算*4.解:
(1)利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的平安性分析情况:
Work
Work+Allocation
Finish
true
9
8
10
312
14
从上述分析中可以看出,此时存在一个平安序列
{P0,P3,P4,Pl,P2},故该状态是
平安的。
〔2〕P2提出请求Request2(1,2,2,2),按银行家算法进行检查:
.Request2(1,2,2,2)
≤Need2(2,3,5,6)
Request2(1,2,2,2)≤Available(1,6,2,2)试分配并修改相应数据结构,资源分配情况如下:
.再利用平安性算法检查系统是否平安,可用资源Available〔0,4,0,0〕已不能满足任何进程的需要,故系统进入不平安状态,此时系统不能将资源分配给P2。
5.解:
在此题中,应设置三个信号量S,So,Sa,信号量S表示盘子是否为空,其初值为1;
信号量So表示盘中是否有桔子,其初值为0;
信号量Sa表示盘中是否有苹果,其初值为0。
同步描述如下:
intS=1;
intSo=0;
intSa=0;
main〔〕tcobeginfather〔〕;
son〔〕;
daughter〔〕;
coend}father()
{while
(1){P(S);
将水果放入盘中:
If(放入的是桔子elseV(Sa):
)
V(So);
}
}son({
while
(1){P(So);
从盘中取出桔子;
V(S):
吃桔子;
}}daughter(){while
(1){P(Sa):
从盘中取出苹果;
吃苹果;
}}
6.解:
在此题中,应设置四个信号量forkl、fork2、knifel、knife2,其初值均为表示资源叉1、叉2、刀1、刀2是否可用。
1,分别
intfork1=l;
intfork2=1;
intknife1=l;
intknife2=l;
main(){
cobegin
Pa(
);
/*分别用进程Pa、Pb、Pc、Pd代表哲学家甲、乙、丙、丁的活动*/
Pb(
Pc(
Pd(
coend
Pa(){while
(1){P(knife1);
P(fork1);
进餐;
V(knife1);
V(fork1);
讨论问题:
}}Pb()·
{while
(1){P(knife2);
V(knife2);
讨论问题;
}}Pc(){while
(1){P(knife2);
P(fork2);
V(fork2);
}}‘Pd(){while
(1){P(knife1);
进餐:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 习题