其他Linux虚拟化技术 在上面的文章中,我们讨论了模拟、平台虚拟化和操作系统虚拟化,这三种是最常用的虚拟化技术,除此之外,还有很多其他种类的虚拟化技术可以满足我们的需求,下面我们来看看几种不同于之前谈论范畴的虚拟化技术。 CoLinux CoLinux,或者叫做协作Linux,是一种利用协作虚拟机的虚拟化方式。在CoLinux模式下,Linux Guest系统运行在微软Windows操作系统之上,共享底层的硬件资源。CoLinux需要Guest系统(即CoLinux本身)被修改,让它认为自己运行在其他操作系统之上。CoLinux是一种半虚拟化的方式,是将Windows作为Host操作系统,并且每个Host系统上只能运行一个CoLinux实例。由于这种限制,CoLinux被定义为一种特别的虚拟化技术。 CoLinux:特别的半虚拟化架构 用户模式(User-Mode)Linux 用户模式(User-Mode)Linux,即UML,和CoLinux有些类似,但是更加灵活。如上图右边的架构,UML允许在一个Linux Host系统上运行多个Linux Guest操作系统,UML也是一种半虚拟化架构,实现更好的性能。UML吸引人的一个方面是可以支持更高一层的UML,所以运行在Linux Host操作系统上的UML Guest内核可以支持更高级别的UML Guest系统。 Wine和Cygwin Wine和Cygwin也是有趣的虚拟化解决方案,Wine实际上是“Wine is Not an Emulator”的缩写,表示“不是一个模拟器”,是在Linux Host操作系统上运行Windows应用的一种方式。Wine并不是完全的表现为Windows应用的模拟层,而是一个DLL(动态链接库)层来表示Windows API。 Wine和Cygwin虚拟化方案 Cygwin是与之相反的解决方案,即在Windows上运行Linux应用,这是由Rat Hat开发,这是一种模拟的Unix环境,允许在Windows平台上开发Unix应用,比如POSIX以及其他类Unix工具。 Linux虚拟化的未来 在虚拟化领域,Linux虚拟化增长的很快速,不仅仅是对核心组件基于Linux的hypervisor的开发,还包括Linux虚拟化生态系统中的其他部分,包括工具和管理应用程序的开发。Linux虚拟化能够延伸出多种虚拟化技术,将不断的推动虚拟化技术的前进发展。 |