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);

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

  1. 操作实践题 - HTML 列表综合应用

    通过对列表的综合应用,编写如下效果网页: 解答: <html> <head> <title>操作实践题</title> <meta http-eq ...

  2. 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的生命周期和程序的生命周期

    [源码下载] 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的 ...

  3. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突

    Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...

  4. [Xcode 实际操作]七、文件与数据-(24)真机使用无线网络调试应用程序

    目录:[Swift]Xcode实际操作 本文将演示如何通过无线网络,在真机上测试应用程序. 首先通过数据线,将移动设备和电脑连接, 然后点击顶部的[Window]窗口菜单, ->[Devices ...

  5. hdu 4578 Transformation 线段树多种操作裸题

    自己写了一个带结构体的WA了7.8次 但是测了几组小数据都对..感觉问题应该出在模运算那里.写完这波题解去对拍一下. 以后线段树绝不写struct!一般的struct都带上l,r 但是一条线段的长度确 ...

  6. 【mysql】排序方操作50题练习及其答案

    1.创建数据库.相关表,并插入数据create database homework;use homework; create table class_grade(gid int primary key ...

  7. msyql操作100题

    1.1.1 开启MySQL服务 /etc/init.d/mysqld start 使用/etc/init.d/mysqld start命令启动数据库的本质就相当于执行mysqld_safe --use ...

  8. C#中操作txt,抛出“正由另一进程使用,因此该进程无法访问此文件”

    将你的File.Create(fileName); //创建fileName路径的文本改为 1 2 3 using (FileStream fs = File.Create(fileName)){} ...

  9. Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)

    8.1.常用命令 启动ZK服务 bin/zkServer.sh start 查看ZK服务状态 bin/zkServer.sh status 停止ZK服务 bin/zkServer.sh stop 重启 ...

  10. 6.游戏特别离不开脚本(3)-JS脚本操作java(2)(直接解析JS公式,并非完整JS文件或者函数)

    在游戏中可以考虑数据由javabean保存,逻辑方法由JS提供. public class Bean4JS { private int id; private String name; private ...

随机推荐

  1. NOI春季测试游记

    Day -20 本来以为不能报名,但听说初中生可以报名,遂报名. Day -20~-2 刷一些题,并学了大量新知识如DP. Day n(-15≤n≤-5) 在公众号的名单上看到我的名字. 同校还有人参 ...

  2. ABB喷涂机器人控制柜维护保养

    ABB喷涂机器人的管理与维护保养目的是减少机器人的故障率和停机时间,充分利用机器人这一生产要素,最大限度地提高产效率.喷涂机器人维修与保养在企业生产中尤为重要,直接影响到系统的寿命,必须精心维护. A ...

  3. Linux 提升CPU利用率

    由于同学项目CPU利用率不高,客户要降他们服务器配置,所以下下策. # 提升一个核CPU利用率 cat /dev/urandom | gzip -9 > /dev/null # 提升更大的CPU ...

  4. Normalizing flow 流模型 | CS236深度生成模型Lec8学习笔记

    主要参考资料:Stanford University CS236: Deep Generative Models Lec8. 这篇blog基本上是CS236 Lec8的刷课总结/刷课笔记. VAE 这 ...

  5. Windows Api如何创建一个快捷方式并且在开始菜单搜索到自己的应用

    原文链接:http://cshelloworld.com/home/detail/1804473083243925504 当我们点击win10系统搜索框的时候,输入名称 ,win10会帮助我们匹配到对 ...

  6. js发送get 、post请求

    前言 我们经常会用到js发送网络请求,这里用到XMLHttpRequest,主要是为了考虑早期的IE.分为三步:创建需要的对象.连接和发送.接收. GET请求 var httpRequest = ne ...

  7. 编写你的第一个 Django 应用程序,第3部分

    本教程从教程 2 停止的地方开始.我们是 继续网络投票应用程序,并将专注于创建公众界面 – "视图". 在我们的投票应用程序中,我们将有以下四个视图: 问题"索引&quo ...

  8. WPS EXCEL 根据录入的详细地址自动提取用户的籍贯信息

    =TRIM(IFERROR(LEFT(J18,FIND("省",J18)+LEN("省")-1),"") & " &quo ...

  9. Delphi 多线程使用

    1. 定义线程类 type TMyThread = class(TThread) private { Private declarations } fPos:Integer; // 变量 protec ...

  10. 一文彻底搞清楚ArkUI

    程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java相关开发.鸿蒙开发.人工智能等,专注于程序员搞钱那点儿事,希望在搞钱的路上有你相伴!君志所向,一往无前! 0.前言 在移动开发领 ...