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

Slides:



Advertisements
Similar presentations
作者 : 陳鍾誠 單位 : 金門技術學院資管系 URL : 日期 : 2016/7/21 行程的同步 註:本章學術性較重,但考試常考。
Advertisements

课前寄语 1 、保持纪律 2 、相互配合. 第三节 公民的投资 —— 公民的存款储蓄 课堂导入.
等可能性事件的概率(二) 上虞春晖中学数学组欢迎你! 1 本课件制作于 §10.5 等可能事件 的概率 ( 二 )
旅遊實務Ⅰ 授課教師:李健民 上課班級: 320. 課程大綱 旅遊業之設立程序 旅行業組織結構 旅行業之分類 旅行業之管理.
D5 組織員額管理系統 ─ 填報說明 103 年 5 月 19 日. 大綱 現有員額 預算員額 編制員額 每月一次 每年一次 最初 & 修編後.
親 ( 四 ) 親近神的路. 一、親的三字訣、七字訣: 親近神,親愛人; 與主交通親近神,同情關心親愛人。 甚麼是親? 1. 親有親近、親愛,更有關心、同情、親切的 意思。 2. 親的人與人沒有間隔,拉近人與人之間的距 離,並且樂意幫助人,與人相調建造在一起。
第二班群教師團隊 105 張心平 107 鐘于寧 106 黃意評 108 鄭婉茹. 第二班群之班親會說明 學校規定事項說明 教學活動說明 班群活動介紹.
差勤.
申論題要拿高分並不容易,因為他是 有一定的技巧的,如果你遵照下列技 巧來作答申論題,相信高分並不難拿, 其技巧如下:
102大學甄選入學 個人申請、繁星推薦說明 主講人:簡慧嫻.
庄国洪 Tel: (O) 免疫与健康 庄国洪 Tel: (O)
概率.
新進教師研習 教務處報告 報告人:教務處 林永仁 2011 年 8 月31日.
「明清時期台灣古典散文」 教師:田啟文.
科學論文 鰂魚涌街的衛生情況 作者:廖梓芯 學校:北角官立上午小學 班級:P.5A.
新頒解釋函令 ● 所得稅扣(免)繳相關法令、 ● 所得稅扣(免)繳申報實務 ● 扣繳常見稅務違章類型 財政部南區國稅局屏東分局
时间与我们的世界 Pb 段心蕊.
鼻炎 症狀: 鼻(眼睛)內發癢或不舒服、 打噴嚏、 流鼻涕(水)、 鼻塞………等 。 鼻子內的任何發炎。
第1节 压强.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
模块七 房地产营销渠道策略 主要内容 房地产营销渠道类型 房地产营销渠道选择方法 开发商与代理商的合作模式.
国王赏麦的故事.
《成佛之道》序~第三章 圓融 /
遣詞造句知多少? 中文系 王偉勇教授 兼通識教育中心中心主任.
辨识案主的力量.
(4)理论体系与实训模块 必须衔接、融合 本课程把理论教学体系与实训模块结构连接成一个完整的高职课程体系。
最有利標及評選優勝廠商 講師 劉金龍 經歷:臺中市政府發包科科長.
三、市场营销学研究的基本方法 (1)产品研究法。是以物为中心的研究方法,即在产品分类的基础上,对各类产品市场分别进行研究。 (2)机构研究法。是以研究市场营销制度为出发点,体现以人为中心的研究方法,即集中对整个市场营销系统中的各特定机构的性质和功能进行研究。 (3)职能研究法。是以研究产品从生产者到消费者手中所进行的各种营销活动过程中,市场营销组织所发挥的功能的方法。
特於每周一上午於一樓長青門診中心開立男性健康特別門診
作業系統 第六章 同步與死結.
情緒行為障礙之教學與輔導 新竹縣情緒障礙巡迴教師 陳弘念.
青春期 要長大囉! 男女有別 生命的誕生~兩性結合才有下一代的新生命 為什麼會有月經? 經痛怎麼辦 ? 渡過快樂青春喜歡自己
进程管理习题 图书馆有100个座位,有一张登记表,要求: 用P、V原语描述一个读者的使用过程 阅读者进入时登记,取得座位号; 出来时,注销;
熟男大敵 「攝護腺癌」 《攝護腺長怎樣》 攝護腺又稱為前列腺 ,是男性身上特有的 一種性腺,正常大小 約與栗子一般大小, 重量約20公克。
親愛的吉姆舅舅:   今天吃完晚餐後,奶奶說,在家裡情況變好以前,您要我搬到城裡跟您住。奶奶有沒有跟您說,爸爸已經好久沒有工作,也好久沒有人請媽媽做衣服了?   我們聽完都哭了,連爸爸也哭了,但是媽媽說了一個故事讓我們又笑了。她說:您們小的時候,她曾經被您追得爬到樹上去,真的嗎?   雖然我個子小,但是我很強壯,只要我會做的我都可以幫忙,但是,奶奶說,做其他事情以前,要先把功課做完。
网络的利与弊 2017/3/19 该课件由【语文公社】
大气的受热过程 周南中学.
PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY
最有利標及評選優勝廠商 講師 劉金龍 經歷:臺中市政府發包科科長.
當 家 新 鮮 事.
簡易送審動態案件網 路報送作業操作訓練 資料來源 銓敘部製作 報告人 饒瑞恭 日 期: 101 年 6 月 15 日.
兒童及少年福利服務 講師:張智昇.
中央广播电视大学计算机课程 操 作 系 统.
中國美術史報告-我最喜歡的一幅畫 班級:2年2班 姓名:郭馥甄 座號:23.
操作系统 (并发进程) 徐锋 南京大学计算机科学与技术系 2018年9月18日3时52分.
高鐵炫風 製作人林淑蘭老師.
行政院勞工委員會勞工保險局 勞退舊制與新制分析說明 高雄市政府人事處 99年2月1日.
2007/5/23初訪螢光蕈 (等了兩年).
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度
开始 结束.
经典同步问题.
作業系統 第六章 同步與死結.
进程及进程管理 第4章 进程及进程管理.
计算机操作系统 第二章 进程管理 高校教师、高级项目经理 任铄 QQ:
第三章 进程互斥与同步.
第三章 进程互斥与同步 进程通信 Communication.
进程操作.
操作系统原理 Operating System Principles
多核结构与程序设计 杨全胜 东南大学成贤学院计算机系.
第2章 进程管理 2.1 进程概念 2.2 线程 2.3 进程管理 2.4 进程间通信 2.5 经典进程同步问题 2.6 管程
第2章 进程和线程 内容提要: 2.1 进 程 概 念 2.2 进程的状态和组成 2.3 进 程 管 理 2.4 线 程.
東部海岸 馬蘭國小 五年己班 閔芳頤 Enter
青少年常見犯法行為.
香港傳統的農村生活.
注音輸入法教學 大華技術學院資管系 指導老師:陳信如老師 學生:王麗嵐.
合歡山 馬蘭國小 五年己班 何宜倞 ENTER.
高雄區12年國教入學方式 報告人:高雄市政府教育局 局長 鄭新輝.
數學遊戲二 大象轉彎.
Race Conditions and Semaphore
104學年度第二學期 燈音開課 03/14燈光開課.
Presentation transcript:

进程管理习题 设有一个可以装 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 物品入库: P(a); A 物品入库; V(b); B 物品入库: P(b); B 物品入库; V(a); 设两个信号量: a=N ; b=M 如果没有 B , A 最多只能 N 个; 如果没有 A , B 最多只能 M 个。

进程管理习题 设自行车生产线上有一支箱子,其中有 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 : 加工一个车轮; P(empy) ; 车轮放入箱中; 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) ; P(empty) ; 车轮放入箱中; V(wheel) ; 工人 3 : P(frame) ; 箱中取一车架; V(empty) ; V(s1) ; P(wheel) ; 箱中取二车轮; V(empty); V(s2) ; 组装为一台车;

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

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

进程管理习题 有 3 个进程 PA , PB 和 PC 合作解决文件打印问 题: PA 将文件记录从磁盘读入主存的缓冲区 1 ,每执 行一次读一个记录; PB 将缓冲区 1 的内容复制到缓冲区 2 ,每执行一次 复制一个记录; PC 将缓冲区 2 的内容打印出来,每执行一次打印 一个记录。缓冲区的大小等于一个记录大小; 请用 P , V 操作来保证文件的正确打印

进程管理习题 设置 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); 打印记录 ; 缓冲区 1 缓冲区 2 PA 从磁盘读入 PB 复制 PC 打印

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

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

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

进程管理习题 设三个信号量: S :表示盘子是否 为空,初值为 1 ; So :表示盘中是 否有桔子,初值 为 0 ; Sa :表示盘中是 否有苹果,初值 为 0 。 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); 吃苹果; }

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

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

进程管理习题 三个进程 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();

进程管理习题 某银行提供一个服务窗口和 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) ,为保证系统的安全性, 应如何分配资源给这两个进程?说明采 用策略的原因。

进程管理习题 MaxUsed (Allocation) R1 R2 R3 P P P P Need= = ① 资源总量 (2,1,2)+(1,0,0)+(4,1,1)+(2,1,1)+(0,0,2)=(9,3,6)

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

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