zoukankan      html  css  js  c++  java
  • 进程调度

    进程的基本状态

    • 等待态或称阻塞态(等待某个事件的完成)
    • 就绪态(等待系统分配处理器以便运行)
    • 运行态(占有处理器正在运行)

    状态转换

    1. 运行态→阻塞态 往往是由于等待外设,主存等资源分配或等待人工干预而引起的。
    2. 阻塞态→就绪态 则是等待的条件已满足,只需分配到处理器后就能运行。
    3. 运行态→就绪态 不是由于自身原因,而是由外界原因使运行状态的进程让出处理器这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。
    4. 就绪态→运行态 系统按某种策略选中就绪队列中的进程占用处理器,变成运行态

    不会发生: 阻塞态‐>运行态(运行态是从就绪队列中取值),就绪态‐>阻塞态

    进程调度是指按照一定的策略选择—个处于就绪状态的进程,使其获得处理机执行。
    下面情况中需要进行进程调度

    1. 正在执行的进程执行完毕。如不选择新的就绪进程,将浪费处理机资源。
    2. 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态。
    3. 执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了v原语操作激活了等待资源的进程队列。
    4. 执行中进程提出I/O请求后被阻塞。
    5. 在分时系统中时间片已经用完。
    6. 在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。
    7. 就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。

    进程调度算法

    • 先进先出算法
    • 短进程优先算法
    • 轮转法
    • 多级反馈队列
  • 相关阅读:
    未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序
    GridView选中行变色
    GridView 添加/删除行
    Session、Cookie、Application、ViewState和Cache 这四者的区别
    后台动态给textbox的字体颜色赋值
    JS来判断文本框内容改变事件
    gridview JS控件赋值后如何取值
    c#如何把8位字符串转换成日期格式
    从今天起,热爱生活
    杂得得杂
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/3603100.html
Copyright © 2011-2022 走看看