免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: flw2
打印 上一主题 下一主题

关于刚才那个删除目录的帖子 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-09-26 15:13 |只看该作者
原帖由 oyd_admin 于 2007-9-26 15:09 发表
他们都以为我在问为什么递归删除的功能不放在内核中,实际上我在问为什么要递归删除,我不认为这两个是同一种问题。

貌似是这样的。

论坛徽章:
0
12 [报告]
发表于 2007-09-26 15:26 |只看该作者
原帖由 flw2 于 2007-9-26 15:13 发表

当然可能。但是这是需要代价的。
我们所谓的文件系统,都是“通用文件系统”
如果一个80G的硬盘只能存40G文件,你干吗。当然我只是举个例子,实际的代价并不一定是这样的



而且
mv /tmp/file /就是个 ...


原来是这样子呀,也许这个问题在冯诺依曼体系下都是无法完美解决的了。
我刚又想到了内存的分配释放其实也存在类似的问题,当进程内分配了无数小块内存后,要在进程内释放,也很花时间。不过强行结束进程好像就很快的样子,而且内存也回收了。不知道文件系统能不能借鉴一下这个

论坛徽章:
0
13 [报告]
发表于 2007-09-26 15:35 |只看该作者
本质就是这样的。

文件系统比一个有千万个货架的仓库,每个架子上还有盒子,里面还有小盒子。
现在要将1,8, x, y, z, x1, a1, .......N号码的盒子中的东西誊空(或做标记)。还要保留其他的不动。本来就是一个大的工作量吗。

如果你可以仓库中其他都不要了,连盒子也不要了,那爆破掉速度就快了。

论坛徽章:
0
14 [报告]
发表于 2007-09-26 15:44 |只看该作者
原帖由 oyd_admin 于 2007-9-26 14:54 发表
兼容不同的文件系统,这个理由不错。毕竟,如果所有文件系统都能实现一次删除整棵树的话,那么rm -rf的行为就是吃多了。

但是,我一开始就问的是文件系统的问题,是版主非要扯到操作系统的接口问题上。

另 ...

修改了数的节点的位置,仅此而已

论坛徽章:
0
15 [报告]
发表于 2007-09-26 16:24 |只看该作者
不知道谁有文件系统的起源方面的资料,就是那种阐述文件系统为什么会成为现在这样的文章。

我刚才试图设计一种能快速rm -R的文件系统,但是发现无论怎么实现,它都无法快速的mv了。
mv操作应该是比rm更频繁的,看来文件系统设计成现在这个样子是不无道理的。

论坛徽章:
4
戌狗
日期:2013-08-15 18:22:43技术图书徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39处女座
日期:2013-12-25 11:26:10
16 [报告]
发表于 2007-09-26 16:43 |只看该作者
原帖由 oyd_admin 于 2007-9-26 15:09 发表
难道文件系统的设计,一定要先删除子目录,父目录才能删除吗?

他们都以为我在问为什么递归删除的功能不放在内核中,实际上我在问为什么要递归删除,我不认为这两个是同一种问题。



不递归删除,还能怎样删除啊?除非你的文件逻辑结构不是树

论坛徽章:
0
17 [报告]
发表于 2007-09-26 16:48 |只看该作者
原帖由 oyd_admin 于 2007-9-26 16:24 发表
不知道谁有文件系统的起源方面的资料,就是那种阐述文件系统为什么会成为现在这样的文章。

我刚才试图设计一种能快速rm -R的文件系统,但是发现无论怎么实现,它都无法快速的mv了。
mv操作应该是比rm更频繁 ...


<Linux 内核源代码情景分析> 上册第五章讲的文件系统.
<UNIX操作系统设计> 上面也有.

论坛徽章:
0
18 [报告]
发表于 2007-09-26 19:20 |只看该作者
原帖由 思一克 于 2007-9-26 15:35 发表
本质就是这样的。

文件系统比一个有千万个货架的仓库,每个架子上还有盒子,里面还有小盒子。
现在要将1,8, x, y, z, x1, a1, .......N号码的盒子中的东西誊空(或做标记)。还要保留其他的不动。本来就是 ...

对头,很久以前,在偶还理解不了什么是文件系统的时候,我就用这个比喻来给自己解释什么是文件系统。

rm操作是要遍历目录树中的节点,mv只是操作顶部目录的节点,如果想rm的速度快起来,那只能重新设计文件系统了,能够让rm时只操作那一个节点结构就行了

论坛徽章:
0
19 [报告]
发表于 2007-09-26 22:21 |只看该作者
原帖由 塑料袋 于 2007-9-26 16:43 发表
不递归删除,还能怎样删除啊?除非你的文件逻辑结构不是树

这个解释好

论坛徽章:
0
20 [报告]
发表于 2007-09-27 01:58 |只看该作者
原帖由 oyd_admin 于 2007-9-26 15:09 发表
难道文件系统的设计,一定要先删除子目录,父目录才能删除吗?

他们都以为我在问为什么递归删除的功能不放在内核中,实际上我在问为什么要递归删除,我不认为这两个是同一种问题。

我觉得你可能没有理解目录文件本身只是一个文件,目录文件的内容是指向目录内含文件的索引。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP