2024计算机考研操作系统有哪些重要考点?计算机考研操作系统重要考点有临界区、同步与互斥、信号量、管程、死锁检测与死锁恢复、死锁预防等,准备报考计算机专业的同学要开始复习专业课,做好知识点总结和笔记梳理,小编已经整理好2024计算机考研操作系统有哪些重要考点?学姐整理的内容,一起来看看吧!
一、2024计算机考研操作系统有哪些重要考点?
(一)进程同步
1.临界区
对临界资源进行访问的那段代码称为临界区。
为了互斥访问临界资源,每个进程在进入临界区之前,需要先进行检查。
2.同步与互斥
同步:多个进程因为合作产生的直接制约关系,使得进程有一定的先后执行关系。
互斥:多个进程在同一时刻只有一个进程能进入临界区。
3.信号量
信号量(Semaphore)是一个整型变量,可以对其执行down和up操作,也就是常见的P和V操作。
down:如果信号量大于0,执行-1操作;如果信号量等于0,进程睡眠,等待信号量大于0;
up:对信号量执行+1操作,唤醒睡眠的进程让其完成down操作。
down和up操作需要被设计成原语,不可分割,通常的做法是在执行这些操作的时候屏蔽中断。
(二)管程
使用信号量机制实现的生产者消费者问题需要客户端代码做很多控制,而管程把控制的代码独立出来,不仅不容易出错,也使得客户端代码调用更容易。c语言不支持管程,下面的示例代码使用了类Pascal语言来描述管程。示例代码的管程提供了insert()和remove()方法,客户端代码通过调用这两个方法来解决生产者-消费者问题。管程有一个重要特性:在一个时刻只能有一个进程使用管程。进程在无法继续执行的时候不能一直占用管程,否则其它进程永远不能使用管程。管程引入了条件变量以及相关的操作:wait()和signal()来实现同步操作。对条件变量执行wait()操作会导致调用进程阻塞,把管程让出来给另一个进程持有。signal()操作用于唤醒被阻塞的进程。
(三)死锁检测与死锁恢复
不试图阻止死锁,而是当检测到死锁发生时,采取措施进行恢复。
1.每种类型一个资源的死锁检测
上图为资源分配图,其中方框表示资源,圆圈表示进程。资源指向进程表示该资源已经分配给该进程,进程指向资源表示进程请求获取该资源。
图a可以抽取出环,如图b,它满足了环路等待条件,因此会发生死锁。
每种类型一个资源的死锁检测算法是通过检测有向图是否存在环来实现,从一个节点出发进行深度优先搜索,对访问过的节点进行标记,如果访问了已经标记的节点,就表示有向图存在环,也就是检测到死锁的发生。
2.每种类型多个资源的死锁检测
上图中,有三个进程四个资源,每个数据代表的含义如下:
E向量:资源总量
A向量:资源剩余量
C矩阵:每个进程所拥有的资源数量,每一行都代表一个进程拥有资源的数量
R矩阵:每个进程请求的资源数量
进程P1和P2所请求的资源都得不到满足,只有进程P3可以,让P3执行,之后释放P3拥有的资源,此时A=(2 2 2 0)。P2可以执行,执行后释放P2拥有的资源,A=(4 2 2 1)。P1也可以执行。所有进程都可以顺利执行,没有死锁。
算法总结如下:
每个进程最开始时都不被标记,执行过程有可能被标记。当算法结束时,任何没有被标记的进程都是死锁进程。
寻找一个没有标记的进程Pi,它所请求的资源小于等于A。
如果找到了这样一个进程,那么将C矩阵的第i行向量加到A中,标记该进程,并转回1。
如果没有这样一个进程,算法终止。
3.死锁恢复
利用抢占恢复
利用回滚恢复
通过杀死进程恢复
(四)死锁预防
在程序运行之前预防发生死锁。
1.破坏互斥条件
例如假脱机打印机技术允许若干个进程同时输出,唯一真正请求物理打印机的进程是打印机守护进程。
2.破坏占有和等待条件
一种实现方式是规定所有进程在开始执行前请求所需要的全部资源。
3.破坏不可抢占条件
4.破坏环路等待
给资源统一编号,进程只能按编号顺序来请求资源。
以上,就是关于2024计算机考研操作系统有哪些重要考点?学姐整理的内容,希望能帮助大家做好考研准备。如果还想了解其他考研相关内容的,就请登录考研招生网看看吧。2024考研备考已经开始了,大家要抓紧时间做好择校分析、努力备考,祝大家都能成功上岸。
【现在点击下方图片,即可免费领取参考书单、历年分数线、
考研大纲、
历年真题、择校建议、备考经验等全年学习资料】