关于文件存储,文件格式定义
我不知道去哪个论坛发一个帖子来问下我的疑问。
考虑到大家使用汇编比较接触到底层,望能够得到回答。
1,存储在介质上的文件是不是已经加入了容错码。
描述的不大清楚。就是说,文件在介质上时是以单纯的数据顺序排列还是已经加入了例如汉明码等校验。 一般,数据出错的概率是多大?
现在我需要存储一个很大的数据集。担心它某些位会因为种种原因而出现问题。我是不是应该考虑自己在文件格式标准中加入容错,还是,现在的计算机系统已经把这个功能在底层实现了??
[解决办法]
在文件系统级,是没有附加校验的,一般由更底层来保证数据的完整性和可靠性。而在底层,直接存储数据的原码是不可接受的,必然要使用某种编码来保证数据的可靠性和完整性(起码读出来的数据和存进去的不一致要能发现),在磁道/扇区一级,是有的(ECC),更底层的信号编码,也有(目前一般使用PRML、EPRML编码)。
你的需求,应该属于应用层的数据校验,如果你的数据很重要,不能被篡改,出现错误要能及时发现,那你肯定要自己处理,比如使用CRC之类的校验方法。
[解决办法]
研究过NTFS和FAT32文件系统,没有发现这方面的东西,也有可能我没有理解到。就像楼上说的一样,这个保证数据的正确性应该是放到了更底层了。