zoukankan      html  css  js  c++  java
  • 进程的状态与转换

    进程的状态与转换

    知识总览

    进程的状态--三种基本状态

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

    三种基本状态 运行态、就绪态、阻塞态

    运行态 占有CPU,并在CPU上运行

    就绪态 已经具备运行条件,但由于没有空闲CPU,暂时不能运行

    阻塞态 因等待某一事件而暂时不能运行

    注意:单核处理机环境下,每一时刻最多只有一个进程处于运行态(双核环境下可以同时有两个进程处于运行态)

    就绪态 万事具备 只欠CPU

    进程的状态--另外两种状态

    另外两种状态 创建态、终止态

    创建态 进程正在被创建,操作系统为进程分配资源、初始化PCB

    终止态 进程正在从系统中撤销,操作系统会回收进程拥有的资源、撤销PCB

    进程状态的转换

    运行态到阻塞态是一种进程自身做出的主动行为

    阻塞态到就绪态不是进程自身能控制的,是一种被动行为

    注意:不能由阻塞态转换到运行态 也不能由就绪态转换到阻塞态

    终止态 进程运行结束,或运行过程中遇到不可修复的错误

    知识回顾

    进程的状态 运行状态 有CPU、有其他所需资源

                       就绪状态 有其他所需资源、无CPU

                       阻塞状态 无CPU、无其他所需资源

                       创建状态 操作系统为新进程分配资源、创建PCB

                       终止状态 操作系统回收进程的资源、撤销PCB

    进程状态的转换 就绪态-->运行态 进程被调度

                             运行态-->就绪态 时间片到,或CPU被其他高优先级的进程抢占

                             运行态-->阻塞态 等待系统资源分配,或等待某事件发生(主动行为)

                             阻塞态-->就绪态 资源分配到位,等待的事件发生(被动行为)

                             创建态-->就绪态 系统完成创建进程相关的工作

                             运行态-->终止态 进程运行结束,或运行过程中遇到不可修复的错误

  • 相关阅读:
    常用算法解析-动态规划
    转载-通过ApplicationContext 去获取所有的Bean
    什么是crud?
    new 关键字 和 newInstance() 方法的 区别
    Java反射简单使用--第一次细致阅读底层代码
    动态创建管理定时任务-已完成
    springboot mail整合freemark实现动态生成模板
    20190930开始记录每天学习状态,更新至20200125结束
    hibernate的对象/关系映射结果为空,exists查不到值的问题-20190823
    转载-Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast
  • 原文地址:https://www.cnblogs.com/mayrain/p/12389298.html
Copyright © 2011-2022 走看看