进程概念

初稿:2017-11-19 21:58:21

进程和程序的区别

进程是动态的,程序是静态的,进程是暂存的,程序是永存的;程序和进程的关系就像剧本和场幕。

进程的状态

①创建 ②静止就绪 ③就绪 ④执行 ⑤阻塞 ⑥终止【⑦挂起】任何状态都可转换成挂起状态。

创建:1,申请空白PCB  2,填写PCB  3,申请资源  。申请到除内存外的所有资源进入静止就绪状态,申请到包括内存在内的所有资源进入就绪状态。

静止就绪:进程申请到除内存以外的所有资源。进程在内存外,进入内存立刻转为就绪状态。

就绪:进程申请到除CPU以外的所有资源。仅就绪状态能被调度。

执行:单处理机最多一个进程处于执行状态。【执行状态只能由就绪状态转换】

阻塞:根据阻塞原因设置多个阻塞队列,能提高系统效率。

终止:1,中止执行。2,终止子进程。3,归还资源给父进程或系统。4,等待其他进程收集信息 5,清空并归还PCB。

进程状态的转换

创建->静止就绪/就绪,内存足够时直接转入就绪状态,不够时转入静止就绪状态。

静止就绪->就绪。【内存足够时】

就绪->执行。【调度】

执行->就绪。【时间片用完】

执行->阻塞。【临界资源,消息,等待I/O,等待任务】

阻塞->就绪。

就绪->静止就绪。【挂起原语】

执行->静止就绪。【挂起原语】

阻塞->挂起。

挂起原语造成的状态被激活成就绪或阻塞。

每当由激活的进程进入就绪队列,立刻检测该进程与当前正在执行的进程的优先级,若较高,立即切换。

额外注意点:

1,当进程处于阻塞状态,即使把处理器分配给进程,它也无法运行。

2,在时间片轮转调度中,时间片用完后,进程转换为就绪状态而非阻塞状态。

3,进程由执行状态转换成阻塞状态,是进程调用阻塞原语主动阻塞自己。阻塞状态转换成就绪状态,一般是由一个发现者进程调用激活原语激活,是被动行为。发现者进程一般是与阻塞进程相互合作的进程。

进程和PCB

进程 = PCB + 程序 + 数据

PCB是进程存在的唯一标志。

进程是分配资源和CPU调度的基本单元

PCB内的主要信息:

程序和数据的地址,资源清单,进程标识符,家族联系,进程状态,进程优先级,CPU现场保护区,进程队列指针,消息队列指针,信号量,进程等待时间和已执行时间等信息。

为什么要引入进程挂起状态?

1,终端用户发现程序异常,挂起它修改。

2,父进程挂起子进程来协调各子进程。

3,操作系统挂起进程统计资源。

4,挂起不重要的进程从而削弱系统负荷,有利于实时任务。

 

posted @ 2017-11-19 21:55  LevelIsBubble  阅读(345)  评论(0编辑  收藏  举报