计算机操作系统习题及答案(共10页).doc
《计算机操作系统习题及答案(共10页).doc》由会员分享,可在线阅读,更多相关《计算机操作系统习题及答案(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第4章 进程同步与通信1)选择题(1)在操作系统中,P、V操作是一种_D_。A. 机器指令 B. 系统调用命令C. 作业控制命令 D. 低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表示有_B_等待进程。A. 0个 B. l个C. 2个 D. 3个(3)在直接通信方式中,系统提供两条通信原语进行发送和接收,其中Send原语中参数应是_C_。A. sender,message B. sender,mailboxC. receiver,message D. receiver,mailbox(4)下述那个选项不是管程的组成部分_A_。A. 管程外过程调用管程内
2、数据结构的说明B. 管程内对数据结构进行操作的一组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D_。A. 消息通信 B. 低级通信C. 管道通信 D. 高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为_C_。A. -1 B. 0C. 1 D. 任意值(7)临界区是_B_。A. 一个缓冲区 B. 一段程序C. 一段共享数据区 D. 一个互斥资源(8)信箱通信是一种_D_通信方式。A. 直接通信 B. 信号量C. 低级通信 D. 间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则_A
3、_。A. 表示有一个进程进入临界区B. 表示没有进程进入临界区C. 表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区(10)对信号量S执行V操作后,下述选项正确的是_C_。A. 当S小于等于0时唤醒一个阻塞进程B. 当S小于0时唤醒一个阻塞进程C. 当S小于等于0时唤醒一个就绪进程D. 当S小于0时唤醒一个就绪进程 (11)在消息缓冲通信中,消息队列属于_A_资源。A. 临界 B. 共享 C. 永久 D. 可剥夺 (12)在消息缓冲通信机制中,使用的临界资源是_D_。A. 信箱 B. 消息队列中的某个缓冲区C. 管道 D. 整个消息队列2)填空题(1)信号量的物理意义
4、是:当信号量值大于0时表示 可用资源的个数 ;当信号量值小于0时,其绝对值为 等待该信号量的进程数 。(2)如果信号量的当前值为-4,则表示系统中在该信号量上有 _4_ 个等待进程。(3)对于信号量可以做 P 操作和 V 操作, P 操作用于阻塞进程, V 操作用于释放进程。程序中的 P 和 V 操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。(4)有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是 _-(m-1),1_ 。(5)管程由 局部于管程(资源对象)的共享变量的说明 、 对管程(资源对象)数据进行操作的一组过程 和 对局部于管程
5、的数据设置初始值的语句 三部分组成。(6)访问临界资源的进程应该遵循的条件有: 空闲让进 、 忙则等待 、 有限等待 和 让权等待 。(7)每个信箱可以包含 信箱头 和 信箱体 两部分。(8)为了实现消息缓冲通信,在PCB中应增加的数据项有 消息队列中消息资源的信号量 、 对消息队列互斥操作的信号量 和 指向消息队列的指针 。3)解答题(1)什么是临界资源?什么是临界区?对临界资源的访问有哪些原则? 答:一次仅允许一个进程使用的共享资源被称为临界资源。 每个进程中访问临界资源的那段程序称为临界区。对临界资源的访问原则是:空闲让进,如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。忙则
6、等待,任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。有限等待,进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。让权等待,如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。(2)请给出P、V操作的定义。如何用P、V操作实现进程间的互斥?解:P原语操作的动作是:sem减1; 若sem减1后仍大于或等于零,则进程继续执行; 若sem减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。V原语操作的动作是: sem加1; 若相加结果大于零,则进程继续执行; 若相加结果小于或
7、等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。由于用于互斥的信号量sem与所有的并发进程有关,所以称之为公有信号量。公有信号量的值反映了公有资源的数量。只要把临界区置于P(sem)和V(sem)之间,即可实现进程间的互斥,sem的初值通常设置成1。使用P、V操作实现进程互斥时应该注意的是:每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。互斥信号量的初值一般为1。(3)请用P、V操作写出一个不会出现死锁的哲学
8、家进餐问题的解?解:至多只允许四个哲学家同时进餐,以保证至少有一个哲学家能够进餐,最终总会释放出他所使用过的两支筷子,从而可使更多的哲学家进餐。以下将room 作为信号量,只允许4个哲学家同时进入餐厅就餐,这样就能保证至少有一个哲学家可以就餐,而申请进入餐厅的哲学家进入room 的等待队列,根据FIFO 的原则,总会进入到餐厅就餐,因此不会出现饿死和死锁的现象。 semaphore chopstick5=1,1,1,1,1; semaphore room=4; void philosopher(int i) while(true) think(); wait(room); /请求进入房间进餐
9、wait(chopsticki); /请求左手边的筷子 wait(chopstick(i+1)%5); /请求右手边的筷子 eat(); signal(chopstick(i+1)%5); /释放右手边的筷子 signal(chopsticki); /释放左手边的筷子 signal(room); /退出房间释放信号量room (此题有多种解法。)(4)高级进程通信方式有哪几类?各自如何实现进程间通信?答:高级进程通信方式可以分为三大类:共享存储器系统、消息传递系统以及管道通信系统。在共享存储区系统中,进程通过共享内存中的存储区来实现通信。在消息传递系统中,进程间的数据交换以消息为单位,程序员直
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 习题 答案 10
限制150内