solaris UFS文件系统 要点
一个inode里面包含了12个直接指针、1个独立间接指针、1个双重间接指针、1个三重间接指针
12个间接指针指向了12个数据块
1个独立间接指针,它可以指向一个额外的16兆字节的数据的2048额外的地址。
1个双重间接指针,每一个间接的指针指到一个文件系统块包含的数据块的指针。双间接指针指向一个额外的32 GB的数据。
1个三重间接指针,可以引用额外的64 TB的数据。
这样也就解释了,一个ionde能存储最大64TB文件的原因。
对于小文件,ufs是这样处理的,下面举个例子,以方便理解:
文件A,如果大于8k,那么就分配他一个完整的数据块,如果小于8k,那么就分配给他数据块里面的几个片段,比如A文件只有5k,那么这个数据块就还剩3k,如果还有其他也小于8k的小文件,一样也塞到这个数据块里,比如有个B文件,只有2k那么也放到这个数据块里,如果哪天A增大了,增大到了7k,这个数据块剩下的片段不足以放下这个文件,那么ufs就会把这个数据块里面的属于A文件的片段都取出来,放到一个完整的数据块里。
我是这么理解的,有什么不对的地方,大家一定要帮忙回复一下,指正指正,谢谢了!!