读写文件是最常见不过的操作。通过我们说文件,是指存储在磁盘上的文件。
显然这里会产生一个性能上考虑:把文件系统放在内容中以增加读写速度。
传统意义上的RamDisk,即在内在中开辟一块空间,格式化为文件系统。
ls /dev/ram*
这种方式创建的RamDisk大小固定。
ramfs从内核2.4开始支持。
ramfs处于虚拟文件系统(VFS)层,使用时无需格式化。空间大小不是固定的,而只是有一个上限。
上面两种类型的"ramdisk"使用的都是物理内存。
tmpfs可以使用物理内存,也可以使用交换分区。换句话说,就时tmpfs使用的是内存还是交换分区,tmpfs本身是不知道的。
在Linux内核中,虚拟内存资源由物理内存(RAM)和交换分区组成,这些资源是由内核中的虚拟内存子系统来负责分配和管理。Tmpfs向虚拟内存子系统请求页来存储文件,它同Linux的其它请求页的部分一样,不知道分配给自己的页是在内存中还是在交换分区中。