亲宝软件园·资讯

展开

操作系统-schedule函数

山丘i 人气:0
### 1. Linux 0.11的调度函数schedule() 1. **也就是找到了counter最大的进程,然后就跳出去执行switch_to,对应上面的优先级算法,而counter本身也是时间片,也作了轮转调度** 2. **现在就绪态的所有进程的时间片都用完了counter=0,右移+本身就是把counter设置成初值,而如果是其他进程,阻塞的那些进程就把counter除2再加上初值,这样的话,当阻塞态进程变成就绪态的话,也就是那些IO进程成就绪态的话,它对应的counter一定大,优先级就高,那么就先执行,而且执行的时间也稍微长点** ![](https://img2020.cnblogs.com/blog/1212924/202003/1212924-20200313212855115-471344055.png) ### 2. counter的作用:时间片 这是在时钟中断,每次时钟中断都让counter=0,然后就开始切换 ![](https://img2020.cnblogs.com/blog/1212924/202003/1212924-20200313212909143-1611176497.png) ### 3. counter的作用:优先级 ![](https://img2020.cnblogs.com/blog/1212924/202003/1212924-20200313212918769-245136211.png) ### 4. counter的作用 IO时间越长,counter越大?对应前面的第二点 ![](https://img2020.cnblogs.com/blog/1212924/202003/1212924-20200313212929817-1504205880.png)

加载全部内容

相关教程
猜你喜欢
用户评论