系统架构设计师教程-学习-记录(5)计算机网络基础知识(4)处理机与进程管理(二)进程互斥与同步以及 P,V 操作

72 阅读4分钟

系统架构设计师教程-学习-记录(5)计算机网络基础知识(4)处理机与进程管理(二)进程互斥与同步以及 P,V 操作

欢迎进qq群交流:546496965

学习《系统架构设计师教程》,初心是为了学习更多知识,在计算机技术方面得到更大的提升。

希望自己记录学习的时候也能总结一些知识分享出来。也可能错误很多,希各个大佬多多包涵并指点一二,在此感谢。

操作系统的基础知识

操作系统是计算机系统的核心系统软件,其他软件是建立在操作系统基础上的,并在操作系统的同意管理和支持下运行。操作系统与计算机系统软件硬件的关系:

计算机硬件(微机)=> 操作系统 => 语言处理程序 => 应用程序

进程互斥与同步以及 P,V 操作

参考原书

1、进程间的同步

异步环境下的一组并发进程之间互发消息、相互合作、相互等待,使得各进程按一定的速度执行的过程称为进程同步,也即同步是使在异步环境下各个进程按一定的顺序和速度执行。

2、进程间的互斥

一组并发进程中的一个或多个程序段,因共享某一公有资源而使得它们必须以一个不允许交叉的顺序执行,也即,互斥要保证临界资源在某一时刻只被一个进程访问

3、临界资源

系统中有些资源可以提供多个进程同时使用,有些资源一次只能供一个进程使用,称为临界资源,如:打印机、公共变量和表格等。

4、临界区管理原则

临界区是进程中对临界资源实施操作的那段程序互斥临界区管理的原则是有空即进、无空则等、有限等待、让权等待。

5、信号量机制

1965 年,荷兰学者 Dijkstra 提出的信号量机制是一种卓有成效的进程同步与互斥的工具。

6、整型信号量与 PV 操作

信号量是一个整型变量,根据控制对象的不同赋不同的值。信号量分为两类。

  • 公用信号量:实现进程间的互斥,初值 = 1 或资源的书目。
  • 私用信号量:实现进程间的同步,初值 = 0 或某个正整数。

信号量 S 的物理意义是 : S ≥ 0 表示某资源的可用数, S < 0 其绝对值表示阻塞队列中等待该资源的进程数。

PV 操作是实现进程同步与互斥的常用方法。PV 操作是低级通讯原语,在执行期间不可分割。其中,P 操作表示申请一个资源, V 操作表示释放一个资源

7、利用 PV 操作实现进程的互斥

令信号量 mutex 的初值为 “ 1 ”,当进入临界区时执行 P 操作,退出临界区时执行 V 操作,则进入临界区的代码段如下:

P(mutex)

临界区

v(mutex)

8、利用 PV 操作实现进程的同步

进程的同步是由于进程间合作引起的相互制约的问题,要实现进程的同步可用一个信号量与消息联系起来,当信号量的值为 0 时表示希望的消息未产生,当信号量的值为非 0 时表示希望的消息已存在。假定用信号量 S 表示某条消息,进程可以通过调用 P 操作测试消息是否到达,调用 V 操作通知消息已准备好。