描述程序的执行过程,是实现多任务操作系统的基础。
进程是一个可并发执行程序在一个数据集上的一次运行过程,简单地说,进程就是程序的一次运行过程。
进程是程序的一次运行过程。(动态) 程序是进程的一个组成部分,是进程的执行文本。(静态) 此外,进程与程序不是一一对应的关系,一个进程可以顺序执行多个程序,一个程序可以对应多个进程(一个程序可以被多次运行,一个程序可以同时运行(多开))
程序的各操作步骤之间是依序执行的,程序与程序之间是串行执行的,这种执行程序的方式就称为顺序执行。顺序执行是单道程序系统中的程序的运行方式。 程序的顺序执行具有如下特点:
顺序性:只有一个操作完成后才会进行下一个操作,一个程序全部执行结束才会执行下一个程序。封闭性:程序在封闭的环境中运行,即程序运行时独占全部系统资源,只有程序本身才能改变程序的运行环境,因而程序的运行结果不受外界影响,结果只由程序本身决定。可再现性:程序执行的结果与运行的时间和速度无关,结果总是可再现的,即无论何时重复执行该程序都会得到同样的结果。顺序执行的缺点:系统资源利用率很低
同时有多个程序在系统中运行,系统资源利用率大大提高。 特点:
间断性:并发程序之间相互影响而相互制约,导致程序运行过程的间断。没有封闭性:多个程序共享系统资源时,一个程序的运行可能受到其他程序的影响,其运行的过程和结果不完全由自身决定。不可再现性:由于没有了封闭性,并发程序的执行结果与执行的时间以及执行的速度有关,结果往往不可再现。并发执行的潜在问题(缺点) 容易导致程序的过程与结果受影响(同时读写文件,引发冲突)
进程三个基本状态:
就绪态:进程分到了除CPU以外的所有资源(就绪队列)运行态:进程已经获得CPU,正在运行等待态:进程中某种资源不能得到满足,或希望的某事件尚未发生而暂停执行。(等待队列)进程由程序、数据、进程控制块3个基本部分组成。 程序是进程执行的可执行代码,数据是进程所处理的对象,进程控制块用于记录有关进程的各种信息。
某个时刻的进程的执行内容(指代码和数据)
进程的档案,为管理进程而设置的一个数据结构,用于记录进程的相关信息。 PCB是进程的代表,在进程的生存期中,系统通过PCB来感知进程,了解它的活动情况,通过它对进程实施控制和调度。
PCB记录了有关进程的所有信息,主要包括:
进程描述信息:记录一个进程的标识信息和身份特征,如家族关系和归属关系等。通过这些信息可以识别该进程,了解进程的权限,以及与其他进程的关系。进程控制与调度信息:进程的运行需要由系统进行控制和调度。进程控制块记录了进程的当前状态、调度策略、优先级、时间片等信息。资源信息现场信息:包括CPU各个寄存器的值。