Cooperative Linux
此条目过于依赖第一手来源。 (2009年7月1日) |
开发者 | community |
---|---|
当前版本 | 0.7.9 [1](2011年4月9日 [1]) |
预览版本 | -/+ [2] |
操作系统 | Microsoft Windows |
类型 | Platform virtualization |
许可协议 | GNU General Public License |
网站 | www.colinux.org |
Cooperative Linux 简称 coLinux,这个软件可以让Windows 内核与Linux内核同时运行在一台机器上。[3] coLinux 指协作式虚拟机(CVM)。与传统的虚拟机相反, 协作式虚拟机共享宿主机器已有的资源。传统的虚拟机技术,宿主机资源需先被虚拟化,然后再给虚拟系统使用。不同于传统虚拟技术,coLinux的客体机对宿主机资源具有完全的控制权。在传统的虚拟技术里,客体机对实体机的访问一直处于某种未授权状态。
概览
这里“协作”的意思是两者可以并发的工作。实际上,coLinux是将两个不同的操作系统内核变成了两个大协程。每个内核都会有其自己的CPU环境以及内存空间,并且自己决定什么时候将控制权交给另一内核。 虽然,理论上,两个内核理论上都能够完全访问硬件资源,但是, 让两个不同的操作系统内核同时访问相同硬件,这并不是现代计算机硬件的计目标。因此,需由宿主机的内核来主控真实硬件,而客体机内核通过特别的驱动与宿主机相通信,并为客体机提供各种重要的设备的接口。任何一种允许coLinux的便捷驱动运行在CPLO模式(特权级别 ring 0) 并且允许其分配内存的操作系统都可以作为coLinux的宿主机。[4]
历史
Dan Aloni早期的开发基于一个叫User-mode Linux的类似系统。他于2004年6月25日开始coLinux的正式开发。[5]在2004年7月, 他向Linux Symposium 递交相关论文[6],源码在GNU通用公共许可证下释出。然后开发者们开始贡献各种补丁及添加代码。
比较
coLinux与x86平台上的完全虚拟化有明显的不同,一般意义上的虚拟化程序并没有像宿主机内核类似的特权。与传统技术不同, coLinux通过运行一个修改过的Linux内核来与宿主机的NT内核协作式地共享资源,防止两者陷入竞争危害。
发行版本
现在,大多数的变更补丁都是针对i386平台这一分支的,这也是目前coLinux唯一支持的架构。其它的变更主要在虚拟驱动程序上,比如cobd(块设备),conet(网络)以及cocon(控制台)。在i386分支上的这些变更代码大部分与初始化及设置有关。与正式的i386 Linux内核尽量保持一致, 这是coLinux内核设计的一个目标,因此,所有的变更必需尽可能地保持本地化与最小化。coLinux软件在Windows 2000或Windows XP的机器内安装运行了一个Linux内核以及一个虚拟网络设备,并不像VMware一样使用一个虚拟的机器。Debian,Ubuntu,Fedora及Gentoo这些都是非常受coLinux用户欢迎的Linux发行版本。由于虚拟硬件不同寻常的结构,在coLinux下安装一个Linux发行版本似乎有点困难。因此用户通常使用一个已经安装好Linux系统的分区,或者使用官方预先准备的系统镜像文件。这些镜像有多种生成方法。像是从正常的操作系统提取,或是, 想方设法安装在特殊的硬件上, 又或者,通过包管理器手动的构建安装包,也可以是简单的利用yum,apt这个的工具来升级已有镜像系统。还有一个简单的方法也可以得到一个最新的系统镜像,首先,利用QEMU来安装所需Linux系统, 然后,通过去掉原镜像的头63512字节块的数据达成“转换”镜像的目的。 这个方法在coLinux的wiki而面有论述。coLinux并不需要访问本地的显示设备,当然,这也使得X窗口系统 或者 X.Org Server无法在coLinux下直接运行,但是你还是可以在Windows下装个Cygwin/X或者Xming一类的工具,使你可使用coLinux的KDE(或GNOME)及其它几乎任何的Linux的程序。这些的图形界面的问题在coLinux的洐生版andLinux及TopologiLinux里都得到的解决。andLinux基于Ubuntu, TopologiLinux基于Slackware。
硬件仿真
局限
参见
- Topologilinux, 一个基于Slackware的coLinux发布版本
- andLinux, 一个基于Ubuntu的coLinux的发布版本
- 虚拟机
- 虚拟化平台的比较
- Cygwin
- MSYS
- WSL,适用于Linux的Windows子系统
- 双重引导
参考
- ^ 1.0 1.1 存档副本. [2013-06-06]. (原始内容存档于2018-06-09).
- ^ 存档副本. [2013-06-06]. (原始内容存档于2006-09-24).
- ^ coLinux main website. [2013-06-06]. (原始内容存档于2018-05-19).
- ^ http://colinux.org/ (页面存档备份,存于互联网档案馆) coLinux main page
- ^ Dan Aloni announces Cooperative Linux. [2013-06-06]. (原始内容存档于2012-02-07).
- ^ Dan Aloni paper presented July 2004 at Linux Symposium (PDF). [2013-06-06]. (原始内容 (PDF)存档于2018-09-30).
- ^ 64 bit development information and resources. [2014-04-07]. (原始内容存档于2011-08-09).
- ^ 存档副本. [2014-04-07]. (原始内容存档于2013-09-06).
外部链接
- coLinux Home page
- coLinux Sourceforge page(页面存档备份,存于互联网档案馆)
- coLinux Wiki(页面存档备份,存于互联网档案馆)
- Virtualization with coLinux a developerWorks by M. Tim Jones
- speedLinux(页面存档备份,存于互联网档案馆)
- Portable Ubuntu Remix(页面存档备份,存于互联网档案馆), another Ubuntu-based coLinux distribution