1 三个概念:
- 超级块 superblock :记录整个文件系统的整体信息
- inode:记录文件属性
- block:记录
2 superblock
包括:
- block inode总量和使用情况
- block inode大小
- 文件系统的挂载时间、最近写入时间、最近检查磁盘时间
- validbit,0/1表示未挂载/挂载
3 inode:
包括:
- 访问模式 read write execute
- 所属 owner group
- 大小
- 三个时间:读取/创建/修改时间
- 标志flag
- 指向文件数据内容的pointer
每个inode固定为128bytes
inode内记录一个block要4byte,分为三种情况:
- 直接指向:指向的是真实数据的block
- 间接指向:指向的block存放指向真实数据的block,1kb的block可以存放256个pointer
- 双间接指向:
- 三间接指向:
4 block:
限制:
- 格式化后,block的数量和大小就确定了;
- 每个block最多放一个文件,但放不下就多个block放一个文件;
- 即使某文件没有沾满该block,则剩下空间不再使用。
5 block bitmap
记录使用/未使用的block号码
6 inode bitmap
记录使用/未使用的inode号码
7 目录:
目录占用block数目与目录内文件数有关
8 EXT2/EXT3
ext3相比ext2而言,多了日志:在文件系统中,专门划出一个块,记录写入或修订文件时的步骤。
9 内存/磁盘的同步
内存中某文件修改过,被设置为Dirty,不立即写出;系统不定时将内存中设置为Dirty的数据写回磁盘。
10 挂载点 mount
挂载点一定是目录,该目录为进入该文件系统的入口
文件最顶层目录的inode编号一般为2
可以通过判断inode号码来确认不同的文件名是否为相同的文件
根目录而言:/ /.. /. 都是指向它自己
11 VFS:Virtual Filesystem Switch
整个linux系统通过VFS的内核功能去读取文件系统
12 命令:
- df
- du
- ln 硬链接不能链接到目录;建立新目录,连接数为2,上层目录连接数增加1
- fdisk 磁盘分区
- mkdf 文件系统格式化
- mke2fs
- fsck 磁盘检查
- badblocks 检查坏道
- mount/unmount
- mknod 磁盘参数修改
- swapon swapoff swap的操作命令
13 挂载
挂载注意点:
- 单一文件系统不应挂载多处;
- 某处挂载点不该挂多个文件系统;
- 挂载点应该是空目录,否则原来的东东被隐藏。
开机挂载:
- /etc/fstab
- /etc/mtab
14 SWAP
物理内存不足时扮演内存拓展,貌似Windows下的虚拟内存