这里涉及档案和硬盘存放资料的方式,用户[视]档案为一个整体(不管大小),硬盘没有档案
的概念,只有一个一个的扇区(占用和未占用),这中间的仲裁是作业系统,它会将硬盘规划成
什么档案系统(比如NTFS,FAT32,ENT4等等),每一个档案可占用一到多个磁区.
磁区的基本单位是512字节,但为了省时,一次存取可以是一磁区或多磁区,常见的是2K-4K,
换言之,若系统在规划时定义了4K,则单一档案即使大小是1字节,也会占用4K(8个扇区)的空间.
当用户要储存档案时,系统会根据档案[大小],档案表格的[占用]情况,来写入硬盘,
比如空间分布是00011000111....,每一个单位表示4K,0表示未占用,1表示占用,
原档案若须10个4K空间,则先写入首3个0-2,再跳到5-7,然后再找其他未占用...
每一个独立4K单位中的[记录表格]里,会写下占用[与否],下一个4K的位置,
这样就做成一个链状的结构,直到档案终结,[记录表格]记录了[占用]和[没有下一个].
对用户而言,档案或者叫文件,可以理解为一种包装,用户不会知道文件放在硬盘哪里(可能
被四散分布在多个角落),只有作系业系统知道它在起始位置,存取时,对硬盘发出读取指令,
再根根据[链状结构],逐一读取以完成任务,这一连串的动作对用户都是透明的.
若要绕过用户甚至作业系统去读写文件,等同直接操作档案系统(NTFS,FAT32等)之类的细节.
难度是有的,也有许多反删除,复原软件的源码可作参考,楼主自己找找看吧....