《王道操作系统》:第二章 进程管理:进程的同步与互斥、死锁

2.3_进程的同步与互斥

2.3.1_进程的同步与互斥

在这里插入图片描述

1)、进程同步

同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而产生的制约关系。进程间的直接制约关系就是源于它们之间的相互合作

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

2)、进程互斥

两种资源共享方式:

  • 互斥共享方式(系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
  • 同时共享方式(系统中的某些资源,允许一个时间段内由多个进程同时对它们进行访问

我们把一个时间段内只允许一个进程使用的资源称为临界资源。许多物理设备(比如摄像头、打印机)都属于临界资源。此外还有许多变量、数据、内存缓冲区等都属于临界资源

对临界资源的访问,必须互斥地进行。互斥,亦称间接制约关系进程互斥指当一个进程访问某临界资源时,另一个想要访问该临界资源的进程必须等待。当前访问临界资源的进程访问结束,释放该资源之后,另一个进程才能去访问临界资源

在这里插入图片描述

临界区是进程中访问临界资源的代码段

进入区退出区负责实现互斥的代码段

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

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

2.3.2_进程互斥的软件实现方法

在这里插入图片描述

1)、单标志法

在这里插入图片描述

在这里插入图片描述

2)、双标志先检查法

在这里插入图片描述

3)、双标志后检查法

在这里插入图片描述

4)、Peterson算法

在这里插入图片描述

Peterson算法用软件方法解决了进程互斥问题,遵循了空闲让进、忙则等待、有限等待三个原则,但是依然未遵循让权等待的原则

2.3.3_进程互斥的硬件实现方法

在这里插入图片描述

1)、中断屏蔽方法

在这里插入图片描述

2)、TestAndSet(TS指令/TSL指令)

在这里插入图片描述

3)、Swap指令(XCHG指令)

在这里插入图片描述

2.3.4_信号量机制

在这里插入图片描述

在这里插入图片描述

1)、整型信号量

在这里插入图片描述

2)、记录型信号量

在这里插入图片描述

在这里插入图片描述

CPU轮流为 P 0 P_0 P0 P 1 P_1 P1 P 2 P_2 P2 P 3 P_3 P3服务,同时value和L的值发生变化

在这里插入图片描述

CPU运行到 P 2 P_2 P2进程,但是没有打印机资源, P 2 P_2 P2转为阻塞态,CPU转而准备去运行 P 3 P_3 P3进程

在这里插入图片描述

CPU运行到 P 3 P_3 P3进程,但是没有打印机资源, P 3 P_3 P3转为阻塞态,CPU转而准备去运行 P 0 P_0 P0进程

在这里插入图片描述

P 0 P_0 P0进程运行完毕,叫醒 P 2 P_2 P2进程来用打印机,同时value和L的值发生变化

在这里插入图片描述

P 2 P_2 P2进程运行完毕,叫醒 P 1 P_1 P1进程来用打印机,同时value和L的值发生变化

在这里插入图片描述

2.3.5_š用信号量机制实现进程互斥、同步、前驱关系

在这里插入图片描述

1)、实现进程互斥

在这里插入图片描述

2)、实现进程同步

在这里插入图片描述

在这里插入图片描述

3)、实现进程的前驱关系

在这里插入图片描述

2.3.6_生产者消费者问题

系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用

生产者、消费者共享一个初始为空、大小为n的缓冲区

只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待

只有缓冲区不空时,消费者才能从中取出产品,否则必须等待

系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用

在这里插入图片描述

生产者、消费者共享一个初始为空、大小为n的缓冲区

在这里插入图片描述

只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待

在这里插入图片描述

只有缓冲区不空时,消费者才能从中取出产品,否则必须等待

在这里插入图片描述

缓冲区是临界资源,各进程必须互斥地访问

在这里插入图片描述

在这里插入图片描述

2.3.7_哲学家进餐问题

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3.8_管程

1)、管程的定义和基本特征

管程是一种特殊的软件模型,由这些部分组成:

  • 局部于管程的共享数据结构说明
  • 对该数据结构进行操作的一组过程
  • 对局部于管程的共享数据设置初始值的语句
  • 管程有一个名字

管程的基本特征:

  • 局部于管程的数据只能被局部于管程的过程所访问
  • 一个进程只有通过调用管程内的过程才能进入管程访问共享数据
  • 每次仅允许一个进程在管程内执行某个内部过程
2)、用管程解决生产者消费者问题

在这里插入图片描述

在这里插入图片描述

2.4_死锁

2.4.1_死锁的概念

在这里插入图片描述

1)、什么是死锁

在这里插入图片描述

2)、死锁、饥饿、死循环的区别

在这里插入图片描述

3)、死锁产生的必要条件

在这里插入图片描述

4)、什么时候会发生死锁

在这里插入图片描述

5)、死锁的处理策略

在这里插入图片描述

2.4.2_死锁的处理策略——预防死锁

在这里插入图片描述

1)、破坏互斥条件

在这里插入图片描述

2)、破坏不可剥夺条件

在这里插入图片描述

3)、破坏请求和保持条件

在这里插入图片描述

4)、破坏循环等待条件

在这里插入图片描述

2.4.3_死锁的处理策略——避免死锁

1)、什么是安全序列

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2)、银行家算法

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3)、小结

在这里插入图片描述

2.4.4_死锁的处理策略——检测和解除

在这里插入图片描述

1)、死锁的检测

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2)、死锁的解除

在这里插入图片描述

脑图地址:

https://github.com/hxt970311/os_outline

参考:

https://www.bilibili.com/video/BV1YE411D7nH

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 《王道操作系统习题pdf》是一本操作系统方面的习题集合,适合学习操作系统的学生或者从业人员使用。这本习题集由王道论坛团队编写而成,内容较为全面且系统化。下面将以300字分别从习题内容、学习方式和学习效果三个方面来介绍这本习题集。 首先,习题内容方面,《王道操作系统习题pdf》涵盖了操作系统的各个方面,包括基本概念和原理、进程管理、内存管理、文件系统等。每个章节都配有大量的习题,习题的难度从简单到复杂逐渐递增,并且每道习题都有详细的答案解析,帮助读者理解并掌握操作系统的知识点。 其次,学习方式方面,这本习题集的编排方式较为合理。每个章节都有一个简单明了的目录,读者可以根据自己的需要选择具体的章节进行学习。在学习的过程中,可以结合相关的教材或网络资源进行参考,以便更好地理解习题的内容。 最后,学习效果方面,《王道操作系统习题pdf》可以帮助读者巩固和加深对操作系统知识的理解。通过反复练习习题,读者能够更好地掌握和运用操作系统的各种概念和方法,提高解决实际问题的能力。同时,习题集中的答案解析也能帮助读者理清思路,及时发现和纠正自己的错误,进一步提高学习效果。 总结来说,《王道操作系统习题pdf》是一本内容全面、编排合理并且具有较好学习效果的习题集。希望通过这本习题集的学习,读者能够更好地掌握和运用操作系统的知识,为自己的学习和工作奠定坚实的基础。 ### 回答2: 王道操作系统习题pdf是一套专门针对操作系统课程的习题和答案集合。它由经验丰富的教师和专家团队编写,旨在帮助学生更好地理解和掌握操作系统的基本概念、原理和应用。这个习题集提供了大量的练习题目,涵盖了操作系统的各个方面,包括进程管理、内存管理、文件系统等。每个习题都配有详细的解答和解析,可以帮助学生加深对知识点的理解和掌握。 王道操作系统习题pdf的内容丰富全面,适合操作系统课程的学习和复习。学生可以通过做习题来检验自己对操作系统知识的掌握程度,并通过查阅答案和解析来弥补自己的不足之处。习题集的难度逐渐递增,既适合初学者巩固基础知识,也适合进阶学习者拓展知识面。此外,习题集中还提供了一些实例和案例,可以帮助学生将抽象的概念与实际应用相结合,更好地理解操作系统的实际作用和应用场景。 总之,王道操作系统习题pdf是一份很有价值的学习资料。通过仔细阅读和反复练习,学生可以提高对操作系统知识的理解和应用能力,为应对考试和实际工作做好充分准备。建议学生认真对待这份习题集,适时根据自己的掌握情况进行练习,并在有疑问的地方及时向老师或同学请教,以求更好地掌握和运用操作系统知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邋遢的流浪剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值