一、Linux系統結構:
1、內核
- 作業系統的基本組件,沒有它,作業系統將無法作業,內核管理著系統的資源,并與硬體進行通信,它負責記憶體、行程、設備驅動程式、檔案管理、網路管理等,
- 系統呼叫介面:SCI 層提供了某些機制執行從用戶空間到內核的函式呼叫,這個介面依賴于體系結構,甚至在相同的處理器家族內也是如此,SCI 實際上是一個非常有用的函式呼叫多路復用和多路分解服務,在 ./linux/kernel 中可以找到 SCI 的實作,并在 ./linux/arch 中找到依賴于體系結構的部分,
- 系統呼叫按功能大致可分為如下幾類:
1).設備管理,完成設備的請求或釋放,以及設備啟動等功能,
2).檔案管理,完成檔案的讀、寫、創建及洗掉等功能,
3).行程控制,完成行程的創建、撤銷、阻塞及喚醒等功能,
《
Linux 作業系統原理 — 行程與執行緒管理》
4).行程通信,完成行程之間的訊息傳遞或信號傳遞等功能,
5).記憶體管理,完成記憶體的分配、回收以及獲取作業占用記憶體區大小及地址等功能,
《
Linux 作業系統原理 — 物理記憶體》
《
Linux 作業系統原理 — 虛擬記憶體》
2、系統用戶空間
系統級任務(如配置和軟體安裝)的管理層,它包括 shell(或稱為
命令列)、守護行程(在后臺運行的行程)和桌面環境(用戶互動界面),
- 又分為Shell和檔案系統
- Shell 是作業系統的用戶界面之一,提供了用戶與內核進行互動操作的一種介面,它接收用戶輸入的命令并把它送入內核去執行,是一個命令解釋器,另外,Shell 編程語言具有普通編程語言的很多特點,用這種編程語言撰寫的 Shell 程式與其他應用程式具有同樣的效果,
- 目前主要有下列版本的 Shell:
1).Bourne Shell:是貝爾實驗室開發的,
2).Bash:是 GNU 的 Bourne Again Shell,是 GNU 作業系統上默認的 Shell,大部分 Linux 的發行套件使用的都是這種 Shell,
3).Korn Shell:是對 Bourne Shell 的發展,在大部分內容上與 Bourne Shell 兼容,
4).C Shell:是 SUN 公司 Shell 的 BSD 版本,
《
Linux 作業系統原理 — 檔案系統 — 檔案系統的演進》
《
Linux 作業系統原理 — 檔案系統 —檔案》
《
Linux 作業系統原理 — 檔案系統 — 存盤布局》
《
Linux 作業系統原理 — 檔案系統 — 實作原理》
《
Linux 作業系統原理 — 檔案系統 — 管理與優化》
3、應用
一種用于執行任務的軟體,應用的范圍涵蓋了從桌面工具和編程語言到多用戶業務套件等各種軟體,大多數 Linux 發行版都會提供一個中央資料庫,用于搜索和下載其他應用,
設備驅動程式
設備驅動程式是 Linux 內核的主要部分,和作業系統的其它部分類似,設備驅動程式運行在高特權級的處理器環境中,從而可以直接對硬體進行操作,但正因為如此,任何一個設備驅動程式的錯誤都可能導致作業系統的崩潰,設備驅動程式實際控制作業系統和硬體設備之間的互動,
設備驅動程式提供一組作業系統可理解的抽象介面完成和作業系統之間的互動,而與硬體相關的具體操作細節由設備驅動程式完成,一般而言,設備驅動程式和設備的控制芯片有關,例如,如果計算機硬碟是 SCSI 硬碟,則需要使用 SCSI 驅動程式,而不是 IDE 驅動程式,
網路介面
提供了對各種網路標準的存取和各種網路硬體的支持,網路介面可分為網路協議和網路驅動程式,網路協議部分負責實作每一種可能的網路傳輸協議,眾所周知,TCP/IP 協議是 Internet 的標準協議,同時也是事實上的工業標準,
Linux 的網路實作支持 BSD Socket,支持全部的 TCP/IP 協議,Linux 內核的網路部分由 BSD 套接字、網路協議層和網路設備驅動程式組成,網路設備驅動程式負責與硬體設備通訊,每一種可能的硬體設備都有相應的設備驅動程式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/270490.html
標籤:Linux
上一篇:Ubuntu20.04linux內核(5.4.0版本)編譯準備與實作程序-編譯程序(2)
下一篇:【原創】Linux虛擬化KVM-Qemu分析(十一)之virtqueue