进程管理习题 图书馆有100个座位,有一张登记表,要求: 用P、V原语描述一个读者的使用过程 阅读者进入时登记,取得座位号; 出来时,注销;

Slides:



Advertisements
Similar presentations
课前寄语 1 、保持纪律 2 、相互配合. 第三节 公民的投资 —— 公民的存款储蓄 课堂导入.
Advertisements

我们首先引入的计算概率的数学模型, 是在概率论的发展过程中最早出现的研究 对象,通常称为 古典概型.
概率论 第四节 等可能概型 ( 古典概型 ) 古典概型的定义 古典概率的求法举例 小结 布置作业.
旅遊實務Ⅰ 授課教師:李健民 上課班級: 320. 課程大綱 旅遊業之設立程序 旅行業組織結構 旅行業之分類 旅行業之管理.
親 ( 四 ) 親近神的路. 一、親的三字訣、七字訣: 親近神,親愛人; 與主交通親近神,同情關心親愛人。 甚麼是親? 1. 親有親近、親愛,更有關心、同情、親切的 意思。 2. 親的人與人沒有間隔,拉近人與人之間的距 離,並且樂意幫助人,與人相調建造在一起。
第二班群教師團隊 105 張心平 107 鐘于寧 106 黃意評 108 鄭婉茹. 第二班群之班親會說明 學校規定事項說明 教學活動說明 班群活動介紹.
进程管理习题 设有一个可以装 A 、 B 两种物品的仓库,其 容量无限大,但要求仓库中 A 、 B 两种物品 的数量满足下述不等式: -M ≤ A 物品数量 -B 物品数量 ≤N 其中, M 和 N 为正整数。试用信号量和 P 、 V 操作描述 A 、 B 两种物品的入库过程。
102大學甄選入學 個人申請、繁星推薦說明 主講人:簡慧嫻.
庄国洪 Tel: (O) 免疫与健康 庄国洪 Tel: (O)
概率.
探究实验的教学设计和教学策略 ENTER 余杭勾庄中学 郭 琳
小学科学中的化学 武威十九中 刘玉香.
2.3.1条件概率.
神州五号、六号的发射和回收都取得了成功 ,圆了几代中国人的航天梦,让全中国人为之骄傲和自豪 神州五号、六号的发射和回收都取得了成功 ,圆了几代中国人的航天梦,让全中国人为之骄傲和自豪!但是你们知道我们的科学家是怎样迅速地找到返回舱着陆的位置的吗? 这全依赖于GPS——卫星全球定位系统”。大家一定觉得很神奇吧!学习了今天的内容,你就会明白其中的奥妙。
行政法 之 行政救济篇.
时间与我们的世界 Pb 段心蕊.
第1节 压强.
课题摘要: 位育学子每天三点一线:教室,寝室,及其食堂。俗话说:“民以食为天。”我们一直想借一个契机去调查一下食堂到底有什么菜,什么菜最合胃口,如何在节约时间的同时又能享用美味的饭菜等等。借这个课题,我们深入研究了位育食堂的种种特色与“攻略”,现在就为大家奉上我们最真诚的建议。 课题来源: 在未踏进位育之前,对“吃在位育”这句话早有耳闻。等到有幸踏进校园,才知此话确实不假。每天行色匆匆地穿梭于校园之间,面对繁杂的课业,一顿可口的经过精心搭配饭菜可以让你横扫饥饿,补充能量,从而更好地进行之后的学习。为了避免
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
智 修身养性小 识 习惯篇 饮食篇 运动篇 心态篇.
国王赏麦的故事.
辨识案主的力量.
特於每周一上午於一樓長青門診中心開立男性健康特別門診
作業系統 第六章 同步與死結.
第八課 蓼莪.
初中语文总复习 说明文 阅读专题 西安市第六十七中学 潘敏.
行政作用法 行政命令.
第四章:代谢与平衡 第一节:食物与营养.
熟男大敵 「攝護腺癌」 《攝護腺長怎樣》 攝護腺又稱為前列腺 ,是男性身上特有的 一種性腺,正常大小 約與栗子一般大小, 重量約20公克。
第五章 资源分配与调度 (一) 资源管理功能 (二) 资源分配的机构和策略 (三) 死锁概念.
第七章 固定资产 第一节 固定资产概述 第二节 固定资产的确认和初始计量 第三节 固定资产的后续计量 第四节 固定资产清查与期末计价
PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY
让智慧的光芒照亮前进的路 《经济生活》教材分析及教学建议 春晖中学 杜随旺 2013年8月.
时政发布 制作:宋虹雷.
荆门市农业水价综合改革 工作情况汇报 湖北省荆门市水务局 二0一六年九月.
走自立自强之路 自己的事情自己做.
人類的循環系統.
紧抓PPP项目为招标代理机构 带来的转型发展机遇
第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案. 第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案.
苏教版小学数学六年级(下册) 认识正比例的量 执教者:朱勤.
中央广播电视大学计算机课程 操 作 系 统.
運輸與空間的交互作用 運輸發展的階段 一、分散的港口 二、侵入路線 三、發展支線 四、初步相互連結 五、完全相互連結 六、高度優越的幹線
第一部分 流体力学 6 孔口、管嘴出流和 气体射流
操作系统 (并发进程) 徐锋 南京大学计算机科学与技术系 2018年9月18日3时52分.
學校教職員退休條例修正草案重點報告 報告人:徐創晃.
社會學(一) 空中大學花蓮中心 鍾燕菁
程序设计基础.
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度
经典同步问题.
作業系統 第六章 同步與死結.
进程及进程管理 第4章 进程及进程管理.
计算机操作系统 第二章 进程管理 高校教师、高级项目经理 任铄 QQ:
第三章 进程互斥与同步.
第三章 进程互斥与同步 进程通信 Communication.
操作系统原理 Operating System Principles
编译原理实践 5.给定语法的语法分析程序构造.
多核结构与程序设计 杨全胜 东南大学成贤学院计算机系.
第2章 进程管理 2.1 进程概念 2.2 线程 2.3 进程管理 2.4 进程间通信 2.5 经典进程同步问题 2.6 管程
第2章 进程和线程 内容提要: 2.1 进 程 概 念 2.2 进程的状态和组成 2.3 进 程 管 理 2.4 线 程.
第六次全国人口普查 近期数据处理工作部署 夏雨春 2010年12月28日.
第三章 进程互斥与同步.
青少年常見犯法行為.
C语言复习3----指针.
香港傳統的農村生活.
2.3 平面与回转体表面相交 回转体截切的基本形式 截平面 截平面 截交线 截交线.
安全状态的例子 例:假定系统有三个进程P1、P2、P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和九台。设在T0时刻,进程P1、P2和P3已经获得5台、2台和2台,还有3台空闲没有分配。 进程 最大需求 已分配 可用 P P2 4 2 P3 9 2 T0时刻系统时安全的。这时存在一个安全序列
例題:某人由地面同時向空中拋出 A、B 兩球,A 球之初速為 vA,仰角為 θA,B 球則為 vB 及 θB,且 θA > θB。設兩球在同一水平面內運動,而且所達到的最大高度也相同,則下列敘述何者為正確? (A) vA > vB (B) A 球之水平射程較 B 遠 (C) 兩球同時到達最高點.
小学5.
Race Conditions and Semaphore
《液体压强》复习课 一、知识复习 二、例题讲解.
Presentation transcript:

进程管理习题 图书馆有100个座位,有一张登记表,要求: 用P、V原语描述一个读者的使用过程 阅读者进入时登记,取得座位号; 出来时,注销; 登记表同时只能由一个人使用; 用P、V原语描述一个读者的使用过程

进程管理习题 信号量SN,表示可用座位数,初值为100;信号量sb, 表示登记表是否正在使用,初值为1; enter( ) { P(SN) P(sb) 登记; V(sb); } outer( ) { P(sb); 注销; V(sb); V(SN); } reader(int i) { enter(); 阅读; outer() }

进程管理习题 有3个进程PA,PB和PC合作解决文件打印问题: 请用P,V操作来保证文件的正确打印

进程管理习题 设置4个信号量:empty1、empty2、full1、full2 缓冲区1 缓冲区2 PA 从磁盘读入 PB 复制 PC 打印 设置4个信号量:empty1、empty2、full1、full2 empty1及empty2分别表示缓冲区1及缓冲区2是否为空,初值为1 full1,full2分别表示缓冲区1及缓冲区2是否有记录可供处理,其初值为0

进程管理习题 缓冲区1 缓冲区2 PA 从磁盘读入 PB 复制 PC 打印 PA() 从磁盘读一 个记录; P(empty1); 将记录存入 缓冲区1; V(full1); PB() P(full1); 从缓冲区1中 取出记录; V(empty1); P(empty2); 将记录存入缓 冲区2; V(full2); PC() P(full2); 从缓冲区2 取一个记录; V(empty2); 打印记录;

进程管理习题 公共汽车上,司机和售票员的活动分别为: 司机: 启动车辆; 司机P1 售票员P2 启动 关门 正常运行 售票 到站停 开门 正常行驶, 到站停车 司机P1 售票员P2 启动 关门 正常运行 售票 到站停 开门 售票员: 关车门; 售票; 开车门;

进程管理习题 设信号量S1:是否允许司机启动汽车,初值为0, S2:是否允许售票员开门,初值为0 Driver() { While (1) { P(S1); 启动汽车; 正常行车; 到站停车; V(S2); } Busman() { 关车门; V(S1); 售票; P(S2); 开车门; 上下乘客; Int s1=0; Int s2=0; Main( ) { Cobegin Driver(); Busman(); Coend

进程管理习题 三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某已空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步和互斥活动,并说明所定义信号量的含义。要求用伪码描述。

进程管理习题 互斥信号量:mutex初值为1; 同步信号量:P1、P2因奇数的放与取而同步,设置信号量odd;P1、P3因偶数的放与取而同步,设置信号量even;P1、P2、P3因共享缓冲区而同步,设置信号量empty。

进程管理习题 互斥信号量:mutex初值为1; 同步信号量:P1、P2因奇数的放与取而同步,设置信号量 odd;P1、P3因偶数的放与取而同步,设 置信号量even;P1、P2、P3因共享缓冲 区而同步,设置信号量empty。 P1: P(empty); P(mutex); put(); V(mutex); If number%2==0 V(even) Else V(odd); P2: P(odd); P(mutex); getodd(); V(mutex); V(empty); countodd(); P3: P(even); P(mutex); geteven(); V(mutex); V(empty); counteven();

进程管理习题 设自行车生产线上有一支箱子,其中有N个位置(N≥3),每个位置可存放一个车架或一个车轮;又设有三个工人,其活动分别为: 工人1活动: Do{ 加工一个车架; 车架放入箱中; } while(1); 工人2活动: Do{ 加工一个车轮; 车轮放入箱中; } while(1); 工人3活动: Do{ 箱中取一车架; 箱中取二车轮; 组装为一台车; } while(1); 试用信号量与P、V操作实现三个工人的合作

进程管理习题 工人1与工人3、工人2与工人3构成生产者与消费者关系,通过共同的缓冲区相联系。从资源的角度看,箱子中的空位置相当于工人1和工人2的资源,而车架和车轮相当于工人3的资源。 定义3个信号量: empty=N;(空位置) wheel=0;(车轮) frame=0;(车架)

进程管理习题 是否会死锁? empty=N;wheel=0;frame=0; 工人1: 加工一个车架; P(empy); 车架放入箱中; V(frame); 工人2: 加工一个车轮; 车轮放入箱中; V(wheel); 工人3: P(frame); 箱中取一车架; P(wheel); 箱中取二车轮; V(empty); 组装为一台车; 是否会死锁?

进程管理习题 为防止死锁,箱中车架的数量不能超过N-2,车轮的数量不能超过N-1,所以设置: s1=N-2,s2=N-1 工人1: 加工一个车架; P(s1); 车架放入箱中; V(frame); 工人2: 加工一个车轮; P(s2); 车轮放入箱中; V(wheel); 工人3: P(frame); 箱中取一车架; V(s1); P(wheel); 箱中取二车轮; V(s2); 组装为一台车;

进程管理习题 为防止死锁,箱中车架的数量不能超过N-2,车轮的数量不能超过N-1,所以设置: s1=N-2,s2=N-1,empty=N 工人1: 加工一个车架; P(s1); P(empty); 车架放入箱中; V(frame); 工人2: 加工一个车轮; P(s2); 车轮放入箱中; V(wheel); 工人3: P(frame); 箱中取一车架; V(empty); V(s1); P(wheel); 箱中取二车轮; V(empty); V(s2); 组装为一台车;

进程管理习题 桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用,请用P,V原语实现爸爸,儿子女儿三个进程的同步。

进程管理习题 设三个信号量: S:表示盘子是否为空,初值为1; int s=1;int sa=0;int so=0; main() { cobegin father(); son(); daughter(); coend }

进程管理习题 father() { While (1) { P(s); 将水果放入盘中; if (放入的是桔子) v(so) else v(sa); } son() { While (1) { P(so); 从盘中取出桔子; v(s); 吃桔子; } daughter() { While (1) { P(sa); 从盘中取出苹果; v(s); 吃苹果; }

进程管理习题 设有一个可以装A、B两种物品的仓库,其容量无限大,但要求仓库中A、B两种物品的数量满足下述不等式: -M ≤ A物品数量-B物品数量≤N 其中,M和N为正整数。试用信号量和P、V操作描述A、B两种物品的入库过程。

进程管理习题 已知条件 -M ≤ A物品数量-B物品数量≤N 可以拆分成两个不等式,即: A物品数量-B物品数量≤N B物品数量-A物品数量≤M 这两个不等式的含义是:仓库中A物品可以比B物品多,但不能超过N个; B物品可以比A物品多,但不能超过M个。

进程管理习题 设两个信号量:a=N;b=M 如果没有B,A最多只能N个;如果没有A,B最多只能M个。 A物品入库: P(a); A物品入库; V(b); B物品入库: P(b); B物品入库; V(a);

进程管理习题 一座小桥(最多只能承重两个人)横跨南北两岸,任意时刻同一方向只允许一人过桥,南侧桥段和北侧桥段较窄只能通过一人,桥中央一处宽敞,允许两个人通过或歇息。试用信号量和P、V操作写出南、北两岸过桥的同步算法。

进程管理习题 load控制桥上人数,north控制北段的互斥使用,south控制南段互斥使用 To 南: P(load); P(north); 过北桥段; 到桥中间; V(north); P(south); 过南桥段; 到达南岸; V(south); V(load); To 北: 到达北岸;

进程管理习题 某银行提供一个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号。等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述为: 请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程的的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。 Cobegin { process 顾客 {从取号机获得一个号码; 等待叫号; 获得服务; } process 营业员 { while (TRUE) { 叫号; 为顾客服务; } coend

进程管理习题 互斥资源:取号机(一次只允许一位顾客领号),因此,设一个互斥信号量mutex; 同步问题 顾客需要获得空座位等待叫号,当营业员空闲时,将选取一位顾客并为其服务。空座位的有、无影响等待顾客数量,顾客的有、无决定了营业员是否能开始服务,故分别设置信号量empty和full来实现这一同步关系; 顾客获得空座位后,需要等待叫号和被服务。这样,顾客与营业员就服务何时开始又构成了一个同步关系,定义信号量service来完成这一同步过程。

进程管理习题 semaphore mutex=1; //互斥使用取号机 semaphore empty=10; //空座位的数量 semaphore full=0; //已占座位的数量 semaphore service=0; //等待叫号 cobegin { process 顾客 process 营业员 { { P(empty); while(TRUE) P(mutex); { 从取号机获得一个号; P(full); V(mutex); V(empty); V(full); V(service); //叫号 P(service); //等待叫号 为顾客服务; 获得服务; } } } }coend

进程管理习题 评分说明 ①能正确给出互斥信号量定义、含义及初值,给1分。 ②能正确给出3个同步信号量定义、含义及初值,给2分。 ③营业员进程描述正确的,给2分。 ④顾客进程描述中,互斥描述正确的,给1分;同步描述正确的,给2分;共3分。 ⑤其他正确解答,参照①- ④的标准给分。

进程管理习题 某系统有R1、R2和R3共3种资源,在T0时刻P1、P2、P3和P4这4个进程对资源的占用和需求情况见下页表,此时系统的可用资源向量为 (2, 1, 2),问题: 将系统各种资源总数和此刻各进程对资源的需求数目用向量或矩阵表示出来; 如果此时P1和P2均发出资源请求向量Request (1,0,1),为保证系统的安全性,应如何分配资源给这两个进程?说明采用策略的原因。

进程管理习题 ① 资源总量 (2,1,2)+(1,0,0)+(4,1,1)+(2,1,1)+(0,0,2)=(9,3,6) 3 2 2 Max Used (Allocation) R1 R2 R3 R1 R2 R3 P1 3 2 2 1 0 0 P2 6 1 3 4 1 1 P3 3 1 4 2 1 1 P4 4 2 2 0 0 2 ① 资源总量 (2,1,2)+(1,0,0)+(4,1,1)+(2,1,1)+(0,0,2)=(9,3,6) Need= 3 2 2 6 1 3 3 1 4 4 2 2 1 0 0 4 1 1 2 1 1 0 0 2 2 2 2 2 0 2 1 0 3 4 2 0 - =

进程管理习题 ② Request1(1,0,1)≤Need1(2,2,2) Max Used (Allocation) Need R1 R2 R3 R1 R2 R3 P1 3 2 2 1 0 0 2 2 2 P2 6 1 3 4 1 1 2 0 2 P3 3 1 4 2 1 1 1 0 3 P4 4 2 2 0 0 2 0 0 2 ② Request1(1,0,1)≤Need1(2,2,2) Request1(1,0,1)≤Available(2,1,2) Available(1,1,1),不能满足任何进程,系统进入不安全状态,所以不能分配给P1 Used= 2 0 1 4 1 1 2 1 1 0 0 2 Need= 1 2 1 2 0 2 1 0 3

进程管理习题 ② Request2(1,0,1)≤Need1(2,0,2) Max Used (Allocation) Need R1 R2 R3 R1 R2 R3 P1 3 2 2 1 0 0 2 2 2 P2 6 1 3 4 1 1 2 0 2 P3 3 1 4 2 1 1 1 0 3 P4 4 2 2 0 0 2 0 0 2 ② Request2(1,0,1)≤Need1(2,0,2) Request2(1,0,1)≤Available(2,1,2) Available(1,1,1),存在一个安全序列:{P2, P3, P4, P1},所以能分配给P2 Used= 1 0 0 5 1 2 2 1 1 0 0 2 Need= 2 2 2 1 0 1 1 0 3