第五章 I/O管理 十二、磁盘的管理

目录

一、磁盘初始化

[Step 1:](#Step 1:)

[Step 2:](#Step 2:)

[Step 3:](#Step 3:)

二、引导块

三、坏块的管理

1、坏块的定义:

2、管理:

(1)对于简单的磁盘:

(2)对于复杂的磁盘;

四、总结


一、磁盘初始化

步骤:

Step 1:

  • 进行低级格式化(物理格式化),将磁盘的各个磁道划分为扇区。
  • 一个扇区通常可分为头、数据区域(如512B大小)、尾三个部分组成。
  • 管理扇区所需要的各种数据结构一般存放在头、尾两个部分,包括扇区校验码
  • (如奇偶校验、CRC循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误)

Step 2:

  • 将磁盘分区,每个分区由若干柱面组成(即分为我们熟悉的C盘、D盘、E盘)

Step 3:

  • 进行逻辑格式化,创建文件系统。
  • 包括创建文件系统的根目录、初始化存储空间管理所用的数据结构(如位示图、空闲分区表)

二、引导块

三、坏块的管理

1、坏块的定义:

  • 坏了、无法正常使用的扇区就是"坏块"。这属于硬件故障,操作系统是无法修复的。
  • 应该将坏块标记出来,以免错误地使用到它

2、管理:

(1)对于简单的磁盘:

可以在逻辑格式化时(建立文件系统时)对整个磁盘进行坏块检查,标明哪些扇区是坏扇区,比如:在FAT表上标明。(在这种方式中,坏块对操作系统不透明)

(2)对于复杂的磁盘;

磁盘控制器(磁盘设备内部的一个硬件部件)会维护一个坏块链表。

在磁盘出厂前进行低级格式化(物理格式化)时就将坏块链进行初始化。

会保留一些"备用扇区",用于替换坏块。这种方案称为扇区备用。且这种处理方式中,坏块对操作系统透明。

四、总结

相关推荐
LYFlied10 小时前
【每日算法】LeetCode 146. LRU 缓存机制
前端·数据结构·算法·leetcode·缓存
LYFlied10 小时前
【每日算法】LeetCode142. 环形链表 II
数据结构·算法·leetcode·链表
LYFlied10 小时前
【每日算法】LeetCode 23. 合并 K 个升序链表
前端·数据结构·算法·leetcode·链表
Fine姐10 小时前
数据结构05——平衡二叉树
数据结构
hweiyu0010 小时前
数据结构:矩阵
数据结构·线性代数·矩阵
旺仔小拳头..10 小时前
数据结构(一)———线性表之顺序表、单向链表
数据结构·算法
xiaoxue..10 小时前
哨兵节点与快慢指针解决链表算法难题
前端·javascript·数据结构·算法·链表
lxh011311 小时前
最长公共子序列
前端·数据结构
小龙报11 小时前
【算法通关指南:基础算法篇】高精度专题:一篇破除超数运算问题
c语言·数据结构·c++·算法·链表·贪心算法·visual studio
Yupureki11 小时前
《算法竞赛从入门到国奖》算法基础:入门篇-双指针
c语言·开发语言·数据结构·c++·算法·visual studio