第二章 练习题.doc_第1页
第二章 练习题.doc_第2页
第二章 练习题.doc_第3页
第二章 练习题.doc_第4页
第二章 练习题.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统第二章 练习题一、选择题1.临界区是指( )。A.并发进程中用于实现进程互斥的程序段 B并发进程中用于实现进程同步的程序段 C并发进程中用户实现进程通信的程序段 D并发进程中与共享变量有关的程序段2.( )是只能由P和v操作所改变的整型变量。A.共享变量 B锁 C.整型信号量 D记录型信号量3在执行v操作时,当信号量的值( )时,应释放一个等待该信号量的进程。A.0 B.=0 D.=04进程间的互斥与同步分别表示了各进程间的( )。 A竞争与协作 B相互独立与相互制约 C不同状态 D动态性与并发性5在进程通信中,( )常用信件交换信息。 A低级通信 B高级通信 C消息通信 D管道通信6在间接通信时,用send(N,M)原语发送信件,其中N表示( )。A发送信件的进程名 B接收信件的进程名 C.信箱名 D信件内容7下列对线程的描述中,( )是错误的。A不同的线程可执行相同的程序 B线程是资源分配单位 C线程是调度和执行单位 D同一进程中的线程可共享该进程的主存空间8.若信号量S的初值为2,当前值为-1,则表示有()等待进程。A 0个 B.1个C.2个 D.3个9.操作系统是通过()对进程进行管理。A. JCBB.PCBC.DCTD.CHCT10.下面所述步骤中,()不是创建进程所必需的。A.由调度程序为进程分配CPUB.建立一个进程控制块C.为进程分配内存D.将进程控制块链入就绪队列11.对于两个并发进程,设互斥信号号为mutex,若mutex=0,则()A.表示没有进程进入临界区B.表示有一个进程进入临界区C.表示有一个进程进入临界区,另一个进程等待进入D.表示有两个进程进入临界区12.一个进程被唤醒意味着()A.该进程重新占有了CPUB.它的优先权为最大C.其PCB移至等待队列队首D.进程变为就绪状态13.下面关于进程的描述中,正确的是()A.进程获得CPU运行是通过调度得到的。B.优先级是进程调度的重要依据,一旦确定就不能改变。C.在单CPU的系统中,任意时刻都有一个进程处于运行状态。D.进程申请CPU得不到满足时,其状态变为阻塞。二、填空题1进程的封闭性是指进程的执行结果只取决于_,不受外界影响。 2. 进程的可再现性是指当进程再次重复执行时,必定获得_的结果。 3.若信号量的初值为1,用PV操作能限制一次_进程进入临界区操作。 4 进程的_是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。5PV操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为_。 6通过专门的通信机制实现进程间交换大量信息的通信方式称为_。 7线程与进程有许多相似之处,所以线程又称为_。 8在使PV操作实现进程互斥时,调用_相当于申请共享资源的使用权,调用_相当于归还共享资源的使用权。 9在多线程操作系统中,线程与进程的根本区别在于进程作为_单位,而线程是_单位。10.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量的变化范围是_。11.系统中共有5个用户进程,且当前CPU在用户态下执行,则最多可有_个用户进程处于就绪状态,最多可有_个用户进程处于阻塞状态;若当前在核心态下执行,则最多可有_个用户进程处于就绪状态,最多可有_个用户进程处于阻塞状态。12.引入进程带来的好处是_和_。三、简答题1什么是进程的顺序性和并发性? 2假设PV操作用信号量s管理某个共享资源,请问当s0,S0和S0时,它们的物理意义是什么? 3请给出Pv操作的定义。 4用PV操作实现进程间同步与互斥应注意些什么? 5线程与进程的根本区别是什么?6.试比较程序与进程的区别。四、进程同步习题参考答案:1.在测量控制系统中,数据采集任务把所采集的数据送入一单缓冲区;计算任务从单缓冲区中取出数据进行计算。试写出利用信号量机制实现两者共享缓冲区的同步算法。解:问题分析1:本题是一个生产者一消费者问题。 采集任务采集到一个数据后,只有当缓冲区空时才能将数据送入缓冲区,否则等待 只有当缓冲区中有数据时,计算任务才能从缓冲区中取数据计算,否则也等待问题分析2: 采集数据任务计算任务 互斥(单缓冲区)同步:采集数据任务不能往满缓冲区中放数据 计算任务不能从空缓冲区中取数据 设两信号量full(0)和empty(1)实际上,当采集数据任务得到空缓冲时,也就得到了对缓冲区的使用,计算任务同理,得到满缓冲区时,也就得到了对缓冲区的使用。因此,不需专门设一个互斥信号量,信号量full和empty实际上也起到互斥作用。问题分析3:采集数据任务:采集一数据 采集一数据申请对缓冲区的使用权(申请空缓冲区) P(empty)放数据 放数据释入对缓冲区的使用权(满缓冲区加一) V(full)计算任务:申请对缓冲区的使用权(申请满缓冲区) P(full)取走数据 取走数据释入对缓冲区的使用权(空缓冲区加一) V(empty)进行计算 进行计算2.有三个并发进程get、copy、put:get进程负责从输入序列f中读取字符,送到缓冲区S中;copy进程把缓冲区S中的数据复制到缓冲区T;put进程从缓冲区T中取出数据打印。问题分析1: copy既是get的消费者,又是put的生产者互斥:缓冲区S由get和copy互斥共享,缓冲区T由copy和put互斥共享同步:get不能向“满”的S中放;copy不能从“空”的S中取;不能向“满”的T中放;put不能“空”的T中取问题分析2: 与采集数据任务、计算任务同理。设:(同步)信号量:S_Empty, T_Empty, (初值为1) S_Full, T_Full; (初值为0)7Get:Begin Repeat P(S_Empty) 将读取数据送入S; V(S_Full); Until false;EndCopy:Begin Repeat P(S_Full); P(T_Empty); 将S中的数据copy到T; V(T_Full);V(S_Empty); Until false;EndPut:Begin Repeat P(T_Full); 取T中数据打印; V(T_Empty); Until false;End3.桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中入桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用。请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。解:(1)这是生产者-消费者问题的变形,一个生产者生产两类产品,有两类消费者,一类消费者消费一类产品。(2)互斥: 爸爸、儿子和女儿互斥使用盘子:设一个互斥信号量mutex(1)同步:当爸爸往盘子中放入水果(桔子或苹果),需通知儿子或女儿 设apple和orange两个信号量,初值都为0(3)爸爸:检查盘子是否为空 P(mutex)放入水果 放入水果若放的是桔子,通知儿子 if(水果是桔子)V(orange)否则通知女儿 else V(apple) (通知儿子或女儿,事实上也就释放了对盘子的使用权)儿子:看盘中是否有桔子 P(orange) 取走桔子 取走桔子释放对盘子的使用权 V(mutex)吃桔子 吃桔子(看盘中是否有桔子,如果有,则既有对盘子的使用权,又可以取走水果;如果没有,则儿子对盘子没有使用权)女儿:看盘中是否是苹果 P(apple)取走苹果 取走apple释放对盘子的使用权 V(mutex)吃苹果 吃苹果4.有一条小河,河上有一座独木桥可供南来北往的人过河。由于桥面窄,只能单向行走。试用P、V操作设计一个过河的算法。解:设一互斥信号量mutex(1)南方向的等待人数Scount(0),南方向的人互斥修改S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论