1. 文件
- 随意排列文件数据完全没有问题,但按格式排会更好,这就是文件格式
- 可以发明自己的文件格式,程序与偶尔会这么做,但最好用现成标准
- 举例
- 最简单的格式:文本文件 .txt (本质:一长串二进制数)
- WAV 存储音频数据
- 元数据:数据的数据。
- 比如:码率,单声道,立体声
- 存在文件开头,在实际数据前面,因此也叫 文件头(Header)
- 电脑和手机麦克风,每秒可以对声音进行上千次采样,每次采样可以用一个数字表示,声压越高,数字越大,也叫「振幅」,WAVE 文件里存的就是这些数据,每秒上千次的振幅
- 播放声音文件时,扬声器会产生相同的波形
- 位图 (Bitmap) .bmp
- 用途:存图片
- 计算机上,图片由很多个叫「像素」的方块组成,每个像素由红、绿、蓝三种颜色组成,叫「加色三原色」,混在一起可以创造其他颜色
- BMP 文件开头也是元数据,有图片宽度、图片高度、颜色深度
- 本质:文件在底层全是一样的:一长串二进制
3. 文件系统
- 在很早期,计算机只做一件事,比如算火炮射程表。此时,整个存储器就像一整个文件。
- 随着计算机能和存储容量的提高,存多个文件变得非常有用。
- 最简单的方式是把文件连续存储
- 目录文件
- 为了存多个文件,需要一个特殊文件,记录其他文件的位置。这个特殊文件有很多名字,这里泛称「目录文件」,这个文件一般放在最开头,方便查找
- 目录文件中,存储其他文件的名字。格式:文件名 + "." + 扩展名
- 目录文件也存储了文件的元数据,比如:创建时间、最后修改时间、文件所有者、是否可以读/写
- 最重要:目录文件有文件起始位置和长度
- 目录文件以及对目录文件的管理,是一个非常简单的文件系统例子。
- 平面文件系统:上面这个例子叫「平面文件系统」,因为文件都在同一个层次
- 优点:使得我们不必关心文件在磁带或者磁盘的具体位置,整理和访问文件更加方便,
4. 碎片
- 增、删、改文件导致的,不可避免
- 对很多存储技术来说,碎片是坏事
- 碎片整理
5. 分层文件系统(Hierarchical File System)
- 相关文件放在同一个文件夹,然后文件夹套文件夹,这个叫做「分层文件系统」
- 最大变化:目录文件不仅要指向文件,还要指向目录,还需要额外元数据,来区分开文件和目录,这个目录文件在最顶层,因此叫根目录