-軟體運行環境
與共享資源隔離(Isolation from Sharing Resources)
隔離是“將多個軟體實例分開的能力,以便每個實例只能看到並影響自己。”
資料來源:NIST SP 800-190
進程使用各種資源,例如 CPU、記憶體、儲存、網路、操作系統服務等。為了隔離進程,使其不會影響其他進程,需要控制對記憶體和其他資源的存取。
-計算機架構
界限(Bounds)
這裡的界限意味著強加給進程的記憶體界限,不能存取屬於其他人的記憶體段。它提供了基本的隔離級別。共享儲存、CPU、網絡和其他資源的進程可能仍會導致競爭資源競爭。
-進程的記憶體佈局
容器化(Containerization)
容器化是應用程序虛擬化,其中容器中的進程與大多數資源隔離,但仍共享相同的操作系統內核。
-虛擬機和容器部署(來源:NIST SP 800-190)
-操作系統和應用程序虛擬化(來源:NIST SP 800-190)
第二類虛擬機器監視器(Type II hypervisor)
一個第二類虛擬機器監視器基於主機操作系統上管理虛擬機(VM)上運行的客戶操作系統。在具有來賓操作系統的 VM 上運行的進程是高度隔離的。部署在兩個 VM 上的兩個進程具有比容器更高的隔離級別。
-虛擬機器監視器(來源:TechPlayOn)
搶占式多任務處理(Preemptive Multitasking)
搶占式多任務處理不是一種隔離機制。但是,它通常需要上下文切換來保留線程的 CPU 狀態。從這個角度來看,它可以在某種程度上被視為線程級隔離。
-上下文切換(來源:hcldoc)
參考
. 什麼是雲中的管理程序?
. 上下文切換
資料來源: Wentz Wu QOTD-20210803
PS:此文章經過作者同意刊登 並且授權可以翻譯成中文