`
liqiangzju
  • 浏览: 19161 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Loop Device解析

 
阅读更多

在Ubuntu下面挂载iso文件使用到的命令:

 

aneal@Aspire:~$:cd /mnt ; sudo mkdir isodir
[sudo] password for aneal:
aneal@Aspire:/mnt$:sudo mount -t auto -o loop ~/my.iso /mnt/isodir

 对其中loop参数不是非常理解,查询得到的结果:loop在这里指示mount命令将my.iso挂载为一个loop device。

 

那么,什么是loop device呢?

我的第一印象是网络本地环回测试,叫loopback test,意思是本机发出的数据包不发送到外部网络中,被本机接收,可以用来进行一些数据包分析和应用程序开发测试。

那么loop device是否跟跟网络中的loopback test类似呢?答案是肯定的。

loop device中的loop其实也是loopback的缩写,意思相同,不过所代表的意义并不是跟网络loopback test一致。

 

loop device将linux伪设备(pseudodevice)家族中的一员,loop device将实际文件系统中存在的文件映射到一个虚拟的块设备(block device)中,使得可以通过访问块设备的方式对文件进行访问,如果此文件中包含有一个完整的文件系统,则可以将将此文件系统挂在到系统文件系统中进行访问。

 

这个定义来自于维基百科,有点晕是不是?

 

我们来分析一下其中的要点:

1,loop device首先是一个设备(device),但是又不是实际物理性存在的设备,是虚拟的伪设备。

2,loop device必须要跟文件系统中某一文件进行关联(associate),形成映射,对loop device的访问会映射到对此对应文件的访问。

3,将文件映射为loop device后,相当于系统中就有了一个还没有挂载的存储硬件,可以挂载在文件目录中的某一个点上,然后进行访问。

 

整个访问过程是:

Request>VFS>Loop Device>Request>VFS>Local File

实际上对存储盘进行了两次访问,这才是loop device中的“环回”的含义所在。

 

 

 

 

reference:

http://en.wikipedia.org/wiki/Loop_device;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics