欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

马哥 09_01 _磁盘及文件系统管理详解之三 有大用


virtual filesystem                                                    interface:system call


用户模式 用户空间 mkdir


内核模式

内核空间


image.png

open 

close

read

write

delete

create



image.png


image.png


ext3 ext4 ext2 :extended

reiserfs

iso9660 (光盘) swap(交换文件系统) cifs(网络) nft(unix)

xfs (unix) jfs (unix)

ocfs2 (集群)gfs2 (集群)

fat32 (windows)ntfs(windows)



image.png

元数据 数据

inode: index node


image.png

块 逻辑结构,与磁盘本身是没有关系的



image.png


image.png


inode bitmap                     inode:index node                 块大小 block size:1024 2048 4096 字节

block bitmap 


super block



image.png



image.png


image.png



image.png


image.png


image.png

image.pngimage.png

image.png


image.png

mbr 不属于任何分区的,是一个扇区,sector (可能是 应该是 512个字节)


image.png



image.png super block 超级块,第0个块组,里面是全局信息里面有多少个块组,每个块组当中有多少块,块大小,已用磁盘块,空闲磁盘块,空闲inode,已用inode


super block 不是每个块组都有,一般情况下 备份3,4份 第0,1,3,5,7 个可能有



image.png块组描述表 块组描述符 group descrtion table  每个块组的块组名,每个块组的起始磁盘块编号,结束磁盘块编号(块组边界),也是不能损坏的,也需要备份多次

                                                根据块(还是块组)个数不同,它所占的空间不一样的,未必是一个磁盘块


image.png


image.png


                                              

image.png

image.png


image.png


image.png

假如指针全部利用起来,最多可以指向 100W个块

假如1个块是4k 那么单个文件最大就是 400wk




inode编辑创建时在日志区,完了后再移到元数据区

image.png


更有甚者,把元数据区和数据区都放在日志,编辑(创建)完后,inode和数据再归位,一般没人这么用

有了日志,能够加快文件系统修复的速度,但多了一次io写入写出,这是ext3的好处和坏处(但是坏处好像对性能几乎没有影响)


事实上除了 ext2 ,一般其它都是有日志系统功能的

ext2(在大量的临时文件,对完整性要求不高的场合是有用的)


image.png



image.png




















普通分类: