c语言水果系统链表,CH3讲义.doc
CH3讲义
本章知识点:
进程的顺序性和并发性
分析与时间有关的错误。(★)
进程同步与互斥的概念。
临界区及其调度。(★)
记录型信号量与PV操作。(★★★)
条件变量和管程。(★★)
进程通信种类
消息传递的两种方式及其原语。(★)
本章思考题:
叙述顺序程序设计的特点以及采用顺序程序设计的优缺点。
程序并发执行为什么会失去封闭性和结果可再现性?
叙述并发程序设计的特点以及采用并发程序设计的优缺点。
解释并发进程的无关性和交往性。
并发进程的执行可能产生与时间有关的错误,试各举一例来说明与时间有关错误的两种表现形式。
解释进程的竞争关系和协作关系。
试说明进程的互斥和同步两个概念之间的区别。
什么是临界区和临界资源?对临界区管理的基本原则是什么?
哪些硬件设施可以实现临界区管理?
什么是信号量?如何对它进行分类。
为什么PV操作均为不可分割的原语操作?
从信号量和PV操作的定义,可以获得哪些推论?
叙述AND型信号量机制的特点
叙述一般信量机制的特点
有三个并发进程:R负责从输入设备读入信息,M负责对信号加工处理;P负责打印输出。今提供;
一个缓冲区,可放置K个信息;
二个缓冲区,每个可放置K个信息;
试用PV操作写出三个进程正确工作的流程
没有n个进程共享一个互斥段,如果:
每次只允许一个进程进入互斥段;
每次最多允许m个进程(m≤n)同时进入互斥段。
试问:所采用的互斥信号量初值是否相同?信号量值的变化范围如何?
三个进程并发活动,其算法描述如下,试分析是否有错,如有则指出原因并改正。
Begin
S:=-1;
Cobegin
P1:Begin
……
V(S);
End
P2:Begin
……
V(S)
End;
P3:Begin
P(S)
……
End
Cobegin
End
何谓管程?它有哪些属性?管程中的过程在执行中能被中断吗?为什么?
试比较Hanson和Hoare两种管程实现方法。
已经有PV操作可用作同步工具,为什么还要有消息传递机制。
叙述信件,信箱和间接通信原语。
简述消息缓冲通信机制的实现思想。
什么是管道(pipeline)?如何通过管道机制实现进程间通信?
有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名读者离开时要批销登记信息;假如阅览室共有100个座位。试用:1)信号量和P.V标作;2)管程;来实现用户进程的同步算法
在一个盒子里,混装了数量相等的黑白围棋子。现在用自动分拣系统把黑子、白子分开,设分拣系统有二个进程P1和P2,其中P1拣白子;P2拣黑子。规定每个进程每次拣一子;当一个进程在拣时,不允许另一个进程去拣;当一个进程拣了一子时,必须让另一个进程去拣。试写出两进程P1和P2能并发正确执行的程序。
管程的同步机制使用条件变量和Wait及Signal,尝试为管程设计一种仅仅使用一个操作的同步机制。
一个快餐厅有4种职员:(1)领班:接受顾客点菜;(2)厨师:准备顾客的饭菜;(3)打包工:将做好的饭菜打包;(4)出纳员-收款并提交食品。每个职员可被看作一个进程,试写出能让四类职员正确并发运行的程序。
在信号量S上作P.V操作时,S的值发生变化,当S>0、S=0、S〈 0时,它们的物理意义是什么?
二个并发进程并发执行,其中,A、B、C、D、E是原语,试给出可能的并发执行路径。
Process P Process Q
begin begin
A; C;
B; D;
C; end;
end;
是否在任何情况下,‘忙式等待’都比‘阻塞等待’方法的效率低?试解释之。
证明信号量与管程的功能是等价的:
(1)用信号量实现管程;
(2)用管程实现信号量。
面包房(Bakery Algorithm)算法,解决互斥问题的另一个算法:
Var choosing:array [0…n-1] of boolean;
number:array [0…n-1] of integer;
Repeat
Choosing [i]:=True;
Number[i]:=1+max ( number [0],…nuber [n-1] );
Choosing[i]:=false;
for j:=0 to n-1 do
begin
while choosing [j] do {nothing};
while number[j]≠0 ∧(number [j], j)<(number[i],i)
c语言水果系统链表,CH3讲义.doc相关推荐
- c语言仓库管理系统链表,仓库管理系统 C语言 C 数据结构 链表 课程设计.doc
仓库管理系统 C语言 C 数据结构 链表 课程设计 #include #include #include #include #define MAX 64 typedef struct node{ /* ...
- c语言第七八次作业,二级C语言第七八次讲义.doc
二级C语言第七八次讲义 第七次课授课内容 第1节上机课 1.安装上机模拟系统 [上课用时]20 (1)将上机模拟系统和资料拷贝被学员 如果已经建立好QQ群的老师,在课前将上机的所有资料上传至群共享中[ ...
- c语言水果系统程序设计源代码
要求: 综合以前实验的功能,设计简易XX信息管理系统,如学生管理系统,则学生信息包括学号(关键字).姓名.年龄等信息,设计功能主要包括:界面菜单,实现记录的插入.修改.删除.查询.排序等功能. 代码来 ...
- c语言仓库管理系统链表,仓库管理系统 C语言 C++ 数据结构 链表 课程设计
仓库管理系统 C语言 C++ 数据结构 链表 课程设计 #include #include #include #include #define MAX 64 typedef struct node{ ...
- 稀疏矩阵建立十字链表c语言,实验6-稀疏矩阵十字链表的存储.doc
实验6-稀疏矩阵十字链表的存储.doc -/电子信息学院实验报告书课程名 数据结构 题 目 稀疏矩阵十字链表的存储 实验类别 设计 班 级 BX1001 学 号 24 姓 名 肖望龙 2011年 10 ...
- c语言有哪些系统函数,C语言常用系统函数.doc
C语言常用系统函数.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所得 ...
- c语言程序设计 链表,c语言程序设计基于链表的学生成绩管理系统.doc
c语言程序设计基于链表的学生成绩管理系统 华北科技学院计算机系综合性实验报告 PAGE 第 PAGE 10 页 华北科技学院计算机系综合性实验 实 验 报 告 课程名称 C语言程序设计 实验学期 20 ...
- c语言考试系统文献综述,C语言考试系统的设计【毕业论文+文献综述+任务书+开题报告】.doc...
您所在位置:网站首页 > 海量文档  > 学术论文 > 大学论文 C语言考试系统的设计[毕业论文+文献综述+任务书+开 ...
- c语言飞机订餐系统,C语言订餐系统.doc
C语言订餐系统 课 程 设 计 说 明 书 课程名称:C语言程序设计 设计题目:电话订餐信息处理 院 系:计算机科学与信息工程学院 姓名学号: 专业班级: 指导教师: 课 程 设 计 任 务 书 设计 ...
最新文章
- CART树 python小样例
- php mysql 学习,php+mysql完全学习手册源码
- Scrapy源码阅读分析_1_整体框架和流程介绍
- leetcode 123. 买卖股票的最佳时机 III
- 安装和配置SQL Server Reporting Services (SSRS)
- Direct3D11学习:(二)基本绘图概念和基本类型
- ELK详解(五)——Head插件简单使用
- 如何通过NTFS for Mac 15格式化连接的移动磁盘
- 如何在mysql下实现事务的提交与回滚
- java 浏览器 爬虫_[Java教程]在浏览器客户端进行爬虫开发
- html表格自动变色,让考勤表实现自动变色
- c语言max()头文件,C语言:min和max头文件
- 阿里云的服务器居然泡在“水”里?| 数据中心参观有感
- 基于自然语言处理的垃圾信息过滤方法
- Kubernetes 管理员认证(CKA)考试笔记(一)
- idfa码如何查看_小E告诉你:如何快速登录和高效使用华为电子邮件
- linux 4.6发布时间,Linux Kernel 4.6的第4个维护版本发布
- 设置LINUX启动时的液晶屏参数
- 1-Java的诞生和发展
- LDA深入精讲(强力推荐)
热门文章
- 普渡机器人“欢乐送”入驻武藏日本料理,助其降本增效
- VMware NSX-T搭建及配置
- CSS 变量声明和修改
- Android 使用ADB命令启动浏览器并访问指定的URL
- MySQL服务无法启动伴随部分ERROR解决001
- unity 常用的设计模式
- MySQL之ORDER BY 详细解析
- ShadowPLCs A Novel Scheme for Remote Detection of Industrial Process Control Attacks
- RDKit | 化合物SDF文件转换为SMILES存储为CSV
- 楚狂人Windows驱动编程基础教程