关于操作系统文件、目录项、目录、索引节点的关系与区别

1.首先写定义(个人理解的定义)

(1)文件:一堆数据的集合,比如一个小说文档

(2)目录项:包含“文件名,索引节点指针,与其他目录项的层级关系”的数据结构,类似:

struct entry

{

char filename[];//文件名

indextype *indexpoint;//索引节点指针

entry *parententrypoint;//父目录项

entry *childentrypoint;//子目录项

}//这种数据结构我瞎猜的,只是为了表示个意思。

(3)目录:目录项的集合

(4)索引节点:索引节点编号,文件大小,访问权限,创建时间,修改时间,数据在磁盘的位置。类似:

struct inode

{

int number;

int size;

int accessauthority;

int createdtime;

int modifytime;

int *hardwarepointer;//磁盘物理位置

}

2.下面开始理解:我们读书的时候在书的开头都会有目录,把操作系统的相关概念和这个目录联系起来,直接上图:

 通过上图就可以理解,目录项显示的就是文件的名字,和其他目录项有“根目录、子目录”这样的丛属关系。

每个目录项后面有页码,假设我们把页码做成一个链接,从而点击页码就能跳到对应的页查看该页内容(文件数据),那么这个链接不就类似索引节点(只不过这个链接只相当于索引节点的“磁盘地址”),我们完全可以在页码后面增加日期,文件大小,链接等信息从而成为一个索引节点:

 如此,SO ON。

毕竟是先有了书的目录,后产生的计算机的目录概念,其实是一样的逻辑。

3.他们之间的存储逻辑关系:

 

  • 30
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
文件索引节点目录对象是文件系统中的两个重要概念,它们具有不同的作用和功能,但也有一些联系。 文件索引节点(inode)是文件系统中的一个数据结构,用于描述文件的相关信息,包括文件的所有者、权限、时间戳等元数据。每个文件都有一个唯一的inode号码,可以通过inode号码来访问和操作文件文件系统中的所有文件都被存储在inode中,而不是直接存储在目录中。 目录对象(directory entry)则是文件系统中的一个数据结构,它用于描述目录中的文件名和对应的inode号码。每个目录对象都包含一个文件名和一个inode号码,它们一起表示目录中的一个文件。由于目录也是文件,因此目录对象也被存储在inode中。 文件索引节点目录对象之间的联系在于,目录对象包含了文件文件名和对应的inode号码,这样才能在目录中找到文件。而文件索引节点则包含了文件的所有信息和数据,可以通过inode号码来访问和操作文件。也就是说,目录对象是文件名和inode号码的映射,而文件索引节点则是文件的具体信息和数据的存储。 总的来说,文件索引节点目录对象是文件系统中的两个不同的概念,它们分别描述了文件的信息和目录文件名和inode号码之间的映射关系。在文件系统中,它们共同作用,构成了文件的基本组成部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值