你准备把一堆文件(二进制数据)存储到硬盘上,并在需要的时候取出来。怎样设计软件方便读写这些文件?
>>>>>>块
简单地把硬盘逻辑分割成一个个块。以块为单位来读写。每个块定义为1024字节,1kb。
>>>>>>块位图
存完一个文件后,再存一个文件,发现问题:存到同一个块怎么办?覆盖了吧?! 不行,得来个记录——位图。
>>>>>>文件名 & inode & inode表
我怎么找刚刚的文件呢?根据块号?有点蠢。用文件名寻找!
葵花宝典.txt : 3号块
七里香.mp3 : 5号块
128字节的结构体,名为 inode。每存一个新文件,不但占用一个块存放这个文件本身,还要占用一个inode存放文件的这些元信息。