操作系统进程通信练习及答案

合集下载

操作系统 进程习题及答案

操作系统  进程习题及答案
28.N个进程共享某一临界资源,则互斥信号量的取值 范围为( )。 A:0~1; B: -1~0 ; C: -(N-1)~1 ; D: -(N-1)~0
例1:十字路口问题
在一个只允许单向行驶的十字路口,分别有 若干由东向西,由南向北的车辆在等待通过十字 路口。为了安全,每次只允许一辆车通过。当有 车辆通过时其它车辆必须等候,当无车辆在路口 行驶时则允许一辆车通过。
Var mutex:semaphore:=1
process 1: process 2: begin repeat wait(mutex); 由南向北通过十字路口; signal(mutex); until false; end
begin
repeat wait(mutex); 由东向西通过十字路口; signal(mutex);
16.若信号量的初值为2,当前值为-3,则表示等待进 程有( )。 A.1个 B.2个 C.3个 D.5个 )。
17.P操作可能导致(
A.进程就绪 B.进程结束
C.进程阻塞 D.新进程创建
18.进程和程序的本质区别是( )。 A.内存和外存 B.动态和静态特征
C.共享和独占使用计算机资源 D.顺序和非顺序执行机器指令 19.进程从运行状态到等待状态可能是( )。
14.下面关于进程的叙述中正确的是( )。 A.进程获得CPU运行是通过调度得到的
B.优先级是进程调度的重要依据,一旦确定就不能改变
C.进程申请CPU得不到满足时,其状态变为阻塞
D.在单CPU的系统中,任何时刻都有一个进程处于运 行状态。
15.能转变到其他3种状态的是( )。 A.就绪 B.阻塞 C.完成 D.执行
第二章 习题
1.进程是( )。 A.与程序等效的概念 B.并发环境中程序的执行过程 C.一个系统软件 D.存放在内存中的程序 2.在下列特性中,不是进程特性的是( A.异步性 B.并发性 C.静态性 D.动态性 )。

(完整版)第三章进程同步与通信作业习题与答案

(完整版)第三章进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。

A.3B.2C.1D.04.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C__。

A.3,2,1,0,-1B.2,1,0,-1,-2C. 1,0,-1,-2,-3D.4,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B_ _。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。

A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。

计算机操作系统习题及答案(5)

计算机操作系统习题及答案(5)

计算机操作系统习题及答案(5)
计算机操作系统习题及答案(5)
1:进程管理
1.1 进程与线程的区别是什么?
答案:进程是操作系统中执行的一个程序,它包含了程序代码、数据以及其运行状态的描述信息。

线程是进程中的一个执行单元,
它可以与同一进程中的其他线程共享资源。

1.2 进程调度算法有哪些?
答案:常见的进程调度算法有先来先服务(FCFS)、最短作业
优先(SJF)、优先级调度、轮转调度等。

2:存储管理
2.1 什么是虚拟内存?
答案:虚拟内存是一种将物理内存和磁盘空间组合起来使用的
技术。

它允许进程访问超过物理内存大小的地址空间,将不常用的
数据存储在磁盘上,并且能够在需要时将其换入内存。

2.2 页面置换算法有哪些?
答案:常见的页面置换算法有先进先出(FIFO)、最近未使用(LRU)、时钟置换算法等。

3:文件系统
3.1 什么是文件系统?
答案:文件系统是操作系统中用于管理存储设备上文件的一种
机制。

它定义了文件和目录的层次结构以及文件的访问方式。

3.2 文件系统的常见组织方式有哪些?
答案:常见的文件系统组织方式有单层目录结构、多层目录结
构和索引节点结构。

附件:无
法律名词及注释:
1:版权法:保护创造者对其作品的独立性和权益的法律制度。

2:著作权:在法律上规定的对创作原创性个人和集体作品的
特殊权利。

3:商标法:保护商标所有人对其商标的专有权的法律制度。

linux进程间通信试题

linux进程间通信试题

linux进程间通信试题进程间通信是操作系统中的重要概念,用于实现不同进程之间的数据传递和协作。

在Linux系统中,有多种方式可以实现进程间通信,包括管道、信号量、共享内存、消息队列和套接字等。

下面我将从多个角度来回答关于Linux进程间通信的试题。

1. 请简要介绍Linux进程间通信的常用方式。

在Linux系统中,常用的进程间通信方式有以下几种:管道(Pipe),管道是一种半双工的通信方式,用于在具有亲缘关系的进程之间传递数据。

信号量(Semaphore),信号量是一种计数器,用于实现进程之间的同步和互斥。

共享内存(Shared Memory),共享内存是一种高效的通信方式,允许多个进程直接访问同一块内存区域。

消息队列(Message Queue),消息队列是一种按照消息的方式进行通信的机制,可以实现进程之间的异步通信。

套接字(Socket),套接字是一种网络通信机制,可以在不同主机上的进程之间进行通信。

2. 请比较管道和套接字的异同。

相同点,管道和套接字都可以用于进程间通信,都是通过文件描述符来进行操作。

不同点,管道是一种用于具有亲缘关系的进程之间的通信方式,只能在同一台主机上的进程之间进行通信;而套接字是一种网络通信机制,可以在不同主机上的进程之间进行通信。

3. 请解释共享内存的工作原理。

共享内存是一种高效的进程间通信方式,它允许多个进程直接访问同一块内存区域,避免了数据的复制。

其工作原理如下:创建共享内存,一个进程通过调用系统调用shmget()来创建一个共享内存区域,并指定其大小和权限。

连接共享内存,其他进程可以通过调用shmat()来连接到已创建的共享内存区域,得到该内存区域的地址。

访问共享内存,连接到共享内存区域的进程可以直接读写该内存区域,实现数据的共享。

分离共享内存,进程使用完共享内存后,可以通过调用shmdt()将其与共享内存区域断开连接。

删除共享内存,当不再需要使用共享内存时,可以通过调用shmctl()来删除共享内存区域。

进程同步与通信作业习题与答案

进程同步与通信作业习题与答案

第三章一.选择题(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,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入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、通过使用进程和进程通信方面的系统调用的,加深理解有关进程方面的基本概念。

通过实验对进程有进一步的感性认识,掌握系统V的IPC机制。

二、实验内容1、设计一个程序,创建一个子进程,使父子进程合作,协调地完成某一功能。

要求在该程序中还要使用进程的睡眠、进程图象改换、父进程等待子进程终止、信号的设置与传送(包括信号处理程序)、子进程的终止等有关进程的系统调用。

2、分别利用UNIX的消息通信机制、共享内存机制(用信号灯实施进程间的同步和互斥)实现两个进程间的数据通信。

具体的通信数据可从一个文件读出,接收方进程可将收到的数据写入一个新文件,以便能判断数据传送的正确性(对文件操不熟悉的同学可不必通过读写文件,只要键盘输入和输出至屏幕进行比较即可)。

3、编写一个程序,生成若干个线程,通过这些并发线程的合作,完成较复杂的任务。

通过测试程序的运行结果,比较进程和进程、线程和线程之间对外部变量、静态变量和动态变量的共享方式的相同和不同之处。

三、实验代码父子进程通信#include <sys/types.h>#include <signal.h>main(){int pid,status = 1;void func();signal(SIGUSR1,func); /* 预置信号处理程序,将SIGUSR1设置为func函数的功能*/while ((pid=fork( ))==-1);if (pid) { /* 父进程*/printf("It is the parent process.\n");printf("Parent: will send signal.\n");kill(pid,SIGUSR1); /* 发送信号,即发送执行func函数的信息*/ pid = wait(&status); /* 父进程等待子进程终止*/printf("Child process %d,status=%d \n",pid,status);}else { /* 子进程*/sleep (2); /* 等待接受信号*/printf("It is the child process.\n");printf("Child:signal is received.\n");execvp ("pwd",(char*)0); /* 映像改换,显示当前工作区,exevcp不用给出具体路径,(char*)0指向pwd命令*/printf("execl error.\n"); /* 映像改换失败*/exit(2);}printf ("Parent process finish. \n");}void func (){system("date");}3.2 消息通信/* msgcom.h */#include <errno.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#define MSGKEY 5678struct msgtype{long mtype;int text;};#include "msgcom.h"main(){ /* 请求进程*/struct msgtype buf;int qid,pid;qid=msgget(MSGKEY,IPC_CREA T|0666); /* MSGKEY为约定的消息队列关键字,访问控制权限为0666 */buf.mtype=1; /* 请求进程发送消息标识为1 */buf.text=pid=getpid(); /* 请求进程发送消息内容为进程标识*/msgsnd(qid,&buf,sizeof(buf.text), IPC_NOWAIT|04000); /* 发送消息正文长度为buf的大小*/msgrcv(qid,&buf,512,pid,MSG_NOERROR); /* 指定接收mtype=pid的信息,即请求进程发送给服务器处理后的信息*/printf("Request received a massags from server, type is: %d\n",buf.mtype);}#include "msgcom.h"main(){ /* 服务器进程*/struct msgtype buf;int qid;if((qid=msgget(MSGKEY,IPC_CREA T|0666))== -1)return(-1); /* 出错处理*/while(1){msgrcv(qid,&buf,512,1,MSG_NOERROR); /* 接收所有请求进程发送的消息*/printf("Server receive a request from process %d\n",buf.text);buf.mtype=buf.text; /* 将请求进程的标识数作为mtype的值,以便于请求进程识别*/msgsnd(qid,&buf,sizeof(int),IPC_NOWAIT|04000); /* 将消息发送给请求进程*/ }}3.3 共享内存#include <sys/types.h>#include <sys/ipc.h>#include <sys/sem.h>#include <sys/shm.h>#include <stdio.h>#define SHMKEY 18001 /* 共享内存关键字*/#define SHMKEY2 18002#define SIZE 1024 /* 共享内存长度*/#define SEMKEY1 19001 /* 信号灯组1关键字*/#define SEMKEY2 19002 /* 信号灯组2关键字*/#define SEMKEY3 19003 /* 信号灯组3关键字*/static void semcall(sid,op)int sid,op;{struct sembuf sb;sb.sem_num = 0; /* 信号灯编号0 */sb.sem_op = op; /* 信号灯操作数加1或减1 */sb.sem_flg = 0; /* 操作标志*/if(semop(sid,&sb,1) == -1)perror("semop"); /* 出错处理*/};int creatsem(key) /* 信号灯组创建及初始化程序*/key_t key;{int sid;union semun { /* 如sem.h中已定义,则省略*/int val;struct semid_ds *buf;ushort *array;} arg;if((sid=semget(key,1,0666|IPC_CREA T))==-1) /* 创建1个关键字为1的信号灯组,访问控制权限为0666 */perror("semget"); /* 出错处理*/arg.val=1; /* 初值为1 */if(semctl(sid,0,SETV AL,arg)==-1) /* 将信号灯组的第一个信号灯的初值置1 */perror("semctl"); /* 出错处理*/return(sid);}void P(sid)int sid;{semcall(sid,-1); /*对关键字为sid信号灯组值减1,相当于wait */}void V(sid)int sid;{semcall(sid,1); /*对关键字为sid信号灯组值加1,相当于signal */}main(){char *segaddr,*segaddr2;int segid,segid2,sid1,sid2,sid3;if((segid=shmget(SHMKEY,SIZE,IPC_CREA T|0666))==-1) /* 创建共享内存段*/perror("shmget"); /* 出错处理*/if((segid2=shmget(SHMKEY2,SIZE,IPC_CREA T|0666))==-1) /* 创建共享内存段2 */perror("shmget"); /* 出错处理*/segaddr=shmat(segid,0,0); /* 将共享内存映射到进程数据空间*/segaddr2=shmat(segid2,0,0); /* 将共享内存2映射到进程数据空间*/sid1=creatsem(SEMKEY1); /* 创建三个信号灯,初值为1 */sid2=creatsem(SEMKEY2);sid3=creatsem(SEMKEY3);P(sid2); /* 置信号灯2值为0,表示缓冲区1空*/P(sid3); /* 置信号灯3值为0,表示缓冲区2空*/if(!fork()){if(!fork()){while(1){ /* 子进程的子进程,接收和输出*/P(sid3);printf("Received from Parent: %s\n",segaddr2);printf("Received from Grandparent: %s\n",segaddr);V(sid1);}}while(1){ /* 子进程,输入和存储*/P(sid2);scanf("%s",segaddr2);V(sid3);}}while(1) { /* 父进程,输入和存储*/P(sid1);scanf("%s",segaddr);V(sid2);}}3.4 线程#include <pthread.h>#include <stdio.h>#include <stdlib.h>int nthreads = 1; /* 线程执行函数,传入参数为线程序号,传出参数为项: (序号+1) */ void *dowork (void *params){int j = *(int *)params;int term = j+1;*(int *)params = term;printf ("the thread [%d]: term =%d\n",j,term);}void main(int argc,char **argv){int i;pthread_t threads[100];int pthread_data[100];float mean = 0; /* 平均数*/float variance = 0; /* 方差*/if(argc==2)nthreads = atoi (argv[1]); /* 将命令行字符串参数转换为整数*/for (i=0; i<nthreads; i++) {pthread_data [i] = i ;pthread_create (&threads[i], NULL, dowork, &pthread_data[i]); /* 创建线程*/}for (i=0; i<nthreads; i++) {pthread_join (threads [i], NULL); /* 等待子线程结束,汇合结果*/mean += (float)pthread_data[i];}mean = mean / nthreads;for(i=0; i<nthreads; i++) {variance += (float)(pthread_data[i]-mean)*(pthread_data[i]-mean);}variance = variance / nthreads;printf("The total threads is %d\n",nthreads);printf("The mean = %f\n", mean);printf("The variance = %f\n",variance);}四、运行结果3.1 父子进程通信父进程向子进程发送的消息为函数system(“date”)即显示日期时间。

计算机操作系统习题及答案(4)

计算机操作系统习题及答案(4)

第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__。

操作系统课后习题答案 3 进程同步与通信

操作系统课后习题答案 3 进程同步与通信

习题 3 进程同步与通信一、选择题题号1 2 3 4 5 6 7 8 9 10答案A D D C B C A B A A题号11 12答案D C二、综合题1、答:临界资源也称独占资源、互斥资源,它是指某段时间内只充许一个进程使用的资源。

比如打印机等硬件资源,以及只能互斥使用的变量、表格、队列等软件资源。

各个进程中访问临界资源的、必须互斥执行的程序代码段称为临界区,各进程中访问同一临界资源的程序代码段必须互斥执行。

为防止两个进程同时进入临界区,可采用软件解决方法或同步机构来协调它们。

但是,不论是软件算法还是同步机构都应遵循下述准则:①空闲让进。

②忙则等待。

③有限等待。

④让权等待。

2、答:忙等待意味着一个进程正在等待满足一个没有闲置处理器的严格循环的条件。

因为只有一个CPU 为多个进程服务,因此这种等待浪费了CPU 的时钟。

其他类型的等待:与忙等待需要占用处理器不同,另外一种等待则允许放弃处理器。

如进程阻塞自己并且等待在合适的时间被唤醒。

忙等可以采用更为有效的办法来避免。

例如:执行请求(类似于中断)机制以及PV 信号量机制,均可避免“忙等待”现象的发生。

3、答:在生产者—消费者问题中,Producer 进程中P(empty)和P(mutex)互换先后次序。

先执行P(mutex),假设成功,生产者进程获得对缓冲区的访问权,但如果此时缓冲池已满,没有空缓冲区可供其使用,后续的P(empty)原语没有通过,Producer 阻塞在信号量empty 上,而此时mutex 已被改为0,没有恢复成初值1。

切换到消费者进程后,Consumer 进程执行P(full)成功,但其执行P(mutex)时由于Producer 正在访问缓冲区,所以不成功,阻塞在信号量mutex 上。

生产者进程和消费者进程两者均无法继续执行,相互等待对方释放资源,会产生死锁。

在生产者和消费者进程中,V 操作的次序无关紧要,不会出现死锁现象。

操作系统第三讲进程通信习题课

操作系统第三讲进程通信习题课

❖ 【例3.18★】设有一个作业由四个进程组 成,这四个进程在运行时必须按下图的次 序,试用P, V操作表达四个进程的同步关 系。
T1
T2
T3
T4 四个进程的运行次序
❖ 解:图中说明作业启动后进程T1先执行。当 进程T1结束后,进程T2, T3可以开始执行。 进程T2, T3完成后,T4才能开始执行。为了 确 保 这 一 执 行 顺 序 , 设 三 个 同 步 信 号 量 b2, b3, b4分别表示进程T2, T3, T4是否可以开始 执行,其初值均为0。这四个进程的同步描 述如下:
❖ 【例2.13】进程间的高级通信机制可归纳为 3 大 类 , 分 别 是 ________ , ________ 和 ________。
❖ 解:进程间的高级通信机制可归纳为3大类: 共享存储器系统、消息传递系统和管道通信。
❖ [例2.14]在多道程序系统中,进程之间存在着 的不同制约关系可以划分为两类: __________与__________。__________指 进程间具有的一定逻辑关系;__________是 指进程间在使用共享资源方面的约束关系。
B.进程同步
C.进程通信
D.进程制约
❖ 解:进程间交换数据即进程通信。故本题 答案为C.
❖ 【例3.6】★临界区是__________。
A.一个缓冲区
B.一段共享数据区
C.一段程序
D.一个互斥资源
解:进程中访问临界资源的那段代码称为临 界区,故本题答案为C.
❖ 【例3.7】下列描述不正确的是( )。 A. P操作和V操作是对信号量实施的操作 B.并发进程在访问共享资源时可能出现与 时间相关的错误
❖ 【例3.17】己知一个求值公式(A2+3B)/(B+ 5A),若A. B已赋值,试画出该公式求值过程的前 驱图。

操作系统进程练习题答案

操作系统进程练习题答案

第二章进程管理1.操作系统重要是对计算机系统所有 (1) 进行管理,以以便顾客、提高计算机使用效率旳一种系统软件。

它旳重要功能有:解决机管理、存储管理、文献管理、 (2) 管理和设备管理等。

Windows和Unix是最常用旳两类操作系统。

前者是一种具有图形界面旳窗口式旳 (3) 系统软件,后者是一种基本上采用 (4) 语言编制而成旳旳系统软件。

在 (5) 操作系统控制下,计算机能及时解决由过程控制反馈旳信息并作出响应。

供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多顾客D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批解决D. 实时答案:CBBDD2.操作系统是对计算机资源进行旳 (1) 系统软件,是 (2) 旳接口。

在解决机管理中,进程是一种重要旳概念,它由程序块、 (3) 和数据块三部分构成,它有3种基本状态,不也许发生旳状态转换是 (4) 。

虚拟存储器旳作用是容许程序直接访问比内存更大旳地址空间,它一般使用 (5) 作为它旳一种重要构成部分。

供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 顾客和计算机(3): A. 进程控制块 B. 作业控制块C. 文献控制块D. 设备控制块(4): A. 运营态转换为就绪态 B. 就绪态转换为运营态C. 运营态转换为等待态D. 等待态转换为运营态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,容许多种程序同步进入内存并运营,这种措施称为 D。

A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求旳目旳是 C。

全国自考操作系统(进程通信)模拟试卷3(题后含答案及解析)

全国自考操作系统(进程通信)模拟试卷3(题后含答案及解析)

全国自考操作系统(进程通信)模拟试卷3(题后含答案及解析) 题型有:1. 单项选择题 3. 填空题 4. 简答题 5. 综合题 6. 判断题单项选择题1.临界区是指并发进程中_______。

A.用于实现进程互斥的程序段B.用于实现进程同步的程序段C.用于实现进程通信的程序段D.与互斥的共享资源有关的程序段正确答案:D 涉及知识点:进程通信2.解决进程间同步与互斥问题的常用方法是使用_______。

A.锁操作B.存储管理C.信号机构D.信号量正确答案:D解析:锁操作只能解决进程间的互斥而不能解决进程间的同步问题。

知识模块:进程通信3.在进程之间要传递大量的数据,效率高而且互斥与同步控制方便的方法是采用_______。

A.管道B.共享存储C.全局变量D.信号量正确答案:A解析:信号量只能传递少量的(控制)信息;采用共享存储区的方法,一般还需要信号量来实现进程间的同步;全局变量只能用于进程内部的信息传递。

知识模块:进程通信4.能支持两台计算机之间的通信机制是_______。

A.SignalB.PipeC.IpcD.Socket正确答案:D 涉及知识点:进程通信5.如果系统只有一个临界资源,同时有很多进程要竞争该资源,那么系统_______发生死锁。

A.一定会B.一定不会C.不一定会D.由进程数量决定正确答案:B解析:由于系统只有一个临界资源,各个进程只能竞争和轮流占用该资源,不会形成循环等待的死锁条件,那么系统就一定不会发生死锁。

知识模块:进程通信6.在多进程的并发系统中,肯定不会因竞争_______而产生死锁。

A.打印机B.磁带机C.光刻机D.处理机正确答案:D 涉及知识点:进程通信7.系统有11台磁带机供5个进程使用,如每个进程最多同时分配_______台磁带机,就没有死锁的危险。

A.2B.3C.4D.5正确答案:B解析:在最坏的情况下,每一个进程都已平均分配了2台磁带机,系统还剩下1台磁带机。

这台磁带机就可以分配给某个进程使用,使该进程得到了全部的资源后,就能运行到底,从而可释放它所占用的3台磁带机,这样其他进程又能获得磁带机,就没有死锁的危险。

操作系统(进程与线程)习题与答案.docx

操作系统(进程与线程)习题与答案.docx

1、下面哪种死锁处理策略代价最小?()A.死锁忽略B.死锁检测+恢复C.死锁避免D.死锁预防正确答案:A2、下面哪种死锁处理策略引入的不合理因素最严重?()A.死锁检测+恢复B.死锁忽略C.死锁预防D.死锁避免正确答案:C3、为什么进程切换的代价要比线程切换要大?()A.因为进程切换要切换控制块数据结构B.因为进程切换要切换PC指针C.因为进程切换要切换段表D.因为进程切换要切换栈正确答案:C4、初值为N的信号量,当前值为-1表示的含义是什么?()A.有1个资源B.有N-1个进程在等待C.有1个进程在等待D.有N-1个资源5、为什么PC机通常死锁忽略策略?()A.因为死锁检测算法在PC机器上不能执行B.因为PC机上的发生死锁造成的破坏小C.因为PC机上的死锁可以用重启来解决D.因为PC机上的发生死锁的可能性小正确答案:C6、下面哪种参数可以用来表征操作系统可以对用户输入快速处理?()代响应时间B.等待时间C.吞吐量D.周转时间正确答案:A7、下面哪种调度算法可以保证用户的输入在一定的时间以后可以得到响应?()A.短作业优先B.时间片轮转调度C.剩余短作业优先D.先来先服务算法正确答案:B8、下面哪个系统调用不是用来操控进程的?()A.open()B.fork()C.wait()D.exec()正确答案:A9、下面哪种状态下的进程不存放在内存中?()正确答案:AB.阻塞态C.挂起态D.就绪态正确答案:C10、关于进程和线程的主要区别,下面哪种论述是正确的?()A.线程之所以切换快是因为TCB比PCB尺寸小B.线程切换时可能会引起进程切换C.进程不能成为调度的单位D.线程可以没有栈正确答案:B11、在实际系统中实现进程调度算法需要考虑诸多因素,相比而言下面哪个因素最不需要考虑?()A.机器物理内存的大小B.机器的使用坏境C.用户任务的特点D.算法的复杂性正确答案:A12、进程和程序的区别主要体现在哪里?()A.进程在内存中,程序在磁盘上。

操作系统第3章(进程的同步与通信习题与解答)

操作系统第3章(进程的同步与通信习题与解答)

第3章进程的同步与通信习题与解答3.2 例题解析例3.2.1 多道程序系统程序的执行失去了封闭性和再现性,因此多道程序的执行不需要这些特性,这种说法是否正确?解这种说法不正确。

可以想象,如果一个程序在多道程序系统中,在相同的输入的情况下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要封闭性和再现性,只不过单道程序系统的封闭性和再现性是先天固有的,多道程序系统的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。

所使用的方法就是同步和互斥的方法。

例3.2.2 多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?解(1) 因为S的当前值是-3,因此因为S处于阻塞状态的进程有3个;(2) 因为每进行一次P(S)操作,S的值都减1,每执行1次V操作S的值加1,故信号量的初值为-3+5-2=0;例3.2.3 如下锁的实现方法存在什么缺点?如何改进?LOCK(X) UNLOCK(X){ {do while X=1 ; X=0;X=1} }解存在的缺点是:当锁是关闭时,采用的是循环等待的方法,这样的等待还是要占用处理机的时间,应该采用阻塞等待的方法。

改进的锁实现如下:LOCK(X) UNLOCK(X){ {if X.value=1 if not empty(X.L) { insert( *, X.L); { P=remove(X.L);Block (*) Wakeup(P) } }else X.Value=1 else X.Value=0} }这里X.value是锁的值,X.L是存放由于锁X而阻塞的进程的队列。

insert( *, X.L)将当前进程的进程号插入到X.L,remove(X.L)是从X.L中移出一个进程号。

例3.2.4 使用多个进程计算Y=F1(X)+F2 (X).解(1) 确定并发和顺序操作在这个问题中,F1(X)和F2 (X)的计算是可以并行处理的,因此F1(X)和F2 (X)可以分别出现在两个进程中。

全国自考操作系统(进程通信)模拟试卷4(题后含答案及解析)

全国自考操作系统(进程通信)模拟试卷4(题后含答案及解析)

全国自考操作系统(进程通信)模拟试卷4(题后含答案及解析) 题型有:1. 单项选择题 3. 填空题 4. 简答题 5. 综合题 6. 判断题单项选择题1.不能利用_______实现父子进程间的互斥。

A.文件B.外部变量C.信号量D.锁正确答案:B解析:各个进程的外部变量,包括父子进程的同名外部变量都是独立存储的,不能作为公共的共享锁。

知识模块:进程通信2.若执行信号量S操作的进程数为3,信号量S初值为2,当前值为-1,表示有_______个等待相关临界资源的进程。

A.0B.1C.2D.3正确答案:B 涉及知识点:进程通信3.下列机构中不能用于进程间数据通信的是_______。

A.消息B.共享存储C.信号量D.管道正确答案:C 涉及知识点:进程通信4.在下面的Socket远程通信的系统调用中_______是客户端程序中要用到的系统调用。

A.bindB.1istenC.acceptD.connect正确答案:D 涉及知识点:进程通信5.在_______情况下,计算机系统一定出现了死锁。

A.系统中所有的进程都处于封锁状态B.进程申请的资源数大大超过资源总数C.计算机硬件或软件系统发生重大故障D.两个进程互相等待对方占有的资源正确答案:D 涉及知识点:进程通信6.在某一时刻,进程P1和P2执行或将执行各处于下列关于互斥资源的操作序列:进程P1申请到资源S1,申请资源S2,释放资源S1;进程P2已申请到资源S2,申请资源S1,释放资源S2,系统继续并发执行进程P1、P2,系统将_______。

A.必定产生死锁B.可能产生死锁C.不会产生死锁D.无法确定是否会产生死锁正确答案:B解析:但如两个进程没有申请到第二个资源时不能继续执行,就必定产生死锁。

知识模块:进程通信7.系统共有9个磁带机,如每个进程最多分配3台磁带机,系统要限制_______个进程使用,就没有死锁的危险。

A.1B.2C.3D.4正确答案:D 涉及知识点:进程通信8.相继地剥夺进程所占的资源,直至相关进程能继续运行是一种_______方法。

计算机操作系统习题及答案(4)

计算机操作系统习题及答案(4)

第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。

管程外过程调用管程内数据结构的说明B。

管程内对数据结构进行操作的一组过程C。

局部于管程的共享数据说明D。

对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。

A. 消息通信B。

低级通信C。

管道通信D。

高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。

A. —1B. 0C。

1 D. 任意值(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__。

A。

信箱B。

操作系统进程通信练习及答案

操作系统进程通信练习及答案

进程同步与通信练习题(一)单项选择题1.临界区是指(D)。

A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段2.相关临界区是指(D )。

A.一个独占资源 B.并发进程中与共享变量有关的程序段 c.一个共享资源 D.并发进程中涉及相同变量的那些程序段3.管理若干进程共享某一资源的相关临界区应满足三个要求,其中(A)不考虑。

A一个进程可以抢占己分配给另一进程的资源 B.任何进程不应该无限地逗留在它的临界区中 c.一次最多让一个进程在临界区执行 D.不能强迫一个进程无限地等待进入它的临界区4、(C)是只能由P和v操作所改变的整型变量。

A共享变量 B.锁 c整型信号量 D.记录型信号量5.对于整型信号量,在执行一次P操作时,信号量的值应(C)。

A.不变 B.加1 C减1 D.减指定数值6.在执行v操作时,当信号量的值(D )时,应释放一个等待该信号量的进程。

A>0 B.<0 c.>=0 D.<=0 这道题目问的是:使用v操作之前的情况。

即,若S信号量的值大于0则释放一个等待该信号量的进程,所以S的值小于等于0的时候才需要通过V操作实现释放一个等待该信号量的进程7.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为(B)。

A初始化程序 B.原语c.子程序 D控制模块8.进程间的互斥与同步分别表示了各进程间的(A)。

A.竞争(互斥时竞争资源)与协作(同步时共同完成一个任务) B.相互独立与相互制约 c.不同状态 D.动态性与并发性9并发进程在访问共享资源时的基本关系为(B)。

A.相互独立与有交往的 B.互斥与同步 c 并行执行与资源共享 D信息传递与信息缓冲10.在进程通信中,(B)常用信件(信件在信箱中,信箱属于高级通信)交换信息。

A.低级通信 B.高级通信 c.消息通信 D.管道通信11.在间接通信时,用send(N,M)原语发送信件,其中N表示(C)。

第二章 操作系统进程(练习题答案)

第二章 操作系统进程(练习题答案)

第二章进程管理.操作系统主要是对计算机系统全部 () 进行管理,以方便用户、提高计算机使用效率的一种系统软件。

它的主要功能有:处理机管理、存储管理、文件管理、 () 管理和设备管理等。

和是最常用的两类操作系统。

前者是一个具有图形界面的窗口式的 () 系统软件,后者是一个基本上采用 () 语言编制而成的的系统软件。

在 () 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。

供选答案:(): . 应用软件. 系统软硬件. 资源. 设备(): . 数据. 作业. 中断.(): . 分时. 多任务. 多用户. 实时(): . . 宏. 汇编.(): . 网络. 分时. 批处理. 实时答案:.操作系统是对计算机资源进行的 () 系统软件,是 () 的接口。

在处理机管理中,进程是一个重要的概念,它由程序块、 () 和数据块三部分组成,它有种基本状态,不可能发生的状态转换是 () 。

虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 () 作为它的一个主要组成部分。

供选答案:(): . 输入和输出. 键盘操作. 管理和控制. 汇编和执行(): . 软件和硬件. 主机和外设. 高级语言和机器语言. 用户和计算机(): . 进程控制块. 作业控制块. 文件控制块. 设备控制块(): . 运行态转换为就绪态. 就绪态转换为运行态. 运行态转换为等待态. 等待态转换为运行态(): . 软盘. 硬盘. . 寄存器答案:.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为。

. 技术. 虚拟存储技术. 缓冲技术. 多道程序设计技术.分时系统追求的目标是。

. 高吞吐率. 充分利用内存. 快速响应. 减少系统开销.引入多道程序的目的是。

. 提高实时响应速度. 增强系统交互能力. 为了充分利用主存储器. 充分利用,减少等待时间.若把操作系统看作计算机系统资源的管理者,下列不属于操作系统所管理的资源。

(完整版)操作系统-进程同步习题答案(22)

(完整版)操作系统-进程同步习题答案(22)
4.进程从阻塞状态转换到就绪状态的可能原因是(BC ).
A.时间片完B.其它进程执行了唤醒原语
C.执行了V操作D.执行了P操作
5.在单处理机系统中,设系统中有n个进程(n>2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生( BCD)。
A.没有运行的进程,有2个进程处于就绪状态,n个进程处于等待状态。
A.临界资源是非共享资源 B.临界资源是任意共享资源
C.临界资源是互斥共享资源 D.临界资源是同时共享资源
4.对进程间互斥地使用临界资源,进程可以(D)
A.互斥地进入临界区 B.互斥地进入各自的临界区
C.互斥地进入同一临界区 D.互斥地进入各自的同类资源的临界区
5.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示( B )。
〈进程P1〉〈进程P2〉
y:=1; x:=1;
y:=y+2; x:=x+1;
V(S1); P(S1);
z:=y+1; x:=x+y;
P(S2);V(S2);
y:=z+y; z:=x+z;
解:
因为P1和P2是两个并发进程,所以进程调度程序调度P1和P2的顺序是不确定的。
这里不妨假设P1先执行。进程P1执行到语句P(S2)时,S2=-1,进程P1阻塞。此时,y=3,z=4。当进程调度程序调度到进程P2时,由于进程P1已执行了V(S1),进程P2在执行P(S1)时并未阻塞而继续执行,当执行到V(S2)时,将P1唤醒,然后执行最后一个语句z:=x+z,此时x=5,z=9。当进程P1再次被调度时,继续执行P1的最后一个语句,此时y=12,最终结果是:x=5,y=12,z=9。
A.4 B.3 C.5 D.0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进程同步与通信练习题(一)单项选择题1•临界区是指()。

A•并发进程中用于实现进程互斥的程序段 B •并发进程中用于实现进程同步的程序段C•并发进程中用户实现进程通信的程序段D•并发进程中与共享变量有关的程序段2•相关临界区是指()°A. —个独占资源B •并发进程中与共享变量有关的程序段 c •一个共享资源 D •并发进程中涉及相同变量的那些程序段3•管理若干进程共享某一资源的相关临界区应满足三个要求,其中()不考虑。

A 一个进程可以抢占己分配给另一进程的资源B•任何进程不应该无限地逗留在它的临界区中 c • 一次最多让一个进程在临界区执行 D .不能强迫一个进程无限地等待进入它的临界区4、()是只能由P和v操作所改变的整型变量。

A共享变量B •锁c整型信号量 D •记录型信号量5.对于整型信号量,在执行一次P操作时,信号量的值应()。

A .不变B.加1 C减I D .减指定数值6・在执行v操作时,当信号量的值()时,应释放一个等待该信号量的进程。

A>0 B.<0 c.>=0 D.<=0操作必须在屏蔽中断下执行,这种不可变中断的过程称为()。

A初始化程序B •原语c •子程序 D 控制模块&进程间的互斥与同步分别表示了各进程间的()。

A •竞争与协作 B .相互独立与相互制约 c .不同状态 D .动态性与并发性9并发进程在访问共享资源时的基本关系为()。

A •相互独立与有交往的 B •互斥与同步c 并行执行与资源共享 D 信息传递与信息缓冲10在进程通信中,()常用信件交换信息。

A 低级通信 B 高级通信 c 消息通信 D 管道通信II•在间接通信时,用send(N , M)原语发送信件,其中N表示()。

A.发送信件的进程名 B 接收信件的进程名 C 信箱名 D 信件内容12•下列对线程的描述中,()是错误的。

A不同的线程可执行相同的程序 B •线程是资源分配单位 c 线程是调度和执行单位 D 同一进程中的线程可共享该进程的主存空间13•实现进程互斥时,用()对应,对同一个信号量调用Pv操作实现互斥。

A • 一个信号量与一个临界区 B 一个信号量与—个相关临界区 c 一个信号量与一组相关临界区 D 一个信号量与一个消息14实现进程同步时,每一个消息与一个信号量对应,进程()可把不同的消息发送出去。

A.在同一信号量上调用P操作B在不同信号量上调用P操作c •在同一信号量上调用v 操作D •在不同信号量上调用v操作(二)填空题1 目前使用的计算机的基本特点是处理器___________ 执行指令。

2进程的______ 是指进程在顺序处理器上的执行是按顺序进行的。

3 当一个进程独占处理器顺序执行时,具有_______________ 和_____ 两个特性。

4 进程的封闭性是指进程的执行结果只取决于___________ ,不受外界影响。

5进程的可再现性是指当进程再次重复执行时,必定获得__________ 的结果。

6 一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为________ . 7 若系统中存在一组可同时执行的进程,则就说该组进程具有 _________ 。

8 如果—个进程的执行不影响其他进程的执行,且与其他进程的进展情况无关,则说这些并发进程相互之间是______ 的。

9如果一个进程的执行依赖其他进程的进展情况,则说这些并发进程相互之间是 __________ 10 有交往的并发进程一定_________ 某些资源。

11 有交往的进程执行时可能产生与时间有关的错误,造成不正确的因素与进程 _________ 、 _____ 和外界的影响有关。

12 .对 _______ 的使用不受限制,这是使有交往的并发进程执行时出现与时间有关的错误的根本原因。

13 .临界区是指并发进程中与 _____________ 有关的程序段。

14 ._______ 是指并发进程中涉及到相同变量的那些程序段。

15 .只要涉及相同变量的若干进程的相关临界区___________ ,就不会造成与时间有关的错误。

16 .进程的________ 是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用。

17. Pv操作是在一个信号量上进行的 _________ 的过程,这种过程也称为______ 18•利用Pv操作管理相关临界区时,必须成对出现,在进入临界区之前要调用______ ,在完成临界区操作后要调用________ o 19.若信号量的初值为1,用Pv操作能限制一次_____ 进程进入临界区操作。

20 进程的______ 是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。

21 ________ 能把它进程需要的消息发送出去,也能测试自己需要的消息是否到达。

22 . Pv操作不仅是实现 ________ 的有效工具,而且也是一种简单而方便的_____ 工具。

23 .用Pv操作实现进程同步时,调用 ________ 测试消息是否到达,调用______ 发送消息。

24 .用Pv操作实现生产者消费者之间的同步时,在访问共享缓冲区的_____ 和______ 分别调动P操作和v操作。

25 •进程的互斥实际上是进程_____________ 的一种持殊情况。

26 •进程的互斥是进程间__________ 共享资源的使用权,其结果没有_________ ,而进程的同步则在共享资源的并发进程之间有一种 _________ 依赖关系。

27 . Pv操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为___________ 28 .通过专门的通信机制实现进程间交换大量信息的通信方式称为 ________ o 29 .采用高级通信方式时, 进程间用来交换信息。

30 .最基本的通信原语有两条,它们是原语和原语。

31 .进程通信方式有两种:和o 32 .直接通信是固定在进程之间通信,而间接通信以信箱为媒体实现通信。

33 .一个信息可以由_________ 和_______ 两部分组成。

34.进程间通过信件交换信息,可实现 ______ 。

35 _____ 是进程中可以独立执行的子任务。

36 .线程是处理器的独立 ______ 单位,多个线程可以_______ 执行。

37 .线程与进程有许多相似之处,所以线程又称为 _______ 。

38 .线程在生命周期内会经历______ 、______ 和_____ 之间各种状态变化。

39 .采用多线程技术可把生产者消费者两个进程作为一个进程和进程中的两个线程来处理,这两个线程仍具有 ___________________ ,但不在需要额外的________ 。

40 .在使Pv 操作实现进程互斥时,调用 ______ 相当于申请一个共享资源,调用 ______ 相当于归还共享资源的使用权。

41 .在多线程操作系统中,线程与进程的根本区别在于进程作为___________ 单位,而线程是_____ 单位。

(二)简答题1.什么是进程的顺序性和并发性2为什么并发进程执行时可能会产生与时间有关的错误如何避免3 .简述临界区的相关临界区的概念。

4 .管理相关临界区有些什么要求5 .假设PV操作用信号量s管理某个共享资源,请问当s> 0, S= 0和S v 0时,它们的物理意义是什么6 .请给出Pv操作的定义。

7 .用Pv操作实现进程间同步与互斥应注意些什么8 .何谓进程通信最基本的通信原语有哪些9直接通信与间接通信有何区别10 .线程与进程的根本区别是什么(四)应用题1.有一南北向的单行车道,在车道A、B两端以外一段距离处有减速标志和自动计数系统,A、B两处设有信号灯,信号灯的管理要求如下:绿灯行,红灯停,A、B两端红绿灯同时变换,一方红变绿时另一方绿变红。

绿灯保持到同一方向进入的车辆全部驶入AB段,当AB之间无车辆行驶时,允许到达A端(或B端)的车辆驶入AB段,但只准某一方的车辆进入;一方最后一辆车进入AB段后,双向亮红灯让车辆全部通过(假设2分钟),然后让已在等待的任何一方车辆驶入。

试用Pv操作管理AB路段车辆的行驶。

2在测温系统中要完成采样、转换和显示等任务。

采样过程把从传感器上得到的整型微电压值存入一个缓冲区,转换过程把微电压值从缓冲区中取出,计算转换成温度值再存入该缓冲区,显示过程把缓冲区中的温度值取出并显示。

试用Pv 操作实现三个过程共享缓冲区的同步问题。

3,现有三个进程,Reader 进程把键盘输入的一个整数读入缓冲区B1,Executor 进程把B1中的数据取出进行处理,处理完后存到输出缓冲区B2中,最后由Pin ter进程将B2中的数据打印出来。

假设B1和n2都只能存放一个整数,请用Pv操作管理这三个并发进程的执行•4.用进程通信的方法解决生产者消费者问题。

要求生产者能告诉消费者产品的说明、规格、价格等。

而消费者能反馈对物品的评价和处理情况。

第八章进程同步与通信练习题参考答案(一) 单项选择题1.D 2.D 3.A 4.c 5.c 6.D 7.B 8.A 9 B 10 B 11 .C 12.B 13.C 14.D(二) 填空题1 .顺序2 .顺序性3 封闭性,可再现件4 .进程本身5 .相同6 .可同时执行的7 并发性8 .无关9 .有交往的10.共享11 .占用处理器的时间,执行的速度 1 2 .共享资源 1 3共享变量14•相关临界区15互斥执行16.互斥17 •不可被中断,原语18 . P操作,v操作19 •只有一个20 .同步21 .同步机制22 .进程互斥,同步23 .P 操作,v 操作24 .前,后25 .同步26 .竞争,固定的必然关系,必然的27 .低级通信方式28 .进程通信29 .信件30 .send,receive 31 .直接通信,间接通信32 .一对33 .信箱说明,信箱体34 .进程同步35 .线程36 .调度,并发37 .轻型进程38 .等待态,就绪态,运行态39 并发性,公共缓冲区40 .P 操作,v 操作41. 资源分配,调度和执行(三)简答题1.进程的顺序性是指进程在顺序的处理器上严格地按顺序执行。

若系统中存在一组可同时执行的过程,则该组程序具有并发性。

可同时执行的进程是指这些进程执行时在时间上是重叠的,即一个进程的工作没有全部完成之前,另一个进程就可以开始工作。

2.有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误。

只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。

相关文档
最新文档