计算机操作系统(7):进程的基本概念

2.1  进程的基本概念

  1. 程序的顺序执行及其特征
  2. 程序的并发执行及其特征
  3. 进程的特征与状态
  4. 进程控制块

2.1.1  程序的顺序执行及其特征

顺序执行包含两层含义:

  1. 在单道批处理系统中,对于多个用户程序来说,所有程序是依次执行的。(外部顺序性)
  2. 对于一个程序来说,在若干个程序段之间,必须按照某种先后次序顺序执行;对同一个程序段中的多条指令,也是按某种顺序执行的。(内部顺序性)

程序的顺序执行主要是指第一种,即各个程序依次执行

  1. 程序顺序执行的特征

计算机操作系统(7):进程的基本概念

2.1.3  程序的并发执行及其特征

程序的并发执行包括两层含义

  1. 对于一个程序来说,它的所有指令是按序执行的。(内部顺序性)
  2. 对于多个执行中的程序(进程)来说,所有进程是交叉执行的。(外部并发性)

程序并发执行的特征

计算机操作系统(7):进程的基本概念

3)不可再现性——与时间有关的错误  

 

计算机操作系统(7):进程的基本概念

2.1.4  进程的特征与状态

1.进程的定义和特征

进程是程序在一个数据集上的运行过程,是系统进行资源分配和调度的一个独立单位。 (传统OS中对进程的定义)

进程的特征

  1. 结构特征

程序段、相关的数据段、PCB三部分构成了进程实体。

  1. 动态性

进程的实质是进程实体的一次执行过程,故动态性是进程的最基本特征

  1. 并发性

这是指多个进程实体同存于内存中,且能在一段时间内同时运行

  1. 独立性

在传统的OS中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

  1. 异步性

是指进程按各自独立的、不可预知的速度向前推进,或说进程实体按异步方式运行。

2.  进程的三种基本状态

1)就绪(Ready)状态:

当进程已分配到除CPU以外的所有资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。

2)执行(Running)状态:

进程已获得CPU,其程序正在执行

3)阻塞(Blocked)状态:

正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态(或等待状态)。

进程的三种基本状态的转换:

引起进程状态转换的典型事件:

进程调度:就绪态®执行态

时间片完:执行态®就绪态

请求I/O:执行态®阻塞态

I/O完成:阻塞态®就绪态  

计算机操作系统(7):进程的基本概念

挂起状态:

  1. 引入挂起状态的原因:

 

计算机操作系统(7):进程的基本概念

  1. 具有挂起状态系统的进程状态的转换

计算机操作系统(7):进程的基本概念

2.1.5  进程控制块(PCB)

为了描述和控制进程的运行,系统为每个进程定义了一个数据结构——进程控制块。

进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构

  1. PCB作用

使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发进程进行控制和管理的。

例如:进程调度;现场保护和恢复;进程同步和通信。

2.进程控制块中的信息

PCB中记录了操作系统所需的、用于描述进程当前情况以及控制进程运行的全部信息。具体包括下述四方面的信息:

  1. 进程标识符

内部标识符(进程号);外部标识符(名);

父进程标识及子进程标识;用户标识

  1. 处理机状态

处理机状态信息主要由处理机的各种寄存器中的内容组成的。寄存器包括:通用寄存器、指令计数器、程序状态字(PSW)寄存器、用户栈指针。(保护、恢复现场)

当处理机被中断时,这些信息都必须保存到PCB中,以便该进程重新执行时,能从断点继续执行。

3)进程调度信息:

在PCB中还存放一些与进程调度和进程对换有关的信息。包括:

  • 进程状态——作为调度和对换时的依据。
  • 进程优先级——由于描述进程使用处理机的优先级别的一个整数,优先级高的进程优先获得处理机。
  • 进程调度所需的其它信息——它们与所采用的进程调度算法有关。……
  • 事件——即阻塞原因。
  1. 进程控制信息

程序和数据的地址——指程序和数据所在的内存或外存首地址;

进程同步和通信机制——如信号量、消息队列指针等,它们可能全部或部分地存放在PCB中;

资源清单——是一张列出了除CPU外的、进程所需的全部资源及已经分配到该进程的资源的清单;

链接指针——它给出本进程(PCB)所在队列中下一个进程的PCB的首址。

3.进程控制块的组织方式

常用的组织方式有两种:链接方式和索引方式

计算机操作系统(7):进程的基本概念

 2)索引方式:

计算机操作系统(7):进程的基本概念