索引节点(inode)/软链接/硬链接的理解 – 操作系统 | 丁香推荐网

索引节点(inode)/软链接/硬链接的理解 – 操作系统

小白科普 funy 6个月前 (10-01) 237次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

操作系统索引节点/硬链接/软链接

索引节点(inode)/软链接/硬链接的理解 - 操作系统

什么是索引节点

在操作系统的文件系统中,一个文件会创建一个FCB,叫做文件控制块。一个文件控制块对应一个目录项,目录项可以是文件,也可以是目录。

FCB中包括哪些信息呢?包括:文件名,文件大小,路径,等等信息。如此多的信息存储在一个FCB中,当操作系统要按照文件名查找一个文件的时候就会多次启动磁盘,会降低效率。

于是乎人们想到用索引节点来提高效率。那么什么是索引节点呢?所谓索引节点即将除了文件名以外的FCB表项封装在一起,相当于一个缺少文件名的FCB,但它不叫FCB,叫索引节点,

因为它只是存储了FCB的一些信息。然后在原FCB中用一个指针指向这个节点,将这个指针村住在FCB中。
那么索引节点如何提高文件系统查找文件的效率呢?可以这么想:因为原来FCB太大,以至于一次性查找的数据变少,当减少FCB的大小之后,一次性查找的数据变多,就使启动磁盘的次数减少,从而提高查找效率。当找到特定文件后再从上述指针那里得到这个文件的其余信息,就可以实现以前的功能。

操作系统的目录结构为树状结构,每个文件都是互不相关的,这样不便于共享文件。于是人们想到用有向无环图来使文件可以共享。从而有了软链接和硬链接一说。

什么是硬链接

下面解释一下硬链接:
假如在一个目录下有多个文件,A,B,C。A文件的FCB里的指针指和B文件的FCB里的指针指向同一个索引节点,那么这就叫做硬链接。A,B文件其实是一样的,文件系统会记录硬链接的链接数量,如果链接数量为0才会释放,否则会一直遗留在系统中。

什么是软链接

下面解释一下软链接:
加入咋一个目录下有多个文件,A,B,C。A文件的FCB里的指针指向的空间存储着B文件FCB的指针所指向的索引节点的地址,即A的FCB的指针为二级指针,指向的是B的FCB指针指向的索引节点的地址。当B删除之后,B的索引节点也随之删除,A的却不会被删除,但是A现在是空的,当B的索引节点再次被建立之后,A又可以访问了。

效率问题

硬链接比软链接效率高,因为软链接是二级指针,没有一级来的快。


本站交流 Telegram群组Telegram频道 QQ群
丁香推荐网, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:索引节点(inode)/软链接/硬链接的理解 – 操作系统
喜欢 (2)
关于作者:
分享互联网资源,VPS测评,VPS推荐,VPS优惠通知!

您必须 登录 才能发表评论!