zoukankan      html  css  js  c++  java
  • 进程的三状态-进程的调度算法

    一、进程的三状态

    1、等待态(阻塞):等待某个事件的完成;

    2、就绪态(就绪):等待系统分配处理器以便运行;

    3、运行态(运行):占有处理器正在运行;

    运行态——>等待态:往往是由于等待外设,等待资源分配或等待人工干预而引起的。

    等待态——>就绪态:则是等待的条件已满足,只需要分配到处理器后就能运行。

    就绪态——>运行态:系统按照某种策略选中就绪队列中的一个进程占用处理器,测试就变成了运行态。

    就绪 —操作系统调度—> 运行 —遇到IO操作—> 阻塞 —阻塞状态结束—> 就绪

    二、进程的调度算法

    给所有的进程分配资源或者分配CPU使用权的一种方法

    1、先来先服务:

    先来先服务调度算法是一种最简单的调度算法,也称为先进先出或严格排队方案。当每个进程就绪后,它加入就绪队列。当前正运行的进程停止执行,选择在就绪队列中存在时间最长的进程运行。

    2、时间片轮转:

    时间片轮转调度算法主要适用于分时系统。在这种算法中,系统将所有就绪进程按到达时间的先后次序排成一个队列,按一定的时间间隔运行队列中的进程。这样,就绪队列中所有进程均可获得一个时间片的运行。

    3、短作业优先调度:

    短作业优先调度算法是指对短作业优先调度的算法,从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行,短作业优先调度算法是一个非抢占策略,他的原则是下一次选择预计处理时间最短的进程,因此短进程将会越过长作业,跳至队列头。

    4、最短剩余时间优先:

    最短剩余时间是针对最短进程优先增加了抢占机制的版本。在这种情况下,进程调度总是选择预期剩余时间最短的进程。像最短进程优先一样,调度程序正在执行选择函数是必须有关于处理时间的估计,并且存在长进程饥饿的危险。

    5、高响应比优先:

    根据比率:R=(w+s)/s (R为响应比,w为等待处理的时间,s为预计的服务时间)

    在每次进行作业调度时,先计算后备作业队列中每个作业的响应比,从中选出响应比最高的作业投入运行。

    6、多级反馈:

    多个任务队列,优先级从高到低

    新来的任务总是优先级最高的

    每一个新任务几乎会立即获得一个时间片时间

    执行完一个时间片之后就会降到下一级队列中

    总是优先级高的任务都执行完才执行优先级低的队列

    并且优先级越高时间片越短

    学习之旅
  • 相关阅读:
    【机器学习】机器学习12个关键经验教训
    【机器学习】24个终极项目提升您的机器学习知识和技能
    2018-12-21-WPF-弹出-popup-里面的-TextBox-无法输入汉字
    2019-10-31-C#-dotnet-获取整个局域网的-ip-地址
    2018-11-26-win10-uwp-获取窗口的坐标和宽度高度
    2019-5-21-dotnet-core-使用-CoreRT-将程序编译为-Native-程序
    2019-5-21-Roslyn-使用-Directory.Build.props-管理多个项目配置
    2019-2-26-SublimeText-快速打开当前文件的文件夹
    2019-2-18-VisualStudio-给项目添加特殊的-Nuget-的链接
    2019-8-31-dotnet-如何在-Mock-模拟-Func-判断调用次数
  • 原文地址:https://www.cnblogs.com/XiaoYang-sir/p/14790758.html
Copyright © 2011-2022 走看看