learn-computer-basic/src/storage_device.md

13 KiB
Raw Blame History

存储设备

好了到这里相信我们都知道电脑是怎样运作的了它会吃会拉输入和输出它还有脑子CPU才能工作若是没有记忆Memory就等于白痴

但是其中的RAM要没电就什么都打回原形。虽然我们可以在屏幕或是打印机上看到结果不过我们还希望把这些结果给储存起来供以后需要再提取又或者将程序和其他数据储存起来就不用每次输入都要忙着敲键盘或动用其他的输入设备了…… OK这里要说的储存设备就是这么用的了。

定义

凡是能够反映数据特征的无须靠电源维持的方法来储存电脑数据的媒介我们一律可以称之为储存设备。最常见的储存设备是U盘移动硬盘等等。然而最经常用到的却是藏在机器里面的硬盘。我们一般看不到它而且也最好别去碰它因为硬盘可以说是最容易坏的电脑零件之一了天啊﹗我们竟将数据放在上面。不过到现在硬盘的故障率已经大大降低了。但是数据丢失的风险还是有的。所以 “数据备份” 这种意识,是作为一个信息人的最基本的素养。

如何安装?

一旦我们要动手升级自己的电脑的时候,硬盘恐怕是最经常被考虑到的物件。

现在的硬盘通常分为以下两种:

  1. 机械硬盘HDD

    从实物上看,硬盘只是一个丑丑的金属块。在其肚子下面有密密麻麻的一大堆电子元件(这些东西都不要碰哦),现在通常使用 SATA 接口。

  2. 固态硬盘SSD

    固态硬盘通常比机械硬盘要小的多,形式也多样。通常有 条型的电子元件裸露M.2硬盘(裸露的电子元器件不要碰哦) 和 方形的一般拥有规整外壳SATA硬盘。

硬盘接口分为以下几种:

  1. SATA

    这是我们最常见的接口我们见到的绝大部分的机械硬盘和一部分的固态硬盘都是这种接口。这种硬盘体型一般比较大通常为3.5寸或2.5寸。您会看到一排金手指,中间有一个两边向上突起,中间分开的凹槽,把金手指分为左右两个部分,短的是数据线,长的部分就是电源了。

    再看看硬盘的侧面没有螺丝孔的其中一面在SATA接口上长的部分就是电源。那些从电源箱引出来的电源线就是接到这里的不用担心您会接错正负极因为安反了是插不进去的防呆设计不要大力出奇迹

    然后在另外一端,短的接头就是数据排线接口了。排线的接头有个凹进去的方块,那样的话要是掉反了方向是插不进去的(又是防呆!)。

    对于部分光驱来说安装方式和SATA硬盘相同。

  2. M.2

    M.2 的接口相比SATA很短因此硬盘的体积也很小。您会在一排金手指上看见一个或两个缺口有的在左有的在右。不同协议的硬盘有着不同的缺口选购时请参考您的电脑主板。

    你只需要斜着把硬盘(有贴纸的面朝上)插进主板上的接口,不需要数据线,然后压下去(不用担心压坏了),如果有盖子把盖子装上。拧上螺丝(不用拧到头,有的有快拆设计,不需要拧螺丝,只需要轻轻一压就好了,还有另一种需要旋转一下螺丝位上的小手柄的)。

  3. SAS SAS属于企业级硬盘接口我们基本见不到。此处不再说明。

  4. PCIE 同上。

  5. IDE IDE是老式硬盘接口此处不再说明。原链接

老式的IDE硬盘在电源接口和数据线接口之间还会有一些跳针但在新电脑上已经消失了。这里不再说明。

如何计算容量?

一般我们买硬盘首先是注重它的容量,其次看它的速度,缓存大小等数据。那么我们怎么才知道容量呢﹖最简单的是看硬盘的标签和厂商的数据,但却是通过非技术途径得到。下面我就教您如何去计算硬盘的容量。不过,在进行计算之前,首先我们还是了解一下硬盘的构造。

  • 机械硬盘

    如果你将机械硬盘打开(千万别在您自己的硬盘上这样做﹗因为硬盘是密封的,并且盘片需要在无尘环境下运作,一打开你就会得到一面镜子!)您会发现里面有一堆同轴的金属碟,所有的数据都是记录在这些光滑的金属碟表面之上。磁盘通常都有两面,每一面都有其一个各自的磁头。

    然后将金属磁盘旋转磁头不移动的在表面相对所画出来的一圈可以说是一个磁道Track。那么从圆心向外以一定距离进行测量将所有表面上的相同圆周的磁道从上到下叠起来抽象地看就是一个磁柱Cylinder了。

    然后也是由圆心开始在同一表面上分别画出无数条半径然后每两条半径所分割的磁道我们称为扇区Sector。每一扇区通常可携带512byte(0.5KB)的数据。

    现今制造技术的不断提高机械硬盘的磁盘越来越薄磁头也越来越小那么磁盘就可以越装越多相对的是可擦写表面越来越多甚至一块硬盘能够达到10T而且表面的密度也不断提高和读写精度越来越高相对的是Track和Sector也越来越多所以硬盘容量也越来越大。

  • 固态硬盘

    如果你看见过M.2硬盘或者打开的SATA硬盘你应该会看到上面密密麻麻的电子元器件。固态硬盘就是靠这些元器件进行存储的。

    其中你应该能看见许多较大的黑色芯片。其中有一个正方形的那个是硬盘的主控负责管理整个硬盘。数量较多其他较大的长方形的的就是存储芯片闪存你的数据都被存放到了这里。U盘通常也就是这种构造。

    固态硬盘同样有扇区等等,只不过大多都是主控模拟出来的,不再具有实际意义了。

好了如果以上数据Cylinder/Heads/Sector都知道的话要求出硬盘容量就易如反掌了。公式是

磁头数量 * 磁柱数量 * 扇区数量 = 硬盘容量

电脑的BIOS会自动获取硬盘的配置和容量无需像很早以前一样手动填写了。

现今的制造技术的不断提高机械硬盘的磁盘越来越薄磁头也越来越小那么磁盘就可以越装越多而且表面的密度也不断提高和读写精度越来越高相对的是Track和Sector也越来越多所以硬盘容量也越来越大。

而固态硬盘由最开始的SLC发展出了MLC、TLC、QLC等技术。这些技术可以让一个存储单元存下更多Bit的数据SLC是1位MLC是2位TLC是3位QLC是4位。这些技术使用存储寿命和读写速度换来了固态硬盘价格的降低和容量的提高。

格式化和分区

任何磁盘都要先经过格式化才可以使用因为不同的文件系统使用的格式也不同。但一块硬盘在刚生产出来的时候磁盘的表面可以说是空白一片要进行低级格式化简称低格Low Level Format机械硬盘需要写上track和sector固态硬盘需要写上固件之后才可以使用通常厂家在出厂的时候已经为我们做好了但是进行低格通常需要专业的工具/软件才可以。

平时我们常说的格式化多指高级格式化High Level Format只是给已经初始化的硬盘上再建构一些供文件系统使用的逻辑块同时还会建立文件系统FAT/NTFS/exFAT/ext、引导(开机)扇区、以及每个逻辑磁盘的根目录等等。

不过在硬盘的低格和高格之间我们还不能少了一个工序﹕分区Partition建立磁盘分区表Disk Partition Table。常用的分区表有MBR和GPT。不用担心选择好分区表以后是可以转换的

分区表就是在一个完整的磁盘上,分割开数个逻辑区域。就算您只想将整个磁盘拿来做单一的分区,也必须要有一个单一的分区需要建立。

  • MBR分区表是一种较老的分区表格式被绝大部分电脑所支持极少数过于新的电脑不支持MBR引导操作系统。MBR最多允许分 4 个实分区。如果想要分更多的区怎么办那答案就是使用逻辑分区。逻辑分区不限制数量。但是分区最大只能是2TB在当时人们做梦都不会想到现在有10TB的硬盘。MBR分区可以支持Legacy引导和UEFI引导。
  • GPTGUID是一种新兴的分区格式。在大部分较新的电脑上被支持并作为首选项。但是在Windows XP及以前Windows的系统都无法读取GPT分区表。GPT没有实分区和逻辑分区的区分因为GPT最多支持256个分区但是谁会用那么多呢。GPT分区只支持UEFI引导。

不过以小弟愚见,最好还是分割数个磁盘,自有其好处﹕

  1. 方便管理比如可以将磁盘分割为bootsystemdata等分区这样相同种类的文件都可以集中在一起整齐易理。不过现在由于文件夹的优化已经比分区方便多了
  2. 减少损失要是因为系统故障如升级失败等原因并且必须重新格式化的话将system或boot分区格式化就可以了你的data还不至于跟着消失。PSlinux确实方便很多只要保留home目录Windows的注册表和system也一起灰飞烟灭了
  3. 可安装多个操作系统。利用分区我们可以在同一硬盘上面安装多个操作系统比如Windows 7、Windows 10、UbuntuLinux的发行版之一等等。虽然有些系统可以安装在同一个分区里面但毕竟是不可取的。而且不同的操作系统使用不同的文件系统Windows使用NTFSLinux使用ext/xfs也不可能都使用同一分区。

然而大容量的硬盘也给分区带来不便比如有些朋友在安装多系统的时候由于将一些操作系统的开机目录安装在1024磁柱后面就会碰到找不到那个系统的情形了。不过新的BIOS已解决这个问题了。

当初MS-DOS在使用FAT(16)文件系统的时候为了增加读写的速度引入了一个叫簇cluster的概念一个簇往往是有好几个sector来组成的。因为一般的文件大小都超过0.5K一个sector的容量如果以簇作为最小分配单位的话那么在读写的时候就可以顺着一次过读写多个连续的sector比起逐个逐个的sector读写要快些。

在以前硬盘容量比较少的情况之下这样的方法的确比较见效不过在后来硬盘容量大幅度增加之后FAT16由于自身的设计已经不能一次性分配超过2G容量了。而且由于簇空间也不是全部都利用尽其浪费也很惊人越是大容量越是厉害。在Windows95之后所推出的FAT32文件系统可以提供更多的分配单位也就能管理更大的容量了不过还是因为自身缺陷不能分配超过4G的容量。

再之后的NTFSNT Files SystemWindowsNT文件系统将簇体积基本上降低到一定的sector单位常见的单位是4KB所以通常叫4K对齐所利用的空间也就更有效。NTFS可以支持更大的文件理论可达2TB。

以下是一些常见文件系统的兼容表:

项目 NTFS exFat ext2/3/4 xfs
Windows 兼容性 不支持 不支持
Linux 兼容性 i i
MacOS 兼容性 不支持 不支持 不支持

i: Linux内核仅支持读取写入需要使用第三方软件包。但大部分发行版已经自带不过Ubuntu并没有自带exfat支持。


无论如何使用UEFI启动时其EFI分区必须是FAT(32)格式的。

虚拟内存/内存盘

储存设备就好比是电脑的仓库。不过除了用来保存数据之外还可以当RAM用哦

或许您也听过什么“虚拟内存”Virtual Memory”这词了吧这究竟怎么样的东东呢理论上电脑工作的地方都在内存上面但有时候程序太大或同时开的程序太多就很容易超过了内存的容量了这样系统就无法工作就会导致“蓝屏死机”。

为解决这一问题我们就在硬盘上面划出一个地盘用来储存超出内存容量的部份通常是那些暂时还不处于工作状态的数据。如果电脑需要处理那些数据的时候然后再从硬盘上把数据抄到RAM里面同时也将另外一些暂时不处理的数据搬到硬盘上面这个动作叫做SWAP。如果RAM的体积小电脑就整天都忙着这样搬过来搬过去效率就大打折扣了。这就是为什么增加RAM会提高电脑的整体表现的原因了。Windows会把程序“申请”但还没有使用的内存放到SWAP中等待程序使用时才拿出来。

和虚拟内存相反RAM Disk内存盘则是利用RAM模拟出一个虚拟磁盘。不仅读写速度快多了而且在还没有划分磁盘但又需要一些空间临时储存程序的时候就特别有用。在Win98的时候就有虚拟磁盘功能了。甚至整个操作系统RAM OS都可以被放进内存中比如说Windows PE和Linux LiveCD

好了,关于硬盘,暂时说到这里,接下来要讲的是电脑的一个非常重要的部件——主板。


原文: netman
翻译: cxykevin

study-area-cn