Tuesday, October 28, 2008

总结:sth. about ramfs(ramdisk),loop device,tmpfs

ramfs,ramdisk,tmpfs,sysfs,devshm

sysfs是基于ramfs的?(wikipedia查ramfs自动重定向到sysfs)
ramdisk = ramfs?
tmpfs = ramfs?
devshm = tmpfs?

ramdisk
在linux里,可以使用内存(ram)模拟非易失性存储介质(如硬盘)。这就是所谓的ramdisk

loop device与loopback interface[3]
在linux里,loop设备是一个特殊的文件,它可以使得关联的文件作为一个虚拟的文件系统被读写。
比如在我的ubuntu里,默认有/dev/loop[0-7]共8个loop设备(这些文件通过/sbin/MAKEDEV脚本在启动时被创建)。
一个文件(如ISO)可以被挂载到一个目录上,以对其进行读写。
这个mount的过程实际上分为两步,
首先是进行文件与loop设备的关联,然后是挂载这个文件(或关联的loop设备)到目录上。
假设有一个img文件为example.img,要把它挂载到/home/you/dir上,则:

losetup /dev/loop0 example.img
mount /dev/loop0 /home/you/dir

但是也可以通过mount -o loop来一步完成:

mount -o loop example.img /home/you/dir

loop的作用一般有:
  1. 挂载光盘ISO镜像(这个很常见)
  2. 挂载其余镜像(如ramdisk,1.44' zip 镜像等,其实跟1是一个原理)
  3. 挂载加密的文件进行读写(使得可以方便地进行加密文件读写)
loopback interface与loopback是两个概念,loopback interface是一个特殊的网络设备,俗称回环设备,指向本机自身。

loop device不够用了怎么办?
参见[4]


 参考文献:
[1]在Linux下使用RamDisk,http://blog.donews.com/stewchicken/articles/50640.aspx
[2]给你的Linux装备Ramdisk飚一下!,http://linuxdesktop.cn/2007/11/22/use-ramdisk-speed-up-your-linux/
[3]wikipedia loop device, http://en.wikipedia.org/wiki/Loop_device
[4]如何增加loop设备- - 自己搞定,http://ubuntu-fans.blogspot.com/2007/01/loop-1-etcmodutilslocaloptions-loop.html

No comments: