首页 > 系统相关 >操作系统综合题之“按要求是个进程协调完成任务,补充完整下列程序,将编号①~⑩处空缺的内容填写(Buffer缓冲区问题-代码补充)”

操作系统综合题之“按要求是个进程协调完成任务,补充完整下列程序,将编号①~⑩处空缺的内容填写(Buffer缓冲区问题-代码补充)”

时间:2024-03-22 15:14:51浏览次数:39  
标签:full1 full2 End 补充 综合题 Buffer _______ empty

1.问题:假设某系统有四个进程。input1和input2进程负责从不同设备读取数据,分别表示为data1和data2,存放在缓冲区Buffer中,output1和output2进程负责从Buffer中分别获取data1和data2。Buffer中每次只能存放一个数据。

var empty,full1,full2:semaphore;

empty.value = 1;①_______;②_______

input1:

Begin

③_______

放数据data1

④_______

End

----------------------------------

input2:

Begin

⑤_______

放数据data2;

⑥_______

End

---------------------------------

output1:

Begin

⑦_______

取数据data1;

⑧_______

End

-----------------------------------

output2:

Begin

⑨_______

取数据data2;

⑩_______

End

----------------------------------------

按要求是个进程协调完成任务,补充完整下列程序,将编号①~⑩处空缺的内容填写

2.答案:

①full1.value=0;

②full2.value=0;

③wait(empty);

④signal(full1);

⑤wait(empty);

⑥signal(full2);

⑦wait(full1);

⑧signal(empty);

⑨wait(full2);

⑩signal(empty);

标签:full1,full2,End,补充,综合题,Buffer,_______,empty
From: https://www.cnblogs.com/saoge/p/18089510

相关文章

  • 操作系统综合题之“用记录型信号量机制的wait和signal操作来解决了由北向南和由南向北
    1.问题:假设系统有三个并发进程read、move和print共享缓冲区B1和B2。进程read负责从输入设备上读取信息,每读取一条记录后把它存如缓冲区B1中;进程move负责从缓冲区B1中取出一条记录,整理后放入缓冲区B2;进程print负责将缓冲区B2中的记录取出并打印输出。缓冲区B1和B2每次只能存放1个......
  • 操作系统综合题之“用记录型信号量机制的wait和signal操作来解决了由北向南和由南向北
    1.问题:一条哦东西走向河流上,有一根南北走向的独木桥,要想过河只能通过这根独木桥。只要人们朝着相同的方向过独木桥,同一时刻允许有多个人可以通过。如果在相反的方向上同时有两个人过独木桥则会发生死锁。如果一个人想过河,他必须看当前独木桥的通信情况,若当前的通行方向与他的过河......
  • 操作系统综合题之“用记录型信号量机制的wait和signal操作来保证文件的正确打印,并写出
    1.问题:有两个进程pA和pB合作解决文件打印的问题:pA将文件记录从磁盘读入住库存的缓冲区,每次执行一次读一个记录;pB将缓冲区的内容打印出来,每次执行一次打印一个记录。缓冲区的大小等于一个记录大小请用记录型信号量机制的wait(S)和signal(S)操作来保证文件的正确打印,并写出同步代码2.......
  • 操作系统综合题之“采用记录型信号量机制实现进程INPUT、PROCESS和OUTPUT的同步算法(
    1.问题:系统中有有三个进程INPUT、PROCESS和OUTPUT,共用两个缓冲区BUF1和BUF2。假期设BUF1中最多可放10个数据,现已放入了2个数据;BUF2最多可放5个数据。INPUT进程负责不断将输入的原始数据推送入BUF1,PROCESS进程负责从BUF1中取出原始数据进行处理,并将处理后的结果数据送入到BUF2中,OUT......
  • 操作系统综合题之“采用记录型信号量机制实现上述两个进程的同步算法(代码补充)”
    1.问题:设有无穷多个整数缓冲区(即为无界缓冲池),A进程从输入设备逐个地读入整数并写入缓冲区,B进程则逐个地从缓冲区取出整数进行打印。其中存放整数的变量为item,缓冲区名为buffer,读取过程使用函数getAItem(int*item)来完成,而打印整数使用函数printAItem(intitem)来完成。请用记录......
  • 操作系统综合题之“采用记录型信号量机制实现爸爸与妈妈进程的同步(爸妈擀饼问题)”
    1.问题:爸爸擀面,妈妈烙饼,面板上只能容纳两张擀好的饼,只有当面板上有空闲空间时,爸爸才能把擀好的饼放在面板上。只有当面板上有时,妈妈才能从面板上取饼。试采用记录型信号量机制实现爸爸与妈妈进程的同步答:设置两个信号量资源:varempty,full:semaphore初始两个资源信号量:empty.......
  • JAVA学习-NIO.Buffer(缓冲器)
        JavaNIO中的缓冲器(Buffer)是用来存储数据的对象。它是一个固定大小的数组,可以容纳特定类型的数据。一、JavaNIO中提供了7种类型的缓冲器,分别是:1.ByteBuffer:字节缓冲器,用来存储字节数据。2.CharBuffer:字符缓冲器,用来存储字符数据。3.ShortBuffer:短整型缓......
  • 从 Linux 内核角度探秘 JDK MappedByteBuffer
    本文涉及到的内核源码版本为:5.4,JVM源码为:OpenJDK17,RocketMQ源码版本为:5.1.1在之前的文章《一步一图带你深入剖析JDKNIOByteBuffer在不同字节序下的设计与实现》中,笔者为大家详细剖析了JDKBuffer的整个设计体系,从总体上来讲,JDKNIO为每一种Java基本类型定义了对......
  • Linux进程通信补充——System V通信
    三、SystemV进程通信​SystemV是一个单独设计的内核模块;​这套标准的设计不符合Linux下一切皆文件的思想,尽管隶属于文件部分,但是已经是一个独立的模块,并且shmid与文件描述符之间的兼容性做的并不好,网络通信使用的是文件的接口,所以SystemV标准慢慢地边缘化了,很难被整......
  • 【16.0】JS确认插件补充
    【一】SweetAlert【一】介绍SweetAlert是一个基于JavaScript的弹窗插件,用于创建美观而且高度可定制的弹窗效果。SweetAlert提供了多种弹窗风格和动画效果,可以用于警告、确认、提示和错误等不同的场景。【二】特点(1)美观可定制SweetAlert提供了漂亮和精心设计的弹窗样......