《操作系统》PV习题课new.ppt
《《操作系统》PV习题课new.ppt》由会员分享,可在线阅读,更多相关《《操作系统》PV习题课new.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Silberschatz, Galvin and Gagne 20022.2Operating System Concepts进 程 概 念(一)问题:如果系统中有问题:如果系统中有N个进程,个进程,4运行进程最多几个,最少几个?运行进程最多几个,最少几个?4就绪进程最多几个,最少几个?就绪进程最多几个,最少几个?4等待进程最多几个,最少几个?等待进程最多几个,最少几个?Silberschatz, Galvin and Gagne 20022.3Operating System Concepts解答解答:运行进程最多:运行进程最多1 1个,最少个,最少0 0个;个; 就绪进程最多就绪进程最多N
2、-1-1个,最少个,最少0 0个;个; 等待进程最多等待进程最多N个,最少个,最少0 0个;个;Silberschatz, Galvin and Gagne 20022.4Operating System Concepts进程同步和互斥(一)问题一问题一:用用P.VP.V操作解决下图之同步问题操作解决下图之同步问题getcopyputfstgSilberschatz, Galvin and Gagne 20022.5Operating System Concepts一个数据上的操作顺序:一个数据上的操作顺序:get - copy - putcpcgpcgpgGet不能向不能向“满满”的的S中放
3、;中放;Copy不能从不能从“空空”的的S中取;不能向中取;不能向“满满”的的T中放;中放;Put不能不能“空空”的的T中取中取Silberschatz, Galvin and Gagne 20022.6Operating System Concepts(同步)信号量:(同步)信号量:实际上也起到互斥作用实际上也起到互斥作用S_Empty, T_Empty, 初值为初值为1S_Full, T_Full; 初值为初值为0Get:Begin Repeat P(S_Empty) T_get_S(); V(S_Full); Until false;EndCopy:Begin Repeat P(S_Fu
4、ll); P(T_Empty); S_copy_T(); V(T_Full); V(S_Empty); Until false;EndPut:Begin Repeat P(T_Full); T_put_G(); V(T_Empty); Until false;EndSilberschatz, Galvin and Gagne 20022.7Operating System Concepts进程同步和互斥(二)问题:用问题:用P.V操作解决下面问题操作解决下面问题司机进程:司机进程:REPEAT启动车辆启动车辆正常驾驶正常驾驶到站停车到站停车UNTIL 售票员进程:售票员进程:REPEAT关门关
5、门售票售票开门开门UNTIL Silberschatz, Galvin and Gagne 20022.8Operating System Concepts信号量:信号量:S_Door, 初值为初值为0S_Stop; 初值为初值为0司机进程司机进程:Begin Repeat P(S_Door); 启动;启动; 驾驶;驾驶; 停车;停车; V(S_Stop); Until false;End乘务员进程乘务员进程:Begin Repeat 关门;关门; V(S_Door); 售票;售票; P(S_Stop); 开门;开门; Until false;End同步要求:先关门,后开车;同步要求:先关门,
6、后开车; 先停车,后开门先停车,后开门Silberschatz, Galvin and Gagne 20022.9Operating System Concepts第二类读者写者问题(写者优先)第二类读者写者问题(写者优先)1)共享读)共享读2)互斥写、读写互斥)互斥写、读写互斥3)写者优先于读者(一旦有写者,则后续读者必)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)须等待,唤醒时优先考虑写者)进程同步和互斥(三)Silberschatz, Galvin and Gagne 20022.10Operating System ConceptsVar mutex: sema
7、phore; 互斥信号量,初值为互斥信号量,初值为1 R : semaphore; 对应读者等待队列,初值为对应读者等待队列,初值为0 W: semaphore; 对应写者等待队列,初值为对应写者等待队列,初值为0一般变量:一般变量: Writing: Boolean; 初值初值false, 有写者正在写有写者正在写 rc : integer; 初值初值0, 共享读的读者数共享读的读者数 rq : integer; 初值初值0,等待队列中读者数等待队列中读者数 wq: integer; 初值初值0,等待队列中写者数等待队列中写者数Silberschatz, Galvin and Gagne 2
8、0022.11Operating System Concepts读者进程Begin RepeatP(mutex);If (Writing OR wq0) Then Beginrq:=rq+1; V(mutex);P(R);P(mutex); resume End;rc:=rc+1;V(mutex);Read();Silberschatz, Galvin and Gagne 20022.12Operating System ConceptsP(mutex);rc:=rc-1;If (rc=0 AND wq0) Then Begin wq:=wq-1;Writing:=true;V(mutex);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 PV 习题 new
限制150内