计算机操作系统——进程管理
程序的顺序执行
按顺序执行
特点:
- 顺序性:
- 封闭性:程序是在封闭的环境下执行的,即程序运行时独占全机资源,资源的状态(除初始状态)只有本程序才能改变它。
- 可再现性:执行环境和初始条件相同,就可再现。
程序的并发执行
程序并发执行时具有如下特征:
间断性 :
程序在并发执行时,由于它们共享资源或为完成同一项任务而相互合作,使在并发程序之间形成了相互制约的关系。相互制约将导致并发程序具有“执行-暂停-执行”这种间断性活动规律。
失去封闭性 :
程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。
不可再现性 :
程序在并发执行时,由于失去了封闭性,也将导致失去结果的可再现性。即程序经过多次运行,虽然其各次的环境和初始条件相同,但得到的结果却各不相同。
进程的特征和定义
定义:
由于程序在并发执行时,可能会造成执行结果的不可再现,所以用“程序”这个概念已无法描述程序的并发执行,所以必须引入新的概念—进程来描述程序的并发执行,并要对进程进行必要的管理,以保证进程在并发执行时结果可再现。
进程(Process)定义:“可并发执行的程序在一个数据集合上的运行过程”。
特征:
动态性是进程的最基本特征,它是程序执行过程,它是有一定的生命期。它由创建而产生、由调度而执行,因得不到资源而暂停,并由撤消而死亡。而程序是静态的,它是存放在介质上一组有序指令的集合,无运动的含义。
并发性是进程的重要特征,同时也是OS的重要特征。并发性指多个进程实体同存于内存中,能在一段时间内同时运行。而程序是不能并发执行。
进程是一个能独立运行的基本单位,即是一个独立获得资源和独立调度的单位,而程序不能作为独立单位参加运行。
进程按各自独立的、不可预知的速度向前推进,即进程实体按异步方式进行,正是这一特征,将导致程序执行的不可再现性,因此OS必须采用某种措施来限制各进程推进序列以保证各程序间正常协调运行。
从结构上,进程实体由程序段、数据段和进程控制块三部分组成,UNIX中称为“进程映象”。
进程的三种基本状态
1、就绪状态:
一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
2、执行状态
当一个进程在处理机上运行时,则称该进程处于运行状态。
3、阻塞状态
(又称挂起状态、等待状态):一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。致使进程阻塞的典型事件有:请求I/O,申请缓冲空间。
示意图:进程的三种基本状态及其转换
参考文献:
1、主要参考《计算机操作系统》第三版 汤小丹 梁红兵等著 西安电子科技大学出版社 2007
2、很棒的一个博客,很全 https://www.cnblogs.com/leesf456/p/5413517.html
3、另一个很棒的博客:https://blog.csdn.net/xiaokang123456kao/article/details/73773474