档案系统特性:为什么磁碟分割完需要格式化(format)才能使用吗?
答:因为因为每种作业系统锁设定的档案属性和权限并不相同,为了存放这些档案所需的资料(所以需要格式化成作业系统能够利用的档案系统格式filesystem)
linux的正规档案系统:EXT2(Linux second extended file system, ext2fs),默认windows是不认识EXT2档案系统的
一个可被挂载的资料为一个档案系统而不是一个分割槽(以前一个分割槽只能被格式化成一种档案系统,所以我们说一个filesystem就是一个partition)
档案系统是如何运作的:
1>.档案系统通常会将这两部分的资料分别存放到不同的区块,权限与属性放置到inode中,至于实际资料则放置到data block中
2>.superblock超级块:记录整个档案系统的整体资讯,包括inode与block的总量、使用量、剩余量,以及档案系统的格式和相关资讯
3>.inode:记录档案的属性,一个档案占用一个inode,同时记录此档案的资料所在的block的号码
4>.block:实际记录档案资料的内容,如果内容太大,则占用多个block
对比以下两种档案系统:
磁盘重组:当档案写入的block太过于离散,此时档案读取的效能将会变的特别差,就需要考虑【重组】了;
磁盘重组:可以将统一档案所属的block整合到一起,资料的读取就会很容易
索引式档案系统:(因为是索引式的档案系统,所以基本不需要考虑经常性的磁盘重组,当然如果档案系统使用太久了,经常的删除/新增/修改档案时,造成档案资料太过于离散,就需要考虑重组一下)
FAT档案系统:(由于FAT档案系统它的block不能一次性读取完,需要依次读取,当统一资料的block太过离散时,读取数据就会很慢,需要三不五时的重组)
档案系统一开始就把inode与block规划好了,除非重新格式化,否则inode与block固定后就不再变化
ext2档案系统示意图:
每一个区块群组六大主要内容说明:
data block(资料区块):EXT2档案系统中所支援的block大小有1k、2k、4k三种,由于block的大小不同,导致该档案系统能够支持的磁碟最大容量和最大单一档案容量并不相同
限制:
1.block的大小和容量在格式化之后就不能再进行修改了(除非重新格式化)
2.每个block内最多只能放置一个档案的资料
3.如果档案的大小大于block的大小,则一个档案可能占用多个block的数量
4.如果档案的大小小于block的大小,则block的剩余容量不能再被使用(磁盘空间浪费)
inode table(inode表):它的大小和数量也是在格式化的时候就固定了的
记录的信息:
该档案的存取模式(read/write/excute)
该档案的拥有者和所属群组(owner/group)
该档案的容量
该档案的建立和修改的时间
最近一次的读取时间
最近一次的修改时间
定义档案特性的旗标,比如SUID...
该档案真正的内容指向
特色:
每个inode大小固定为128bytes(新的ext4和xfs可以设定到256bytes)
每个档案都只会占用一个inode
档案系统能够建立的数量与inode的数量有关
系统读取档案时需要先到inode,先分析inode里面的权限和使用者是否符合,若符合才能开始实际读取block的内容