当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 用 coLinux 进行虚拟化

Unix/Linux
Linux系统上把PHP编译进Apache静态内核
Linux操作系统下的多线程编程详细解析
高手进阶 Linux系统中内核定时器的应用
Linux内核初始化及启动之用户模式开始
Linux系统核心源程序文件组织结构介绍
Linux的内核软中断(softirq)执行分析
嵌入式 用户图形接口uC/GUI的简单分析
教你用APF和BFD来加强Linux的防火墙
铲除病毒攻击两大威胁 走近Linux防护
使用SSL 保护VNC应用程序
Linux与Unix二大操作系统编程的安全
为Linux服务器部署高效防毒软件
通过LoadRunner监控Linux的资源状况
Linux操作系统安全管理十大招数介绍
黑客高级技巧 Linux后门技术及实践
提高Linux操作系统安全性的十大招数
开发 Linux系统下的磁盘加密方法详解
用 coLinux 进行虚拟化
做好防范 Linux系统下的攻击软件全接触
Linux操作系统的口令安全问题详细解析

Unix/Linux 中的 用 coLinux 进行虚拟化


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 31 ::
收藏到网摘: n/a

    目前,用 VmWare、Xen 和 Kernel-based Virtual Machine(KVM)进行虚拟化非常热门。但是,您是否知道也可以让 Linux? 与 Microsoft? Windows? 进行协作?本文讨论 Cooperative Linux(coLinux),首先简单介绍虚拟化,然后讨论 coLinux 采用的方式。您还会了解如何在 Windows 上设置并运行 coLinux。

    在考虑 GNU/Linux 和 Microsoft Windows 时,协作可能是最后考虑的问题,但这正是 coLinux 内核的专长。对此没有信心吗?那就跳到 “coLinux 的优点” 一节。

    coLinux 是 Linux 操作系统的一个端口,它在 Microsoft 操作系统中作为一个进程执行。两种操作系统通过将中央处理单元(CPU)的控制权转让给彼此而协作,如图 1 所示。


图 1. Microsoft Windows 和 Linux 在 coLinux 中协作
Microsoft Windows 和 Linux 在 coLinux 中协作

    通过使用内核驱动程序,还可以共享网络接口等物理资源。后面会深入讨论这个问题。首先,我们来看看虚拟化的含义。

虚拟化

虚拟化领域
本文主要关注一种平台虚拟化的协作解决方案,但是虚拟化这个词也应用于其他技术。例如:
  • 在存储方面,可以将许多磁盘虚拟化,让它们看起来像一个存储池,这样就可以按需分配存储空间。
  • 还可以对网络进行虚拟化,但是这常常称为 分区(zoning)
  • OS 虚拟化,这是一种比较简单的虚拟化形式,它对一个操作系统上运行的服务器进行虚拟化。

    虚拟化(Virtualization)是一个被滥用的词汇。在本文的上下文中,我指的是对平台进行虚拟化。对平台(或硬件)进行虚拟化意味着,硬件从物理平台抽象成一个逻辑平台集合,操作系统可以在这个逻辑平台集合上运行。按照最简单的意义,这意味着可以在同一硬件平台上运行(相同或不同类型的)多个操作系统。

    提供虚拟化的系统元素常常被称为虚拟机监视器或管理器(hypervisor)。每个操作系统都使用自己的虚拟机,虚拟机与管理器协作,从而决定对物理硬件的访问(见图 2)。


图 2. 管理器决定对物理硬件的访问
管理器决定对物理硬件的访问

    与操作系统相似,可用的虚拟化方法多种多样。关于虚拟化的更多信息,请参见 参考资料 一节。

coLinux

    coLinux 是标准 Linux 内核的一个端口。换句话说,coLinux 就是一个 Linux 内核,它经过修改,以与另一个操作系统协作运行。主机操作系统(Windows 或 Linux)控制操作系统的物理资源,而访客(guest)操作系统(coLinux)获得硬件的虚拟抽象。主机操作系统必须提供以特权级别(ring 0)执行驱动程序的方法,并提供分配内存的方法(见图 3)。


图 3. coLinux 作为主机操作系统的一个进程执行
coLinux 作为主机操作系统的一个进程执行

    coLinux 的根文件系统是主机操作系统中的一个常规文件。对于 Windows,它只是一个常规文件;但是对于 coLinux,它是一个可读可写的 ext3 文件系统。

[1] [2] [3] [4] 下一页