虛擬化一直是我覺得有趣的概念。過去我對它的理解,多停留在「資源不足時的權衡方案」——例如 CPU 無法同時分給多個程式,就有了 CPU 虛擬化;同一段記憶體無法共用,就有了記憶體虛擬化,透過 MMU 與 page table,不同 process 可同時使用相同的虛擬地址。
而隨著學習的深入,我意識到虛擬化並不只是「有限資源的補救」,他是一種設計思維,如何在受限環境下建立可控的抽象,讓多個系統能安全且高效地共用資源。
因此,我想給自己為期 30 天的挑戰 —— 從零開始嘗試探索 hypervisor,理解虛擬化並實踐。
挑戰將以《嵌入式虛擬化技術與應用:ACRN 開源專案實踐》為出發點,並結合 QEMU/KVM,在相對簡易的環境下嘗試實作 Hypervisor。