- 定义:两个或两个以上的进程由于不能同时使用同一个临界资源,一个进程用完了另一个进程才能使用
- 临界资源:一次只能被一个进程使用的资源或者说需要互斥共享的资源。
- 显然,独享设备,内存中的公共数据结构,公共变量等都是临界资源
- 临界区:对临界资源操作的程序段,或者说需要互斥执行的程序段
- 进程一旦进入临界段区,就必须能够实现对临界资源的独占使用
- 信号量:用于表示资源的物理实体,是个与队列有关的整形变量,其值只能用p,v操作原语进行改变,使用前必须赋初值n>=0
- 公用信号量:用于实现进程的互斥,拥有它的进程都可以对他们进行p,v操作,其初值>=1的整数
- 私用信号量:用于实现进程的同步,拥有它的进程都可以对他们进行p操作,其他进程可以对他进行v操作,其初值>=0的整数。
- p操作:
- p(s):s=s-z
- 若s>=0则调用p(s)的进程继续进行
- s《0则调用p(s)的进程被阻塞,并把它插入到等待信号量s的阻塞队列中
- 思维导图:
day4(进程的互斥)
最新推荐文章于 2024-10-12 13:56:52 发布
文章介绍了临界资源的概念,即一次只能被一个进程使用的资源,如独享设备和公共数据结构。临界区是访问这些资源的代码段,需要互斥执行。信号量作为资源管理工具,分为公用和私用,用于实现进程的互斥与同步。P操作和V操作用于控制信号量,当资源不可用时,进程会被阻塞并加入等待队列。
摘要由CSDN通过智能技术生成