进程管理
4.1 什么是进程
进程具有以下特性:动态性,并发性,独立性(系统中独立存在的实体)。进程是操作系统分配资源的基本单位。动态性和并发性使 进程的具有同步、互斥和死锁功能。一个程序可以对应多个进程,但一个进程只能对应一个程序。被执行的指令称为代码段。被加工的数据段称为源程序。生成的目标文件也是数据段。
进程是程序的一次执行过程。进程包括数据段和代码段,还有一个进程的控制块PCB。
4.2 进程状态变迁
就绪(Ready)状态:准备运行(运行所需要的资源都已经满足,就等CPU来运行)。
阻塞(Blocked)状态:因为等待I/O,或其他事件,处于暂停的状态。
运行状态:CPU执行进程的过程。
4.3 进程的组成
PCB结构——进程控制块是进程存在的唯一的标记,PCB是一个数据结构。记录进程的全部信息(进程名,标识符等信息)。
正文段(代码段)——记录进程的代码。
数据段——进程的数据。
PCB通过指针指向数据段和代码段。
4.3.1 进程控制块
一个进程只有一个PCB,PCB是进程存在与否的唯一标记。
描述信息:进程名字,标识符(PID),用户组号和用户号反映进程家族关系。
管理信息:管理进程的状态、优先级(为调度所用)、正文段、数据段。
资源清单:包括主存量,外设,优先级等
现场保护区:保护进程的上下文。
其他:包含一些其他信息(例如指向下一个PCB链接指针)。
4.3.2 实例
UNIX系统中,把proc结构,正文段和数据段称为进程映像。所以定义UNIX的进程为进程映像的执行过程。