1 / 67
文档名称:

操作系统第三章.ppt

格式:ppt   大小:1,037KB   页数:67页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统第三章.ppt

上传人:xunlai783 2017/11/24 文件大小:1.01 MB

下载得到文件列表

操作系统第三章.ppt

相关文档

文档介绍

文档介绍:进程的同步与通信
本章主要内容:
同步与互斥的概念
进程间的相互关系
互斥的PV操作实现
同步的概念
同步的实现
进程通信的定义
进程同步与互斥的基本概念
进程间的相互关系主要分为三种形式:
互斥
同步
通信
同步与互斥的概念

进程间的同步:异步环境下的一组并发进程因直接制约而互相发送消息进而进行互相合作、互相等待,使得各进程按一定的速度执行的过程。
同步是进程间共同完成一项任务时直接发生相互作用的关系。

互斥是一组并发程序中的一个或多个程序段,因共享某一共有资源而导致它们必须以一个不允许交叉执行的单位执行。
互斥也就是不允许两个以上的共享该资源的并发进程同时进入临界区。
互斥的进程间逻辑上是完全独立的,对共享资源没有时间顺序的特征。
并发进程互斥执行满足的准则:
不能假设各并发进程的相对执行速度。
并发进程中的某个进程不在临界区,它不阻止其他进程进入临界区。
并发进程中的若干进程申请进入临界区时,只能允许一个进程进入。
并发进程中的进程从申请进入临界区时开始应在有限的时间内进入临界区。
准则1、2、3保证各并发进程享有平等的、独立的竞争和使用公有资源的权利,且保证每时刻只有一个进程进入临界区。4保证不发生死锁。
临界资源与临界区
临界资源:一次只允许一个进程使用的资源。例如:打印机、读卡机、表格等资源。
临界区:在每个进程中访问临界资源的那段程序。简称CS.
类:把那些不允许交叉执行的临界区按不同的公用数据划分为不同的集合。
PA和PB共享内存MS,MS分为三个区系统区、进程工作区和数据区。系统区主要是堆栈。
Getspace为取空数据块过程,release(ad)为释放数据块过程,ad为待释放数据块的地址。
Getspace: begin local g
G=stack[top]
top=top-1
release(ad): begin
top=top+1
stack[top]=ad
end
设时刻to时,top=h0,则可能按照顺序执行:
首先release(ad)的第一句执行:
T0:top=top+1 top=h0+1
接着执行getspace执行:
T1:G=stack[top] G=stack[h0+1]
T2:top=top-1 top=h0
再是release(ad)的第一句执行:
T3:stack【top】=ad stack【h0】=ad
Getspace的进程取到的是ho+1中一个未定义的值,而release(ad)的进程把空块地址重复放入了h0中。
进程A和进程B互斥使用临界区的过程