我知道,这是很多论坛上经常问到的问题,而且我已经读维基百科文章。但那些文章并不令人满意。我想知道,因为我有适用于 Android 的 Ubuntu 12.04在我的 chrooted HTC One X 上。对于普通的文件系统就像磁盘或硬盘驱动器映像一样,这似乎很清楚,但操作系统循环设备是如何工作的?我的想法是,模拟磁盘是一个静止的没有自己的生命的东西,但操作系统有它的生命自己的正在运行的进程和线程的生活。
- 注意到内核(这里是 Android)循环设备是一个需要特殊安装/处理的操作系统映像?本机内核如何与虚拟操作系统联系,以便我可以在操作系统中使用操作系统?
- 显然,它像文件系统一样安装,但通过环回适配器与内核通信,还是与此无关?(只是正常的网络通信)
希望我的问题不会太复杂。谢谢你的帮助。
答案1
循环设备通常提供访问文件作为一个文件系统。为了循环安装图像,您必须将图像放置在真实的文件系统,即磁盘分区。
因此,虽然循环设备是虚拟的,但它们提供访问的文件却不是虚拟的,并且这些文件占用空间。
当你向循环挂载的文件系统添加一些数据时,数据实际上被添加到了图像文件中,就像你在文件的某个地方附加/插入一些字节的数据一样。循环设备决定在哪里来放置这些字节。因此,镜像文件的大小会增大,并且会从托管文件系统中扣除空间。
要回答如何操作系统中的操作系统运行时,可以说它们要么共享内核,要么使用虚拟机管理程序来模拟封装环境,将另一个操作系统的指令转换为托管操作系统的指令。