操作系统--处理机调度

操作系统–处理机调度

三个层次

  • 高级调度(作业调度):按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程
  • 中级调度(内存调度):按照某种规则,从挂起队列中选择合适的进程将其数据调回内存
  • 低级调度(进程调度):按照某种规则,从就绪队列中选择一个进程为其分配处理机

三种调度对进程状态的影响

  • 高级调度:无->创建态->就绪态
  • 中级调度:挂起态->就绪态(阻塞挂起->阻塞态)
  • 低级调度:就绪态->运行态

低级调度时机

进程调度(低级调度)按照某种算法从就绪队列中选择一个进程为其分配处理机

调度时机:

  • 当前运行的进程主动放弃处理机,如:进程正常终止,方式异常,请求阻塞
  • 当前运行的进程被动放弃处理机,如:时间片用完,I/O中断

不能调度的时机:

  • 处理中断过程中
  • 进程在操作系统内核程序临界区时
  • 原子操作过程中

进程调度方式

  • 剥夺调度方式(抢占式)
  • 非剥夺调度方式(非抢占式)

调度算法的评价指标

  • CPU利用率
  • 系统吞吐量
  • 周转时间
  • 等待时间
  • 相应时间

调度算法分类

  • 先来先服务(FCFS)
  • 短作业优先(SJF)
  • 高响应优先(HRRN)
  • 时间片轮转调度
  • 优先级调度
  • 多级反馈队列调度

调度算法

  • 先来先服务:顾明思意,先来的先服务,优点:公平,简单,缺点:对短作业不利,对长作业有利。不会出现饿死。

  • 短作业优先:短的先运行,优点:“最短的”平均等待时间,平均周转时间。缺点:对长作业不利,对短作业有利。并且会出现饿死。

  • 高响应比优先:综合考虑进程的等待时间和要求服务时间,高响应比的先服务。优点:综合考虑了等待时间和运行时间。不会出现饿死。

  • 时间片轮转:公平地,轮流为各个进程服务,优点:公平,响应快,适用于分时操作系统,缺点:切换进程率高,有一定的开销。

  • 优先级调度算法:根据任务优先级来决定顺序。优点:用优先级区分紧急程度,重要程度,适用于实时操作系统。缺点:会出现饿死现象。

  • 多级反馈队列:是对其他调度算法的折中权衡,设置多级就绪队列,各个队列优先级从高到低,时间片从小到大。(UNIX用的是多级反馈队列)

posted @   鸭梨的药丸哥  阅读(55)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示