作業系統層虛擬化

作業系統層虛擬化（），亦称容器化（），是一種虛擬化技術，這種技術將作業系統內核虛擬化，可以允許使用者空間軟體實體（instances）被分割成幾個獨立的單元，在內核中運行，而不是只有一個單一實體運行。

這個軟體實體，也被稱為是一個容器（containers），虛擬引擎（Virtualization engine），虛擬專用伺服器（virtual private servers）或是 jails。對每個執行程序的擁有者與使用者來說，他們使用的伺服器程式，看起來就像是自己專用的。

作業系統層虛擬化之後，可以實現軟體的即時遷移（Live migration），使一個軟體容器中的實體，即時移動到另一個作業系統下，再重新執行起來。但是在這種技術下，軟體即時遷移，只能在同樣的作業系統下進行。

在類Unix作業系統中，這個技術最早起源於標準的chroot機制，再進一步演化而成。除了將軟體獨立化的機制之外，內核通常也提供資源管理功能，使得單一軟體容器在運作時，對於其他軟體容器的造成的交互影響最小化。

相對於傳統的虛擬化（Virtualization），容器化的優勢在於佔用伺服器空間少，通常幾秒內即可啟動。同時容器的彈性可以在資源需求增加時瞬時複製增容，在資源需求減小時釋放空間以供其他用戶使用。由於在同一台伺服器上的容器實體共享同一個系統內核，因此在運行上不會存在實體與主機操作系統爭奪RAM的問題發生，從而能夠保證實體的性能。

相關条目
LXC
OpenVZ
Docker
FreeBSD jail

参考资料

虛擬化軟體
操作系统技术
Linux容器化