博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统笔记(六)调度
阅读量:5067 次
发布时间:2019-06-12

本文共 633 字,大约阅读时间需要 2 分钟。

  • CPU 调度
  1. 理论基础:进程执行由CPU execution和I/O wait组成
  2. 本质:从ready queue中选择可以执行的进程,分配给CPU
  3. 发生调度的状态转移:1)preemptive:running to ready, waiting to ready 2)non-preemptive:running to waiting, terminate
  • 调度算法 (指标:average waiting time)
  1. FCFS 按顺序处理,先到先得
  2. Shortest job first(non-preemptive) vs shortest remaining time first(preemptive) :抢占式会优先处理新到达的短进程
  3. 优先级调度:优先调用优先级高的进程。问题:饥饿(低优先级得不到cpu)和priority inversion(高优先级依赖于低优先级)
  4. Round Robin调度:轮流处理。问题:时间片过大就等于FCFS; 时间片过小导致context switch的开销过大。
  5. 多级队列:foreground进程队列,background进程队列。每个队列的优先级不同。
  6. 多级反馈队列调度:进程可以在不同队列间游走。(时间片用完,优先级自动降低,避免饥饿)
  • 调度policy 和 调度mechanism 分离:支持用户自定义。

转载于:https://www.cnblogs.com/niuxu18/p/note_os_6.html

你可能感兴趣的文章
Mongo自动备份
查看>>
求助大神!怎样批量删除数据库表中某个字段中同样的一段字符!
查看>>
VMWARE虚拟机无法访问的三种方法分析
查看>>
enq: SQ - contention
查看>>
cer证书签名验证
查看>>
ant 安装
查看>>
新手Python第一天(接触)
查看>>
vue路由动态加载
查看>>
iOS中ARC内部原理
查看>>
【bzoj1029】[JSOI2007]建筑抢修
查看>>
synchronized
查看>>
你不得不了解的应用容器引擎---Docker
查看>>
easyui datagrid 弹出页面会出现两个上下滚动条处理办法!
查看>>
迭代器和生成器
查看>>
codevs 1080 线段树练习
查看>>
JS模块化库seajs体验
查看>>
Android内核sysfs中switch类使用实例
查看>>
POJ2288 Islands and Bridges(TSP:状压DP)
查看>>
[No0000195]NoSQL还是SQL?这一篇讲清楚
查看>>
IOS开发UI篇--UITableView的自定义布局==xib布局
查看>>