计算机操作系统

硬盘

2018-04-18  本文已影响3人  一块大番薯

2018.04.17

磁盘,单位是「块」。

文件,对人类来说,最小的存储单位。
无论东西多小,非得创建一个文件才能存储。

目录,一个特殊的文件。

记录文件所用到的磁盘块

连续记录:同一个文件的磁盘块放在一起。随机访问好(知道开头和偏离就可访问)。
磁盘利用率差(被删的文件磁盘块需要同等或更小的文件才能重新利用)。

链式:磁盘利用率非常高。随机访问差。

索引式:额外增加一个 inode(index node)磁盘块,记录文件属性以及该文件所使用的磁盘块。
磁盘利用率高,随机访问好。


索引式

目录

目录 inode 磁盘块:记录目录属性和目录内容所使用的磁盘块。
目录内容磁盘块:记录目录下文件或目录的 inode 块。

目录磁盘块

读取 /tmp/test.log 这个文件, 查找次序是这样的:
根目录 inode -> 根目录磁盘块 -> tmp 目录 inode -> tmp 目录磁盘块-> test.log 的 inode -> 读取磁盘块

删除文件

(1)、在目录中删除文件。
(2)、释放文件内容磁盘块到空闲磁盘块池。
(3)、释放文件 inode 磁盘块到空闲节点池。

但是,当操作到某步时,系统崩溃就可能出现空间永远无法释放了!

需要记录日志(journal)!

再操作前,记录要干的事,形成日志,写入磁盘后才开始操作。
操作完成后,擦除日志项。

管理空闲块

位图法:用 1 bit 数据记录磁盘块或 inode 块是否被使用。

位图法

ext2 文件系统

ext2 文件系统

分区表记录每个分区的起始位置,以及哪个磁盘分区是活动分区, 这样系统就会找到它, 然后装载这个分区中的引导块。

引导块将会装载存储在本分区的操作系统。 不是引导块存储本分区操作系统。

磁盘分区表只有 64 个字节, 而每个分区项占用 16 个字节, 所以只能容纳 4 个分区。

想用多于 4 个分区, 你就需要把其中一个设为扩展分区, 然后在其中继续划分成逻辑分区。

上一篇 下一篇

猜你喜欢

热点阅读