Linux——文件系统中inode的工作
来源:互联网 发布:php unpack 二进制 编辑:程序博客网 时间:2024/06/08 04:34
一、引言:
磁头通过运动读取磁盘中的数据时。磁盘越来越大,存储的东西越来越多。 为了磁盘读写速度的提升,一代一代的升级,有各种文件系统,今天我们要介绍的是在Linux操作系统上的文件系统是怎样进行存储读取的。
二、文件是怎样存储的?
1.磁盘上的分区想要被使用必须要被挂载,即将文件系统和磁盘的存储空间建立关联。2.文件系统把磁盘上的空间分成两部分,是inode table和block area;3.(1)Inode table 为inode都编了号,并记录inode的使用情况,哪那些inode是空闲的,文件系统通常将磁盘空间中大约百分之一空间分配给了 inode table。 (2)inode table中有多的inode,inode 中包含有关文件的所有信息(除了文件的实际名称以及实际数据内容之外)和指针。4.(1)磁盘空间中的剩余部分基本都分配给了block area,block area里面有很多大小相等的很小的block(数据块)。 (2)block用来存储文件中内容的实际数据,可以指定其大小,最常见是4KB。5 .最主要的是Inode中的指针记录了存储文件内容的block位置,文件通过inode中的指针来找到block读写实际数据。每个指针指向一个block块。
三、可是,文件系统又是怎样找到文件和它的inode呢?
1.在linux 中,一切皆文件,一切都是从 / 开始的,让文件系统记住 / 的inode号; / 的block中存储 / 下子文件的名字和其对应的inode号;然后依次指向下一级。
举例:假如现在要读取 /usr/bin中的内容,顺序是: / —> usr —>bin,顺序如下图所示:
四、文件中内容很多,inode里面的指针不够怎么办?
1.每个inode节点大小一般是256个字节或者128个字节,存储的指针是有限的。上述通过inode节点中直接指向block块的指针叫作直接块指针。2.可是block块中的空间比inode空间大多了,为什么不让block来存储指针呢? 于是就有了间接块指针。随着文件越来越多,就有了双重间接块指针、三重间接块指针。
五、注意
1.每个文件都占用一个inode节点,即使是空文件。2.不管文件中内容数据有多小,最少占用一个block块。Block是文件系统中的最小的存储单位
六、对文件进行操作时,inode和block的变化。
1.新建文件。
2.进行cp、rm、mv时inode和block变化
阅读全文
2 0
- Linux——文件系统中inode的工作
- Linux中文件系统的inode
- linux文件系统中iNode的详细解释
- Linux文件系统的inode
- linux中inode的工作原理
- linux文件系统—inode及相关概念 inode大小的最佳设置
- linux文件系统—inode及相关概念
- linux文件系统—inode及相关概念
- Linux中文件系统中的inode介绍
- 对于Linux文件系统的inode的理解
- Linux文件系统代码学习笔记2——Hash表&内存inode的创建与回收
- linux的文件系统及Inode详解
- linux文件系统的inode和block
- Linux文件系统与Inode
- linux文件系统之Inode
- linux文件系统inode
- Linux文件系统和inode
- linux文件系统的系统分析--(八)sysfs中sysfs_dirent与inode dentry的关系
- Centos中Qt编译问题(/usr/bin/ld: 找不到 -lpulse-mainloop-glib,/usr/bin/ld: 找不到 -lpulse...)
- POJ
- URG-PSH
- 51Nod 1135 原根
- Java中状态模式介绍
- Linux——文件系统中inode的工作
- Git版本控制工具和Github代码托管平台
- POJ
- require js(一)
- Django笔记
- 机器学习
- LAMP架构学习(2) PHP的配置与使用
- 控制手机震动demo【引】
- xlistview