第4章进程同步与进程通信
- 格式:doc
- 大小:166.00 KB
- 文档页数:7
第四章互斥、同步与通讯一、单项选择题1.一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,__________.A.可以允许其他进程进入与该进程相关的临界区B.不允许其他进程进入任何临界区C. 可以允许其他就绪进程抢占处理器,继续运行D.不允许任何进程抢占处理器2.两个并发进程之间______A 一定存在互斥关系B 一定存在同步关系C 一定彼此独立无关D 可能存在同步或互斥关系3.为了使两个进程能同步运行,最少需要_______个信号量。
A 一B 二C 三D 四4.共享变量是指__________访问的变量。
A. 只能被系统进程B. 只能被多个进程互斥C. 只能被用户进程D. 可被多个进程5.临界区是指并发进程中访问共享变量的__________.A.管理信息 B.数据 C.信息存储 D.程序段6.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是___________A.1,0,-1,-2B.2,0,-1,-2C.1,0,-1D.3,2,1,07.进程的并发执行是指若干个进程__________.A. 同时执行B. 在执行的时间上是重叠的C. 在执行的时间上是不可重叠的D. 共享系统资源8.在进程通信中,__________常用信件交换信息。
A.低级通信 B.高级通信 C.消息通信 D.管道通信9.实现进程同步时,每一个消息与一个信号量对应,进程_________可把不同的消息发送出去。
A.在同一信号量上调用P操作B.在不同信号量上调用P操作C.在同一信号量上调用V操作D.在不同信号量上调用V操作10._________是只能有P和V操作所改变的整形变量。
A.共享变量B.锁C.整型信号量D.记录型信号量11.在执行V操作时,当信号量的值_________时,应释放一个等待该信号量的进程。
A.大于0B.小于0C.大于等于0D.小于等于012.进程和程序的主要区别是__________.A.占用处理器和不占用处理器B.占用主存和不占用主存C.动态和静态D.连续执行和非连续执行13.有三个进程P1,P2,P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为___________.A. 0B. 1C. 2D. 314.若P、V操作的信号量S初值为2,当前值为-1,则表示有_________等待进程。
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C_。
,2,1,0,-1,1,0,-1,-2C.1,0,-1,-2,-3,3,2,1,05.下面有关进程的描述,是正确的__A__oA.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、V操作不是原语操作6.信号灯可以用来实现进程之间的_B_。
A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__0A.没有进程进入临界区8.有1个进程进入了临界区C.有2个进程进入了临界区D.有1个进程进入了临界区并且另一个进程正等待进入8.信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_CA.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C.信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10.并发是指_C__。
A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11.临界区是_C__。
A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C_。
A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13.在消息缓冲通信中,消息队列是一种__A_资源。
实验四:进程同步实验一、实验任务:1、熟悉操作系统进程通信原理2、设计程序,实现共享内存、管道通信、消息通信二、实验原理:1、进程间通信的几种方法简介(1)消息队列:消息队列是消息的链接表,包括Posix消息队列systemV消息队列。
有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。
(2)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。
是针对其他通信机制运行效率较低而设计的。
往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
(3)无名管道(Pipe)及有名管道(named pipe):有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;无名管道可用于有亲缘关系的进程之间彼此的通信,进行通信时候必须有一定的机制保证对管道写和读的互斥:即在读是要关闭写的端口,而在写的时候也要保证读的一端是关闭的。
2、进程通信函数(1)消息队列有关系统调用函数a.创建消息队列使用msgget()函数:#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>int msgget(key_t key, int flag) ;该函数成功调用返回消息队列标识符。
其中的key是关键字,可以由ftok()函数得到:key=ftok(“.”,’a’);其中”.”可以是任何目录,’a’是任意字符,即所有群组标识。
flag是标识,IPC_CREAT位表示创建,一般由服务器程序创建消息队列时使用。
如果是客户程序,必须打开现存的消息队列,必须不使用IPC_CREAT。
发送和接收的消息都必须使用一个类似msgbuf的结构表示,msgbuf结构定义如下:struct msgbuf{long mtype;char mtext[1];}上面的定义,消息内容只有一个字节,是不实用的,一般我们需要重新定义一个结构:struct amsgbuf{long mtype;char mtext[200];}其中的mtype都是消息类型。
第四章互斥、同步与通讯一、单项选择题1.一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,__________. A.可以允许其他进程进入与该进程相关的临界区B.不允许其他进程进入任何临界区C. 可以允许其他就绪进程抢占处理器,继续运行D.不允许任何进程抢占处理器2.两个并发进程之间______ A 一定存在互斥关系B 一定存在同步关系C 一定彼此独立无关D 可能存在同步或互斥关系3.为了使两个进程能同步运行,最少需要_______个信号量。
A 一B 二C 三D 四4.共享变量是指__________访问的变量。
A. 只能被系统进程B. 只能被多个进程互斥C. 只能被用户进程D. 可被多个进程5.临界区是指并发进程中访问共享变量的__________. A.管理信息 B.数据 C.信息存储 D.程序段6.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是___________ A.1,0,-1,-2 B.2,0,-1,-2 C.1,0,-1 D.3,2,1,0 7.进程的并发执行是指若干个进程__________. A. 同时执行B. 在执行的时间上是重叠的C. 在执行的时间上是不可重叠的D. 共享系统资源8.在进程通信中,__________常用信件交换信息。
A.低级通信 B.高级通信 C.消息通信 D.管道通信9.实现进程同步时,每一个消息与一个信号量对应,进程_________可把不同的消息发送出去。
A.在同一信号量上调用P操作B.在不同信号量上调用P操作C.在同一信号量上调用V操作D.在不同信号量上调用V操作10._________是只能有P和V操作所改变的整形变量。
A.共享变量B.锁C.整型信号量D.记录型信号量11.在执行V操作时,当信号量的值_________时,应释放一个等待该信号量的进程。
A.大于0 B.小于0 C.大于等于0 D.小于等于0 12.进程和程序的主要区别是__________. A.占用处理器和不占用处理器B.占用主存和不占用主存C.动态和静态D.连续执行和非连续执行13.有三个进程P1,P2,P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为___________. A. 0 B. 1 C. 2 D. 3 14.若P、V操作的信号量S初值为2,当前值为-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,messageB. sender,mailboxC. receiver,messageD. receiver,mailbox(4)下述那个选项不是管程的组成部分_A__。
A. 管程外过程调用管程内数据结构的说明B. 管程内对数据结构进行操作的一组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。
A. 消息通信B. 低级通信C. 管道通信D. 高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。
A. -1B. 0C. 1D. 任意值(7)临界区是_B__。
A. 一个缓冲区B. 一段程序C. 一段共享数据区D. 一个互斥资源(8)信箱通信是一种_D__通信方式。
A. 直接通信B. 信号量C. 低级通信D. 间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。
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__。