#复习笔记基于哔哩哔哩的 操作系统的期末急救--------北大鸭鸭博主的视频
考点十三:死锁的检测与解除
记忆小技巧
-
使用每个方法的首字母创建一个缩略词。例如,"TRP"代表:
- 撤销进程法(Termination)
- 进程回退(Rollback)
- 资源剥夺(Preemption)
-
将"TRP"联想为"踢(Kick)- 滚(Roll)- 抢(Preempt)",想象成在处理死锁时,系统要"踢"掉一些进程,"滚"回一些操作,"抢"走一些资源。
考点十四:同步互斥的基本概念
1.临界资源和临界区的概念
用情境模拟法帮我们加深一下记忆:
想象自己是一个银行的出纳员,处理客户的交易:
临界资源就像是现金抽屉,一次只能一个人访问。
临界区就像是你处理交易的区域,你需要确保没有其他出纳员同时操作。
2.同步和互斥的概念
我用一个小故事来帮我们加深理解
将同步想象成一支乐队的协同演奏,每个成员必须在正确的时间点上开始和结束,以保持音乐的和谐(同步)。
将互斥想象成一场独奏,一次只能有一个乐器发声,以避免声音的混乱
3.同步机制遵循的原则:
记忆小技巧
想象一个繁忙的咖啡馆,当有空位时(空闲让进),新顾客可以坐下;当所有座位都被占用时(忙则等待),新顾客必须等待;但是等待列表是有限的(有限等待),并且当有人站起来时(让权等待),等待的顾客可以坐下。
考点十四的习题练习
做题技巧:缓冲区就是天生的互斥关系,a产生数据,b拿数据,所以是同步的
考点十五:实现临界区互斥的基本方法
1.软件实现方式(背诵):
一共有四种 单标志法,双标志先检查法,双标志后检查法,Peterson法
单标志法违背空闲让进
双标志先检查法违背忙则等待
双标志后检查法违背空闲让进和有限等待
Peterson法违背让权等待
2.硬件实现方式
分为中断屏蔽方式和硬件指令方法(test and set和swap)指令
考点十六:信号量的含义及常用信号量
1.信号量的含义
理解信号量的关键是认识到它是一个计数器,它的值表示可用资源的数量。进程或线程通过P操作和V操作与信号量交互,这些操作分别对应于资源请求和资源释放。正确地使用这些操作可以确保对共享资源的安全访问,同时协调并发执行的活动。
2.常用的信号量
理解记忆小技巧
创造一个故事,比如在一个图书馆,整型信号量就像是书架上可用的书籍数量,如果数量为0,你就需要等别人归还。
记录型信号量就像是图书馆的预约系统,不仅告诉你有多少书籍可预约,还记录了所有等待特定书籍的读者名单。
考点十七:信号量的基本应用
1.信号量的应用
考点十八:管程的概念与特征
1.管程的定义
理解管程的关键是认识到它是一种将数据和操作封装在一起的同步机制,提供了一种安全和结构化的方式来处理多线程环境中的共享资源访问。通过使用管程,程序员可以更容易地编写正确和高效的并发程序。
2.管程的特征
考点十九:PV操作的理解
操作系统中的PV操作是指对信号量(Semaphore)的两种基本操作:P操作(Proberen,测试)和V操作(Verhogen,增加)。这两种操作用于进程同步和互斥,下面是对它们的直观理解:
P操作(等待或阻塞操作):
P操作用于请求资源。当一个进程执行P操作时,它会检查信号量的值:
如果信号量的值大于0,P操作会将信号量的值减1,然后进程继续执行。
如果信号量的值为0或负数,表示没有资源可用,执行P操作的进程将被阻塞,直到信号量的值变为正数。
V操作(释放或唤醒操作):
V操作用于释放资源。当一个进程执行V操作时,它会将信号量的值增加1:
如果信号量的值因此变为正数,并且有其他进程因为等待这个信号量而被阻塞,那么至少有一个被阻塞的进程将被唤醒,可以继续执行。
图书馆的自习室
P操作:想象你去图书馆的自习室学习,但里面的位置有限。在你进入自习室之前(进入临界区),你需要先检查是否有空位(信号量的值大于0)。如果有空位,你可以坐下开始学习(P操作成功,信号量减1)。如果座位已满(信号量的值为0),你就必须在外面等待(被阻塞)。
V操作:当你学习结束后,你离开自习室(离开临界区),并告诉图书馆管理员现在有一个空位了(V操作,信号量加1)。如果有人在外面等待,管理员会通知他们可以进入自习室了。
希望接下来我们可以一起努力哇!