进程调度
2016-02-24 21:28
274 查看
进程是操作系统为了控制多个程序而创建的数据,操作系统是通过修改进程的状态来完成对相应程序的控制,用户程序的一些操作也可以修改一些进程的状态。那么进程的状态都有哪些呢?状态之间是如何装换的呢?
进程三态状态装换图
注意:创建和退出不是进程的状态。创建操作不做重点解释。阻塞也叫等待,和就绪的区别:等待是等待除CPU以外的资源,而就绪等待的是CPU资源。
用户发出命令,我要运行这个程序,然后,操作系统会就会创建进程,并为它分配资源(主要是内存空间),进程创建成功,此时把该进程插入到就绪队列中,进程的就绪状态的意思是,告诉操作系统我现在可以执行了,给我CPU让我运行吧; 操作系统的一个程序给就绪队列中的进程分配一定的时间让他们轮流占用CPU资源,一个就绪进程得到CPU资源后,就变成了运行状态; CPU执行某进程中的指令要求调用某一资源时,且该资源别的进程正在用,那么操作系统的这个程序会把该进程的状态变为阻塞状态,例如:指令要求用打印机,但是打印机正在打印东西,无法现在用,那么,操作系统会修改该进程的状态,并把他由就绪队列变为阻塞队列中; 当那个进程中的事件请求完成,操作系统的一个程序会把该进程的状态就会由阻塞状态变为就绪状态,然后循环; 当进程的程序正常运行结束后(可以指程序自动的关闭,也可以指用户正常关闭),进程中有一些事后处理的指令,会把队列中记录去掉。
进程五态状态装换图
注意:在进程的五态图中引入了挂起和激活的操作,另外,进程创建时可以先到静止就绪(主要是内存资源不足),其他的和三态图的操作一样。
挂起:把该进程从内存中搬到外存上。
激活:又叫唤醒或恢复,操作是一样的,只是叫法不一样而已,该操作是把外存上的某个进程弄到内存上。
为什么要引入挂起和激活操作呢?
1、用户的需要。用户调试一个程序的时候,运行该程序一多半了,但是,忽然发现该程序此时有Bug,用户想停下来修改,但是修改后,用户又不想从头开始运行该程序,此为一因。
2、操作系统的需要。操作系统管理着资源的分配,它无法忍受那些占着资源而不运行的程序,另外,这些进程也会妨碍系统的运行速度,此为一因。等等。
进程三态状态装换图
注意:创建和退出不是进程的状态。创建操作不做重点解释。阻塞也叫等待,和就绪的区别:等待是等待除CPU以外的资源,而就绪等待的是CPU资源。
用户发出命令,我要运行这个程序,然后,操作系统会就会创建进程,并为它分配资源(主要是内存空间),进程创建成功,此时把该进程插入到就绪队列中,进程的就绪状态的意思是,告诉操作系统我现在可以执行了,给我CPU让我运行吧; 操作系统的一个程序给就绪队列中的进程分配一定的时间让他们轮流占用CPU资源,一个就绪进程得到CPU资源后,就变成了运行状态; CPU执行某进程中的指令要求调用某一资源时,且该资源别的进程正在用,那么操作系统的这个程序会把该进程的状态变为阻塞状态,例如:指令要求用打印机,但是打印机正在打印东西,无法现在用,那么,操作系统会修改该进程的状态,并把他由就绪队列变为阻塞队列中; 当那个进程中的事件请求完成,操作系统的一个程序会把该进程的状态就会由阻塞状态变为就绪状态,然后循环; 当进程的程序正常运行结束后(可以指程序自动的关闭,也可以指用户正常关闭),进程中有一些事后处理的指令,会把队列中记录去掉。
进程五态状态装换图
注意:在进程的五态图中引入了挂起和激活的操作,另外,进程创建时可以先到静止就绪(主要是内存资源不足),其他的和三态图的操作一样。
挂起:把该进程从内存中搬到外存上。
激活:又叫唤醒或恢复,操作是一样的,只是叫法不一样而已,该操作是把外存上的某个进程弄到内存上。
为什么要引入挂起和激活操作呢?
1、用户的需要。用户调试一个程序的时候,运行该程序一多半了,但是,忽然发现该程序此时有Bug,用户想停下来修改,但是修改后,用户又不想从头开始运行该程序,此为一因。
2、操作系统的需要。操作系统管理着资源的分配,它无法忍受那些占着资源而不运行的程序,另外,这些进程也会妨碍系统的运行速度,此为一因。等等。
相关文章推荐
- BP神经网络的非线性曲线拟合和预测(未完)
- ApplyPay简单测试(二)
- java内部类面试题接口编程题
- 8张图带你深入理解Java
- org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。
- atititi.soa 微服务 区别 联系 优缺点.doc
- g++ -std=c++11 -g -o test emit_log_direct.cpp
- atititi.soa 微服务 区别 联系 优缺点.doc
- 1040. Longest Symmetric String (25)
- 时间同步服务器地址
- centos6.5下安装lnmp环境(nginx+linux+mysql+php)[yum安装]
- 两种Makefile
- atititi.soa 微服务 区别 联系 优缺点.doc
- 大端小端法
- Hadoop入门进阶步步高(一)-环境准备
- Butterknife 无法找到资源的问题
- [无异常,才正常]关于ConcurrentModificationException异常
- userService 用户 会员 系统设计 v2 q224 .doc
- userService 用户 会员 系统设计 v2 q224 .doc
- JAVA_继承演示02_ExtendsDeamo01.java super关键字