本文详细介绍Linux世界驰骋四——文件系统和设备管理
3.索引节点(Inode)
索引节点又被称为I节点,每个文件都有惟一一个索引节点。ext2文件系统的索引节点起着文件控制块的作用,利用这种数据结构可对文件进行控制和管理。每个数据块组中的索引节点都保存在索引节点表中。数据块组中还有一个索引节点位示图,它用来记录系统中索引节点的分配情况——哪些节点已经分配出去了,哪些节点尚未分配。
索引节点有盘索引节点(如ext2_inode)和内存索引节点(如inode) 有两种形式。盘索引节点存放在磁盘的索引节点表中,内存索引节点存放在系统专门开设的索引节点区中。
所有文件在创建时就分配一个盘索引节点。当一个文件被打开,或者一个目录成为当前工作目录时,系统内核就把相应的盘索引节点复制到内存索引节点中;当文件被关闭时,就释放其内存索引节点。
盘索引节点和内存索引节点的基本内容是相同的,但二者存在很大差别。盘索引节点包括文件模式、描述文件属性和类型主要内容。
◆文件属主信息,包括文件主标识号和同组用户标识号。
◆文件大小,即文件的字节大小。
◆时间戳,包括索引节点建立的时间、最近访问时间、最后修改时间等。
◆文件链接计数。
◆数据块索引表。利用多重索引表的结构存放指向文件数据块的指针。
内存索引节点除了具有盘索引节点的主要信息外,还增添了反映该文件动态状态的项目,例如,共享访问计数(i_count),表示在某一时刻该文件被打开以后进行访问的次数。
当它为0时,该索引节点被放到自由链中,表示它是空闲的;队列结构,通过几个list_head结构可以动态地链入到内存中的若干队列中,可加快检索索引节点的速度。
4.多重索引结构
普通文件和目录文件都要占用盘块存放其数据。为了用户使用方便,系统一般不应限制文件的大小。如果文件很大,那么不仅存放文件信息需要大量盘块,而且相应的索引表也必然很大。在这种情况下,把索引表整个放在内存是不合适的,而且不同文件的大小不同,文件在使用过程中很可能需要扩充空间。
作者:孟庆昌 责编:豆豆技术应用
- Linux/Unix新闻
- Linux/Unix入门
- Linux/Unix命令
- Linux/Unix安装
- Linux/Unix编程
- Linux/Unix管理
- Linux/Unix桌面
- Linux/Unix内核
- Linux/Unix软件
- Linux/Unix发行版
- redhat/Fedora
- Ubuntu Linux
- IBM AIX
- FreeBSD
- Solaris
- NetBSD
- SCO Unix
- find基本用法
- ldd命令原理及用法例子
- su和sudo命令的区别与使用技巧
- Linux操作系统下的dd命令技巧
- 关于Top命令的参数详解
- 关于Tar命令的使用
- SSH实用技巧及常用命令使用
- Linux后台执行命令
- VI命令使用技巧集锦
- Vmstat命令列出的属性详解
- 如何查看及修改文件读写权限
- 最大可存储的单文件容量
- ext2/ext3文件系统介绍
- 常用压缩格式的压缩解压方法
- Linux系统的引导过程详细解析
- Configure参数解释说明
- Linux下硬盘和分区的命名方法
- 硬链接与软链接的区别
- 权限和所有权模型
- 存储设备的两种表示方法