Linux通俗图解
Linux 是一個生態,里面豐富多彩。很多大牛都是基于 Linux 來開發各種各樣的軟件。可以這么說,只要你能想象到的技術領域,幾乎都能在里面找到 Linux 的身影。
操作系統是干什么的呢?我們都知道,一臺物理機上有很多硬件,最重要的就是 CPU、內存、硬盤、網絡。同時,一臺物理機上也要跑很多程序,這些資源應該給誰用呢?當然是大家輪著用,誰也別獨占,誰也別餓著。為了完成資源分配這件事,操作系統承擔了一個“大管家”的作用。它將硬件資源分配給不同的用戶程序使用,并且在適當的時間將這些資源拿回來,再分配給其他的用戶進程。
鑒于操作系統這個“大管家”的角色,我設計了一個故事,將各個知識點串起來,來幫助你理解和記憶。
假設,我們現在就是在做一家外包公司,我們的目標是把這家公司做上市。其中,操作系統就是這家外包公司的老板。我們把這家公司的發展階段分為這樣幾個時期:
初創期:
這個老板基于開放的營商環境(x86 體系結構),創辦一家外包公司(系統的啟動)。因為一開始沒有其他員工,老板需要親自接項目(實模式)。
發展期:
公司慢慢做大,項目越接越多(保護模式、多進程),為了管理各個外包項目,建立了項目管理體系(進程管理)、會議室管理體系(內存管理)、文檔資料管理系統(文件系統)、售前售后體系(輸入輸出設備管理)。
壯大期:
公司越來越牛,開始促進內部項目的合作(進程間通信)和外部公司合作(網絡通信)。
集團化:
公司的業務越來越多,會成立多家子公司(虛擬化),或者鼓勵內部創業(容器化),這個時候公司就變成了集團。大管家的調度能力不再局限于一家公司,而是集團公司(Linux 集群),從而成功上市(從單機操作系統到數據中心操作系統)。
Linux 操作系統中的概念非常多,數據結構也很多,流程也復雜,一般人在學習的過程中很容易迷路。所謂“一圖勝千言”,我希望能夠通過圖的方式,將這些復雜的概念、數據結構、流程表現出來,爭取用一張圖串起一篇文章的知識點。
總結
- 上一篇: 10行代码理解Java锁消除
- 下一篇: 反模式:神仙大类和黄金大锤