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. centos 8 mysql 更改数据存储位置

    登录mysql后,先切换到myql数据库下通过show global variables like '%datadir%'; 可以查看数据默认的存储路径(一般在 /var/lib/mysql) 新建数 ...

  2. RabbitMQ(六)——路由模式

    RabbitMQ系列 RabbitMQ(一)--简介 RabbitMQ(二)--模式类型 RabbitMQ(三)--简单模式 RabbitMQ(四)--工作队列模式 RabbitMQ(五)--发布订阅 ...

  3. JAVA基础环境配置指南(简洁版)

    1.安装JDK 官网下载后直接安装 配置环境变量: 添加 JAVA_HOME 变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.8.0_91 // ...

  4. 越“挖”越有料,天翼云“息壤”助攻DeepSeek变身万能搭子!

    还在为DeepSeek服务器繁忙而抓狂? 还在为API调用费用涨价而头疼? 还在为数据安全而担忧? 别急! 天翼云"息壤"算力互联调度平台出马 全面解锁DeepSeek新玩法 带你 ...

  5. Postman 接口测试工具详解

    一.引言 在软件开发和测试过程中,接口测试是至关重要的环节.Postman 作为一款功能强大的接口测试工具,为开发者和测试人员提供了便捷高效的测试解决方案. 二.Postman 简介 Postman ...

  6. 【目标检测】二、Fast R-CNN与SVD

    1.流程 (1) 空间金字塔池化(spatial pyramid pooling,SPP) 原理: (2)Fast-RCNN 2.数学概念 这么多个全连接层,必然存在计算的性能问题,让数学家们蠢蠢欲动 ...

  7. SuperSocket 服务端 和 SuperSocket.ClientEngine 客户端及普通客户端

    internal class Program { //static void Main(string[] args) //{ // byte[] arr = new byte[1024]; // 1. ...

  8. python 二级 标准库

    1.turtle 函数 包括窗体函数.画笔状态.画笔运动函数 random库 3.time 时间处理.时间格式化.时间计时

  9. SuiGo智能博客系统

    一款由Golang+Vue开发的博客类网站,支持大模型对话编写智能博客,同时适配PC和移动端. 功能点说明 系统主要包括 1.博客功能:博客编写也可对话AI模型协助编写.查询.编辑页面.详情页面.分享 ...

  10. 给react native 添加transform translateY动画报错:Transform with key of "translateY" must be a number:{translateY“:0}

    初学react native,想实现一个相机扫描功能时,报错,报错描述如标题 这是我的主要逻辑代码 const fadeAnim = useRef(new Animated.Value(0)).cur ...