3.1 进程的基本概念
3.1.1程序的顺序与并发执行
1、程序的顺序执行及其特征
把一个具有独立功能的程序段独占处理机,以此执行其每条语句,直至得到最终结果的过程称为程序的顺序执行。
程序的顺序执行特征:
顺序性、封闭性、可再现性
程序顺序执行使得程序独占系统的所有资源,程序的顺序执行导致系统资源的严重浪费。
2、多道程序执行环境及其特点
多道程序:
引入目的:提高资源的利用率;
定义:内存中同时存在多个程序,分别占有或轮流使用系统中的不同资源。
优势:不但提高了系统资源的利用率,系统的处理能力也得到了增强。
多道程序系统引起了程序执行环境的变化,这种执行环境一般称为多道程序执行环境。
多道程序执行环境的特点:
独立性、随机性、资源共享性。
进程的引入:
1、为了控制和协调各程序段在执行过程中对资源的共享和竞争,应该确定一个描述各个程序段执行过程个共享资源的基本单位。
2、程序的静态性、独立性及其执行的顺序性,无法反应操作系统所应具有的程序执行的并发性和随机性和资源共享性等特征。
3.1.2 进程的定义及特征
1、进程的定义
进程:是程序的一次执行过程,它可以和其他进程并发执行。
进程是具有一定独立功能程序关于一个数据集合的一次运作过程
进程的分类:
用户进程:完成用户功能的进程
系统进程:完成操作系统功能的进程。
进程和程序的区别:
(1)程序是静态的概念;进程是动态的概念。
(2)进程具有并发特征,而程序没有。
(3)程序是进程的一个组成部分;程序,数据集和进程控制块组成了进程实体。
(4)同一个程序可以对应多个进程,但所操作的数据集不同,即同一程序段在不同的数据集上运行可以构成不同的进程。
进程和作业的区别:
(1)作业为静态的;进程是动态的。
(2)一个作业至少由一个或多个进程组成,但反过来不成立。
(3)作业的概念主要用于批处理中,而进程几乎用于所有的多道系统中。
2、进程的特征
动态性、并发性、独立性、异步性、结构性、相关性
3.2 进程的描述
3.2.1进程的组成:
1、进程控制块(PCB)
2、有关程序段
3、相应的数据结构集
纯过程:或纯代码,可再入程序,指能被多个进程共享的程序段,代码不因程序的执行而改变。
它的主要作用:可被多个进程共享,能被多个用户同时调用。
3.2.2进程控制块
1、系统为每个进程定义的一个数据结构;
2、根据PCB感知进程的存在,并进行有效地控制和管理。
3、PCB是进程存在的唯一标志
4、系统创建新进程的过程就是建立一个PCB的过程
5、进程运行结束,系统就回收PCB,进程随之消亡
6、常将PCB中常用的部分常驻内存,其他部分放在外存
7、PCB组成若干个链表或队列,存放在专门开辟的区内
PCB包括的主要信息:
标识信息、处理机状态、调度信息、控制信息
3.2.3进程上下文与进程上下文切换
1、进程上下文
进程上下文:是进程的物理实体与支持进程执行的物理环境的合称。
上文:把已执行过的进程指令和数据在相关寄存器与堆栈中的内容;
正文:把正在执行过的进程指令和数据在相关寄存器与堆栈中的内容;
下文:把带执行过的进程指令和数据在相关寄存器与堆栈中的内容。
进程上下文就是有上文、正文和下文构成。
2、进程上下文切换
进程上下文切换发生在不同的进程之间而不是同一个进程内。
3.2.4进程空间
3.3 进程的状态及其转换
进程的基本状态
就绪状态:进程已获得除了CPU以外的所有资源
执行状态:以获得CPU,并正在执行
阻塞状态:除XPU之外,还有资源没有得到
进程三个基本状态之间的转换
挂起状态:把处于阻塞状态(或就绪状态)的进程暂时交换到外存时的状态。
挂起状态:外存阻塞状态:静止阻塞状态
外存就绪状态:静止就绪状态
把进程在内存中的阻塞状态和就绪状态分别称为活动阻塞态和活动就绪状态。
3.4 进程控制
进程控制作用:
完成特定功能:使用一些具有特定功能的程序段来创建、撤销进程以完成各状态间的转换,从而达到多个进程高效、并发、协调执行以及实现资源共享目的
提高安全性:为了保护系统的关键数据不被破环,系统根据进程的性质限制其对系统资源的访问权限,以保证系统安全,可靠地运行。
3.4.1 原语
原语:在系统态下执行地某些具有特定功能的程序段。
原语可分成两类:
(1)机器指定级的,在其执行过程中不能被中断;
(2)功能级的,作为原语的程序段不允许并发执行。
引入源于的目的:为了可靠地实现进程的通信和控制。
原语的运行:运行在系统态下,呗高层软件所调用。
为了保证进程执行结果的封闭性和可再现性,通常把用作进程控制的程序段作为原语。
3.4.2 进程的创建与撤销
1、进程的创建
引起进程创建的事件主要有
用户登录、作业调度、提供服务、应用请求
进程创建方式: | 由系统程序模块统一创建。这些由系统统一创建的进程 间的关系是平等的。 由父进程创建。子进程隶属于父进程。 |
2、进程的撤销
引起进程终止事件主要:正常结束、异常结束、外界干预
导致异常事件发生的情况主要有:
越界错误 | 保护错 | 非法指令 | 特权指令错 | 执行超时 | 等待超时 | 算数运算错 | I/O故障 |
外界干预是指进程应外界的请求而终止进程执行,撤销该进程。
主要干预 | 操作员或操作系统干预 |
父进程请求 | |
父进程终止 |
3.4.3 进程的阻塞与唤醒
1、引起进程阻塞和唤醒的事件
引起进程阻塞或唤醒的事件主要有: | 请求系统服务 |
启动某种操作 | |
新数据尚未到达 | |
无新工作可做 |
2、进程阻塞过程
3.5 线程