zoukankan      html  css  js  c++  java
  • 进程管理(四)-进程的状态以及转换

    进程的状态以及转换

    运行状态

    简要描述:该时刻实际占有着CPU

    就绪状态

    简要描述:可以运行,但是由于其他进程正在运行而暂时停止

    这种情况下,只不过是系统暂时没有把CPU分配给它而已,一旦系统将CPU分配给它,它立马就可以跑。

    阻塞状态

    简要描述:除非外部事件发生否则就不能运行

    当一个进程不能运行的时候,它就会被阻塞。典型的例子就是等待可以使用的输入。除此之外,一个理论上可以运行的进程被迫停止,由于操作系统调度另外一个进程占用了CPU。

    这种状况下进程不能运行,不管CPU闲不闲,它都运行不了,因为它缺少可以运行的条件,所以陷入等待中。

    进程状态的转换

    1.进程发现该进程由于缺少条件不能运行下去了,发生了转换一,比如等待用户输入数字来计算,用户不输入数字,根本就进行不下去,只能变成阻塞状态并陷入等待。

    2.转换2和转换3是由调度程序做的,调度程序决定哪个进程占有CPU。发生这种转换的情况是,当调度程序发现某个程序占用CPU时间有点过长了,为了让其他进程也享受到和该进程一样的待遇,会让这个进程暂时让出CPU,进而让与他地位相同的进程使用。而当所有与他地位相同的人享受并使用过CPU之后,又轮到原来的那个进程的时候,会发生转换3.

    3.当一个阻塞进程得到其继续执行的条件的时候,比如程序得到输入的时候,它会从原来的阻塞状态变为就绪状态,假如现在CPU不忙的话,立马回继续变成执行状态。

    进程模型

    操作系统的最低层是属于调度程序,在它的上面有许多的进程,所以关于中断处理、启动进程和停止进程的具体细节都隐藏在调度程序之中

  • 相关阅读:
    js delete 操作符
    js中contains()方法的了解
    绝对地址、相对地址、/、./、../之间的区别
    关于应用版本号的更迭
    js事件的绑定与移除
    js实现阶乘
    圆角和渐变
    css3用到知识点小结
    font-size:0的妙用,用于解决inline或者inline-block造成的间隙
    js怎么把数字转化为字母(A,B.....AA,AB,..)
  • 原文地址:https://www.cnblogs.com/mengxiaoleng/p/11608116.html
Copyright © 2011-2022 走看看