国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
用CoLinux 進(jìn)行虛擬化

用CoLinux 進(jìn)行虛擬化

使用、安裝和配置 Cooperative Linux

級別: 初級

M. Tim Jones (mtj@mtjones.com), 顧問工程師, Emulex

2007 年 5 月 21 日

目前,用 VmWare、Xen 和 Kernel-based Virtual Machine(KVM)進(jìn)行虛擬化非常熱門。但是,您是否知道也可以讓 Linux® 與 Microsoft® Windows® 進(jìn)行協(xié)作?本文討論 Cooperative Linux(coLinux),首先簡單介紹虛擬化,然后討論 coLinux 采用的方式。您還會了解如何在 Windows 上設(shè)置并運(yùn)行 coLinux。

在考慮 GNU/Linux 和 Microsoft Windows 時(shí),協(xié)作可能是最后考慮的問題,但這正是 coLinux 內(nèi)核的專長。對此沒有信心嗎?那就跳到 “coLinux 的優(yōu)點(diǎn)” 一節(jié)。

coLinux 是 Linux 操作系統(tǒng)的一個(gè)端口,它在 Microsoft 操作系統(tǒng)中作為一個(gè)進(jìn)程執(zhí)行。兩種操作系統(tǒng)通過將中央處理單元(CPU)的控制權(quán)轉(zhuǎn)讓給彼此而協(xié)作,如圖 1 所示。


圖 1. Microsoft Windows 和 Linux 在 coLinux 中協(xié)作

通過使用內(nèi)核驅(qū)動程序,還可以共享網(wǎng)絡(luò)接口等物理資源。后面會深入討論這個(gè)問題。首先,我們來看看虛擬化的含義。

虛擬化

虛擬化領(lǐng)域
本文主要關(guān)注一種平臺虛擬化的協(xié)作解決方案,但是虛擬化這個(gè)詞也應(yīng)用于其他技術(shù)。例如:
  • 在存儲方面,可以將許多磁盤虛擬化,讓它們看起來像一個(gè)存儲池,這樣就可以按需分配存儲空間。
  • 還可以對網(wǎng)絡(luò)進(jìn)行虛擬化,但是這常常稱為 分區(qū)(zoning)。
  • OS 虛擬化,這是一種比較簡單的虛擬化形式,它對一個(gè)操作系統(tǒng)上運(yùn)行的服務(wù)器進(jìn)行虛擬化。

虛擬化(Virtualization)是一個(gè)被濫用的詞匯。在本文的上下文中,我指的是對平臺進(jìn)行虛擬化。對平臺(或硬件)進(jìn)行虛擬化意味著,硬件從物理平臺抽象成一個(gè)邏輯平臺集合,操作系統(tǒng)可以在這個(gè)邏輯平臺集合上運(yùn)行。按照最簡單的意義,這意味著可以在同一硬件平臺上運(yùn)行(相同或不同類型的)多個(gè)操作系統(tǒng)。

提供虛擬化的系統(tǒng)元素常常被稱為虛擬機(jī)監(jiān)視器或管理器(hypervisor)。每個(gè)操作系統(tǒng)都使用自己的虛擬機(jī),虛擬機(jī)與管理器協(xié)作,從而決定對物理硬件的訪問(見圖 2)。


圖 2. 管理器決定對物理硬件的訪問

與操作系統(tǒng)相似,可用的虛擬化方法多種多樣。關(guān)于虛擬化的更多信息,請參見 參考資料 一節(jié)。







coLinux

coLinux 是標(biāo)準(zhǔn) Linux 內(nèi)核的一個(gè)端口。換句話說,coLinux 就是一個(gè) Linux 內(nèi)核,它經(jīng)過修改,以與另一個(gè)操作系統(tǒng)協(xié)作運(yùn)行。主機(jī)操作系統(tǒng)(Windows 或 Linux)控制操作系統(tǒng)的物理資源,而訪客(guest)操作系統(tǒng)(coLinux)獲得硬件的虛擬抽象。主機(jī)操作系統(tǒng)必須提供以特權(quán)級別(ring 0)執(zhí)行驅(qū)動程序的方法,并提供分配內(nèi)存的方法(見圖 3)。


圖 3. coLinux 作為主機(jī)操作系統(tǒng)的一個(gè)進(jìn)程執(zhí)行

coLinux 的根文件系統(tǒng)是主機(jī)操作系統(tǒng)中的一個(gè)常規(guī)文件。對于 Windows,它只是一個(gè)常規(guī)文件;但是對于 coLinux,它是一個(gè)可讀可寫的 ext3 文件系統(tǒng)。

Linux 內(nèi)核所需的其他特性(比如連網(wǎng)或視頻訪問)通過外部代理來實(shí)現(xiàn)。coLinux 可以通過 TUN/TAP 驅(qū)動程序訪問連網(wǎng)特性(在下面的 “連網(wǎng)” 一節(jié)中討論)。簡單地說,這個(gè)驅(qū)動程序提供對以太網(wǎng)設(shè)備的用戶空間訪問,這樣就可以發(fā)送和接收數(shù)據(jù)包。對顯示器的訪問也要通過代理。X Window System 是一種協(xié)議,按照這種協(xié)議在主機(jī)之間發(fā)送視頻輸出。因此,通過在主機(jī)操作系統(tǒng)上使用 X Window System 服務(wù)器,可以將視頻輸出轉(zhuǎn)發(fā)到可用的 X 服務(wù)器。

下面,我們就來安裝 coLinux 并配置連網(wǎng)特性和視頻顯示。







安裝 coLinux

安裝 coLinux 非常容易。這包括幾個(gè)步驟(具體取決于您的需要),但是這些步驟都很簡單,而且在我的 Windows XP 機(jī)器上安裝時(shí)沒有出現(xiàn)任何問題。本節(jié)討論如何安裝 coLinux 并啟用連網(wǎng)等服務(wù)。

第一步是下載 coLinux 發(fā)布版。訪問 http://www.colinux.org 并在左側(cè)欄中選擇 Downloads。如果瀏覽器沒有進(jìn)入 SourceForge,那么選擇頁面上的鏈接。頁面的中間有 coLinux-stable 包的鏈接。下載 coLinux 可執(zhí)行文件(至編寫本文時(shí),最新版本是 coLinux-0.6.4.exe)。coLinux 的 0.6.4 版本是 2.6.11 Linux 內(nèi)核。完成下載之后,雙擊這個(gè)文件開始安裝。

在接受許可協(xié)議之后,詢問您希望安裝哪些組件。保持這些設(shè)置不變(應(yīng)該選擇了所有組件),包括下載根文件系統(tǒng)映像。為了使后面的操作更容易,將安裝 coLinux 的目標(biāo)文件夾改為 c:\colinux\,因?yàn)閺呐渲梦募慕嵌葋砜?,colinux 是標(biāo)準(zhǔn)的安裝子目錄。

當(dāng)安裝程序要求選擇根文件系統(tǒng)映像時(shí),選擇 Debian 發(fā)布版,因?yàn)樗亲钚〉陌l(fā)布版,解壓后只有 1GB。選擇 Install 來執(zhí)行安裝和根文件系統(tǒng)下載。

安裝完成之后,還有工作要做。下一步是在安裝子目錄中打開一個(gè)文件夾,以便對根文件系統(tǒng)進(jìn)行解壓。

coLinux 的 README 文件包含許多關(guān)于其他安裝選項(xiàng)的信息。這個(gè)文件可以在安裝子目錄(c:\colinux)中找到。這里有一個(gè)以 .bz2 結(jié)尾的怪名字的文件。將這個(gè)文件重命名為 root_fs(這是配置中默認(rèn)的根文件系統(tǒng)文件)。

現(xiàn)在,coLinux 的安裝基本完成了??梢杂靡韵旅钤?Windows XP 中啟動 coLinux 守護(hù)進(jìn)程(通過命令提示窗口執(zhí)行):

$ colinux-daemon.exe -c default.colinux.xml                        

在執(zhí)行 colinux-daemon 之后,顯示引導(dǎo)窗口(見圖 4)。這里提供與傳統(tǒng) Linux 引導(dǎo)過程中相同的引導(dǎo)信息。注意,coLinux 的引導(dǎo)非???。


圖 4. coLinux 引導(dǎo)窗口

還會顯示一個(gè)控制臺窗口(見圖 5),它連接到 colinux-daemon。在這個(gè)窗口中,可以登錄 coLinux 并與 shell 交互。默認(rèn)的用戶名和密碼是 root/root。


圖 5. coLinux 虛擬控制臺(shell)

在圖 5 中可以看到,coLinux 控制臺由兩個(gè)部分組成:傳統(tǒng)的控制臺和虛擬控制臺,后者提供關(guān)于監(jiān)視器的信息。

連網(wǎng)

從 Linux 的角度來看,當(dāng)安裝完成時(shí),coLinux 的連網(wǎng)支持已經(jīng)可用了。在安裝過程中已經(jīng)裝載了 TAP 驅(qū)動程序。TAP 驅(qū)動程序是一個(gè)到主機(jī)操作系統(tǒng)所管理的以太網(wǎng)設(shè)備的用戶空間連接。TAP 驅(qū)動程序使訪客操作系統(tǒng)能夠?qū)⒃家蕴W(wǎng)幀寫到一個(gè)虛擬以太網(wǎng)設(shè)備(用戶空間的擴(kuò)展)。然后,用戶空間中的虛擬以太網(wǎng)設(shè)備將以太網(wǎng)幀傳遞給主機(jī)操作系統(tǒng)中真實(shí)的以太網(wǎng)設(shè)備。讀取的過程正好相反。注意,TAP 驅(qū)動程序傳遞的是以太網(wǎng)幀,而 TUP 驅(qū)動程序處理的是 Internet Protocol(IP)幀。

為了支持 TAP 驅(qū)動程序,主機(jī)操作系統(tǒng)必須共享可用的以太網(wǎng)設(shè)備。為了在 Windows XP 中啟用共享,從 Control Panel 打開 Network Connections 面板。選擇活動的局域連接,然后打開屬性。選擇 Advanced 選項(xiàng)卡,選中復(fù)選框允許其他網(wǎng)絡(luò)用戶通過此計(jì)算機(jī)的互聯(lián)網(wǎng)連接來連接(見圖 6)。


圖 6. 啟用網(wǎng)絡(luò)設(shè)備共享的局域連接屬性

啟用網(wǎng)絡(luò)共享之后,可以啟動 coLinux 并像往常一樣使用網(wǎng)絡(luò)。圖 7 顯示執(zhí)行 ping 命令的結(jié)果,這說明網(wǎng)絡(luò)是正常的。


圖 7. 通過使用 TAP 驅(qū)動程序,使用共享網(wǎng)絡(luò)設(shè)備的過程對于 coLinux 是透明的

只需稍加配置,coLinux 就可以提供連網(wǎng)特性。關(guān)于用 TUN/TAP 進(jìn)行連網(wǎng)的更多信息,請參閱 參考資料 一節(jié)。

X Window System

有控制臺窗口是很不錯,但如果有圖形化窗口管理器就更好了。通過使用開放源碼的 X 服務(wù)器,比如 Xming,可以在 coLinux 上創(chuàng)建 xterms 或使用其他圖形化應(yīng)用程序。有許多可行的辦法,比如 Virtual Network Computing(VNC),但是我將講解如何使用 Xming。

第一步是 從 SourceForge 下載 Xming。安裝之后,在安裝子目錄中有一個(gè)需要更新的文件,X0.hosts。它包含允許訪問 X 服務(wù)器的遠(yuǎn)程主機(jī)。只需添加運(yùn)行 coLinux 進(jìn)程的機(jī)器的 IP 地址。啟動 Xming X 服務(wù)器和 coLinux,然后在 coLinux 中執(zhí)行以下命令:

colinux:~# export DISPLAY=192.168.1.3:0.0                        colinux:~# xterm &                        

注意,這里指定的 IP 地址是 coLinux 主機(jī)的 IP 地址。在執(zhí)行 xterm 命令之后,出現(xiàn)一個(gè)新的 xterm 窗口,見圖 8。


圖 8. Xming 創(chuàng)建的 xterm







擴(kuò)展 coLinux

無論下載哪個(gè)根文件系統(tǒng),它可能不包含您需要的所有東西。但是,可以輕松地?cái)U(kuò)展根文件系統(tǒng)。例如,在使用 Debian GNU/Linux 時(shí),可以使用 Advanced Packaging Tool(APT,一個(gè)包管理系統(tǒng))來安裝新的包或更新現(xiàn)有的包。第一步是更新 APT 元數(shù)據(jù),這些數(shù)據(jù)維護(hù)關(guān)于安裝的包(包括新提供的包以及獲得它們的位置)的管理信息:

$ apt-get update                        

現(xiàn)在,可以用您需要的其他包更新根文件系統(tǒng)。例如,如果希望在根文件系統(tǒng)中添加 Ruby 語言,那么可執(zhí)行以下命令:

$ apt-get install ruby                        

按照這種方式,可以使用現(xiàn)有的根文件系統(tǒng)并根據(jù)自己的需要進(jìn)行調(diào)整。如果 coLinux 缺少您需要的某些東西,還可以從源代碼重新構(gòu)建 coLinux。






coLinux 的優(yōu)點(diǎn)

coLinux 是使用和試驗(yàn) Linux 的一種好方法。與 Cygwin 相似,coLinux 允許在 Windows 操作系統(tǒng)上開發(fā)和執(zhí)行 Linux 應(yīng)用程序。還可以用 apt-get 安裝、更新或刪除應(yīng)用程序,從而維護(hù) Linux 操作系統(tǒng)。

與 Cygwin 不同的是,在 coLinux 上執(zhí)行 Linux 應(yīng)用程序不需要重新構(gòu)建。從這個(gè)角度來說,coLinux 是與 Windows 操作系統(tǒng)協(xié)作的真正的 Linux 操作系統(tǒng)。

coLinux 另一個(gè)令人感興趣的優(yōu)點(diǎn)是可移植性??梢栽谝粋€(gè) Windows 主機(jī)上建立一個(gè) coLinux 發(fā)行版,并在根文件系統(tǒng)中安裝一套定制的應(yīng)用程序。然后,可以將根文件系統(tǒng)轉(zhuǎn)移到另一個(gè)主機(jī),并重新啟動。這樣就有了一個(gè)可移動的開發(fā)平臺,壓縮后的根文件系統(tǒng)完全可以放在一個(gè)標(biāo)準(zhǔn) USB 記憶棒中。

最后,coLinux 的速度很快,因?yàn)樗举|(zhì)上是在本機(jī)硬件中運(yùn)行的。







coLinux 的問題

coLinux 的主要缺點(diǎn)是它有可能導(dǎo)致整個(gè)機(jī)器崩潰(包括所有進(jìn)行協(xié)作的操作系統(tǒng)),因?yàn)樵L客操作系統(tǒng)以特權(quán)模式在主機(jī)內(nèi)核中運(yùn)行。它的正常操作還依賴于外部軟件(窗口和連網(wǎng)支持)。除此之外,coLinux 的安裝和配置非常容易。在我使用 coLinux 期間,沒有遇到過崩潰。




結(jié)束語

盡管有許多虛擬化方案,但是 coLinux 采用的方式和提供的功能很新穎。coLinux 本身在 Windows 之上提供一個(gè)虛擬化的 Linux。再加上其他一些開放源碼工具,就可以建立一個(gè)完全成熟的 Linux 開發(fā)系統(tǒng),包括連網(wǎng)和圖形用戶界面。coLinux 并不完美,但它是在標(biāo)準(zhǔn) Windows 桌面計(jì)算機(jī)上使用 Linux 的好方法。



參考資料

學(xué)習(xí)
  • 您可以參閱本文在 developerWorks 全球網(wǎng)站上的 英文原文。

  • 虛擬 Linux:虛擬化方法、架構(gòu)和實(shí)現(xiàn)概述”(developerWorks,2007 年 1 月)討論虛擬化的歷史以及 Linux 可用的各種虛擬化方法。

  • coLinux Web 站點(diǎn)介紹了 coLinux 開放源碼代碼當(dāng)前的狀況,幫助用戶在 Windows 上運(yùn)行 Linux 發(fā)行版。

  • coLinux wiki 提供關(guān)于 coLinux 的文檔和其他參考資料。

  • Dan Aloni 的 Cooperative Linux(PDF)研究了 coLinux 實(shí)現(xiàn)的一些低層技術(shù)細(xì)節(jié)。

  • Amit Singh 所寫的 “An Introduction to Virtualization” 介紹了虛擬化和各種實(shí)現(xiàn)方法。除了 Linux 之外,本文還討論了其他操作系統(tǒng)虛擬化(Windows、Solaris)和其他虛擬化方法(比如網(wǎng)絡(luò)堆棧虛擬化)。

  • TUN 和 TAP 是虛擬的網(wǎng)絡(luò)內(nèi)核設(shè)備。

  • Xen 是 XenSource 開發(fā)的一個(gè)開放源碼虛擬機(jī)監(jiān)視器(管理器)。Xen 使用 paravirtualization 技術(shù),通常需要修改訪客操作系統(tǒng),但是 Xen 可以對 CPU 進(jìn)行虛擬化來支持未修改的訪客操作系統(tǒng)。

  • APT 是 Debian Linux 發(fā)行包提供的一個(gè)包管理系統(tǒng)。它是對系統(tǒng)進(jìn)行更新的好工具。

  • developerWorks 中國網(wǎng)站 Linux 專區(qū) 上,尋找適合 Linux 開發(fā)人員的更多參考資料。

  • 隨時(shí)關(guān)注 developerWorks 技術(shù)活動網(wǎng)絡(luò)廣播。

獲得產(chǎn)品和技術(shù)
  • 在 SourceForge 上可以找到最新的 coLinux 源代碼和二進(jìn)制代碼。

  • 從 SourceForge 獲得最新的 TUN/TAP 驅(qū)動程序。

  • KVM 是一種新的 Linux 虛擬化技術(shù)。它是一個(gè)內(nèi)核模塊解決方案,需要對 Linux 內(nèi)核稍做改動并作為內(nèi)核模塊裝載。KVM 提供訪客操作系統(tǒng)的虛擬化,但是需要 QEMU 才能執(zhí)行 I/O 操作。請閱讀 introduction of KVM into the 2.6.20 kernel。

  • Cygwin 是另一個(gè)在 Windows 上運(yùn)行的 Linux 虛擬化工具。coLinux 可以使用 Cygwin 提供的 X 服務(wù)器功能。

  • Xming 是一種用于 Microsoft Windows 環(huán)境的開放源碼 X 窗口服務(wù)器。

  • 獲取免費(fèi)的 SEK for Linux,這包括兩張 DVD,其中包含來自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的最新的 IBM Linux 試用軟件。

  • 使用 IBM 試用版軟件 構(gòu)建您的下一個(gè) Linux 開發(fā)項(xiàng)目,這些軟件可以從 developerWorks 直接下載。


討論


關(guān)于作者

M. Tim Jones 是一名嵌入式軟件工程師,他是 GNU/Linux Application Programming、AI Application Programming 以及 BSD Sockets Programming from a Multilanguage Perspective 等書的作者。他的工程背景非常廣泛,從同步宇宙飛船的內(nèi)核開發(fā)到嵌入式架構(gòu)設(shè)計(jì),再到網(wǎng)絡(luò)協(xié)議的開發(fā)。Tim 是位于科羅拉多州 Longmont 的 Emulex Corp. 的一名顧問工程師。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
虛擬化工具 CoLinux
虛擬 Linux
解讀三種虛擬化之路連載三:虛擬化技術(shù)趨勢
虛擬化技術(shù)發(fā)展勢頭強(qiáng)勁
云計(jì)算4種主流虛擬技術(shù)架構(gòu)對比分析
企業(yè)用戶仍舊遠(yuǎn)離Linux的八大原因
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服