- 自考《操作系统》概述(3)
- 发布日期时间:2007-1-14 来源:网络 点击数: 作者:佚名
一、死锁的防止(简单应用)
1、系统出现死锁必然出现以下情况:
1)互斥使用资源
2)占有并等待资源
3)不可抢夺资源
4)循环等待资源
2、死锁的防止策略:破坏产生死锁的条件中的一个就可以了。
常用的方法有:静态分配、按序分配、抢夺式分配3种。
二、死锁的避免(简单应用)
1、死锁的避免是让系统处于安全状态,来避免发生死锁。
安全状态:如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于“安全状态”。
2、银行算法是怎样避免死锁的:
计算机银行家算法是通过动态地检测系统中资源分配情况和进程对资源的需求情况,在保证到少有一个进程能得到所需要的全部资源,从而能确保系统处于安全状态进,才把资源分配给申请者,从而避免了进程共享资源时系统发生死锁。
采用银行家算法时为进程分配资源的方式:
1)对每一个首次申请资源的进程都要测试该进程对资源的最大的需求量。如果系统现存资源可以满足他的最大需求量,就按当前申请量为分配资源。 否则推迟分配。
2)进程执行中继续申请资源时,先测试该进程已占用资源数和本次申请资源总数有没有超过最大需求量。超过就不分配。
若没有超过,再测试系统现存资源是否满足进程尚需的最大资源量,满足则按当前申请量分配,否则也推迟分配。
总之,银行家算法要保证分配资源时系统现存资源一定能满足至少一个进程所需的全部资源。
(银行家算法在操作系统的实践考试中可能会用到)
三、死锁的检测和解除(领会)
死锁的检测
就是既不打预防针,也不去避免得病,而是经常去体检,如果发现有病了就治疗。这是一种事后解决的办法,也算是解决死锁问题的一条途径。但这毕竟要付出较大代价。
重点是:分析与时间有关的错误;用PV操作实现进程的同步与互斥;用信箱实现进程通信。
一、进程的顺序性与并发性(领会)
1、进程的顺序性:任何进程在顺序的处理器上的执行是严格按照顺序进行的,每次只能执行一个操作。这就是进程的顺序性。
当一个进程独占处理器顺序执行时,具有两个特性:一、封闭性 二、可再现性。封闭性是说进程的执行结果只取决于进程本身,不受外界影响。可再现性是说当进程重复执行时,必定获得相同的结果。
2、进程的可同时执行:指一个进程没有完,另一个就可以开始。在时间上是可重叠的,我们把这个叫做进程的可同时执行。
3、进程的并发性:系统中存在一组可同时执行的进程。并发进程相互之间可能是无关的,也可能是交往的。
并发进程的执行速度取决于自身和进程调度策略。二者缺一不可,执行速度不能由自己决定。
4、与时间有关的错误 :有交往的并发进程交替使用共享资源时会出现错误,错误与时间有关,称为与时间有关的错误。其错误的根本原因是这些进程交叉使用了共享变量。
二、相关临界区
1、并发进程中与共享变量有关的程序段称为“临界区”。并发进程中涉及到相同变量的那些程序段是相关临界区。
2、对相关临界区的管理的基本要求。
对相关临界区管理的基本原则是:如果有进程在相关临界区执行,则不让另一个进程进入相关的临界区执行。
五、进程的同步(综合应用)
1、进程同步的含义:进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。
“生产者”与“消费者”是同步问题的典型例子。
这里有两个消息量:一是“缓冲器里有物品”,二是“可把物品存入缓冲器”,这两个消息量对应需要两个信号量SPut和SGet.SP的初始值为1,如果初始时可用的缓冲器为n个,则SP=n;SG的初始值为0。
生产者进程调用P(SP)和V(SG),消费者进程调用P(SG)和V(SP),根据SG和SP的值来决定是否可以存或取物。
2、正确使用PV操作实现进程同步。
(1)用一个信号量与一个消息联系起来,当信号量的值为0时表示期望的消息尚未产生,当信号量值为非0时表示期望的消息已经存在。
(2)在用PV操作实现同步时,一个信号量与一个消息量联系在一起,当有多个消息时必须定义多个信号量;测试不同的消息是否到达或发送不同消息时,应对不同的信号调用P操作或V操作。
(3)仔细领会教材中的例子,关于PV操作,在考试中出现的可能性极大,但是难度基本不超过教材上例题。见本栏的高手切磋。
3、使用PV操作实现进程同步与互斥的混合问题。
进程的同步与进程的互斥都涉及到并发进程访问共享资源的问题。可以看到进程的互斥实际上是进程同步的一种特殊情况。若干进程互斥使用资源时,一个等待使用资源的的进程在得到占用资源的进程发出“归还资源”的消息(调用了V操作)后,它就可去使用资源。因此,互斥使用资源的进程之间实际上也存在一个进程依赖另一个进程发出信息的制约关系。所以,也把进程的互斥与进程的同步称为进程的同步。
文章转载请注明来源于:汕头自考网
|
|



