进程同步问题经典例题(生产者消费者等)

文章目录

  • 0. 前言
  • 1. PV操作
  • 2. 同步与互斥模型
  • 3. 生产者-消费者问题
  • 4. 读者-写者问题
  • 5. 哲学家进餐问题

0. 前言

在 OS 中引入进程后,虽然提高了资源的利用率和系统的吞吐量,但由于进程的异步性, 也会给系统造成混乱,尤其是在他们争用临界资源时。例如,当多个进程去争用一台打印 机时,有可能使多个进程的输出结果交织在一起,难于区分;而当多个进程去争用共享变 量、表格、链表时,有可能致使数据处理出错。进程同步的主要任务是对多个相关进程在 执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使 程序的执行具有可再现性。

1. PV操作

对信号量的操作仅能通过两个标准的原子操作wait(S)和 signal(S) 来访问。很长时间以来,这两个操作一直被分别称为 P、V 操作。P和V是来源于两个荷兰语词汇,P—— passeren,中文译为"通过";V—— vrijgeven,中文译为"释放"。
—百度百科
进程同步问题经典例题(生产者消费者等)_第1张图片

2. 同步与互斥模型

进程同步问题经典例题(生产者消费者等)_第2张图片

3. 生产者-消费者问题

进程同步问题经典例题(生产者消费者等)_第3张图片
进程同步问题经典例题(生产者消费者等)_第4张图片
进程同步问题经典例题(生产者消费者等)_第5张图片

4. 读者-写者问题

进程同步问题经典例题(生产者消费者等)_第6张图片
进程同步问题经典例题(生产者消费者等)_第7张图片

5. 哲学家进餐问题

进程同步问题经典例题(生产者消费者等)_第8张图片
在这里插入图片描述
进程同步问题经典例题(生产者消费者等)_第9张图片
进程同步问题经典例题(生产者消费者等)_第10张图片

你可能感兴趣的:(Linux)