操作系统(47-60)

进程同步:

在多道程序系统中,由于资源共享或进程合作,使进程间形成间接相互制约或直接相互制约,这需要用进程互斥与同步机制来协调两种制约关系

在多道程序系统中,诸多进程可以共享各类资源,临界资源一次只能供一个进程使用,所以进程对临界资源必须是互斥使用,每个进程在进入临界区前,必须先申请,经允许后方能进入

同步机制应遵循的准则:

空闲让进

忙则等待

有限等待

让权等待

解决互斥的锁机制:

进程进入临界区前,通过锁变量来判断临界资源是否被占用

信号量机制:

锁机制只能判断临界资源是否被占用,所以它解决了互斥问题,但它不能确定前面的进程是否完成,因此不能用在进程同步问题中

信号量机制是一种卓有成效的进程同步工具,被广泛应用与单处理机和多处理机中,以及计算机网络中

信号量机制是指用PV操作来对信号量进行处理

什么是信号量

信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程,信号量的值与相应资源的使用情况有关

当信号量的值大于0时,表示当前可用资源的数量

当信号量的值小于0时,其绝对值表示等待使用该资源的进程个数

信号量的值只能由PV操作来改变

用S表示资源的数量,执行一次P操作,意味着请求分配一个单位的资源,因此S的值减一,当S<0时,表示没有资源可供分配,请求者必须等待别的进程释放该类资源,它才能运行下去

执行一个V操作,意味着释放一个单位的资源,因此S的值加一,当S<0时,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程使之运行下去

 

posted @ 2015-04-23 11:30  scott_dingg  阅读(187)  评论(0编辑  收藏  举报