计算机中运行程序的实体,本身不会运行,是线程的容器。进程为现今分时系统的基本运作单位。
进程是资源分配的最小单位
进程出现的原因
- 资源利用率
- 公平性
- 便利性
进程切换
为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。这种行为被称为进程切换。
- 保存处理机上下文,包括程序计数器和其他寄存器。
- 更新
PCB
信息。 - 把进程的PCB移入相应的队列,如就绪、在某事件阻塞等队列。
- 选择另一个进程执行,并更新其PCB。
- 更新内存管理的数据结构。
- 恢复处理机上下文。
进程的阻塞
正在执行的进程,由于期待的某些事件未发生,如请求系统资源失败、等待某种操作的完成、新数据尚未到达或无新工作做等,则由系统自动执行阻塞原语(Block),使自己由运行状态变为阻塞状态。可见,进程的阻塞是进程自身的一种主动行为,也因此只有处于运行态的进程(获得CPU),才可能将其转为阻塞状态
当进程进入阻塞状态,是不占用CPU资源的