title: “操作系统导论第九章学习笔记
date: 2019-10-14 13:01:03
tags:
-操作系统导论
-第九章
categories:
操作系统导论
第九章 调度:比例份额
比例份额算法基于一个简单的想法:调度程序的最终目标,是确保每个工作获得一定的CPU时间,而不是优化周转时间和响应时间
9.1 基本概念: 彩票数表示份额
彩票数代表了进程(或者用户或者其他)占有某个资源的份额。一个进程拥有的彩票数占总彩票数的百分比,就是它占有资源的份额。
利用随机性可以保证彩票数多的进程占用CPU时间多。
9.2彩票机制
规则3:工作进入系统时,放在最高优先级
规则4a:工作用完整个时间片后,降低其优先级
彩票货币机制:一个用户可以任意的将彩票分给所拥有的进程,而操作系统会将这种彩票自动的转换成全局彩票。
彩票转让:一个进程可以临时将自己的彩票交给另一个进程。
彩票膨胀: 一个进程可以临时提升或降低自己拥有的彩票数量。
9.3实现
彩票调度中最不可思议的,或许就是实现简单。只需要一个不错的随机数生成器来选择中奖彩票和一个记录系统中所有进程的数据结构(一个列表),以及所有彩票的总数。
用链表实现:不断遍历链表直到找到某个用户拥有目标彩票number,
9.4一个例子
假设有两个工作,它们有相同的彩票和运行时间,在这种情况下,我们希望两个工作在大约同时完成,单由于算法的随机性,它们不会同时完成。
引入不公平指标U:将两个工作完成时刻相除即可得到U的值。
如,工作1在10完成,工作2在20完成
此时U = 10/20 = 0.5;
9.5如何分配彩票
彩票分配目前没有最佳答案
9.6 为什么不是确定的
步长调度可以保证确定性;
规则5:在经过一段时间S,就将系统中所有工作重新加入最高优先级队列
但是在解决新进程加入时随机性表现更好。