Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 作業系統架構概述:GNU、核心子系統與分層設計

編輯:Linux 教學

Linux 系統由內核、GNU 工具鏈、系統庫與用戶空間應用構成。理解其分層架構與五大核心子系統,有助於把握系統整體運行機制。

GNU 與 Linux 的淵源

  • GNU(GNU's Not Unix):自由軟件基金會(FSF)發起的自由作業系統計畫,開發了 GCC、Glibc、Bash、Coreutils、Emacs、Make、GDB 等關鍵工具。
  • Linux 內核:林納斯·托瓦茲 1991 年發布的類 Unix 內核,採用 GPLv2 授權。
  • 組合:Linux 內核 + GNU 工具鏈 + 其他自由軟件(X11、systemd、網絡工具等)= 完整的 Linux 發行版(如 Debian、RHEL、Arch)。嚴格說法應為「GNU/Linux」。

系統四層架構

用戶進程(應用程序)
    ↓ 系統調用介面(syscall)
系統調用介面(VFS、IPC、網絡、信號等)
    ↓
Linux 內核子系統(進程調度、記憶體管理、VFS、網絡協議棧、IPC)
    ↓
硬體(CPU、記憶體、磁碟、網卡、GPU 等)

內核位於用戶進程與硬體之間,扮演資源管理者與抽象層角色。

五大核心子系統功能詳解

子系統核心職責關鍵數據結構/模塊
進程調度決定哪個任務在哪個 CPU 運行,實現 CFS、實時、截止時間調度類struct task_struct、struct rq、sched_class、CFS 紅黑樹
記憶體管理虛擬地址映射、頁框分配/回收、SLAB/SLUB 分配器、頁快取、換頁、NUMA 感知mm_struct、vm_area_struct、page、zone、kmem_cache
虛擬文件系統 (VFS)統一文件操作介面,支援 ext4/XFS/Btrfs/NFS/OverlayFS 等數十種文件系統super_block、inode、dentry、file、file_operations
網絡協議棧實現 TCP/IP/UDP/ICMP/BSD Socket API,支援網卡驅動、流量控制、QoS、Netfilter 防火牆sk_buff、socket、net_device、proto_ops、nf_hook
進程間通信 (IPC)提供管道、FIFO、System V IPC(消息隊列、信號量、共享內存)、POSIX IPC、Unix Domain Socketipc_namespace、msg_queue、sem_array、shmid_kernel

內核設計哲學

  • 單內核架構:所有核心服務運行在特權模式同一地址空間,通過函數調用通信,性能高、開發相對簡單。
  • 模組化:支援動態加載內核模組(.ko),驅動、文件系統、協議可按需載入。
  • 可移植性:架構相關代碼隔離在 arch/,核心邏輯與架構無關,支援 x86、ARM、RISC-V、PowerPC、s390、MIPS 等 30+ 架構。
Copyright © Windows教程網 All Rights Reserved