文章目录
前言
一个本硕双非的小菜鸡,备战24年秋招,计划学习操作系统并完成6.0S81,加油!
本文总结自B站【哈工大】操作系统 李治军(全32讲)
老师课程讲的非常好,感谢
【哈工大】操作系统 李治军(全32讲)
一个实际的schedule函数
基于counter(时间片)轮转与优先级
当就绪态进程counter都用完了,就要执行所有进程counter右移一位(/2)
如果是就绪态进程:设置成了counter初值
如果是其他进程:counter折了一半再加上初值。将来一旦阻塞态进程要变成就绪的时候,他的counter一定比就绪态大
所以IO阻塞过的进程,再回来counter一定大(导致执行io那些进程回来以后它的优先级会上来)
每次时钟中断就要修改counter, - -让counter等于0,等于0就切换
counter承担时间片和优先级任务
io时间越长,在阻塞队列中待得越久,优先级越大(IO约束级进程)
除二为了收敛