分享

数字化时代的生存常识,文件存储的本来样子

信息化条件下的文件到底是如何存储的?了解文件从编码到逻辑存储,再到物理存储的各个环节,从文件格式到文件系统所设计的存储模式,再到物理存储介质的存取控制器,最终到存储介质的物理变化,每一个中间环节都可能还原文件,都可以悄然地读取文件……



当听到“文件”这个词时,如果大脑第一反应是电脑上的电子文档、电影、手机上的照片,说明你跟上了信息时代的步伐,反之,如果大脑对“文件”的理解还停留在传统纸质的层面,可能在面对信息化方面,多少会有些措手不及,相应地,在应对随着信息化而来的挑战时,更容易促不及防。

“用魔法打败魔法”是当下流行的网络短语,所表达的含义不过是传统成语“不入虎穴,焉得虎子”的进阶版,从另一个角度看,还暗含了另一条网络短语“打不过就加入”的意味,只是“打不过就加入”似乎多了一分“同流合污”的负能量的色彩。

为了避免陷于“只能加入”的境地,唯有在提高“魔法"能力上下功夫。传统的纸质文件被数字化后,存储在各种信息存储设备上,无论是硬盘、U盘还是光盘,或是磁带等数字化存储介质上,这些存储介质本身,和数字化的过程都很神奇,在不了解计算机知识的人看来,的确是一种“魔法”。


虽然说会开汽车不一定非得会修车,会造车,但若懂得一些发动机、离合器、刹车、车架悬挂的知识,会使人更加了解汽车本身,于驾驶有百益而无一害。倘若与一个对象长时间相处、相伴,持续深入的相识则是既自然又必然的需求,朋友不例外,汽车也不例外。

对于身处信息时代的人而言,数字化存储的文件更不能例外,毕竟工作文档、美好记忆影像照片、各种记载人类文明知识的信息都是以电子文件的形式保存着,因此有必要了解文件数字化存储的本来样子。

640.jpg

首先,以常见的存储设备硬盘为例,文件到底在硬盘上是什么样子呢?拆开硬盘,只能看到磁头、伺服马达、盘片、还有固定盘片的磁柱,文件在哪里呢?硬盘是要被分区、接着格式化后才能存储文件的,那么文件必然在某个分区中,在格式化后的某个区块里。

不着急在硬盘盘片上搜寻,因为无论是硬盘分区还是格式化,都是逻辑上的,因此,还是直接点开某个文件看看,数字化后的文件是什么样子,无论是办公文档,还是视频照片,在不使用特定应用软件的情况下,打开后都是“数字”,这些数字以2进制0和1显示起来不方便,所以通常以“16进制”的形式表示,即以“0123456789ABCDEF”分别表示0至15。

那么,既然这些文件都是数字化存储的,为什么规定Word文档要用微软Office软件打开,WPS文档要用WPS软件打开,特定文件格式要对应特定的应用软件呢?这是因为每一种文件格式都代表了一种编码约定,就像操着不同语言,不同方言的人需要对彼此的话音进行解码一样,编码不同,相应地解码也得匹配,否则就听不懂,文件则表现为打不开,或者打开后呈现出最通用一般的形式:一堆数字。

640.jpg

既然文件都是数字,意味着寻找文件的我们,应当去寻找就文件所对应的数字,找到数字就是找到了文件。可是这么多文件,都以数字的形式表达并存储,如何区分这些挤在一起的数字呢?这就需要对这些数字化的文件设计出一套管理机制,即文件系统。

文件系统就像是作业本上的格子,像书籍内容中的排版规范,有了格子和规范,书写和印刷就工整美观,方便阅读,还提高阅读效率。不同的作业本和书籍往往格子和排版有很大区别,音乐本、美术本、低算本在格式上完全不同,杂志、报纸、专业期刊的印刷规范也有显著不同。同样的道理,为了更好地存储各类数字化文件,产生了各种文件系统,比如早期DOS操作系统中的FAT16、FAT32文件系统,后来的Windows操作系统中的NTFS文件系统,苹果操作系统上的HFS+文件系统,还有Linux操作系统上的EXT4文件系统,等等。

640.jpg

由于文件系统设计思路的不同,在文件存取性能,或者说读写文件的效率上会有一些差别,有时这些差别还比较显著。文件系统是管理组织文件的,那么谁来管理文件系统呢?

答案是操作系统。操作系统管理计算机上的硬件和软件资源,并且负责从硬件到软件的抽象,完成软件到硬件的映射,以文件系统为例,每一个具体文件都表现为巨量数字,这些具体数字都存储在硬盘上,具体是如何实现的呢?一切交给操作系统。

首先,操作系统管理硬盘,对硬盘进行分区,分区后的格式化本质上就是建立文件系统,实质就是在硬盘的分区上建立文件目录表,索引项,记录硬盘存储空间与文件目录表的对应关系,这个过程如同在一本厚厚的白纸上画线、打表、最后设计空白的目录,以后每记录一项内容,相应地,在目录上添加相应的索引条目,以方便日后查找。这些具体工作是文件系统所做的事情。

640.jpg

有了文件系统还不够,因为操作系统除了管理文件以外,还要管理硬件资源,比如硬盘、打印机、USB设备,这些设备怎么管理呢?一个伟大又巧妙的思路出现了!将这些设备假装成文件,和文件一样都编码成数字,计算机就是管理数字、运算数字的工具,神奇之处在于,一切硬件、软件经过编码后,都变成了数字,为计算机管理创造了条件和机会。

然而,设备毕竟不是文件,因此操作系统需要提供相应的抽象,哪怕是文件也一样,最终存储到硬盘上,必须表现为磁性变化,从数字0和1到最终的磁性表达,这中间有操作系统和硬盘控制芯片的功劳。不同的存储介质,需要操作系统和相应存取控制器提供不同的抽象,比如:文件存储到光盘上最终表达为激光轰击产生的凹凸不平的物理表面。

之所以文件可以存储到硬盘、光盘等存储介质上,是因为文件本身由一堆巨量的0和1组成,而各类存储介质不过是以不同的物理方式表达了巨量的0和1而已。

640.jpg

可以想象,按照具体的编码约定,对文件进行数字化处理,再经过一系列从逻辑操作到物理操作,最终文件存储到了某种存储介质上,很难直接以肉眼去查看存储介质上的物理变化。假使某人拥有可以直接看清光盘上代表0和1的每一个凹凸点,大脑也无法将其转换成可以阅读的文件,这正是需要编码约定并开发出各种软件的原因。

按照编码约定,表示文件的巨量0和1有着精心设计的组成结构,即文件格式,在文件格式之上还存在各类变换,比如:加密、隐写等。所以离开了WPS软件,就无法阅读相应格式的文件,即使是最普通的文本文件,txt文件也离不开最基础的字符、汉字的编码约定,往往由于编码的不同,导致文件乱码而无法阅读。

对文件格式和内容编码约定的掌握程度直接决定了文件存取的能力,即使某种文件格式所对应的编码约定是公开的,不同厂商开发的软件在打开、处理相同文件格式上的稳定性、兼容性、速度上依然存在差异,这种差异所代表的能力直接决定了应用软件在市场上的影响力。当年WPS格式与微软word格式之争,Adobe系列软件与CorelDraw平面制图文件格式之争,3DMAX与AutoCAD三维做图文件格式之争……

640.jpg

文件格式直接面向用户,是对巨量0和1最高层次的抽象,从这个逻辑层面到物理层面还有很多环节,每一个环节都存在着类似的能力竞争,例如:文件系统层面、硬盘分区层面、光盘物理存储格式层面,这类竞争能力更加核心,更接近0和1,难度很高,同时意味着获取文件的能力更加深入、更加基础。

换言之,获取文件能力越深入、越基础,则读取恢复窃取文件的能力会更强,那种几乎不依赖文件格式,而是直接读取物理存储块、不依赖文件系统直接读取RAW元数据的手段,使得文件可以被悄然读取,这正是文件可以被恢复的理论依据。


版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

没找到任何评论,期待你打破沉寂

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

本版积分规则

联系在线客服