根据以下问题:
循环设备是作为基于块的设备的文件.虽然我可以从概念上理解这一点,但这与安装任何其他文件有什么不同呢?例如,如果我获取一个ext2文件系统的dd映像,然后挂载它,我就不必使用循环选项-- mount -t ext2 file.dd /mnt/mount-point成功。
什么时候我应该使用循环选项,使用循环选项的安装和没有循环选项的安装有什么区别?
发布于 2013-02-25 18:20:30
如果您不必使用循环选项来挂载常规文件,这是因为mount正在检测该文件并自动为您激活它。过去你必须手动指定它。
发布于 2013-02-25 19:01:36
从技术上讲,循环设备是一种写入文件的块设备,而不是一块硬件。因此,在挂载文件时,您总是使用/需要使用循环回送设备。
直截了当的回答到此为止了。也许这是一种解释:
内核实现了几个抽象层,这样就可以以相同的方式处理不同的硬件。想象一下,如果您必须为每个品牌的控制器重建ext2驱动程序。没有人想要那样,但是我们想用同样的方式对待每一个硬盘。这就是为什么我们创建抽象层的原因。
块设备是如此抽象。块设备具有某些属性,并公开了其他软件可以使用的某些功能。不管您有ATA HDD还是SCSI HDD或磁带驱动器,您总是使用完全相同的结构和函数与其交互。然后是内核的任务,以及抽象层的更明确的任务,以便在访问块设备时做正确的事情。在块设备接口的情况下,正确的事情是将调用和数据传递到和从正确的设备驱动程序。例如,该设备驱动程序可以是SCSI子系统或循环设备的驱动程序。
循环设备驱动程序将关联块设备上的操作转换为文件系统操作,这就是数据/分区在文件中结束的方式。
在所使用的术语以及所涉及的抽象层的名称和数量方面,我可能大错特错。我只是想勾勒出基本的概念,这样就可以清楚地看到,循环设备不是一个文件在做什么,而是一个使用文件的东西。该文件不会执行任何与其使用的操作不同的操作。
https://unix.stackexchange.com/questions/66075
复制相似问题