Cooperative Linux
此條目過於依賴第一手來源。 (2009年7月1日) |
Cooperative Linux 簡稱 coLinux,這個軟件可以讓Windows 內核與Linux內核同時運行在一台機器上。[3] coLinux 指協作式虛擬機(CVM)。與傳統的虛擬機相反, 協作式虛擬機共享宿主機器已有的資源。傳統的虛擬機技術,宿主機資源需先被虛擬化,然後再給虛擬系統使用。不同於傳統虛擬技術,coLinux的客體機對宿主機資源具有完全的控制權。在傳統的虛擬技術里,客體機對實體機的訪問一直處於某種未授權狀態。
開發者 | community |
---|---|
當前版本 | 0.7.9 [1](2011年4月9日 [1]) |
預覽版本 | -/+ [2] |
操作系統 | Microsoft Windows |
類型 | Platform virtualization |
許可協議 | GNU General Public License |
網站 | www.colinux.org |
概覽
編輯這裡「協作」的意思是兩者可以並發的工作。實際上,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 Window系統 或者 X.Org Server無法在coLinux下直接運行,但是你還是可以在Windows下裝個Cygwin/X或者Xming一類的工具,使你可使用coLinux的KDE(或GNOME)及其它幾乎任何的Linux的程序。這些的圖形界面的問題在coLinux的洐生版andLinux及TopologiLinux里都得到的解決。andLinux基於Ubuntu, TopologiLinux基於Slackware。
硬件仿真
編輯局限
編輯參見
編輯參考
編輯- ^ 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