1. 程式人生 > >《Linux命令列與shell指令碼程式設計大全》讀書筆記————第一章 初識Linux shell

《Linux命令列與shell指令碼程式設計大全》讀書筆記————第一章 初識Linux shell

本章內容

1、什麼是Linux

2、Linux核心的組成

 

1、1 什麼是Linux

Linux課劃分為以下四部分

a)Linux核心

b)GNU工具

c)圖形化桌面環境

d)應用軟體

 

1.1.1 深入探究Linux核心

核心主要負責以下四種功能

a)系統記憶體管理

b)軟體程式管理

c)硬體裝置管理

d)檔案系統管理

 

1、系統記憶體管理

核心不僅管理伺服器上的可用記憶體,還可以建立和管理虛擬記憶體(即實際上不存在的記憶體)。

核心通過硬碟上的儲存空間來實現虛擬記憶體,這塊區域成為交換空間(swap space)

。核心不斷的在交換空間和實際的實體記憶體之間反覆交換虛擬記憶體中的內容。這使得系統認為它擁有比實體記憶體更多的可用空間。

記憶體儲存單元按組劃分成很多塊,這些塊被稱為頁面(page)。核心將每一個記憶體頁面放在實體記憶體或交換空間。然後,核心會維護一個記憶體頁面表,指明哪些頁面位於實體記憶體,哪些頁面被換到了磁碟上。

核心會記錄那些記憶體頁面正在使用,並自動把一段時間未訪問的記憶體頁面複製到交換空間區域(稱為換出,swapping out)——即使還有可用記憶體。

當程式要訪問一個已經被換出的記憶體頁面時,核心必須從實體記憶體換出另外一個記憶體頁面給他讓出空間,然後從交換空間換入請求的記憶體頁面。

 

2、軟體程式管理

Linux作業系統將執行中的程式稱為程序。核心控制著Linux系統如何管理執行在系統上的所有程序。

核心建立了第一個程序(稱為init程序)來啟動系統上所有其他程序。當核心啟動時,他會將init程序載入到虛擬記憶體中。核心在啟動任何其他程序時,都會在虛擬記憶體中給新程序分配一塊專有區域來儲存該程序用到的資料和程式碼。

 

3、硬體裝置管理

核心的另一個職責是管理硬體任務。

任何Linux系統需要與之通訊的裝置,都要在核心程式碼中加入其驅動程式程式碼。驅動程式程式碼相當於應用程式和硬體裝置的中間人,允許核心與裝置之間交換資料。

Linux系統將硬體裝置當成特殊的檔案,稱為裝置檔案。

 

4、檔案系統管理

Linux核心支援通過不同型別的檔案系統從硬碟中讀寫資料。Linux支援從其他系統採用的檔案系統中讀寫資料。

 

 

shell是一種特殊的互動工具。他為使用者提供了啟動程式、管理檔案系統中的檔案以及執行在Linux系統上的程序的途徑。