Linux
為什麼預設的 Linux 安裝比預設的 OpenBSD 安裝執行更多的程序?
如果我
ps -aux
在沒有 GUI 的 Ubuntu(或任何 GNU/Linux 發行版)上執行,我會看到大約 100 個程序正在執行。如果我ps -aux
在沒有 GUI 的 OpenBSD 上,那麼我會得到大約 10 個程序。這有什麼解釋/原因?*BSD 系統更“清晰”(程式碼)還是它們只是將所有內容都放在核心中?
程序數量與作業系統的“清晰度”之間沒有相關性。你在比較蘋果和醋栗。
在 Linux 系統上,
ps ax
會顯示許多不消耗記憶體並在方括號中具有名稱的程序,如下所示:root 2 0.0 0.0 0 0 ? S Nov02 0:01 [kthreadd] root 3 0.0 0.0 0 0 ? S Nov02 4:39 [ksoftirqd/0] root 6 0.0 0.0 0 0 ? S Nov02 0:00 [migration/0] root 7 0.0 0.0 0 0 ? S Nov02 0:01 [watchdog/0] root 8 0.0 0.0 0 0 ? S Nov02 0:00 [migration/1]
這些程序是核心的一部分。它們以核心權限執行,但它們像使用者程序一樣由調度程序管理(其中許多具有高優先級,因為它們處理硬體請求)。我寫這篇文章的機器有超過 100 個這樣的程序——你有多少取決於很多事情,包括你的核心版本、你的硬體和你執行的核心服務(例如,一些文件系統有核心守護程序)。
這些過程可能佔不同數字的很大一部分。據我所知,沒有一個 BSD 單獨報告此類任務,這使您的比較毫無意義。
此外,預設的 OpenBSD 安裝包含很少的服務,而預設的 Ubuntu 安裝執行普通使用者期望找到的所有內容。如果您在兩台機器上安裝相同的軟體,您會發現相似數量的非核心程序。