目 录CONTENT

文章目录

进程管理 -- (3) 进程的同步与互斥

lionkliu
2022-09-20 / 0 评论 / 0 点赞 / 15 阅读 / 590 字

1、进程的同步与互斥

img

1.1 进程的同步

  • 同步也称为直接制约关系
  • 在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,如等待、传递信息等,引入了进程同步的概念。进程同步是为了解决进程的异步问题。

image-20220920143607300

异步性:进程具有异步性的特征。异步性是指,各并发执行的进程以各自独立的、不可预知的速度向前推进。

1.2 进程的互斥

image-20220920142924284

image-20220920143055889

为了实现对临界资源的互斥访问,同时保证系统整体性能,需要遵循以下原则:

  1. 空闲让进。临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区;
  2. 忙则等待。当已有进程进入临界区时,其他试图进入临界区的进程必须等待;
  3. 有限等待。对请求访问的进程,应保证能在有限时间内进入临界区(保证不会饥饿);
  4. 让权等待。当进程不能进入临界区时,应立即释放处理机,防止进程忙等待。

2、临界区进程互斥的实现方法

2.1 软件实现⭐

单标志法

双标志先检查

双标志后检查

Peterson算法

2.2 硬件实现

3、信号量机制

image-20220920144627302

3.1 整形信号量

在这里插入图片描述

3.2 记录型信号量

在这里插入图片描述

4、信号量机制实现进程的互斥、同步与前驱关系⭐⭐⭐⭐

在这里插入图片描述

4.1 信号量机制实现进程的互斥

image-20220920145959441

4.2 信号量机制实现进程的同步

前 V 后 P

image-20220920150355146

4.3 信号量机制实现前驱关系

前驱关系本质上就是多级的同步关系

image-20220920150720904

5、进程同步与互斥经典问题

5.1 生产者-消费者问题

5.2 多生产者-多消费者问题

5.3 吸烟者问题

5.4 读者-写者问题

5.5 哲学家进餐问题

0

评论区

// // // //