自学内容网 自学内容网

操作系统之磁盘

目录

磁盘概念

磁盘管理

磁盘调度算法

FCFS(先来先服务)

SSTF(最短寻找时间优先)

SCAN(扫描)

C-SCAN(循环扫描)

LOOK与C-LOOK


磁盘概念

  • 磁道(柱面):磁盘盘面上的数据存储在一组同心圆上,每个圆称为一个磁道。所有盘片上的同一位置的磁道组成一个柱面。

  • 盘块:一个磁道被划分为多个扇区,每个扇区可以存储固定大小的数据。通常,一个扇区称为一个盘块。

  • 磁盘地址:磁盘上的每个扇区都可以通过一个三元组地址来唯一标识,即柱面号(磁道号)、盘面号(磁头号)和扇区号(块号)。

  • 补充:并不是所有的存储设备都可以按任意次序读写。例如,磁盘通常是按扇区顺序读取的,而光盘通常是从中心向外读取的。

磁盘管理

  • 磁盘初始化

    • 低级格式化/物理分区:在磁盘出厂时进行,将磁盘划分为扇区,并为每个扇区添加头部(包含校验码、指针等信息)、数据区和尾部。
    • 磁盘分区:将磁盘划分为多个逻辑区域,如C盘、D盘等。分区信息记录在磁盘的主引导记录(MBR)中的分区表中。
    • 逻辑格式化:在磁盘分区后,创建文件系统,包括超级块、空闲空间管理、目录结构等。
  • 引导块:位于分区的开始处,包含启动操作系统的程序代码。

  • 坏块:磁盘上无法正常读写的扇区。操作系统通常会维护一个坏块链表,并在格式化时将备用块分配给这些坏块。

磁盘调度算法

  • 读写时间

    • 寻道时间:磁头移动到指定磁道的时间。
    • 延迟时间:磁头定位到扇区的时间,与磁盘转速有关。
    • 传输时间:数据在磁盘和内存之间传输的时间。
  • 减少延迟时间的方法

    • 交替编号:使相邻扇区的物理位置不相邻,以减少连续读写时的延迟。
    • 错位命名:相邻盘面的扇区采用错位编号,以平衡磁头的读写负载。
  • 磁盘调度算法

FCFS(先来先服务)
  • 工作原理:这是最简单的磁盘调度算法。磁盘I/O请求按照它们到达的顺序进行处理。
  • 优点:公平,每个请求都会按照到达的顺序得到服务。
  • 缺点:可能导致磁头移动频繁,尤其是在请求分布不均匀时,这会导致较高的寻道时间,从而降低磁盘的整体性能。
SSTF(最短寻找时间优先)
  • 工作原理:选择距离当前磁头位置最近的请求进行服务。
  • 优点:可以显著减少磁头的移动距离,从而减少寻道时间,提高磁盘I/O效率。
  • 缺点:可能导致某些请求长时间得不到服务(饥饿),尤其是当新请求不断出现且总是比当前请求更近时。
SCAN(扫描)
  • 工作原理:磁头从磁盘的一端开始,向另一端移动,服务沿途的所有请求,直到达到端点。然后磁头反向移动,再次服务沿途的请求。
  • 优点:减少了磁头的移动次数,提供了比FCFS和SSTF更好的性能。
  • 缺点:可能会对位于磁头起始点和端点之间的请求造成不公平,因为这些请求可能需要等待较长时间。
C-SCAN(循环扫描)
  • 工作原理:与SCAN类似,但是磁头在到达端点后直接跳回到起始点,而不是反向移动。
  • 优点:避免了SCAN中反向移动的不必要寻道,使得磁头移动更加高效。
  • 缺点:对于那些在磁头移动方向末端的请求,可能会出现饥饿现象。
LOOK与C-LOOK
  • LOOK:是SCAN的变种,磁头在到达端点前会检查是否有请求。如果没有请求,磁头会立即改变方向,而不是继续移动到端点。
  • C-LOOK:是C-SCAN的变种,同样在到达端点前检查是否有请求。如果没有,磁头会直接跳回到起始点。
  • 优点:减少了不必要的磁头移动,提高了效率。
  • 缺点:与SCAN和C-SCAN类似,可能会对某些请求造成不公平。

原文地址:https://blog.csdn.net/song0789/article/details/145102333

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!