7 操作系统第二章 进程管理 进程同步与互斥

文章目录

      • 1 进程同步与互斥
          • 1.1 进程同步
          • 1.2 进程互斥
          • 1.3 进程同步机制遵循的原则
          • 1.3 进程同步、互斥小结
      • 2 进程互斥实现方法
          • 2.1 互斥的软件实现方法
            • 2.1.1 单标志法
            • 2.1.2 双标志法先检查
            • 2.1.3 双标志法后检查
            • 2.1.4 Peterson算法
            • 2.1.5 互斥的软件实现方法小结
          • 2.2 互斥的硬件实现方法
            • 2.2.1 中断屏蔽法
            • 2.2.2 TestAndSet指令
            • 2.2.3 Swap指令
            • 2.2.4 互斥硬件实现方法小结

1 进程同步与互斥

1.1 进程同步

主要是为了解决进程异步问题管理多个进程的运行,为了使多个进程能够有条不紊地运行。

进程同步机制主要任务:对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按一定规则(或时序)共享系统资源,并能很好地相互合作,从而使程序的执行具有可再现性

1.2 进程互斥

进程互斥:当前一个进程访问某源时,另外一个要访问该临界资源的进程必须要等待。

7 操作系统第二章 进程管理 进程同步与互斥_第1张图片

  • 临界资源:一段时间内只允许一个进程访问的资源,比如物理设备(摄像头、打印机)和某些变量、数据、内存缓冲区都是临界资源。
  • 对临界资源的访问必须互斥地进行。

对临界资源的访问过程可分为4个部分:
7 操作系统第二章 进程管理 进程同步与互斥_第2张图片
>临界区:进程访问临界资源的那段代码
进入区、退出区:实现进程互斥的那段代码段

1.3 进程同步机制遵循的原则
  1. 空闲让进:临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区;
  2. 忙则等待:当已有进程进入临界区时,其他试图进入临界区的进程必须等待;
  3. 有限等待:对请求访问的进程,应确保能在有限时间内进入临界区,不会产生饥饿现象;
  4. 让权等待:当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。
1.3 进程同步、互斥小结

7 操作系统第二章 进程管理 进程同步与互斥_第3张图片

2 进程互斥实现方法

2.1 互斥的软件实现方法

7 操作系统第二章 进程管理 进程同步与互斥_第4张图片

2.1.1 单标志法

算法思想:两个进程在访问完临界区后会把使用临界区的权限交给另一个进程。也就是说每个进程进入临界区的权限只能由另一个进程赋予。

  1. 优点:可以实现同一时间内最多只允许一个进程访问临界区。两个进程必须是交替进入临界区
  2. 局限性:违背了空闲让进原则,若某个进程不再进入临界区,另外进程也无法进入临界区,很容易造成资源利用不充分。
2.1.2 双标志法先检查

算法思想:每个进程访问临界区资源之前,先查看临界资源是否正被访问,若被访问,该进程需等待,否则,进程才进入自己的临界区。

先检查对方进程状态,再置自己标志

  1. 优点:不用交替进入,可连续使用
  2. 局限:两个进程可能同时进入临界区,违背忙则等待原则
2.1.3 双标志法后检查

先设置自己标志,再检查对方进程状态

局限:不遵循空闲让进,有限等待,容易导致双方谦让,从而谁也无法进入临界区,产生“饥饿”现象

2.1.4 Peterson算法

算法思想:是单标志法和双标志法后检查的综合

局限:不遵循让权等待,会发生忙等

2.1.5 互斥的软件实现方法小结

7 操作系统第二章 进程管理 进程同步与互斥_第5张图片

2.2 互斥的硬件实现方法
2.2.1 中断屏蔽法

利用“开/关中断指令”实现(与原语的实现思想相同,即在某进程开始访问临界区到结束为止都不允许中断,即不能发生进程切换,因此不可能发生两个进程同时访问临界区的情况)

7 操作系统第二章 进程管理 进程同步与互斥_第6张图片

  1. 优点:简单、高效
  2. 局限:不适用多处理机;只适用操作系统内核进程。不适用用户进程
2.2.2 TestAndSet指令

简称TS指令或TSL指令,用硬件实现,执行过程不许间断,只可一气呵成。

  1. 优点:实现简单、适用于多处理环境
  2. 缺点:不满足“让权等待”原则,暂时无法进入临界区的进程会占用CPU并循环执行TSL指令,并会导致"忙等"
2.2.3 Swap指令

也称Exchange指令,简称XCHG指令
用硬件实现,执行过程中不允许间断,只可一气呵成

  1. 优点:实现简单,适用多处理机环境
  2. 缺点:不满足“让权等待”原则,暂时无法进入临界区的进程会占用CPU并循环执行TSL指令,并会导致"忙等"
2.2.4 互斥硬件实现方法小结

7 操作系统第二章 进程管理 进程同步与互斥_第7张图片

你可能感兴趣的:(操作系统学习笔记)