上交os lec6 操作系统调度


6.1 进程/线程调度

  • 进程/线程调度线性执行不太行
  • 调度就是协调请求对于资源的使用
  • 调度在不同场景下的目标是不一致的对于超级计算机,需要高吞吐,对于移动端关注低功耗
  • 调度难在其多目标性由于多目标性,所以调度器需要不停的优化
  • 调度的挑战
  • Linux调度策略CFS与RT,每种对应多个调度策略
  • 而CFS的调度机制是CFS Run Queue
  • RT的调度机制RT Run Queue

6.2 经典调度

  • FCFS
  • sjf
  • 抢占式调度,rr时间片短,切换时间过多,时间片长,退化为fcfs

6.3 优先级调度

  • 调度优先级
  • 多层队列一般数字越低优先级越高
  • 阅读秘籍就是I/O操作也就是对于I/O密集型任务,赋予高优先级
  • 优先级反转因为??的问题产生的优先级反转问题C可以继承A的优先级,那么C就可以更快的释放锁
  • 多级队列中队列的策略可以选择RR或者FIFO

6.4 公平共享调度

  • 使用权重计算用户使用资源
  • 彩票调度,也就是权重调度比如抽取到51,就是选取到了B1
  • Ticket tansfer,比如客户端将自己的ticket传递给服务端,使得服务端可以尽可能快的完成服务
  • 权重和优先级的异同
  • Stride scheduling是一个确定性的lottery scheduling一个进程每次执行完,增加一次stride
  • linux CFS采用类似Stride Schduling的公平共享调度策略