五、进程的概念
为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,我们引入了进程的概念。
PCB(Process Control Block):进程控制块(给每个程序配置的一个专门的数据结构)
进程实体(进程):有程序段,相关数据段和PCB组成
创建进程:创建进程实体中的PCB
撤销进程:撤销进程中的PCB
PCB是进程存在的唯一标志
进程是程序的一次执行
进程是一个程序及其数据在处理机上顺序执行时所发生的活动
进车给是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
进程的特征:
- 动态性:进程的实质是进程实体的执行过程,因此动态性就是进程的最基本的特征。表现在“它由创建而产生,由调度而执行,由撤销而消亡“进程实体有一定的生命期,而程序则只是一组有序指令的集合,并存放于某种介质上,其本身并不具有活动的含义,因而是静态的。
- 并发行:多个进程实体同时存于内存中,而且在一段时间内能同时运行。
- 独立性:进程实体是一个能独立运行、独立获得资源和接受调度的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行
- 异步性:由于进程的相互制约,使进程具有执行的间断性。即进程按照各自独立的、不可预知的速度向前推进。异步性会导致执行结果的不可再现性,为此,在操作系统中必须配置相应的进程同步机制。
- 进程的三种基本状态
- 执行状态:进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。
- 就绪状态:当进程已分配到除CPU以外的所有必要的资源后,只要能再获得处理机便可立即执行,这时的状态称为就绪状态。一般按照一定的策略(如优先级策略),排成一个就绪队列。
- 阻塞状态:进程因发生某种事件(如I/O请求、申请缓冲空间等)而暂停执行时的状态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等待”状态或“睡眠”状态。会根据堵塞的原因不同,会设置多个堵塞队列。
操作系统设计了一套进程管理程序,负责对进程进行管理。
- 创建状态和终止状态
进程正在被创建,尚未转到就绪状态。创建进程通常需要多个步骤:
首先申请一个空白的PCB,并向PCB中填写一些控制和管理进程的信息。然后由系统为该进程分配运行时所需的资源。最后把该进程转入到就绪状态。
结束状态:进程正从系统中消失,可能是进程正常结束或其他原因中断退出运行。
当进程需要结束运行时,系统首先必须置该进程为结束状态,然后再进一步处理资源释放和回收等工作。