免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1588 | 回复: 3
打印 上一主题 下一主题

[文件系统] symbolic link是如何实现的 [复制链接]

论坛徽章:
1
狮子座
日期:2014-03-27 12:53:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-28 18:17 |只看该作者 |倒序浏览
Hi experts,

请问,符号链接是如何实现的?


2) 硬链接,文件系统为会load到内存中的文件,建立一个文件表,记录文件的节点ID,但并没有记录文件的名字, 貌似os会维护一张“文件名”和文件节点ID的表吧, 或者是把“文件名”理解为指向文件节点的指针?? 是这样吗??

谢谢

论坛徽章:
0
2 [报告]
发表于 2013-01-05 20:28 |只看该作者
符号连接的indode的数据段中只有链接文件的路径

论坛徽章:
0
3 [报告]
发表于 2013-01-05 22:15 |只看该作者
      硬连接其实就是一个指向inode的地址,严格的讲,我们在文件管理中看到的每一个文件,都是一个硬连接的表现。而我们常说的创建了一个文件的一个硬连接,就是对这个地址的一个拷贝。一个inode有一个或多个这样的连接指向它,正如我们程序中使用的指针一些,使用用指针对文件的修改都会让所有指向于该节点的连接产生同样的影响。不仅如此,硬连接还拥有类似于”自动内存管理”的机制,当你删除任意的一个硬连接,只要仍然还有其它的连接指向inode节点,那么该块文件的信息都不会被释放,只有当所有指向它的连接都已经删除,它才会被置为空闲状态。
      软连接就正好就如同内存管理中的“指向指针的指针”,软连接本质就是指向硬连接的一个地址,自然它也只会对这一个硬连接有效,一旦软连接所指向的硬连接被删除,软连接也就失效了。当然这与”指针的指针”也有一个很微妙的差别,那就是你对软链接的操作都是通过跳转到硬连接再映射到了对节点的操作。
      可以看看这篇文章http://www.tanhao.me/pieces/597.html

论坛徽章:
1
狮子座
日期:2014-03-27 12:53:15
4 [报告]
发表于 2013-01-07 08:07 |只看该作者
回复 3# frogsu

谢谢!!:)


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP