今天学习了操作系统的进程管理,进程是操作系统最核心的概念,可见它的重中之重。感觉进程就像过日子一样,例如进程同步就像上火车的厕所,进程就是按照自己的生活计划,然后执行,执行过程中可能会出现的情况,是一条道走到黑,还是合理利用,使自己的资源实现最大化,让自己过得更加丰富。
下面我们用一张思维导图为线索来介绍进程的管理
What进程?
概念:1.是允许并发执行的程序在某个数据集合上运行的过程。
2.是由正文段、用户数据段、及进程控住块共同组成的执行环境。
一句话概括:进程=程序+执行
Why什么会存在进程?
解决程序执行的不可再现性
不可再现性:同一个程序多次运行,得出的结果不同。
进程的特征:并发性、独立性、动态性、异步性、结构特征
并发性:统一时间间隔内多个程序同时运行。
独立性:独立运行、独立调度、独立分配资源
动态性:实体的一次执行过程有生命周期。然而程序就是一点有序指令的集合,是静态的。
异步性:走走停停,一会运行程序A,一会运行B,一会又运行A。
结构特征:PCB+程序+数据=进程实体
进程控制块(PCB):标志进程存在,记录进程的有关信息
进程的状态:就绪态、执行态、阻塞态
进程分为三个状态:就绪态、执行态、阻塞态
执行态:CPU正在运行的状态
就绪态:一旦获得CPU就可以运行的状态。
一句话总结;完事具备,只欠东风(CPU)
阻塞态:进程等待资源或某个事件的发生而暂停的状态。
状态间转换:
阻塞态—就绪态(唤醒过程)
执行态—就绪态(因为是分时操作,当时间片用完,执行态回到就绪态等在再次执行)
执行态—阻塞态(阻塞过程:运行中申请资源,不宜让CPU等待)
进程的管理:进程控制、进程同步
进程的控制(思维导图很详细)
一句话总结:就是进程的状态转换的过程
进程的同步(火车上厕所)
临界资源:只允许一个资源访问,例如:打印机
进程准则:空闲让进、忙则等待、有限等待、让权等待
简单来说:思考火车上上厕所的过程
信号量机制:整型信号量、记录型信号量、AND型信号量、信号量集
整型信号量:共享资源的状态,且只能由特殊原子操作改变的整型量。
缺点:S是可用资源的数目,那么S = 0,表示已经没有资源可用了。在整型信号量中,只要S <= 0,就会不断测试,看何时有资源可用。也因此,进程会一直等,不遵循让权等待的原则。
S的边界:S > 0和S < 0
个人理解:整型信号量里面存在资源数目S,P操作将减少一个资源,V操作将增加一个资源。释放一个整体的资源,就用一个整体的资源。P操作就是说自己干完了,V操作摆出胜利的姿势说我可以拥有资源了。
记录型信号量:在整型信号量的基础之上,我们增加一个就绪对列,不就是记录型信号量了么
个人理解:记录型信号量里面引用了value和整型信号量的S含义相同,都表示可用的资源数目。链表L表示的是就绪队列,核心依旧是PV操作,只不过如何对待进程,记录型信号量的做法更加完善。解决了让进程忙等的现象。
我们知道P操作是减量操作,V操作是增量操作
V操作边界:s.value <= 0.
s.value = 0时,是由s.value = -1时候执行V操作来的,当s.value = 0了,还能把最后一个进程移出就绪队。
s.value<=0时,绝对值表示的是等待进程的数目。
关于信号量机制的题建议大家详细了解,目前看着不是很简单!