计算机操作系统——进程管理(3)

来源:互联网 发布:类似于faceu的软件 编辑:程序博客网 时间:2024/05/16 08:51

进程同步

概念:

在多道程序环境下,当程序并发执行时,由于资源共享和进程合作,使同处于一个系统中的诸进程之间存在制约关系。进程同步的主要任务,是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效的共享资源和相互合作,从而使程序的执行具有可再现性。



遵守规则:

空闲让进

忙则等待

有限等待

让权等待


进程同步与进程互斥:

进程同步是指生产者进程不能往一个满的资源池中添加资源,消费者进程不能从一个空的资源池中取资源,通过资源信号量实现。

进程互斥是指生产者进程之间,或消费者进程之间,应该互斥的访问临界资源,通过互斥信号量实现。


实现方式:



整型信号量:不满足“让权等待” → 记录型信号量(增加阻塞队列):共享多个资源时导致死锁 → AND型信号量(一次获取全部资源):一次只能获得或释放一个单位的临界资源 →信号量集(对信号量实现加减n的操作):每个要访问临界资源的进程都必须自备同步操作wait(S)和signal(S) →管程


管程:代表共享资源的数据结构,以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序,共同构成一个操作系统的资源管理模块,我们称之为管程。管程被请求和释放资源的进程所调用。

管程由四部分组成:①管程的名称;②局部于管程内部的共享数据结构说明;③对该数据结构进行操作的一组过程;④对局部于管程内部的共享数据设置初始值的语句。

利用管程实现进程同步:①必须设置同步工具,如两个同步操作源于wait和signal;②还需设置多个条件变量;

0 0
原创粉丝点击