1:进程模型
由于PC机只有一个程序计数器,在任何时候单CPU只有单个进程,所以从物理层面上见所有进程共用一个程序计数器
但是进程切换时,原进程回到原执行位置,接着执行,从这个角度上看每个进程有自己的程序计数器
2:多道编程的好处
提高CPU利用效率,响应时间改善
3:进城的消亡
寿终:进程运行完成而退出
自杀:进程因错误而自动退出
他杀:进程被其他进程所终止
处决:进程因异常而终止
4:进程的状态转换(转http://www.tantengvip.com/2011/10/state/)
三种状态:执行态,就绪态,阻塞态
就绪态:
进程已经分配到除CPU以外所有必要的资源,只要获得CPU权限后便能立即执行
执行态:
程序正在CPU上执行
阻塞态:
等待某个事件的发生而无法执行,放弃CPU处于阻塞状态
1):就绪态——>执行态
进程调度进程获得CPU资源后就绪态转化为执行态
2):执行态——>就绪态
时间片轮训等调度方法,由执行态进入就绪态
3):执行态——>阻塞态
正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态
4):阻塞态——>就绪态
处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态
5:进程管理是由操作系统实现的,主要目标是极小化响应时间,极大化系统吞吐率也就是工作效率。进程调度通过一些算法实现。主要有先来先服务算法,时间片轮转法,短任务优先算法,以及优先级调度算法。
6:linux进程调度浅析
Pastedfrom <http://hi.baidu.com/_kouu/item/38c81042455c97d2c1a592d9>
7:优先级
优先级反转
低优先级进程(1)有高优先级进程(2)需要的数据,另一个优先级在前两个优先级之间的进程(3)就会首先执行,发生了优先级反转。
优先级反转一般两种情况:
1):不持有资源低优先级阻碍高优先级进程运行:(3)进程阻碍(2)进程
2):持有资源的低优先级进程阻碍高优先级进程运行:(1)阻碍(2)进程
对于1)情况,可以通过计入临界段的方式解决,即屏蔽中断
对于2)情况,可以通过优先级继承的方式解决