linux的內核是比較復雜的,像macos等的系統,都是從UNIX來的,現在的linux的內核比較難于研究,內核一般都是包含四個方面的內容:進程管理,I/O設備管理,文件系統,存儲管理。其他的功能都是在此基礎上添加的。所以研究linux內核對于linux下的開發很有幫助,但是關鍵在于linux內核需要很多的知識支撐,包括計算機原理,操作系統原理,數據結構,還有必要的算法等。
深入理解linux內核第三版中文版目錄
前言
第一章 緒論
Linux與其他類Unix內核的比較
硬件的依賴性
Linux版本
操作系統基本概念
Unix文件系統概述
Unix內核概述
第二章 內存尋址
內存地址
硬件中的分段
Linux中的分段
硬件中的分頁
Linux中的分頁
第三章 進程
進程、輕量級進程和線程
進程描述符
進程切換
創建進程
撤消進程
第四章 中斷和異常
中斷信號的作用
中斷和異常
中斷和異常處理程序的嵌套執行
初始化中斷描述符表
異常處理
中斷處理
軟中斷及tasklet
工作隊列
從中斷和異常返回
第五章 內核同步
內核如何為不同的請求提供服務
同步原語
對內核數據結構的同步訪問
避免競爭條件的實例
第六章 定時測量
時鐘和定時器電路
Linux計時體系結構
更新時間和日期
更新系統統計數
軟定時器和延遲函數
與定時測量相關的系統調用
第七章 進程調度
調度策略
調度算法
調度程序所使用的數據結構
調度程序所使用的函數
多處理器系統中運行隊列的平衡
與調度相關的系統調用
第八章 內存管理
頁框管理
內存區管理
非連續內存區管理
第九章 進程地址空間
進程的地址空間
內存描述符
線性區
缺頁異常處理程序
創建和刪除進程的地址空間
堆的管理
第十章 系統調用
POSIX API和系統調用
系統調用處理程序及服務例程
進入和退出系統調用
參數傳遞
內核封裝例程
第十一章 信號
信號的作用
產生信號
傳遞信號
與信號處理相關的系統調用
第十二章 虛擬文件系統
虛擬文件系統(VFS)的作用
VFS的數據結構
文件系統類型
文件系統處理
路徑名查找
VFS系統調用的實現
文件加鎖
第十三章 I/O體系結構和設備驅動程序
I/O體系結構
設備驅動程序模型
設備文件
設備驅動程序
字符設備驅動程序
第十四章 塊設備驅動程序
塊設備的處理
通用塊層
I/O調度程序
塊設備驅動程序
打開塊設備文件
第十五章 頁高速緩存
頁高速緩存
把塊存放在頁高速緩存中
把臟頁寫入磁盤
sync()、fsync()和fdatasync()系統調用
第十六章 訪問文件
讀寫文件
內存映射
直接I/O傳送
異步I/O
第十七章 回收頁框
頁框回收算法
反向映射
PFRA實現
交換
第十八章 Ext2和Ext3文件系統
Ext2的一般特征
Ext2磁盤數據結構
Ext2的內存數據結構
創建Ext2文件系統
Ext2的方法
管理Ext2磁盤空間
Ext3文件系統
第十九章 進程通信
管道
FIFO
System V IPC
POSIX消息隊列
第二十章 程序的執行
可執行文件
可執行格式
執行域
exec函數
附錄一 系統啟動
附錄二 模塊
參考文獻
源代碼索引
深入理解linux內核第三版中文版節選
- PC官方版
- 安卓官方手機版
- IOS官方手機版