文档详情

进程同步与通信习题.pptx

发布:2025-05-07约2.25千字共10页下载文档
文本预览下载声明

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

从磁盘读入PB复制PC打印设置4个信号量:empty1,empty2,full1,full2.Empty1及Empty2分别表示缓冲区1及缓冲区2是否为空,初值为1。Full1,full2分别表示缓冲区1及缓冲区2是否有记录可供处理,其初值为0。PA单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。您的内容已经简明扼要,字字珠玑,但信息却千丝万缕、错综复杂,需要用更多的文字来表述;但请您尽可能提炼思想的精髓,否则容易造成观者的阅读压力,适得其反。正如我们都希望改变世界,希望给别人带去光明,但更多时候我们只需要播下一颗种子,自然有微风吹拂,雨露滋养。恰如其分地表达观点,往往事半功倍。当您的内容到达这个限度时,或许已经不纯粹作用于演示,极大可能运用于阅读领域;无论是传播观点、知识分享还是汇报工作,内容的详尽固然重要,但请一定注意信息框架的清晰,这样才能使内容层次分明,页面简洁易读。如果您的内容确实非常重要又难以精简,也请使用分段处理,对内容进行简单的梳理和提炼,这样会使逻辑框架相对清晰。缓冲区1单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。您的内容已经简明扼要,字字珠玑,但信息却千丝万缕、错综复杂,需要用更多的文字来表述;但请您尽可能提炼思想的精髓,否则容易造成观者的阅读压力,适得其反。正如我们都希望改变世界,希望给别人带去光明,但更多时候我们只需要播下一颗种子,自然有微风吹拂,雨露滋养。恰如其分地表达观点,往往事半功倍。当您的内容到达这个限度时,或许已经不纯粹作用于演示,极大可能运用于阅读领域;无论是传播观点、知识分享还是汇报工作,内容的详尽固然重要,但请一定注意信息框架的清晰,这样才能使内容层次分明,页面简洁易读。如果您的内容确实非常重要又难以精简,也请使用分段处理,对内容进行简单的梳理和提炼,这样会使逻辑框架相对清晰。缓冲区2

PC(){While(1){P(full2);从缓冲区2取一个记录;V(empty2);打印记录;}}PA(){While(1){从磁盘读一个记录;P(empty1);将记录存入缓冲区1;V(full1);}}PB(){While(1){P(full1);从缓冲区1中取出记录;v(empty1);P(empty2);将记录存入缓冲区2;V(full2);}}

Intempty1=1,empty2=1,full1=0,full2=0;main(){CobeginPA();PB();PC();Coend}

公共汽车上,司机和售票员的活动分别为:01司机的活动:启动车辆;正常行驶,到站停车02售票员的活动:关车门;售票;开车门;

司机启动车辆的动作必须与售票员关车门的动作取得同步,售票员开车门的动作也必须与司机停车取得同步。单击此处添加小标题单击此处添加小标题例:

司机P1售票员P2

REPEATREPEAT

启动关门

正常运行售票

到站停开门

UNTILFALSEUNTILFALSE

解:设信号量S1:是否允许司机启动汽车,初值为0信号量S2:是否允许售票员开门,初值为0ints1=0;ints2=0;main(){CobeginDriver();Busman();Coend}01Busman(){While(1){关车门;V(S1);售票P(S2);开车门;上下乘客;}}03Driver(){While(1){P(s1);启动汽车正常行车;到站停车;V(S2);}}02

单击此处添加小标题现爸爸,儿子女儿三个进程的同步。伍单击此处添加小标题次只能放一只水果供吃者取用,请用P,V原语实肆单击此处添加小标题的桔子,女儿专等吃盘中的苹果。规定当盘空时一叁单击此处添加小标题盘中放苹果,也可向盘中放桔子,儿子专等吃盘中贰单击此处添加小标题桌上有一空盘,允许存放一只水果。爸爸可向壹

解:设三个信号量,S:表示盘子是否为空,初值为1So:表示盘中是否有桔子,初值为0Sa:表示盘中是否有苹果,初值为0;ints=1;intsa=0;int

显示全部
相似文档