浙江大学远程教育学院《操作系统原理》课程作业第一次(第 1、2 章)应用题1
桌上有一个空盒,盒内只允许放一个水果
妈妈轮流向盒内放桔子和苹果,儿子专等吃盒中的桔子,女儿专等吃盒中的苹果
若盒内已有水果,放者必须等待,若盒内没有自己吃的水果,吃者必需等待
试在下述类 PASCAL 程序中虚线位置分别填上信号量、信号量初值和 P、V 操作实现三个进程正确的并发执行
var (信号量)﹎﹎﹎﹎﹎﹎S , S1 , S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:= (信号量初值) ﹎﹎﹎﹎﹎﹎1 , 0 , 0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;beginparbegin妈:beginrepeat 準備 ﹎﹎P (S )﹎﹎ 向盒内放桔子 ﹎﹎V (S1 )﹎﹎﹎ 準備 ﹎﹎﹎﹎﹎﹎﹎﹎ 向盒内放苹果 ﹎﹎V (S2)﹎﹎ until false end儿:begin repeat ﹎﹎﹎P (S1 )﹎﹎ 拿盒中的桔子 ﹎﹎﹎V (S)﹎﹎ 吃桔子 until false end女:begin repeat ﹎﹎P (S2 )﹎﹎拿盒中的苹果 ﹎﹎V (S)﹎﹎﹎ 吃苹果 until false end parendend2
桌上有一个空盒,盒内只允许放一个水果
爸爸争向盒内放苹果,妈妈争向盒内放桔子
儿子等吃盒中的水果(苹果或桔子),若盒内已有水果,放者必须等待,若盒内没有水果,吃者必需等待
试在下述类 PASCAL 程序中虚线位置分别填上信号量、信号量初值和P、V 操作实现三个进程正确的并发执行
var (信号量)﹎﹎﹎﹎S1 , S2﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:= (信号量初值) ﹎﹎﹎﹎1 , 0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;beginparbegin爸:beginrepeat準備 ﹎﹎P(S1)﹎﹎﹎﹎﹎﹎ 向盒内放苹果 ﹎﹎V (S2)﹎﹎﹎﹎﹎until