操作系统之进程管理(一)

一、程序

程序:程序是指令和数据的集合,可以作为目标文件保存在磁盘中,或者作为段存放在内存地址空间中;

1、程序的顺序执行(单道批处理系统):先进入内存的程序先执行,在一个程序执行完毕之前,不能执行其他程序。

操作系统之进程管理(一)_第1张图片

特点: 

  1. 顺序性 :先进入内存的程序先执行
  2. 封闭性 :程序一但开始执行,则系统中的资源只为他服务,不受外界因素影响,其计算结果就取决于程序本身
  3. 可再现性:无论程序重复执行多次时,必将得到相同结果.

2、程序的并发执行(多道批处理系统):

  • 含义:程序并发执行是指在同一时间间隔内运行多个程序。一个程序执行结束前,可以运行其他程序
  • 宏观并行:用户看到多个程序同时向前推进
  • 微观串行:任意时刻一个CPU上只有一个程序在执行

并发执行的特点:

  1. 间断性:程序在CPU上执行时,是时断时续的,操作系统中的进程轮流占用CPU的时间片
  2. 失去封闭性:并发执行时,系统中的各资源将为所有程序共享,系统的状态不再只对正在执行的程序可见;
  3. 不可再现性:同一个程序在输入相同的情况下多次运行,可能出现不同的结果

二、进程

进程:进程是程序运行的一个具体的实例,是程序在某个数据集合上的运行过程,是动态的。

进程包含的内容:

  1. 正文段:存放被执行的机器指令
  2. 用户数据段:存放用户数据
  3. 进程控制块:存放进程的运行环境

进程的特征:

  1. 并发性:多个进程实体能在一段时间间隔内同时运行,并发性是进程和现代操作系统的重要特征
  2. 动态性:进程是程序的执行过程;执行程序—>创建进程,获得CPU—>执行指令,运行中止—>被撤销
  3. 独立性:独立运行和资源调度的基本单位(在没有引入线程之前);
  4. 异步性:进程的执行时断时续,何时执行、何时暂停都无法预知
  5. 结构特征:进程实体包括用户正文段 、 用户数据段 和 进程控制块

进程与程序的关系:

  1. 进程是程序的的一次执行
  2. 一个程序可以对应多个进程
  3. 同一个程序可以在不同的数据集合上运行,构成不同的进程

三、进程控制块(PCB)

定义:进程控制块是进程实体的一部分,是操作系统中最重要的数据结构;进程控制块中记录了操作系统所需要的、用于描述进程及控制进程运行所需的全部信息

进程控制块的内容:

1、进程标识符信息:进程标识符用于唯一地标识一个进程

2、处理机状态信息:主要是由处理机的各种寄存器中的内容组成的,处理机被中断时,所有这些信息都必须保存在PCB中,以便在该进程重新执行时,能从断点继续执行。

  • 通用寄存器:又称为用户可视寄存器,可被用户程序访问,用于暂存信息。
  • 指令计数器:就是程序计数器PC
  • 程序状态字PSW:又称状态寄存器,主要用于反映处理器的状态及某些计算结果以及控制指令的执行
  • 用户栈指针:每个用户进程有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。

3、进程调度信息:包括进程状态信息(进程调度和对换时的依据)、进程优先级和进程调度所需的其他信息
4、进程控制信息:

  • 程序和数据的地址;
  • 进程同步和通信机制:指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;
  • 资源清单:即一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;
  • 链接指针:它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。

四、进程的状态

操作系统之进程管理(一)_第2张图片

按进程在执行过程中的不同情况至少要定义三种状态:

  1. 运行态:进程占有处理器正在运行的状态;进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。
  2. 就绪态:进程具备运行条件,等待系统分配处理器以便运行的状态;当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。正在运行的进程,如果失去CPU资源,也会进入就绪态
  3. 阻塞态:指进程不具备运行条件,正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。

 

你可能感兴趣的:(操作系统,程序设计,操作系统,多进程,pcb)