沐弈杉计算机存储器(英语:Computer memory)是一种利用半导体、磁性介质等技术制成的储存资料的电子装置。其电子电路中的资料以二进制方式储存,不同存储器产品中基本单元的名称也不一样。
计算机存储器可分为内部存储器(又称内存或主存)和外部存储器,其中内存是CPU能直接寻址的储存空间,由半导体器件制成。内存的特点是存取速率快。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外部记忆体上的,但必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的,数据产生后不断地由内存向外部记忆体进行读写。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外部记忆体,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据储存在外部记忆体上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。
不。计算机内存中有一个层次结构。更快的内存更昂贵,因此您可以在便宜的内存上进行大容量存储。当您需要某些东西时,您可以将它加载到更小但更快的内存中以供使用。硬盘驱动器是一个磁臂,在磁盘上四处移动以进行写入。它非常便宜,50 美元就能买到一个 1TB 的硬盘。这使其成为大容量存储的理想选择。但它也很慢。
DRAM,或简称 RAM ,速度快 1000 倍并使用电子开关。它要贵得多:50 美元可以得到大约 4-8GB。一台普通计算机现在有 4 到 32 GB 的 DRAM,用于加载您正在运行的程序。完成一个程序或文件后,将其放回硬盘驱动器并加载另一个程序或文件。在DRAM之上还有一些层次,使用的是SRAM内存。这些都集成在 CPU 中,称为“缓存” 。现代 CPU 有多个缓存级别,每个缓存级别都比以前的更小但速度更快。这些只有几MB大。在DRAM和磁盘之间,还有闪存。这也使用电子开关,比硬盘驱动器更快、更小。例如 SD 卡、U 盘或 SSD 驱动器。
最后:DRAM 和 SRAM 需要电源才能工作。如果关闭电源,所有数据都会丢失。这称为“易失性存储” 。闪存和磁盘是永久的、非易失性的,但如前所述:慢很多。
没有将硬盘驱动器用作 RAM 这样的事情。不,交换文件或页面文件不用作 RAM,尽管许多人认为这是它的目的,(它不是)。CPU 不会从您的硬盘驱动器寻址数据,它总是从 RAM 中获取数据。(这是设计使然,从硬盘驱动器获取数据比按需在 RAM 中进出页面要慢得多。)当您没有足够的 RAM(对于您当前请求的内存)时,操作系统会从最少使用的 RAM 中删除数据,因此最常用的活动可以拥有该 RAM。您的硬盘驱动器不充当 RAM,它是进入 RAM 的数据的存储设施。一个公平的类比是将加油站作为您下载信息的网络。汽车的油箱作为硬盘驱动器,化油器作为低阶缓存,歧管作为高阶缓存。您的引擎永远不会从加油站或油箱获取汽油,它总是来自歧管(或现代情况下的喷油器)。当您没有足够的 RAM 时,就好像您的歧管/喷油器干涸了,因为发动机吸入的气体多于歧管/喷油器可以供应的气体,它会将汽油从油箱拉入化油器,然后进入歧管/喷油器,然后才能走得更远或更快。
当计算机没有足够的 RAM 时,就好像歧管或喷油器不断被吸干一样。就像拥有一台 12 缸 1000 马力发动机一样,为 4 缸 100 马力发动机提供足够的汽油。
为什么不使用 RAM 作为硬盘驱动器?它(RAM)甚至比 M.2 更快。
RAM 比 M.2 SSD 快得多。但它是不稳定的。一旦您关闭计算机,它就会消失。
然而,这并不是一个新想法。早在 1985 年的 Amiga 计算机就有一个标准的 RAM:当你用文件填充它时,它会构建一个动态 RAM 磁盘。1986 年,我的 Amiga 1000 上有一个 8MB 内存卡原型和两个软盘驱动器。那时候软盘只能装880K。因此,当我启动计算机时,它将操作系统的基于驱动器的组件复制到 RAM:驱动器,然后将所有系统位置分配给 RAM 磁盘。
这行得通,它使一切都变得非常快,等等。但是您也会从 RAM 中拿走程序运行时。您必须将其全部复制到 RAM 中:每次计算机启动时。当然这可以自动进行,但是您必须考虑到启动时间较长与使用 RAM 光盘节省的时间相比。回到 Amiga,如果您基于软盘并且有多余的 RAM,那是很简单的事情。
你真的需要在现代计算机上使用它吗?对于某些操作系统来说,这可能更加困难,因为它们在全球范围内引用位置,而不是像 Amiga 这样的逻辑分配。您可能没有足够的 RAM 来安装 Windows 需要从 C: 驱动器中获取的所有组件。尽管由于更灵活的特性,Linux 系统已经使用 RAM 磁盘已有一段时间了,它的工作方式很像 AmigaOS 上的 RAM: disc,作为一个独立的文件系统而不是设备驱动程序实现。这使得 RAM 使用比面向块的设备存储更有效。
几乎所有现代操作系统都使用未使用的 RAM 作为驱动器缓存。您经常从 M.2 SSD 访问的内容缓存在可用 RAM 中。如果您的可用 RAM 开始不足,则会刷新缓存。
其他现代操作系统功能旨在根据过去的活动改进您未来的活动。Android 和 iOS 等移动操作系统喜欢将内容尽可能长时间地保存在 RAM 中,因为从闪存加载会消耗更多电量,而且速度也会变慢。因此,应用程序即使在不活动时也会保留在内存中,直到其他东西需要该内存。
正如Perris Calderon指出的那样,自 Windows Vista 以来,Windows 就有一个功能,称为Superfetch 。操作系统会跟踪您更频繁使用的东西,并将它们预加载到可用的 RAM 中,因为您很可能会在下次启动时重新使用它们。自 Windows 8 以来,Windows也有一个称为快速启动的功能。当您在启用此功能的情况下关闭计算机时,它不会完全关闭所有内容。相反,它会踢出所有应用程序,因此只有操作系统处于活动状态,然后它会使操作系统休眠——将 RAM 映像存储到磁盘并关闭。当您重新启动时,它会加载该映像,这比加载所有组件文件要快得多。
我们最终在 AmigaOS 上使用的另一个技巧:可恢复的 RAM 磁盘。您打开机器并将所有内容复制到可恢复的 RAM 光盘。使用称为“RAM 中的 ROMtags”的功能,Amiga 将以您的 RAM 磁盘作为引导驱动器重新启动。
|