一、进程的同步与互斥的实现方法
什么是进程?
狭义定义:进程就是一段程序的执行过程。
广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
互斥:指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排他性,但互斥无法控制访问者对资源的访问顺序。两个进程不能同时访问同一临界资源,一个进程只能等另外一个进程访问结束以后才能访问,这种现象称之为 进程互斥。两个进程之间存在间接的制约关系,两个进程共同争夺同一个资源。
同步:在互斥的基础上,通过机制实现进程对资源的有序访问,称之为同步。一个进程在某个点上等待另一个进程提供的信息 ,两个进程之间存在直接的制约关系,是合作进程间有意识的行为。典型的例子是公共汽车上司机与售票员的合作。只有当售票员关门之后司机才能启动车辆,只有司机停车之后售票员才能开车门。司机和售票员的行动需要一定的协调。同样地,两个进程之间有时也有这样的依赖关系,因此我们也要有一定的同步机制保证它们的执行次序。
本讲主要介绍以下四种同步和互斥机制:信号量、管程、会合、分布式系统。