计算机是如何工作的03

储存器

一般来说计算机的内存是非持久性 non-permanent的,比如你正在编辑某份文档,你还没来得及保存,电脑断电了,内存里所有的数据都会丢失,那么你刚才所编辑的部分就不在了。

储存器 storage内存 memory有所不同,任何写入储存器的数据会一直保存,直到被删除或是被覆盖,断电也不会丢失,是持久性 permanent的。比如硬盘,U盘就是储存器。
曾经持久性的介质速度慢,非持久性的介质速度快,但随着技术的发展,两者之间的差异越来越小。

最早的储存器是打孔卡,以及它的亲戚,打孔纸带。20世纪40年代,纸卡标准化成了80列 * 12行,一张卡能储存960bit数据(80*12=960)。纸卡一直沿用了十几年,因为无需用电,且便宜耐用,然而纸卡的坏处的读取缓慢,而且只能 写入一次 write-once

再后来出现了磁芯储存器,这是第一个真正意义上随机访问储存器。


硬盘

再后来20世纪50 60年代出现的磁鼓储存器,才使得现代 硬盘 hard disk drives的诞生,硬盘和磁鼓非常类似,硬盘用的是硬的磁盘子,而磁鼓用的是一个大号的圆柱体,但是储存原理是一样的,磁盘表面有磁性,写入头和读取头可以处理上面的0和1。硬盘的好处是薄,所以可以叠在一起,为储存数据提供了更多表面积。访问随机地址的时间叫做 寻道时间 seek time

软盘

作为90后,小时候上电脑课我们还有软盘,软盘其实和硬盘是一样的,只不过磁盘是软的,更为便携,在1970-1990非常流行,就和现在的U盘一样。

光学储存器于1972年出现,当时是12英寸的激光盘。后来出现光盘CD,DVD等都是我们较为熟悉的产物了。在功能上这些技术与硬盘软盘非常相似,但它们用的不是磁性,光盘的表面有许多的小坑,造成光的不同反射,光学传感器会捕捉到不同的反射,并解码为0和1。

现如今,储存技术在朝固态 solid state前进,没有了机械的部件。比如固态硬盘,U盘里面都是集成电路。

文件&文件系统

储存器可以断电的情况下长时间的储存数据,使得它们非常适合储存 一大块数据, 或者叫做文件 files。比如我们都见过的文本文件,图片文件,视频文件等等。

随意排列文件的数据是完全可以的,但是如果以特定格式排列会更有用,这叫做文件格式 file format。你可以自己发明文件格式,比如程序员就经常这样做,但最好的方式一般是使用现成的标准,比如jpeg,mp3,txt。

比如TXT文件,里面的数据就是文字,但和所有文件一样,TXT文件其实只是一长串二进制的数字,但通过编码(比如ASCII)就可以将这一长串二进制数字翻译成人类看得懂的数据。

再比如波形wave文件,也就是WAV文件,它一般储存音频,在能够正确读取数据之前,我们需要知道它的一些必要信息,比如 码率 bit rate,是单声道还是立体声。这里,关于数据的数据,叫做元数据 meta data

元数据

元数据在文件的开头,也就是原始数据之前,也叫做文件头 heard。比如上图中,音频数据位于DATA SIZE之后,以一长串数字形式储存,这些值代表声音的幅度。

又比如BMP文件,元数据之后就是每个像素的颜色。总之,它们归根结底都是一样的,一串长长的二进制。

现在,我们需要将这些文件储存到储存器,但是储存器并没有文件的概念,它们只能存储一大堆的bit。所以为了存储多个文件,我们需要一个特殊的文件,记录其他文件的位置,这个特殊的文件有很多名字,我们这里泛称叫目录文件,大多数情况下它都在储存器的开头,位置0,所以不用担心找不到它。

目录文件内,存着所有其他文件的名字,并且还存储着有关这些文件的元数据,比如创建时间,最后修改时间,文件所有者,是否可读写,文件的起始位置等。如果要添加文件,删除文件,修改文件或之类的操作,我们必须更新目录文件中的信息。好比图书的目录,如果你缩短或移动了其中一章,你就必须更新目录,否则页码就对不上,目录文件以及对其的管理,就是一个非常简单的文件系统 file system

文件系统隐藏了文件在存储上的复杂性,比如给储存分块 block,给文件预留空间,允许文件被拆分成多块并不连续的存储在储存器上,这很像原来提到的内存虚拟化。比如我们删除了某个文件,文件系统会把文件的记录清除掉,但是并不会真正清零文件占用的存储块,只有在覆盖的时候才会真正的被删除掉,所以有时候数据是可以被恢复的,尽管看上去已经被删除了。

刚才提到过,文件存储在储存器上并不是连续的,可能被分在不同的块上,也可能并不连续,也没有顺序,这种叫做碎片 fragmentation。碎片是新增/删除/修改文件导致的不可避免的副产品。碎片会导致磁盘来回转,比如从1到5再到2,而真实的情况,1个文件可能被分在上百个块中,而碎片整理 defragmentation就是为了解决这个问题而出现的。原理也非常简单,修改文件存放的块,使其连续。

刚才讨论的文件系统叫做平面文件系统,所有文件都处于同一平面,这在只有十几个文件的情况下是还不错的,但是实际上我们的文件系统经常会存储成千上万个文件,而将所有文件存在同一个层次,变得不切实际。就像现实世界的文件一样,相关的文件放在一起会方便得多,文件系统也可以把相关的文件放在同一个文件夹下,这叫做分层文件系统,我们现在的计算机就是如此。

在分层文件系统下,文件系统的文件就会增加元数据去区分它是文件还是目录,假设我们的目录文件在最顶层,这个目录也叫做根目录 root directory,所有其他文件和文件夹都会在这个目录之下。

分层文件系统

在这种文件系统下,我们移动文件只需要把文件目录中的记录移动即可,并不会真正去移动文件存储的数据。

文件系统使我们不必关心文件在储存器上的具体位置,使得我们可以更方便的整理和访问文件。

压缩

虽然我们可以很简单的去操作文件,但是我们依然希望文件数据能够尽量的小,这样我们就可以用相同的容量去存储更多的文件,同时传输的速度也会变快。解决的方法是压缩 compression,即把数据压成更小的尺寸。

压缩数据的一种方法是减少冗余信息,最简单的方法称为行程编码 run-length encoding RLE
例如,一段图片的信息,里面有连续7个像素的相同颜色,正常情况下数据内会有连续7相同的数据表示连续7个像素块使用同一种颜色,比如 黄-黄-黄-黄-黄-黄-黄 ,我们可以增加额外字节标识 比如 7-黄 来代表连续的7个黄色像素,然后删除后面的多余数据,为了避免计算机混淆哪个字节的代表执行哪个字节代表颜色,应用此结构的方法应该是一致的。所以会在每个颜色前添加数据,虽然会添加数据,但总的来说它会大大减少图像的字节数。
并且在压缩过后,图片可以被拓展成原始版本且没有任何降级。具有这种特性的压缩技术被成为无损压缩 lossless compression,因为被压缩的数据可以完整的被拓展回压缩之前的样子。

另一种压缩方式回删除不要的或次要的信息,尤其是那些无法被人类感知到到信息,这个技巧是大多数有损压缩技术 lossy compression techniques的基础。比如声音,可以过滤掉人类无法听到超声波和低频,有损音频压缩器使用这个方法来以不同的精度编码不同的频段,即使结果很粗糙,人们也不会注意到差异,或者至少对体验没有影响。比如手机通话,音频数据被压缩,随着信号质量或带宽的下降,压缩算法会删除更多的数据。

以与人类感知一致的方式抛弃或降低精度的想法,被称之为感知编码 perceptual coding,并依赖人类的认知模型。比如mp3,jpeg。抛弃一些我们听不到的或是感官上察觉不出来的差别。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355