- 4
- 0
- 约2.16万字
- 约 28页
- 2016-11-28 发布于河南
- 举报
研讨6-1-LINUX文件系统
linux 文件系统一、基于磁盘的文件系统ext2李宁0.概述Ext2文件系统基本原理和功能文件系统当然研究的对象就是文件,文件的数据包括文件属性,还有文件中的内容。Linux 操作系统上的文件包含了文件权限(rwx)与文件属性(拥有者、群组、时间参数等),文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块中。每个 inode 与 block 都有编号,通常所谓的磁盘格式化就是文件系统格式化出 inode 与 block 的区块,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。为了更加清晰深刻的明白ext2 研究关键词:superblock, inode,blockEXT2 是索引式文件系统,所谓索引式就是记录文件描述信息的inode指向存放实际数据的block(们),inode存放 inode:记录文件的属性,文件占用一个inode,同时记录此文件的数据所在的 block 号码;block:实际记录文件的内容,若文件太大时,会占用多个 block 。superblock:记录此 filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;文件系统一开始就将 inode 与 block 规划好了,除非重新格式化(或者利用 resize2fs 等命令变更文件系统大小),否则 inode 与 block 固定后就不再变动。如果我的文件系统高达数百GB时, 那么将所有的 inode 与 block 通通放置在一起将是很不智的决定,因为 inode 与 block 的数量太庞大,不容易管理。因此 Ext2 文件系统在格式化的时候基本上是区分为多个区块群组 (block group) 的,每个区块群组都有独立的 inode/block/superblock 系统 PS:文件系统最前面有一个启动扇区(boot sector),这个启动扇区可以安装启动管理程序data block 是用来放置文件内容数据地方,在 Ext2 文件系统中所支持的 block 大小有 1K, 2K 及 4K 三种而已。block 大小而产生的 Ext2 文件系统限制除此之外 Ext2 文件系统的 block 还有什么限制呢?有的!基本限制如下:·原则上,block 的大小与数量在格式化完就不能够再改变了(除非重新格式化);·每个 block 内最多只能够放置一个文件的数据;·承上,如果文件大于 block 的大小,则一个文件会占用多个 block 数量;·承上,若文件小于 block ,则该 block 的剩余容量就不能够再被使用了(磁盘空间会浪费)。super blocK超级块(super_block)代表了整个文件/os/系统本身。通常,超级块是对应文件/os/系统自身的控制块结构。超级块保存了文件系统设定的文件块大小,超级块的操作函数,而文件系统内所有的inode也都要链接到超级块的链表头。对于一个具体文件系统的控制块可能还含有另外的信息,而通过超级块对象,我们可以找到这些必要的信息。vfs super block简化结构体struct super_block {struct list_heads_list; /* Keep this first */unsigned long?s_blocksize; 块大小unsigned char?s_blocksize_bits;unsigned chars_dirt;?……?unsigned long long?s_maxbytes;?/* Max file size 最大文件的尺寸*/?struct file_system_type?*s_type;?struct super_operations?*s_op; 超级块操作?unsigned long?s_magic;?struct dentry?*s_root; ?struct list_head?s_inodes;?/* all inodes 文件系统内所有的inode*/?struct list_head ?s_dirty;?/* dirty inodes所有dirty的inode对象*/struct list_head s_files;?struct block_device?*s_bdev;?void *s_fs_info;?/* Filesystem private info */};从两个方面了解超级块结构的作用。a.超级块结构给出了文件系统的全局信息。s_blocksize指定了文件系统的块大小。s_maxbytes
原创力文档

文档评论(0)