zoukankan      html  css  js  c++  java
  • 4.状态间的六种转换情况

    • 1.运行——>就绪
      • 1,主要是进程占用CPU的时间过长,而系统分配给该进程占用CPU的时间是有限的
      • 2,在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行时,该进程就被迫让出CPU,该进程便由执行状态转变为就绪状态
    • 2.就绪——>运行
      • 运行的进程的时间片用完,调度就转到就绪队列中选择合适的进程分配CPU
    • 3.运行——>阻塞
      • 正在执行的进程因发生某等待事件而无法执行,则进程由执行状态变为阻塞状态,如发生了I/O请求
    • 4.阻塞——>就绪
      • 进程所等待的事件已经发生,就进入就绪队列

    以下两种状态是不可能发生的

    • 5.阻塞——>运行
      • 即使给阻塞进程分配CPU,也无法执行,操作系统在进行调度时不会从阻塞队列进行挑选,而是从就绪队列中选取
    • 6.就绪——>阻塞
      • 就绪态根本就没有执行,谈不上进入阻塞态

    另外一个版本

    • (1)新状态->就绪态
      • 当等待队列允许接纳新进程时,内核便把新进程移入等待队列。
    • (2)就绪态->运行态
      • 调度类选中等待队列中的某个进程,该进程进入运行态。
    • (3)运行态->睡眠态
      • 正在运行的进程因需要等待某事件(如IO等待、信号等待等)的出现而无法执行,进入睡眠态。
    • (4)睡眠态->就绪态
      • 进程所等待的事件发生了,进程就从睡眠态排入等待队列,等待下次被选中执行。
    • (5)运行态->就绪态
      • 正在执行的进程因时间片用完而被暂停执行;或者在抢占式调度方式中,高优先级进程强制抢占了正在执行的低优先级进程。
    • (6)运行态->终止态
      • 一个进程已完成或发生某种特殊事件,进程将变为终止状态。对于命令来说,一般都会返回退出状态码。

    以上引用:http://www.cnblogs.com/f-ck-need-u/p/7058920.html这位大佬

  • 相关阅读:
    开启safe_mode之后对php系统函数的影响
    解析posix与perl标准的正则表达式区别
    教你在不使用框架的情况下也能写出现代化 PHP 代码
    杭州逆行崩溃小伙首度回应
    PHP命令行脚本接收传入参数的三种方式
    PHP魔术方法使用总结
    Nginx服务器的rewrite、全局变量、重定向和防盗链相关功能
    重定向
    P2141 珠心算测验
    T2695 桶哥的问题——吃桶
  • 原文地址:https://www.cnblogs.com/lqynkdcwy/p/9570260.html
Copyright © 2011-2022 走看看