为什么懂电脑的高手都喜欢用内存当硬盘?
正确的。内存当硬盘的玩法,流行于 WinXP 末期到 Win7 ,2007-2012 年。
从 2007 年第四季度开始,内存价格一路下行,到 2008 年更是在低位上继续下探。下图是 2008 年全年的 DDR2 内存价格走势,可以看到单根 2G DDR2 800 内存甚至逼近 100 元的白菜价。

有这样的价格,2Gx2 就成为组装机的标准配置。注意到 2Gx2 = 4G ,而 32 位操作系统默认可用内存就是 4G ,扣除 BIOS 为集成显卡、PCI/PCIe 设备预留的地址空间,实际可用的内存一般在 3.5G 以内,有的机型只有 3G ,甚至还有 <2.5G 的情况,如下图所示。

设想一下,你买了一台电脑,安装了两根 2G 内存,最后只有 2.46G 可用,肯定不能忍啊。那么,怎么办?100% 解决问题的方案是重装 64 位系统,但当时普遍认为 64 位系统的兼容性不佳,有些老软件用不了,因此很少人将 64 位系统作为主力。这其中有 64 位的原因,更重要的是,之前推出的 64 位系统,无论 WinXP-64 还是 Vista-64 ,都比较失败。比如 WinXP-64 采用了和 WinXP-32 不同的内核,一些硬件甚至找不到驱动;而 Vista 系统本身的名声就不好 ( 32 位版本也一样 ) ,刚推出时 ( 2006 年底-2007 年初 ) 内存又特别贵,使用 64 位系统更是会加剧内存紧张。所以,很多用户,包括 OEM 厂商,都默认安装 32 位系统,这个习惯到 Win7 时代也未改变。
正因为大家都喜欢用 32 位系统,如 WinXP-32 、Vista-32 和 Win7-32 ,只要安装了 2.5G 以上的内存,都可能遭遇“可用内存缩水”的问题。而既然不想换成 64 位,就需要在当前 32 位系统将“系统不可用内存 ( 即高位内存 ) ”重新利用起来的办法,这就是内存地址扩展 ( PAE ) 。

早在很多年前,有的服务器已经安装了 4G 及以上的内存,操作系统还是 32 位,率先遇到了上述问题。PAE 是一种利用地址扩展,将高位地址映射到低位,让 32 位系统访问的方案,如图[1]。

当时,一个典型的做法,就是先在操作系统启用 PAE ( 通过添加启动参数 ) ,然后使用 RAMDisk 软件,将超出系统默认可用范围的高位内存,如 3.25G / 4G 剩下的 768M ,虚拟为一个硬盘。
具体步骤参考下文,我这里直接引用。
如何充分使用4G大内存(1)——安装ramdisk在开启 PAE 之前,显示 3183M 内存可用,而实际安装了 4096M 内存。



然后,将系统未使用的内存,设置为虚拟硬盘。由于下图的机器有 256M 分配给集成显卡,所以这里只设置了 512M 的虚拟硬盘。


RAMDisk 创建完成后,即可利用这些内存。比如,将虚拟内存的页面文件设置到 RAMDisk 。

或者,将系统临时文件夹设置到 RAMDisk 。

你可能会觉得,512M 的容量,用处不大。但要注意,当时内存实在太白菜价,最便宜的时候,2G DDR2 800 内存只要 105 元一根,就可以用很低的成本实现 8G 内存。在 8G 内存安装 32 位系统,能分配出 4.5-5G 的 RAMDisk ,这个容量可就不小了,或者说不用太浪费了。
在 2013 年之后,操作系统普及 64 位,PAE + RAMDisk 的玩法逐渐走下历史舞台。
不过,多年后,随着内存继续增大,来到 16G 甚至 32G 时,新的“内存当硬盘”玩法又诞生了,那就是把整个操作系统载入到内存里,从内存启动 RAMOS 。直到今天,RAMOS 也是有意义的,只是它不像 PAE + RAMDisk 那样流行 ( 毕竟那是刚需 ) 。欢迎来看看我的分享。
存储这么贵,会不会出现没有硬盘的电脑?有没有一种可能,做出来512g内存的计算机,这样就不需要外存了,那os这门课是不是内容可以少点?在车上开车,在 OBD 上 NTE !SU7 车载 PC 新方案 & 异环串流游玩演示