Mirrorr 2014-10-06
2.1程序的执行
程序的执行分为顺序执行和并发执行。
A.程序的顺序执行
定义:一个应用程序由若干个程序段组成,每一个程序段完成特定的功能,它们执行时,都需要按照某种先后次序顺序执行,仅当前一段程序执行完后,才运行后一段程序段。
特点:1)顺序性
2)封闭性:指程序在封闭的环境下运行,即程序独占全机资源,资源的状态只有本程序才能改变它,程序一旦开始执行,其执行结果不受外界因素影响
3)可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都可获得相同的结果。
B.程序并发执行
前提:只有在不存在前趋关系的程序之间才有可能并发执行。
特点:1)间断性
2)失去封闭性:当系统中存在着多个可以并发执行的程序时,系统中的各种资源将为它们所共享,而这些资源的状态也由这些程序来改变,致使其中任一程序在运行时,其环境都必然会受到其它程序的影响
3)不可再现性
2.2进程的描述
A.进程的定义和特征
PCB(Process Control Block):为了使参与并发执行的每个程序(含数据)都能独立地运行,在操作系统中必须为之分配一个专门的数据结构,称为进程控制块。
定义:进程是进程实体(进程实体=PCB+程序+数据)的运行过程,是系统进行资源分配和调度的一个独立单位。
特征:1)动态性
2)并发性
3)独立性
4)异步性:是指进程按异步方式运行的,即按各自独立的,不可预知的速度向前推进因为进程在运行过程中能否获得处理机运行与以怎样的速度运行并不能由进程自身控制。只是因为如此才导致了传统意义上的程序若参与并发执行,会产生其结果的不可再现性。
B.进程的基本状态
创建状态:进程是由创建而产生,首先由进程申请一个空白的PCB,并向PCB中填写用于控制和管理进程的信息,然后为该进程分配运行时所必须的资源最后把该进程转入就绪状态并插入就绪队列中。
就绪状态(Ready):这是指进程已处于准备好运行的状态,即进程已分配到除CPU以为的所以必要资源后,只要再获得CPU,便可立即执行。如果系统中有许多处于就绪状态的进程,通常将它们按一定的策略排成一个队列,称 该队列为就绪队列。
执行状态(Running):这是指进程已获得CPU,其程序正在执行的状态。对任何一个时刻而言,在单处理机系统中,只有一个进程处于执行状态,而在多处理系统中,则有多个进程处于执行状态。
阻塞状态(Block):这是指正在执行的进程由于发生某时间(如I/O请求 ,申请缓冲区失败等)暂时无法继续执行时的状态,亦即进程的执行受到阻塞。通常系统将处于阻塞状态的进程也排成一个队列,成为阻塞队列。
终止状态:进程的终止也要通过两个步骤:等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还给系统
进程的五种基本状态及转换:
C.进程管理中的数据结构
为了便于对计算机中的各类资源(包括硬件和信息)的使用和管理,OS将它们抽象为相应的各种数据结构,以及提供一组对资源进行操作的命令,用户可以利用这些数据结构及操作命令来执行相关操作,而无需关心其实现的具体细节,另外一方面,操作系统作为计算机资源的管理者,尤其是为了协调多用户对系统中共享资源的使用,它还必须记录和查询各种资源的使用及各类进程的运行情况的信息。OS对这些信息的组织和维护也是通过建立和维护各种数据结构的方式来实现的。
1).操作系统中用于管理和控制的数据结构
在计算机系统中,对于每个资源和每个经常都设置了一个数据结构,用于表征其实体,我们称之为资源信息表或进程信息表。
进程表又被称为进程控制块PCB。
2)进程控制块PCB的作用。
PCB作为进程实体的一部分,记录了系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构。
PCB的组织方式: