程序员必备知识计算机数据存储(上)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/meiwei_1/article/details/79525527

数据类型包括:文本、数值、图像、音频和视频,还涉及数字摄影、音频/视频录制和复制,以及远程通信等领域。

内容:

一、位和位存储

二、主存储器

三、海量存储器

四、用位模式表示信息

五、二进制系统

六、整数存储

七、小数的存储

八、数据压缩

九、通信差错

本篇主要是介绍前三项的基本概念

1.1位和位存储

 信息是以0和1的模式编码的。这些数字称为位(bit,binary digits的缩写)

1.1.1布尔运算

为了理解单独的位在计算机中是如何进行存储和操作的,这里我们假设位0代表FALSE(假),位1代表TRUE(真),这样表示就可以把对位的运算看做是对真/假值得操作。数学家乔治·布尔(George Boole,1815-1864)是逻辑数学领域的先驱,为了纪念他,人们把处理真/假值的运算命名为布尔运算(Boolean operation)


1.1.2 门和触发器

门(gate)指的是一种设备,给出一种布尔运算输入值时,可以得出该布尔的输出值。

今天的计算机中,门经常是通过微电子电路实现的,其中数字0和1由电压电平表示。

触发器(flip-flop)是一个可以产生0或1输出值的电路,它的值会一直保持不变,除非其他电路过来的临时脉冲使其改变成另一个值。换句话说,输出值在外界的刺激下在两个值之间互相转换。

1.13 十六进制记数法

一个长的位串常被称为流(stream)。为了简化这种位模式的表示方法,我们常使用一种称为十六进制记数法的简写符号,它是利用计算机位模式的长度为4的倍数这样一个事实制定的。具体来说,十六进制记数法用一个符号表示位模式的4位。例如,一个12位串只需要3个符号就可以表示。

十六位模式1010010011001000可以缩减成更易为人接受的形式A4C8.

1.2 主存储器

为了存储数据,计算机包含大量的电路(如触发器),每一个电路能够存储单独的一个位。这种位存储器被称为计算机的主存储器(main memory)

1.2.1 存储器结构

计算机主存储器是以称为存储单元(cell)的可管理单位组织起来的,一个典型的存储单元容量是8位。【一个8位的串称为一个字节(byte),因此一个典型的存储单元容量是一个字节】

我们通常假设存储单元的位是排成一行的。该行的左端称为高位端(high-order end),右端称为低位端(low-order end)。高位端的最左一位称作高位或最高有效位(most significant bit),类实地,低位端的最右一位称为低位或最低有效位(least significant bit)

为了区分计算机主存储器中的各存储单元,每一个存储单元都被赋予了一个唯一的“名字”,称为地址(address)

为了做成一台计算机的主存储器,实际存放二进制位的电路还组合了其他的电路,这些电路使得其他电路可以在存储单元中存入和取出数据。以这种方式,其他电路可以通过电信号请求从存储器中得到指定地址的内容(称为都操作),或者请求把某个位模式存放到指定地址的存储单元里(称为写操作)。

因为计算机的主存储器由独立的/可编址的存储单元组成,所有可以根据需要独立访问这些存储单元。为了反映用任何顺序访问存储单元的能力,计算机的主存储器常被称为RAM(Random Acess Memory,随机存取存储器)

现在的大多数计算机中,RAM都是用其他可以提供更小型化和更快响应时间的技术制造的,其中许多技术将位存储为可快速消散的电荷。因此,这些设备需要附加的电路,称为刷新电路,可以在1S内反复补充电荷很多次。因为它的这种不稳定性,所以通过这种技术构造的计算机存储器常被称为动态存储器(dynamic memory),于是就产生了术语DRAM(读作“DRAM”)用来表示动态RAM。有时候关于动态存储器也会用SDRAM(读作“ES-DEE-ram”)

1.2.2存储器容量的度量

如果主存储器中存储单元的总数是2的幂,那么设计起来是很方便的,因此早期计算机存储器的大小通常以1024(2^10)个存储单元为度量单位。术语千字节(kilobyte,简写形式为KB)用于表示1024字节。因此有4096个存储单元的计算机被称为有4KB存储器(4086=4*1024).随着存储器容量的增大,又新增了一些类似的度量单位,包括MB(兆字节) / GB(吉子节) / TB(太字节)

1.3海量存储器

由于计算机主存储器的不稳定性和容量的限制,大多数计算机都有称为海量存储(mass storage)系统的附加存储设备,包括磁盘/CD盘/DVD盘/磁带/闪存驱动器。相对于主存储器,海量存储系统的优点是更稳定/容量大/价格低,并且在许多情况下可以针对存档的需要从计算机上方便地取下这类存储设备。

术语联机(on-line)脱机(off-line)通常分别用来描述那些既能接入计算机又能从计算机上移除的设备。联机意味着设备或信息已经与计算机连接,不需要人的干预就可以使用。脱机意味着必须有人先干预,设备和信息才可被计算机使用。

1.3.1磁学系统

今天使用的磁盘(magnetic disk),它里面是薄的/可以旋转的盘片,表面有磁介质的涂层用以存储数据。读/写磁头安装在盘片的上面和(或)下面,当盘片旋转时,每个磁头在盘片上面或下面相对于称为磁道(track)的圆圈转动。移动磁头时,可以对各个同心的磁道进行存取。在很多情况下,一个磁盘存储系统包含若干个安装在同一根轴上的盘片,层叠在一起,盘片之间留有足够的距离,使得磁头可以在盘片之间滑动。这种情况下,所有的磁头是一起移动的。因此,每当磁头移到新的位置时,就可以访问新的一组磁道,称为柱面(cylinder)

因为一个磁道可以包含的数据通常比我们每一次要处理额度数据多,所以每个磁道又被划分成若干个小弧区,称为扇区(sector)。在大容量存储器系统里,边缘磁道可包含的扇区要远多于靠近中心的磁道,这种存储能力常通过一种称作ZBR(zoned-bit recoding,位区记录)的技术得以应用。

磁道和扇区的位置不是磁盘物理结构的固定部分,而是通过称为磁盘格式化(formatting)的过程磁化形成的。

有几个标准可以用来评估一个磁盘系统的性能:(1)寻道时间(seek time)读/写磁头从一个磁道移到另一个磁道所需要的时间;(2)旋转延迟(rotation delay)或等待时间(latency time),盘片旋转一周所需要时间的一半,也就是读/写磁头到达所要求磁道后,等待盘片旋转使读/写磁头位于所要存取的数据(扇区)上所需要的平均时间;(3)存取时间(access time),即寻道时间和等待时间之和;(4)传输速率(transfer rate),在磁盘上读出或写入数据的速率。磁头与盘片之间的空间很小,以至于一粒小小的灰尘都可能卡在其中,并因此损坏磁盘和磁头,这一现象便是磁头划伤(head crash)。

磁盘存储系统不是唯一应用磁技术的海量存储设备。一种更古老的形式是磁带(magnetic tape),在这些系统里,信息存储在一条细薄的塑料带的磁涂层上,而塑料带则绕在磁带卷轴上作为存储器。

磁带的一个主要缺点是,在磁带卷轴之间要移动的带子很长时,在一条磁带不同位置之间移动非常耗费时间。磁带技术常应用在脱机档案数据存储中,原因是它具有容量大,可靠性高和性价比好等优势。

1.3光学系统

另一类海量存储器所应用的是光学技术,CD(Compact Disk,光盘)就是其中的一种。由涂着光洁保护层的反射材料制成。通过在反射层上创建偏差的方法在光盘上面记录信息。激光束通过监视CD快速旋转时反射层的不规则反射偏差来读取信息。DVD(Digital Versatile Disk)可具有多达几个GB的存储容量,它有多个半透明的层面构成,精确聚焦的激光可以识别其不同的层面。蓝光技术(Blu-technology)使用蓝色(而非红色)激光,能够极为精确地聚焦激光束。因此,BD(Blu-ray Disk,蓝光光碟)的容量是DVD的5倍多。

1.3.3闪存驱动器

基于磁学和光学技术的海量存储系统的一个普通特征是通过物理运动来存储和读取信息,例如,旋转磁盘,移动读/写磁头和扫描激光束等。这就意味着,数据存储和读取的速度比电子电路的速度要慢。闪存(flash memory)技术有潜力克服这个缺点。在一个闪存系统里,用电子信号将二进制位直接送到存储介质中,电子信号使得该介质中二氧化硅的微小晶格截获电子,从而转换微电子电路的性质。因为这些微小晶格能够保持截获的电子很多年,所以闪存技术适合存储脱机数据。

闪存设备称为闪存驱动器(flash drive),容量可达到几GB,可用于一般的海量存储应用。

闪存技术的另一应用是SD存储卡(Secure Digital memory card),简称SD卡,SDHC存储卡(Secure Digital High Capacity memory card,高容量SD存储卡)的存储容量高达32GB,而作为新一代SD卡的SDXC存储卡(Secure Digital Extended Capacity memory card),其容量可超过1TB。

1.3.4文件存储及检索

海量存储系统中的信息一般被分组为较大的单元,即文件(file)。符合存储设备特性的数据块称为物理记录(physical record).因此海量存储系统中的大文件通常包含多个物理记录。

与这种物理记录划分相对的文件通常还有其自然划分,这由它所表示的信息决定。一个有关文本的文件包含段落或页,这些自然产生的数据块称为逻辑记录(logical record)。

逻辑记录通常由称为字段(field)的较小单元组成。有时候,文件的每一个逻辑记录是由一个特定的字段唯一标识出来的(也许是一个员工的标识号/一个部门标号或者是目录项标号)。这样的标识字段称为键字段(key field),键字段中的值称为键(key)。

在主存储器里留出一个足够大的区域,用于存放若干物理记录并将此存储空间作为重组区域。这种存储区域称为缓冲区(buffer)。一般情况下,缓冲区是在一个设备向另一个设备传输数据的过程中临时存储数据的区域。



欢迎关注微信号:魅影响

或扫描下方二维码关注

往期推送

Windows下腾讯应用宝认领应用步骤

最全Windows下搭建go语言开发环境以及开发IDE

5分钟掌握Linux文件目录管理


猜你喜欢

转载自blog.csdn.net/meiwei_1/article/details/79525527