操作系统习题2(含答案)(2)
该资源的并发进程同时进入临界区。 进程间的同步是指:异步环境下的一组并发进程因直接制约相互发送消息而进行相互合作、相互等待,是各进程按一定的速度执行的过程。
7什么是临界区和临界资源?进程进入临界区的调度原则是什么? 答:临界资源——一次仅允许一个进程使用的资源 临界区——在每个进程中访问临界资源的那段程序 一个进程进入临界区的调度原则是:
① 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入
② 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待
③ 进入临界区的进程要在有限的时间内退出,以便让其他进程能及时进入自己的临界区
④ 如果进程不能进入自己的临界区,则应让出cpu,避免进程出现“忙等”现象.
8简述信号量的定义和作用。P,V操作原语是如何定义的?
答:信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它与相应资源的使用情况有关;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的队首。(2分)
信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。(1分)
P,V操作原语有如下定义。
P(S)顺序执行下述两个动作(1分): ⑴信号量的值减1,即S=S-1; ⑵如果S>=0,则该进程继续执行。
如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直到其他进程在S上执行V操作,把它释放出来为止)。
V(S)顺序执行下述两个动作(1分): ⑴S值加1,即S=S+1;
⑵如果S>0,则该进程继续运行;
如果S<=0,则释放信号量队列上的第一个PCB所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。
9什么是线程?它与进程有什么关系?
答:线程是进程中实施调度和分派的基本单位。 线程和进程之间有如下关系:
① 一个进程可以有多个线程,但至少有一个线程;而一个线程只能在一个进程的地址空间内活动。
② 资源分配给进程,同一进程的所有线程共享该进程的所有资源。 ③ 处理机分给线程,即真正在处理机上运行的是线程。
④ 线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办
法实现同步。
10什么是管程?它由哪几部分组成?有什么基本特性? 答:一个管程定义了一个数据结构和能为并发进程在其上执行的一组操作,这组操作能同步进程和改变管程中的数据。
一个管程由四个部分组成,它们是管程名称、局部与管程的共享数据的说明、对数据进行操作的一组过程和对该共享数据赋初值的语句。 管程具有以下特性:
① 管程内部的局部数据变量只能被管程内定义的过程所访问,不能被管程外面声明的过程直接访问
② 进程要想进入管程,必须调用管程内的某个过程
③ 一次只能有一个进程在管程内执行,而其余调用该管程的进程都被挂起,等待该管程成为可用的。就是说,管程自身能有效地实现互斥。
综合题
1如下图所示的工作模型中,有三个进程p0,p1,p2和三个缓冲区B0,B1,B2. 进程之间借助于相邻缓冲区进行消息传递:每个进程每次从缓冲区中取一条消息,经加工处理后送入另一个缓冲区中,三个缓冲区分别可存放3,2,2个消息。初始时,仅缓冲区0有一个消息。试用P、V操作写出三个进程之间的同步及互斥流程。 答:这是一个生产者/消费者问题,而且每个进程既是生产者,也是消费者。(2’) 为此,应设置6个信号量:B0S1,B0S2,B1S1,B1S2,B2S1,B2S2,分别代表B0,B1,B2中是否有空缓冲和有数据。
B0S1,B0S2,B1S1,B1S2,B2S2:semaphore;
B0S1=2;B0S2=1;B1S1=2;B1S2=0;B2S1=2;B2S2=0; (2’) Cobegin (`6’=2’*3) P0 P1 P2 begin begin begin P(B0S2) P(B1S2) P(B2S2) 从B0取一个数据 从B1取一个数据 从B2取一个数据 V(B0S2) V(B1S1) V(B2S1) 加工 加工 加工 P(B1S1) P(B2S1) P(B0S1) 将加工结果送B1 将加工结果送B2 将加工结果送B0 V(B1S2) V(B2S2) V(B0S2) end end end coend
这道题也可以增加互斥信号量,以便P0与P1之间互斥使用B0缓冲区,P1与P2之间互斥使用B1缓冲区,P2与P0之间互斥使用B0缓冲区。这里主要描述它们之间的同步关系。若考虑互斥共享缓冲区,请自己加上。
2设用三个队列管理缓冲区池的使用情况,分别为空白缓冲队列em,输入缓冲队列in,以及输出缓冲队列out。过程add_buf(type,numb)和take_buf(type,numb)
分别用来把缓冲区numb插入type队列和从type队列中取出缓冲区numb。试描述进程从任一缓冲队列中得到一个缓冲区的过程get_buf(type,numb)和释放一个缓冲区numb进入缓冲队列的过程put_buf(type,numb)。
答:假定用信号量s代表任一队列的可用缓冲区个数。假定三个队列的初值分别为n1,n2,n3。对任一队列的操作必须互斥。因此再引入一个互斥使用任一队列的信号量mutex,其初值为1。这里type代表队列的类型,它的取值为输入、输出和空白。(4’)
当有进程希望从任一队列取一个缓冲区时,过程get_buf(type,numb)的动作如下: get_buf(type,numb) (`3’) begin p(s) p(mutex) numb=take_buf(type,numb) v(mutex) end
当有进程希望向任一队列送一个缓冲区时,过程put_buf(type,numb)的动作如下: put_buf(type,numb) (`3’) begin p(mutex) add_buf(type,numb) v(mutex) v(s)
end.
3设有一个售票厅,可容纳100人购票。如果厅内不足100人则允许进入,进入后购票,购票后退出。如果厅内已有100人,则在厅外等候。试问: 1)购票者之间是同步还是互斥?
用P、V操作表达购票者的工作过程。 解:1)购票者之间是互斥关系。(2’)
2)一个售票厅可容纳100人购票,说明最多允许100个购票者共享售票厅;可引入一个信号量empty,其初值为100。由于购票者必须互斥地进行购票,故应再设一个mutex,其初值为1。(4’)
用P、V操作表达购票者的工作过程如下:(`4’) empty,mutex:semaphore; empty:=100; mutex:=1; begin p(empty) p(mutex) 进入厅内购票,购票后退出 v(empty) v(mutex) end.
4某招待所有100个床位,住宿者入住要先登记(在登记表上填写姓名和床位
号).离去时要注销登记(在登记表上删去姓名和床位号).请给出住宿登记及注销过程的算法描述.
答:某招待所有100个床位,为了正确管理,引入一个信号量empty代表空床位数,初值为100;住宿者入住要先登记(在登记表上填写姓名和床位号),显然,登记表是一个临界资源,必须互斥访问,引入一个mutex,其初值为1。(4’) 住宿登记及注销过程的算法描述如下: 住宿登记:(`3’) begin p(empty) //检查有无床位 p(mutex) //申请登记 找出一个空床位将名字登入表中 v(mutex) end
注销过程:(`3’) begin p(mutex) //申请退房 找出自己的登记项,并删除该项的登记 v(mutex) v(empty)
end.
5有一个阅览室,共有100个座位。为了很好地利用它, …… 此处隐藏:3097字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




