萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 系統架構與核心服務總覽

本章概述 Linux 系統的基本架構與核心服務,旨在幫助讀者建立整體認知,為深入各組件奠基。UNIX 作業系統由三大部分組成:核心、系統程式、應用程式。

核心——系統的心臟

核心負責管理檔案、啟動程式、分配記憶體與資源、處理網路封包等。它極少直接執行具體工作,而是提供工具(透過系統呼叫)讓上層建立服務,並阻止使用者直接存取硬體,提供進程間保護。核心主要組件包括:

  • 進程管理:建立進程、透過 CPU 切換實現多任務。
  • 記憶體管理:分配進程記憶體、交換空間、核心本身與緩衝快取。
  • 硬體裝置驅動:針對每種硬體提供統一介面(如硬碟驅動皆提供初始化、讀寫扇區等操作)。
  • 檔案系統驅動:透過虛擬檔案系統(VFS)層抽象不同檔案系統操作。
  • 網路管理:將各種網路協定抽象為統一的 BSD Socket 介面。

系統程式與應用程式

系統程式使用核心工具實作系統服務(如 telnet、init),運行於使用者模式。應用程式則完成使用者導向工作(如文字處理器)。兩者界線有時模糊,分類主要為了強調功能差異。Linux 亦包含編譯器(gcc)、C 函式庫、文件等。

關鍵系統服務

init——所有進程的始祖

init 是核心啟動後第一個進程,負責檢查/掛載檔案系統、啟動守護程式、管理運行等級(單用戶/多用戶模式)、收養孤兒進程、關機時終止所有進程並卸載檔案系統。

終端登入

由 getty 處理(序列埠/控制台),讀取帳號後呼叫 login 驗證密碼,成功則啟動 Shell。核心本身無登入概念。

Syslog——系統日誌

核心與系統程式產生的錯誤、警告等資訊由 syslog 分類寫入不同檔案(核心日誌常獨立儲存以便定期檢查)。

定時任務:Cron 與 At

cron 依使用者 crontab 定期執行命令(如清理暫存檔);at 則在指定時間一次性執行。

圖形使用者介面(GUI)

Linux 將 UI 置於使用者層級,核心不包含圖形子系統。主要為 X Window System,提供視窗系統工具,上層再建構 Athena、Motif、Open Look 等風格介面。此設計靈活但易導致介面不一致。

網路服務

  • 網路登入:telnet、rlogin 等守護程式處理虛擬連線,每連線啟動一實例。
  • NFS:透明共享遠端檔案,程式無需修改即可存取網路檔案。
  • 電子郵件:MTA(如 sendmail)負責遞送,MUA(如 pine)供用戶讀寫,信箱常置於 /var/spool/mail。
  • 列印:列印隊列軟體管理佇列、暫存輸出至磁碟,應用程式無需等待列印完成即可繼續。

檔案系統佈局

標準佈局以根檔案系統(/)為起點:/bin、/lib、/etc、/dev 等;/usr 存放程式與靜態資料;/var 存放變動資料(日誌、暫存檔);/home 存放使用者資料。實際分區視硬體與管理決策而定,第 3 章將詳述 Linux 檔案系統標準(FSSTND)。

copyright © 萬盛學電腦網 all rights reserved