四大虛擬機模型回顧
本系列介紹了四種核心虛擬機概念模型,它們共同基礎是:**組合指令以模擬裝置或機器**。
| 模型 | 代表系統 | 核心特徵 | 解決的核心問題 |
| IBM 模型 |
IBM S/390 |
資源分割、完全隔離、共享硬體 |
單一物理機運行多作業系統、多環境隔離 |
| Java 虛擬機模型 |
跨平台 Java 應用 |
一次編寫、到處執行 (WORA) |
程式碼跨作業系統/硬體平台可移植 |
| OSI/擴展虛擬機模型 |
現代作業系統 (Windows, Linux, Unix) |
指令組合形成服務例程、模擬虛擬裝置 |
軟體層面擴展硬體能力、提供硬體不存在的服務 |
| UNIX 虛擬機模型 |
UNIX 進程與 Shell |
進程即虛擬機、Shell 調度管道、模組化載入控制 |
進程管理、資料流管道、可移植系統介面 (POSIX) |
三大核心模型的共通本質
「將使用者層指令映射到更低層指令,再返回結果給使用者層。此流程對使用者透明。」
透明 ≠ 虛擬:
- 透明:物件實際存在,只是使用者看不見過程 (如檔案系統快取)。
- 虛擬:物件**不實際存在**,但使用者可看見並操作 (如虛擬記憶體、虛擬磁碟陣列)。
各模型獨特價值
IBM 模型:硬體虛擬化鼻祖
- 物理資源切分 → 邏輯分區 (LPAR)
- 強隔離:錯誤、安全、效能互不干擾
- 現代雲端運算 (Hypervisor, VMware, KVM) 思想源頭
Java VM:軟體可移植性革命
- 位元組碼 + JVM 抽象層 → 屏蔽 OS/CPU 差異
- 「寫一次,到處跑」改變軟體分發模式
- JIT、自適應優化、熱點編譯 → 效能逼近原生
OSI/擴展 VM:作業系統核心設計哲學
- 指令分層:微指令 → 機器指令 → 系統呼叫 → 應用 API
- 虛擬裝置:RAID、LVM、虛擬網卡、Loopback 磁碟
- 「軟體定義一切」的基石
UNIX VM:進程即虛擬機的極簡哲學
- Shell = 使用者虛擬機介面,擁有完整資源視圖
- 管道 (Pipe) = 虛擬機間資料流連接
- POSIX 標準 = 跨平台二進制相容契約
- 「做一件事並做好」→ 微服務架構先聲
虛擬機概念的持續演進
- 硬體虛擬化:VMware ESXi, Hyper-V, KVM → 雲端 IaaS
- 作業系統虛擬化:Docker, LXC, containers → 輕量級隔離
- 應用/語言虛擬機:JVM, CLR, V8, BEAM → 高階語言執行環境
- Unikernel:Library OS (MirageOS, IncludeOS) → 單一應用專用核心
- WebAssembly (Wasm):瀏覽器/邊緣計算的通用二進制格式 → 新一代「寫一次,到處跑」
總結
虛擬機概念的強大在於:**透過指令組合,在受限的物理現實之上構建無限的邏輯可能**。從 IBM 大型機到雲端容器,從 JVM 到 Wasm,核心思想始終一貫——**抽象、隔離、組合、模擬**。這將持續擴展現代計算系統的邊界。