• 进程的三状态-进程的调度算法


    一、进程的三状态

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

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

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

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

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

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

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

    二、进程的调度算法

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

    1、先来先服务:

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

    2、时间片轮转:

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

    3、短作业优先调度:

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

    4、最短剩余时间优先:

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

    5、高响应比优先:

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

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

    6、多级反馈:

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

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

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

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

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

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

    学习之旅
  • 相关阅读:
    201215-03-19---cocos2dx内存管理--具体解释
    sqlHelper的增删改查
    Java Web的数据库操作(一)
    Myeclipse 中添加mysql的jdbc驱动
    MySQL索引的创建、删除和查看
    搭建Windows下Java Web开发环境
    Qt 格式化字符串
    实现C++模板类头文件和实现文件分离的方法
    Qt Creator实现状态栏显示
    Win7 64位下配置Qt5.3和Wincap
  • 原文地址:https://www.cnblogs.com/XiaoYang-sir/p/14790758.html
Copyright © 2020-2023  润新知