Virtualization != 虛擬作業系統
Posted on April 18th, 2008 at 0:01 by fr3@K

首先我得說清楚我對 virtualization 這個題目沒有研究, 單純是個享福的使用者. 從很久 (8/9 年?) 以前在 MacOS 7.x (or 8.x?) 上用 Virtual PC 跑 Win95, 到近幾年的主要在 GNU/Linux 上用 QEMU 跑 Win2K 與 Minix 3.

一個不懂 virtualization 確切定義與技術細節的人, 一個使用過 Virtual PC, VMWare (player/workstation), QEMU, VirtaulBox 等 virtualization application 的人如我. 在使用過上述任何一種 virtualization application 後很容易就會知道, 把 virtual machine 開啟後首先會看到 POST (Power-on self-test) 畫面. 如果沒有其他如 boot image 等的設置, 接下來什麼也不會發生. 不會看到屬於某個 OS 的 shell 或是 desktop manager 的提示畫面, 使用者什麼事都做不了.

這說明了什麼? 前面的提到的 virtualization application 所 virtualize 的都不是作業系統. 它們 virtualize 的基本上是硬體平台, 主要是 CPU, 再加上 BIOS, I/O, memory 等子系統.

好了, 我對 virtualization 的了解差不多就這麼多 (事實上是就這麼少); 我用過的 virtualization application 都不會蹦出個作業系統給我用. 都需要我手動掛個 bootable image 或是把 OS 灌在某個 disk image. 之後, 我才能在 virtual machine 上做有意義的事.


話說前年在黑米的一個群組書簽, 第一次看到有人把 QEMU 說成是免費的作業系統模擬器. 畢竟該書簽主人不是個技術人, 把 QEMU/virtualization 描述錯誤並不特別讓人意外.1

而後又好幾次在不同的地方看到幾乎是一模一樣的錯誤, 我也屢次雞婆地留言對作者提示. 只是最近兩次看到的類似錯誤是在 多多與我的部落格 以及 瘋狂帽客’s Blog 兩位 (半?) 技術人的博客上. 讓我忍不住要在這裡再一次多嘴嘮叨一下: “Virtualization 不等於虛擬作業系統“.

  1. 該書簽的描述是從 toget 上亂抄來的 , 不願更正就罷了, 可是事後又酸我一下倒是令我挺不爽快 []
del.icio.us:Virtualization != 虛擬作業系統 digg:Virtualization != 虛擬作業系統 spurl:Virtualization != 虛擬作業系統 newsvine:Virtualization != 虛擬作業系統 furl:Virtualization != 虛擬作業系統 Y!:Virtualization != 虛擬作業系統 黑米共享書籤:Virtualization != 虛擬作業系統 推推王:Virtualization != 虛擬作業系統
Previous Post
« The Free Launch is Back «
Next Post
» Video made for Microsoft’s sales team »

2 Comments »

Comment #4363

如果單指硬體平台的模擬,我個人是傾向用 emulator 這個字,像 qemu、bochs 或 virtualbox 等軟體,我一般是稱呼為 ia32 (x86) emulator;有的 virtualization 是做在 os level 的,比較接近 “虛擬作業系統 (環境)” (例如 xen 之類的)

借用您的結論,我個人的認知是 “Virtualization 不完全等於虛擬作業系統“

Comment by letoh — April 18, 2008 @ 9:57


Comment #4364

感謝 letoh 更進一步的解釋.

Comment by fr3@K — April 18, 2008 @ 13:39


Comments RSS TrackBack URI

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>