稀疏文件 介绍

稀疏文件 介绍
稀疏文件 是一种概念,并不是一种实现的技术

现在我们知道,操作文件的时候可以
open(FILE,">XXX");#创建文件;
open(FILE,"+<XXX");#修改文件;
open(FILE,">>XXX");#在文件尾追加字节;
但是不能
open(FILE,"+<XXX");seek(FILE,100,0);#在100处插入字
以上代码会改写文件,而不是插入

后来就有人提出了"稀疏文件"的概念,建立一个"稀疏文件"的文件在中间可以
插入字节

实现稀疏文件现在各有各的技术
首先介绍在NTFS下的"稀疏文件";
NTFS下稀疏文件是靠不结束文件尾的方法
在Flashget下载中我们可以看见你下载一个100M的文件
*.jc文件一点一点大起来的,多线程的时候是怎么在文件中间插字呢
要是你在仔细一点看看,虽然*.jc文件是一点一点大起来的
但是在看文件分配的时候磁盘已经被占用了100M空间了
那么你会问"稀疏文件"不是没有效果吗?占用100M却显示文件只有几K
技术关键是在你下载文件到一半的时候你结束flashget那么占用的100M空间
会被释放,空间回落到你文件的大小占用.


稀疏文件现在还是bate阶段
无论NTFS,EXt2,或者其他文件系统都还没有virtual file system的能力
说到virtual file system,先说说CPU的虚模式
我们知道CPU工作在虚模式的时候无论你的内存是多少,128,256
你都可以当作自己有拥有3GB的内存来操作
virtual file system就是让你在一个10GB的硬盘上建立一个10000GB的稀疏文件

不止NTFS,现在ext3可以开始拥有稀疏文件能力了,