# 一、进程调度算法
- 先来先服务(FCFS)算法
- 周转时间:完成时间 - 到达时间
- 平均周转时间:所有进程周转时间之和 / 进程个数
- 带权周转时间:周转时间 / 服务时间
- 平均带权周转时间:所有进程带权周转时间之和 / 进程个数
- 短作业优先(SJF)算法
- 选择规则:选择当前已到达且服务时间最短的作业(进程)执行
- 周转时间:完成时间 - 到达时间
- 平均周转时间:所有进程周转时间之和 / 进程个数
- 带权周转时间:周转时间 / 服务时间
- 平均带权周转时间:所有进程带权周转时间之和 / 进程个数
- 高响应比优先(HRRN)算法
- 等待时间:系统当前开始时间 - 进程到达时间
- 响应比:(等待时间 + 要求服务时间)/ 要求服务时间
- 选择规则:每次选择响应比最高的作业(进程)执行
- 周转时间:完成时间 - 到达时间
- 平均周转时间:所有进程周转时间之和 / 进程个数
- 带权周转时间:周转时间 / 服务时间
- 平均带权周转时间:所有进程带权周转时间之和 / 进程个数
- 时间片轮转(RR)算法
- 周转时间:完成时间 - 到达时间
- 平均周转时间:所有进程周转时间之和 / 进程个数
- 带权周转时间:周转时间 / 服务时间
- 平均带权周转时间:所有进程带权周转时间之和 / 进程个数
- 执行规则:每个进程被分配一个时间片,轮流执行,时间片用完后,无论是否完成,都切换到下一个进程
# 二、页面置换算法
- 最佳置换(OPT)算法
- 预知未来页面的使用情况,从而选择在未来最长时间内不会被使用的页面进行置换。
- 缺页次数:统计在内存中不存在所需页面而需要从外存调入的次数
- 缺页率:缺页次数 / 页面访问序列长度
- 置换规则:选择未来最长时间内不会被访问的页面进行置换(实际难以实现,用于理论比较)
- 先进先出(FIFO)算法
- 是指先进入内存的页面先被替换出去。
- 缺页次数:统计在内存中不存在所需页面而需要从外存调入的次数
- 缺页率:缺页次数 / 页面访问序列长度
- 置换规则:选择最先进入内存的页面进行置换
- 最近最久未使用(LRU)算法
- 淘汰最近最少使用的页面。
- 缺页次数:统计在内存中不存在所需页面而需要从外存调入的次数
- 缺页率:缺页次数 / 页面访问序列长度
- 置换规则:选择最近最久未被使用的页面进行置换
# 三、磁盘调度算法
- 先来先服务(FCFS)算法
- 寻道时间:磁头移动到指定磁道所需的时间,根据磁头移动的磁道数计算
- 总寻道时间:所有寻道时间之和
- 平均寻道长度:总寻道长度 / 磁盘请求个数
- 处理规则:按照磁盘请求的到达顺序依次处理
- 最短寻道时间优先(SSTF)算法
- 寻道时间:磁头移动到指定磁道所需的时间,根据磁头移动的磁道数计算
- 总寻道时间:所有寻道时间之和
- 平均寻道长度:总寻道长度 / 磁盘请求个数
- 处理规则:选择与当前磁头位置距离最近的磁道请求进行处理
- 扫描(SCAN)算法(电梯算法)
- 寻道时间:磁头移动到指定磁道所需的时间,根据磁头移动的磁道数计算
- 总寻道时间:所有寻道时间之和
- 平均寻道长度:总寻道长度 / 磁盘请求个数
- 处理规则:磁头沿着一个方向移动,处理沿途的磁盘请求,直到到达一端,然后改变方向继续处理
- 循环扫描(CSCAN)算法
- 寻道时间:磁头移动到指定磁道所需的时间,根据磁头移动的磁道数计算
- 总寻道时间:所有寻道时间之和
- 平均寻道长度:总寻道长度 / 磁盘请求个数
- 处理规则:磁头沿着一个方向移动,处理沿途的磁盘请求,到达一端后,立即回到起始端,然后再沿相同方向处理
# 四、Cache 相关
- Cache 命中率计算:Cache 命中次数 / 访问总次数
- 平均访问时间:命中率 ×Cache 访问时间 +(1 - 命中率)× 主存访问时间
# 五、虚拟存储器相关(以页式为例)
- 用户作业最多页数:虚拟地址空间大小 / 页面大小
- 主存空间划分的块数:主存容量 / 页面大小
- 页号:INT (逻辑地址 / 页面大小)
- 页内地址:逻辑地址 MOD 页面大小
- 物理地址:块号 × 页面大小 + 页内地址
- 页内偏移:逻辑地址 MOD 页面大小