进程的概念:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它是系统进行资源分配和调度的基本单位,是操作系统的结构的基础。
在面向当代计算机系统中,进程是线程的容器。
1.那么它与程序有什么区别呢?
1.进程是程序的执行,所以进程属于动态概念,而程序是一组指令的有序集合,属于静态概念。
2.由于进程是程序的一次运行活动,所以它是有寿命的,它的存在是短暂的,而程序却是永久存在的。
3.一个程序可以对应多个进程。
4.一个进程可以包含多个程序。因为主程序执行过程中可以调用其他程序,共同 组成“一个运行活动能够”
2.进程的状态
系统中不同的事情均可引起进程状态的变化,通常一个进程至少分为三个状态。
1.运行状态。当一个进程在处理器上运行时,称此进程处于运行状态。
2.就绪状态。当一个进程获得除开处理器外的所有资源,一旦获得处理器便可运行,称此进程为就绪状态。
3.等待状态。一个进程在等待某一个事件发生而暂停时停止运行。此时即使将cpu资源分给它也无法运行。
4.新建状态。一个进程正在被创建,还没有转到就绪之前的状态。
5.结束状态。一个进程从系统中消失时的状态,这是有进程结束或者其他原因导致的。
其中前三个是基本态。他们之间相互转换的关系如下图片:
现代操作系统通常依靠队列把相关的进程连接起来,以节省系统查找进程的时间。
具体方式如下表所示:
系统按照优先级设立几个就绪进程队列,同一优先级进程在同意队列中。系统先取出最高优先级的队列列首进程占用处理机,当时间片到来时往往重新计算优先级在将进程放回对应的就绪队列中。当要等待事件时,将其挂到相应的时间等待队列中。
3.进程的挂起和解除挂起状态
什么是挂起状态:当进程在主存上,它就处于运行、就绪或者等待状态之一。但是当进程处于等待状态时,进程所等待的事件并不能很快的到来,所以进程在短时间内不能继续运行,因此它就没必要占着宝贵的主存空间。为了是处于等待的线程释放掉主存空间,系统将其交换到辅存上,此时进程处于挂起状态。
挂起命令可由进程自己或者其他进程发出,而解除挂起命令只能由其他进程发出。
4.进程的描述
通常情况下操作系统用一个称为进程控制块PCB的数据结构来记录进程的信息。一般情况下PCB应该包含一下三类信息:
①:进程标识信息
②:处理器状态信息
③:进程控制信息