目录
-
进程的概念 进程和程序的区别 进程的状态 进程之间的同步和互斥
-
常见名词的解释 PV操作(申请、释放操作) PV操作的互斥模型 PV操作的同步模型 PV操作的应用示例
-
死锁的概念 死锁的预防和避免 银行家算法(重点)
进程
-
进程的概念
进程是程序在一个数据集合上运行的过程, 它是系统进行资源分配和调度的一个单位。它由程序块,进程控制块,和数据块三部分组成
-
进程和程序的区别
进程 程序 进程是程序执行一次的过程,没有程序就没有进程 程序是完成某个特定功能的一系列语句的集合,只要不被破坏,就永远存在 进程是一个动态概念。它由创建任务而产生,完成任务而消亡。 程序是一个静态的概念 进程是系统调用和分配资源的独立单位。而程序不是的
- 进程的状态
进程的状态分为常见的三态和五态。但是基本上还是那几个流程。从运行>等待>就绪>运行
-
进程之间的同步和互斥
同步是因为可能两个或者以的进程共同完成一个任务,而进程之间有快有慢,快的做完任务后就等着慢的一同到达终点。这叫做同步。
互斥是因为系统资源有限,造成进程之间的互相排斥,互相之间争夺资源。
PV操作
-
常见名词的简介
临界资源:诸进程之间需要互斥方式对其进行共享的资源,如打印机,磁带机等 临界区: 进程中访问临界资源的那段代码成为临界区 信号量: 是一种特殊的变量
-
PV操作
P 操作是指唤醒操作, V操作是指释放操作
-
PV操作的互斥模型
如果这个例子大家还是不好理解的话,我们可以看看里理发店这个例子。
理发师傅只有一个属于临界资源>来了一个人开始理发P(s)>后来又来了一个人只能够等待>直到前面的人剪完头发释放资源V(s)
所以我们可以看到P V操作一定是成对进行出现的
- PV操作的同步模型
-
PV操作的具体应用
例题:
像这一类的题我们应该从流程少的开始进行入手。收营员就是收款然后释放资源。这里不做过多叙述
例题
这一个例题还是比较简单的
死锁问题
-
概念
进程管理是操作系统的核心,如果设计不当,就会出现死锁的问题。如果进程一直在等待一个不可能发生的事情,就会产生死锁。就像你等一个永远不会爱生你的人一样,最后的结果只是苦了自己,感动了自己。如果一个进程或者多个进程产生死锁就会造成系统的死锁直至崩溃。
例题
简单的说如果想要不造成死锁直接给他们每个都分配满。都分配4个。一共20个肯定是不会造成死锁问题的出现的。这里也不细讲了。
- 死锁的预防和避免
有序资源分配法比较简单,就是按部就班的进行分配就行。这里我们重点讲解银行家算法
- 银行家算法
- 分配资源的准则:
例题
- 分配资源的准则: