操作系统 chapter 5 6 同步机制

进程的并发执行

进程制约

进程互斥:各进程之间竞争使用共享资源 排他性使用,进程之间的竞争关系;

进程之间存在着直接制约和间接制约两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。(1) 若干同学去图书馆借书是间接制约,其中书是临界资源。(2) 两队举行篮球比赛是间接制约,其中篮球是临界资源。(3) 流水线生产的各道工序是直接制约,各道工序间需要相互合作,每道工序的开始都依赖于前一道工序的完成。(4) 商品生产和社会消费是直接制约,两者也需要相互合作:商品生产出来后才可以被消费;商品被消费后才需要再生产。

临界资源:一次只允许一个进程使用,也称为互斥资源或共享变量。

临界区(互斥区):各个进程中对某个临界资源实施操作的程序片段。

进程同步:多个进程之间的协作关系;

信号量及P、V操作

完成加一,就可以进行下一个了,未完成mutex为0,若下一个想进入,先完成p操作,mutex变成-1,阻塞。而若是占用CPU的完成了,mutex执行v操作,mutex变成1,可以进行下一个。

 

两个P操作的顺序不可以颠倒,而两个V操作可以。

管程的基本概念

管程:在程序设计语言中引入的成分,是一种高级同步机制,

管程作为一种同步机制,需要:

 

进程间通信IPC

典型的机制就是消息传递:send & receive原语

典型操作系统中的IPC机制

 

posted @ 2017-08-07 17:32  羡鱼06  阅读(183)  评论(0编辑  收藏  举报