1. 计算扇区数(Sectors)
扇区这个概念是从机械硬盘时代有的,后来为了保证向前兼容,在目前早已没有扇区的 SSD、优盘上仍旧保留了逻辑上的「扇区」概念。
一个扇区是 512 字节(bytes),所以 64MiB 的 RamFS,扇区数就是:
64MiB * 1024KiB/MiB * 1024B/KiB / 512B/sector = 131072(sectors)
2. 创建基于内存的设备文件
在 OS X 10.4 以上的操作系统中,对于储存类设备文件的管理已经交由 hdiutil 这个基于 DiskImages 框架的命令行工具进行管理类。[1]
所以我们的这个 RamFS 的设备文件的创建也不例外。先打开 Terminal,执行如下命令:
$hdiutil attach -nomount ram://131072
然后终端上会显示出创建的设备文件
/dev/disk2
命令中:131072 即为扇区数。nomount 表示不要挂载,待会儿我们创建完文件系统再手动挂载。
3. 创建文件系统
光有了基于内存的设备还不够,我们还需要在其之上创建文件系统。就像买了一张软盘,买回来之后我们还需要格式化才能使用一样。(这里举例没有使用优盘、硬盘的例子是因为这些相对「现代」的存储设备一般在出厂前都预先格式化过了。而大部分的软盘出厂前是没有格式化的,当然后期的软盘会格式化啦)这里我们创建 HFS+ 格式的文件系统,卷标为「Ram Disk」:
$newfs_hfs -v 'Ramdisk' /dev/disk2
然后终端上会回显信息:
Initialized /dev/rdisk2 as a 64 MB case-insensitive HFS Plus volume
其中带「r」的「/dev/rdisk2」是 /dev/disk2 的原始设备。
4. 挂载 Ramdisk
这里就很常规了,我们可以使用 UNIX 上传统的 mount 命令,把 /dev/disk2 挂在到任意目录。比如:编译时候的中间目录、浏览器缓存、Web 服务需要大量 IO 的目录,等等。
$m