日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

【Linux 内核】Linux 内核体系架构 ( 硬件层面 | 内核空间 | 用户空间 | 内核态与用户态切换 | 系统调用 | 体系结构抽象层 )

發布時間:2025/6/17 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux 内核】Linux 内核体系架构 ( 硬件层面 | 内核空间 | 用户空间 | 内核态与用户态切换 | 系统调用 | 体系结构抽象层 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、Linux 內核體系架構
  • 二、內核態與用戶態切換 ( 系統調用層 )
  • 三、體系結構抽象層





一、Linux 內核體系架構



Linux 內核最初的源碼不足一萬行 , 當前的 Linux 內核源碼已經有兩千萬行 ;

內核整體的項目很大 , 不可能全部掌握 , 學習時從整體的 體系架構出發 , 分析其中的重要模塊 , 然后將模塊聯系起來學習 ;


Linux 內核體系架構可以按照下圖 , 分為三個層次 :

  • 硬件層面 : 包括 CPU , 物理內存 , 磁盤 , 外部設備 等硬件 ;
  • 內核空間 : 這就是 Linux 內核的核心 , 如 : Arch 抽象層 , 設備管理抽象層 , 內存管理 , 中斷管理 , 進程調度 , 文件系統管理 , USB / PCI 總線設備 , 設備驅動 ( 字符設備 / 網絡設備 / 塊設備 / KVM ) , 系統調用層 ;
  • 用戶空間 : C 語言庫 , 應用程序進程 , 虛擬機 等 ;





二、內核態與用戶態切換 ( 系統調用層 )



Linux 內核 實現 內核態用戶態 , 使用到了 ring0ring3 兩種模式 ,

  • ring0 是 內核態 ,
  • ring3 是 用戶態 ;

軟件抽象層作用 : Linux 內核中 , 使用 軟件抽象層內核態 ( ring0 )用戶態 ( ring3 ) 之間進行切換 ;

軟件抽象層 又稱為 系統調用層 ( System Call ) ;


每種處理器體系結構 都提供了 實現 用戶態 與 內核態 之間切換的 特殊指令 ,

Linux 內核也利用了該特殊指令 , 進行了用戶態 與 內核態 的切換 , 該指令在 系統調用層 調用 ,

系統調用層 可以 使 真實硬件信息用戶進程透明 ,

用戶進程讀取文件內容時 , 只需要使用 open / read / mmap 函數 , 打開一個路徑上的文件即可 , 具體該文件在磁盤上的哪個扇區 , 具體的物理地址是多少 , 用戶進程并不關心 ,

用戶進程 , 大多數時間在 用戶態 運行 , 當需要向內核請求相關設備時 , 只需要 調用系統提供的 系統調用 接口 , 即可訪問內核 ;





三、體系結構抽象層



Linux 內核 支持多種體系結構 ,

  • Linux 系統可以運行在 arm 架構的處理器設備 上 , 如 Android ;

  • 也可以運行在 x86 架構的處理器 上運行 , 如 PC 機 , 服務器等 ;


實際上 Linux 內核支持很多體系結構 , 為 Linux 內核添加一個新的體系結構很簡單 , 體系結構抽象層 用于 將 不同的體系結構 進行 抽象 與 隔離 , 為不同的體系結構 , 提供了統一的接口 ;


如 : Linux 內核中 , 將與體系結構相關的代碼 , 都放在 arch 目錄下的不同的體系結構對應的目錄中 , 如下圖所示 :

總結

以上是生活随笔為你收集整理的【Linux 内核】Linux 内核体系架构 ( 硬件层面 | 内核空间 | 用户空间 | 内核态与用户态切换 | 系统调用 | 体系结构抽象层 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。