Java教程

处理机管理——进程的状态

本文主要是介绍处理机管理——进程的状态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。

运行态:占有CPU,并在CPU上运行(注意:单核处理机坏境下,每一
时刻最多只有一个进程处于运行态。双核环境下可以同时有两个进程处于运行态)
就绪态:已经具备运行条件,但由于没有空闲CPU,而暂时不能运行(
进程己经拥有了除处理机之外所有需要的资源,一旦获得处理机,即可立即进入运行态开始运行。即:万事俱备,只欠CPU)
阻塞态(等待态):因等待某一事件而暂时不能运行(如:等待操作系统分配打印机、等待读磁盘操作的结果。CPU是计算机中最昂贵的部件,为了提高CPU的利用率,需要先将其他进程需要的资源分配到位,才能得到CPU的服务)
创建态:操作系统需要完成创建进程。操作系统为该进程分配所需的内存空间等系统资源,并为其创建、初始化PCB(如:为进程分配PID)
终止态:操作系统需要完成撤销进程相关的工作。完成将分配给进程的资源回收,撤销进程PCB等工作。进程运行结束(或者由于bug导致进程无法继续执行下去,比如数组越界错误),需要撤销进程。

就绪态一>运行态:进程被调度
运行态一>就绪态:时间片到,或CPU被其他高优先级的进程抢占
运行态一>阻塞态:等待系统资源分配或等待某事件发生(主动行为)
阻塞态一>就绪态:资源分配到位,等待的事件发生(被动行为)
创建态一>就绪态:系统完成创建进程相关的工作
运行态一>终止态:进程运行结束,或运行过程中遇到不可修复的销误




这篇关于处理机管理——进程的状态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!