docker原理與上帝程序

2022-01-18 03:05:18 字數 1150 閱讀 1740

做個筆記, 先水一會。

虛擬機器指的是: 在軟體的層面上通過模擬硬體進行的輸入輸出。

docker原理:

docker就是乙個linux系統的程序, 它通過 linux 的 namespaces 對不同的容器實現了資源隔離,然後上面再跑一層rootfs檔案系統

當容器使用的時候為了單個容器不榨幹系統資源,所以就使用cgroup來做控制

那麼下面就很好理解了:

docker的檔案系統分為兩層:bootfsrootfs

包含了bootloader和linux核心。使用者是不能對這層作任何修改的。在核心啟動之後,bootfs實際上會unmount掉。

rootfs

則包含了一般系統上的常見目錄結構,類似於/dev, /proc, /bin等等以及一些基本的檔案和命令。

linux上不同版本的問題,docker可以同時執行多個rootfs。

上帝程序idle

1.簡單的說idle是乙個程序, 貼切一點說是系統建立的第乙個程序(idle程序由系統自動建立, 執行在核心態 ),其pid號為 0。其前身是系統建立的第乙個程序,也是唯一乙個沒有通過fork()產生的程序, 完成載入系統後,演變為程序排程、交換, idle程序最終呼叫了cpu_idle()函式。

2.主處理器上的idle由原始程序(pid=0)演變而來。從處理器上的idle由init程序fork得到,可是它們的pid都為0。

3.idle程序為最低優先順序。且不參與排程。僅僅是在執行隊列為空的時候才被排程。

4.idle迴圈等待need_resched置位。預設使用hlt節能。

Docker技術原理與應用

1.1 docker是什麼?docker是世界領先的軟體平台的容器。容器就像是輕量級的虛擬機器,並且可以以毫秒級的速度來啟動或停止。docker 幫助系統管理員和程式設計師在容器中開發應用程式,並且可以擴充套件到成千上萬的節點。容器是完全使用沙箱機制,相互之間不會有任何介面 類似 iphone 的 ...

linux程序建立過程與原理

摘自 linux建立新程序的過程。系統允許乙個程序建立新程序,新程序即為子程序,子程序還可以建立新的子程序,形成程序樹結構模型。整個linux系統的所有程序也是乙個樹形結構。樹根是系統自動構造的,即在核心態下執行的0號程序,它是所有程序的祖先。由0號程序建立1號程序 核心態 1號負責執行核心的部分初...

docker程序管理

docker程序管理 寫的太好!示例很清楚,很全面!我做個summary吧。docker程序管理主要講了這麼幾件事 1,docker的程序管理與linux宿主機是差不多的,所以先講解了linux的程序管理 2,docker top container id檢視得知docker都有乙個父程序docke...