文件系统
2016-03-03 09:18
225 查看
ext2文件系统
磁盘最小单位为扇区:512Bext2文件系统管理磁盘最小单位为block:4096B=8扇区
第0个block为启动块(boot block):1024B
其余块以块组(block group)组织
block group
块组项 | 说明 |
---|---|
super block | |
GDT(块组描述表) | 记录块位图,inode位图等位置,使用情况 |
块位图(block bit map) | 记录块使用情况 |
inode位图(inode bit map) | 记录inode table使用情况 |
inode table | 存放inode,大小128B |
data块 | 以块为单位,存储文件数据 |
inode
inode大小为128B,由2部分组成1. 文件属性。包括文件大小,硬链接数,权限,所属用户/组等属性信息。
2. 数据指针。共60B=4x15个指针。
0~11号指针直接指向存贮的数据块位置。
12~14号指针采用间接寻址策略。
12号指针为1级寻址。指向的block=4K,包含1k指针。这些指针再指向数据块。
13号为2级寻址,14号为3级寻址。
目录项
文件名不存储在inode中,存储在目录中。目录大小:4096B=1block
目录包含目录存储记录项,不定长。
记录项内容包括文件名,inode,文件大小,文件类型等信息。
根目录必须存储在inode编号为2的inode中
虚拟文件系统VFS
VFS位于上层函数与底层文件系统中间。linux实现VFS,对于上层函数(open等),对于不同的文件系统,调用(ntfs_open,ext2_open等)函数。
具体调用哪个函数,包含在FILE结构体中。
rm操作:
先释放inode指向块,在块位图中的记录。
再释放inode table中的inode。
文件修改时间:
atime最近访问时间:
mtime最近更改时间:修改文件内容的时间
ctime最近改动时间:改动inode的时间
相关文章推荐
- srs之直播数据分析
- mysql 查询死锁以及解锁
- 枚举类型
- goldengate 参数之GETTRUNCATES | IGNORETRUNCATES --转载
- 关于heightForRow和cellForRow方法的调用次数和顺序的系统差异性
- android 从存储卡复制文件到apk私有目录
- Java的package和import机制
- Leetcode ☞ 141. Linked List Cycle 【快慢指针 判断是否有环】
- Android开发艺术探索 第三章
- android:ems="10"是什么意思
- .NET面试题解析(02)-拆箱与装箱
- C/C++综合測试题(四)
- SQL SERVER with递归示例一则
- redis-windows服务安装
- LC99 Recover Binary Search Tree
- mybatis框架demo first
- 触发器的使用
- 多数据库的应用Spring+SpringMVC+Mybatis
- 学习linux决心书
- YTU 2427: C语言习题 整数排序