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相关推荐

  1. c语言仓库管理系统链表,仓库管理系统 C语言 C 数据结构 链表 课程设计.doc

    仓库管理系统 C语言 C 数据结构 链表 课程设计 #include #include #include #include #define MAX 64 typedef struct node{ /* ...

  2. c语言第七八次作业,二级C语言第七八次讲义.doc

    二级C语言第七八次讲义 第七次课授课内容 第1节上机课 1.安装上机模拟系统 [上课用时]20 (1)将上机模拟系统和资料拷贝被学员 如果已经建立好QQ群的老师,在课前将上机的所有资料上传至群共享中[ ...

  3. c语言水果系统程序设计源代码

    要求: 综合以前实验的功能,设计简易XX信息管理系统,如学生管理系统,则学生信息包括学号(关键字).姓名.年龄等信息,设计功能主要包括:界面菜单,实现记录的插入.修改.删除.查询.排序等功能. 代码来 ...

  4. c语言仓库管理系统链表,仓库管理系统 C语言 C++ 数据结构 链表 课程设计

    仓库管理系统 C语言 C++ 数据结构 链表 课程设计 #include #include #include #include #define MAX 64 typedef struct node{ ...

  5. 稀疏矩阵建立十字链表c语言,实验6-稀疏矩阵十字链表的存储.doc

    实验6-稀疏矩阵十字链表的存储.doc -/电子信息学院实验报告书课程名 数据结构 题 目 稀疏矩阵十字链表的存储 实验类别 设计 班 级 BX1001 学 号 24 姓 名 肖望龙 2011年 10 ...

  6. c语言有哪些系统函数,C语言常用系统函数.doc

    C语言常用系统函数.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所得 ...

  7. c语言程序设计 链表,c语言程序设计基于链表的学生成绩管理系统.doc

    c语言程序设计基于链表的学生成绩管理系统 华北科技学院计算机系综合性实验报告 PAGE 第 PAGE 10 页 华北科技学院计算机系综合性实验 实 验 报 告 课程名称 C语言程序设计 实验学期 20 ...

  8. c语言考试系统文献综述,C语言考试系统的设计【毕业论文+文献综述+任务书+开题报告】.doc...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp学术论文&nbsp>&nbsp大学论文 C语言考试系统的设计[毕业论文+文献综述+任务书+开 ...

  9. c语言飞机订餐系统,C语言订餐系统.doc

    C语言订餐系统 课 程 设 计 说 明 书 课程名称:C语言程序设计 设计题目:电话订餐信息处理 院 系:计算机科学与信息工程学院 姓名学号: 专业班级: 指导教师: 课 程 设 计 任 务 书 设计 ...

最新文章

  1. CART树 python小样例
  2. php mysql 学习,php+mysql完全学习手册源码
  3. Scrapy源码阅读分析_1_整体框架和流程介绍
  4. leetcode 123. 买卖股票的最佳时机 III
  5. 安装和配置SQL Server Reporting Services (SSRS)
  6. Direct3D11学习:(二)基本绘图概念和基本类型
  7. ELK详解(五)——Head插件简单使用
  8. 如何通过NTFS for Mac 15格式化连接的移动磁盘
  9. 如何在mysql下实现事务的提交与回滚
  10. java 浏览器 爬虫_[Java教程]在浏览器客户端进行爬虫开发
  11. html表格自动变色,让考勤表实现自动变色
  12. c语言max()头文件,C语言:min和max头文件
  13. 阿里云的服务器居然泡在“水”里?| 数据中心参观有感
  14. 基于自然语言处理的垃圾信息过滤方法
  15. Kubernetes 管理员认证(CKA)考试笔记(一)
  16. idfa码如何查看_小E告诉你:如何快速登录和高效使用华为电子邮件
  17. linux 4.6发布时间,Linux Kernel 4.6的第4个维护版本发布
  18. 设置LINUX启动时的液晶屏参数
  19. 1-Java的诞生和发展
  20. LDA深入精讲(强力推荐)

热门文章

  1. 普渡机器人“欢乐送”入驻武藏日本料理,助其降本增效
  2. VMware NSX-T搭建及配置
  3. CSS 变量声明和修改
  4. Android 使用ADB命令启动浏览器并访问指定的URL
  5. MySQL服务无法启动伴随部分ERROR解决001
  6. unity 常用的设计模式
  7. MySQL之ORDER BY 详细解析
  8. ShadowPLCs A Novel Scheme for Remote Detection of Industrial Process Control Attacks
  9. RDKit | 化合物SDF文件转换为SMILES存储为CSV
  10. 楚狂人Windows驱动编程基础教程