- 进程与程序的联系
程序是产生进程的基础,进程是程序功能的体现
程序每次运行构成不同的进程
通过多次执行,一个程序可以对应多个进程;通过调用关系,一个进程可以包含多个程序。
-
进程的特点
动态性: 可以动态创建、结束进程
并发性: 进程可以被独立调度并占用处理机运行,并发运行
独立性: 不同的进程之间工作不会互相影响
制约性: 因访问共享数据/资源 或 进程间同步而产生制约。
程序 = 算法 + 数据结构(进程控制块 Process Control Block, PCB)
-
进程控制结构
进程控制块:操作系统管理控制进程运行所用的信息集合。
操作系统用PCB来描述进程的基本情况及运行变化的过程,PCB是进程存在的唯一标志。进程的创建: 为该进程生成一个PCB
进程的终止: 回收它的PCB
进程的组织管理:通过对PCB的组织管理来实现。PCB 含有一下三大类信息:
①进程标识信息。 本进程的标识,本进程的产生者标识(父进程标识),用户标识。
②处理机状态信息保存区。 保存进程的运行现场信息。
用户可见寄存器;控制和状态寄存器(程序计数器PC/程序状态字PSW);栈指针(过程调用/系统调用/中断处理和返回时需要用到它)。
③进程的控制信息:调度和状态信息,进程间通信信息,存储管理信息,进程所用资源,有关数据结构连接信息。
-
进程状态
进程的生命周期管理:
进程创建 —>就绪 —> 运行 —> 等待 —> 唤醒 —> 进程结束①进程创建: 系统初始化; 用户请求创建一个新进程;正在运行的进程执行了创建进程的系统调用
②进程运行: 内核选择一个就绪的进程,让它占用处理机并执行
③进程等待: (进程阻塞)请求并等待系统服务,无法马上完成;启动某种操作,无法马上完成;需要的数据没有到达。
备注:进程只能自己阻塞自己,因为只有进程自身才能知道何时需要等待某种事件的发生。
④进程唤醒: 被阻塞进程需要的资源可被满足;被阻塞进程等待的事件到达;将该进程的PCB插入到就绪队列。
备注:进程只能被别的进程或者操作系统唤醒。
⑤进程结束: 正常退出;错误退出;致命错误(强制退出);被其他进程杀死(强制退出)
进程挂起: 进程再挂起状态时,意味着进程没有占用内存空间。处在挂起状态的进程映射在磁盘上。
阻塞挂起状态: 进程在外存中并等待某事件的出现。
就绪挂起状态: 进程在外存中,但只要进入了内存,即可运行。