LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: casio1374633

发现一个好玩的现象。。。求原因。。关于文件管理的部分

[复制链接]
 楼主| 发表于 2007-5-20 17:14:20 | 显示全部楼层
你们看我的签名,我的是T43,T43分区是ntfs的,我再ubuntu下面还是开了3G的,然后进行的删除操作,我发现用shell删除更快~~

我现在主要是想问个原因,为什么会出现这个情况。。10楼说的我觉得是的,windows对于小而多的文件批操作很慢。。不知道windows遇到这个情况是不是需要通过MS-DOS批操作删除的话才能快速解决。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-20 20:00:01 | 显示全部楼层
没人来说明这个事情吗?
回复 支持 反对

使用道具 举报

发表于 2007-5-21 11:19:02 | 显示全部楼层
只有一些可能的原因。其它的就需要更深挖文件系统结构和磁盘分区结构的问题了。

1:shell下,由于不需要通过图形库显示对话框和图标,速度肯定要快一点。
不知道lz对比win下在dos中删除这样一些文件速度如何?
2:Linux读写FAT分区算法更好一点
3:lz感觉
回复 支持 反对

使用道具 举报

发表于 2007-5-21 11:28:09 | 显示全部楼层
Post by casio1374633
楼上的,说这话你就太不厚道了。我敢问吗?

我去问,人家还不准拿我是linuxer特地来找茬的?!还帮我解答?!不骂死我就不错了。。

我拿到这来问,最大的好处就是,首先,我相信这里的每个人都是从win过渡到linux的,所以肯定会有人对2个操作平台都有了解,并且能够十分客观理性的解答我的问题。

我拿win去问。。人家又没用过linux。。不骂我找事还能干吗?

用户对操作系统再了解也只是停留在使用的表层上,要想知道其真正的原理,不知道其具体的实现是不可能办到的。既然使用一个封闭的 OS,那就默默的承受它的一切吧,优秀也罢,糟糕也罢,Windows 就是这个样子,用户是无法改变它的。

楼主的问题中“就是想知道原因,是不是windows和linux关于文件管理或者删除的形式不同。。又或者寻址方式的不同”,“都没有说出原因,也都没说到点子上”,显然楼主想得到的是准确的答案,而不是大家的猜测。如果这里真的有某位兄弟可以清楚的给楼主一个答复,并且不是出于猜测,而是对其机制的真实了解,那我想 MS 完全可以以反向工程之类的罪名告其侵权
回复 支持 反对

使用道具 举报

发表于 2007-5-21 13:57:05 | 显示全部楼层
windows的这个Shift+Del操作是在Explorer中以COM接口的形式提供的,它本身也是调用这个接口来进行操作的,具体函数是 SHFileOperation,这个东西的动作是 QueryInterface 出IShell_XXX 的接口,然后再 Query 出 IShellFolder_xxxx 等接口,枚举文件信息,然后再逐一进行删除操作。

我们知道 COM 接口的调用是很慢的,传递参数也要从 ANSI 字符串到 BASIC 字符串进行转换,从基本数据类型到 variant 进行转换,它自己调用 IShellxxx_xxx 接口来枚举文件信息,速度自然不会快到哪儿去。

linux 这个可能不管,至多是一个遍历列表的速度,接下去就从 文件分配表 中除去文件信息,自然快得多了。
回复 支持 反对

使用道具 举报

发表于 2007-5-21 14:00:41 | 显示全部楼层
顺便说一下 SHFileOperation 这个操作在 Win2000 下比 Winxp 下还要慢几个数量级,也即是说,xp下有那个文件飞来飞去的对话框操作文件速度时要比2000快,具体原因不明....
回复 支持 反对

使用道具 举报

发表于 2007-5-21 14:23:28 | 显示全部楼层
我找了个29M的驱动程序目录,压缩成7600个4k包,在资源管理器中删除很快呀,del *.rar也很快。
del快于资源管理器,从选中到删除干净(shift+del)不超过40s,del 更快。
分别测试了,fat32,ntfs,实际感觉好像没啥区别,原来我还以为ntfs会快些。

我的配置 p43.0g---512m---winxp---选择了使用内存做系统缓存(我的电脑-属性-高级)-
文件夹选项(选中了在单独的进程中打开文件夹),使用传统风格显示文件夹,
要压缩的文件d:\aaa
压缩包 d:\bbb


你的问题我估计和 “没选中了在单独的进程中打开文件夹” 和在桌面上建立了很多文件夹有关,因为要显示很多图标,

另外你可以测试你的硬盘速度,如果在40M/s以下,那就是驱动不对。


另外,我认为,如果都是图形界面,win的效率要高不少,
我还认为,win在这个领域很多年了,不可能技不如人,只有别人不如他。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 18:11:26 | 显示全部楼层
15楼说的好专业,我都听不懂了。。估计你是高手,我想你说的肯定是正确的。

回17楼。我的电脑是T43,只有1.86G,1G内存,80G硬盘,X300显卡,不过确实是同一个电脑在不同操作系统下干了同样的事情却发生了不同的结果。

对你说的最后一句。。我持怀疑态度。呵呵。。
回复 支持 反对

使用道具 举报

发表于 2007-5-22 10:33:08 | 显示全部楼层
我建议你按照我说的方法,在别的电脑上测试一遍,如果3台电脑都会出现你说的这种情况才有可信度。
我已经做过实验,你这个是特例,建议你在非desktop文件夹再测。

-----------------------------------------------
winxp---选择了使用内存做系统缓存(我的电脑-属性-高级)
文件夹选项(选中了在单独的进程中打开文件夹),
使用传统风格显示文件夹,
要压缩的文件d:\aaa
压缩包生成位置 d:\bbb
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 12:33:34 | 显示全部楼层
回楼上的,算了。只是一个现象感到比较好玩罢了。。

再说我想知道的是windows在删除按键按下到弹出删除窗口那之间的停顿,windows到底这时候都在干嘛?我觉得你对Windows挺熟悉的,估计你双操作系统都是高手,想请你帮忙解答一下。。

不胜感激~~
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表