UNIX文件系统--i节点小知识

UNIX文件系统包括引导块、超级块、i节点区、文件存储区、进程对换区等几部分。引导块占用第0号物理块,不属于文件系统管辖,如果系统中有多个文件系统,只有根文件系统才有引导程序放在引导块中,其余文件系统都不使用引导块;

超级块占用第1号物理块,是文件系统的控制块,超级块包括:文件系统的大小、空闲块数目、空闲块索引表、空闲i节点数目、空闲i节点索引表、封锁标记等。超级块是系统为文件分配存储空间、回收存储空间的依据。

i节点区存放i节点,i节点是对文件进行控制和管理的一种数据结构。

文件存储区是存放文件内容的区域,文件存储区中各数据块的使用情况在超级块中由记录,系统利用超级块中的记录完成对数据块的分配和回收

unix文件系统中很重要的概念之一就是i节点,下面就开始说说这个重要概念。

每一个文件都有自己的i节点,每个i节点都有一个唯一的i节点号。

i节点结构如下(参考/usr/include/sys/ino.h):
struct dinode
{
ushort di_mode;  /*文件类型+用户权限*/
short di_nlink;  /*文件链接数*/
ushort di_uid;  /*属主用户id*/
ushort di_gid;  /*属主用户组id*/
off_t di_size;  /*文件大小*/
char di_addr[40]; /*文件数据区起点地址*/
time_t di_atime; /*最后访问时间*/
time_t di_mtime; /*最后修改时间*/
time_t di_ctime; /*创建时间*/
};

从上面这个结构可以看出以下一些信息:

1、i节点保存了文件的属性和类型、存放文件内容的物理块地址、最近一次的存取时间、最近一次的修改时间、创建此文件的时间。

2、i节点中没有记录文件名字,那文件名是怎么关联到i节点,这么设计又有什么好处呢?

呵呵,这里就关系到了 硬连接与符号连接的区别

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值