CS-Notes/notes/计算机操作系统 - 设备管理.md

71 lines
3.5 KiB
Java
Raw Normal View History

2019-04-25 18:24:51 +08:00
<!-- GFM-TOC -->
* [磁盘结构](#磁盘结构)
* [磁盘调度算法](#磁盘调度算法)
* [1. 先来先服务](#1-先来先服务)
* [2. 最短寻道时间优先](#2-最短寻道时间优先)
* [3. 电梯算法](#3-电梯算法)
<!-- GFM-TOC -->
# 磁盘结构
- 盘面Platter一个磁盘有多个盘面
- 磁道Track盘面上的圆形带状区域一个盘面可以有多个磁道
- 扇区Track Sector磁道上的一个弧段一个磁道可以有多个扇区它是最小的物理储存单位目前主要有 512 bytes 4 K 两种大小
- 磁头Head与盘面非常接近能够将盘面上的磁场转换为电信号或者将电信号转换为盘面的磁场
- 制动手臂Actuator arm用于在磁道之间移动磁头
- 主轴Spindle使整个盘面转动
2019-04-25 18:43:33 +08:00
<div align="center"> <img src="pics/014fbc4d-d873-4a12-b160-867ddaed9807.jpg"/> </div><br>
2019-04-25 18:24:51 +08:00
# 磁盘调度算法
读写一个磁盘块的时间的影响因素有
- 旋转时间主轴转动盘面使得磁头移动到适当的扇区上
- 寻道时间制动手臂移动使得磁头移动到适当的磁道上
- 实际的数据传输时间
其中寻道时间最长因此磁盘调度的主要目标是使磁盘的平均寻道时间最短
## 1. 先来先服务
> FCFS, First Come First Served
按照磁盘请求的顺序进行调度
优点是公平和简单缺点也很明显因为未对寻道做任何优化使平均寻道时间可能较长
## 2. 最短寻道时间优先
> SSTF, Shortest Seek Time First
优先调度与当前磁头所在磁道距离最近的磁道
虽然平均寻道时间比较低但是不够公平如果新到达的磁道请求总是比一个在等待的磁道请求近那么在等待的磁道请求会一直等待下去也就是出现饥饿现象具体来说两端的磁道请求更容易出现饥饿现象
2019-04-25 18:43:33 +08:00
<div align="center"> <img src="pics/4e2485e4-34bd-4967-9f02-0c093b797aaa.png"/> </div><br>
2019-04-25 18:24:51 +08:00
## 3. 电梯算法
> SCAN
电梯总是保持一个方向运行直到该方向没有请求为止然后改变运行方向
电梯算法扫描算法和电梯的运行过程类似总是按一个方向来进行磁盘调度直到该方向上没有未完成的磁盘请求然后改变方向
因为考虑了移动方向因此所有的磁盘请求都会被满足解决了 SSTF 的饥饿问题
2019-04-25 18:43:33 +08:00
<div align="center"> <img src="pics/271ce08f-c124-475f-b490-be44fedc6d2e.png"/> </div><br>
2019-04-25 18:24:51 +08:00
2019-06-13 13:31:54 +08:00
# 微信公众号
2019-06-10 11:23:18 +08:00
2019-06-18 00:57:23 +08:00
更多精彩内容将发布在微信公众号 CyC2018 你也可以在公众号后台和我交流学习和求职相关的问题另外公众号提供了该项目的 PDF 等离线阅读版本后台回复 "下载" 即可领取公众号也提供了一份技术面试复习大纲不仅系统整理了面试知识点而且标注了各个知识点的重要程度从而帮你理清多而杂的面试知识点后台回复 "大纲" 即可领取我基本是按照这个大纲来进行复习的对我拿到了 BAT 头条等 Offer 起到很大的帮助你们完全可以和我一样根据大纲上列的知识点来进行复习就不用看很多不重要的内容也可以知道哪些内容很重要从而多安排一些复习时间
2019-06-10 11:23:18 +08:00
2019-10-24 02:09:52 +08:00
<div align="center"><img width="350px" src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/githubio/公众号二维码.png"></img></div>