出版時(shí)間:2000-8 出版社:第1版 (2001年8月1日) 作者:陳莉君
內(nèi)容概要
自由軟件Linux操作系統(tǒng)源代碼的開(kāi)放,為我們掌握操作系統(tǒng)核心技術(shù)提供了良好的條件。本書(shū)共分十三章 ,對(duì)Linux內(nèi)核進(jìn)行了較全面的分析,既包括了對(duì)進(jìn)程調(diào)度、內(nèi)存管理、進(jìn)程間通信、虛擬文件系統(tǒng)、設(shè)備驅(qū)動(dòng)程序及網(wǎng)絡(luò)子系統(tǒng)的分析,也包括對(duì)Linux整體結(jié)構(gòu)的把握、Linux啟動(dòng)過(guò)程的剖析以及Linux獨(dú)具特色的模塊機(jī)制的分析與應(yīng)用等。
這些內(nèi)容對(duì)于那些準(zhǔn)備深入Linux操作系統(tǒng)內(nèi)部、閱讀Linux內(nèi)核源代碼的讀者具有非常高的參考價(jià)值。
Linux應(yīng)用開(kāi)發(fā)、管理人員,大專(zhuān)院校相關(guān)專(zhuān)業(yè)師生,以及對(duì)Linux感興趣的用戶(hù)均可從本書(shū)中受益。
書(shū)籍目錄
第一章 走進(jìn)Linux
1.1 GNU與Linux的成長(zhǎng)
1.2 LinXX的開(kāi)發(fā)模式和運(yùn)作機(jī)制
1.3 走進(jìn) Linux內(nèi)核
l.3.1 Linux內(nèi)核的特征
l.3.2 Linux內(nèi)核版本的變化
1.4 分析Linux內(nèi)核的意義
1.4.1 開(kāi)發(fā)適合自己的操作系統(tǒng)
1.4.2 開(kāi)發(fā)高水平軟件
1.4.3 有助于計(jì)算機(jī)科學(xué)的教學(xué)和科研
第二章 Linux操作系統(tǒng)結(jié)構(gòu)
2.1 Linux的抽象結(jié)構(gòu)
2.1.l 概述
2.1.2 Linux內(nèi)核的作用
2.1.3 Linux內(nèi)核的抽象結(jié)構(gòu)
2.1.4 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
2.2 Linux的具體結(jié)構(gòu)
2.3 進(jìn)程調(diào)度子系統(tǒng)
2.3.1 子系統(tǒng)描述
2.3.2 功能
2.3.3 接口
2.3.4 數(shù)據(jù)結(jié)構(gòu)
2.3.5 子系統(tǒng)結(jié)構(gòu)
2.3.6 子系統(tǒng)依賴(lài)關(guān)系
2.4內(nèi)存管理子系統(tǒng)
2.4.l 子系統(tǒng)描述
2.4.2 功能
2.4.3 接口
2.4.4 數(shù)據(jù)結(jié)構(gòu)
2.4.5 子系統(tǒng)結(jié)構(gòu)
2.4.6 子系統(tǒng)依賴(lài)關(guān)系
2.5 虛擬文件系統(tǒng)
2.5.1 子系統(tǒng)描述
2.5.2 功能
2.5.3 接口
2.5.4 數(shù)據(jù)結(jié)構(gòu)
2.5.5 子系統(tǒng)結(jié)構(gòu)
2.5.6 子系統(tǒng)依賴(lài)關(guān)系
2.6 進(jìn)程間通信(IPC)
2.6.1 子系統(tǒng)描述
2.6.2 功能
2.6.3 接口
2.6.4 數(shù)據(jù)結(jié)構(gòu)
2.6.5 子系統(tǒng)結(jié)構(gòu)
2.6.6 子系統(tǒng)的依賴(lài)關(guān)系
2.7 網(wǎng)絡(luò)接口
2.7.1 Linux的網(wǎng)絡(luò)層
2.7.2 接口
2.7.3 子系統(tǒng)描述
2.7.4 數(shù)據(jù)結(jié)構(gòu)
2.7.5 子系統(tǒng)結(jié)構(gòu)
2.7.6 子系統(tǒng)依賴(lài)關(guān)系
2.8 Linux內(nèi)核源代碼
2.8.l 多版本的內(nèi)核源代碼
2.8.2 Linux內(nèi)核源代碼的結(jié)構(gòu)
2.8.3 從何處開(kāi)始閱讀源代碼
2.9 常用術(shù)語(yǔ)的定義
第三章 進(jìn)程調(diào)度
3.1 進(jìn)程描述
3.1.l 進(jìn)程和程序(Process and Program)
3.1.2 Linux中的進(jìn)程概述
3.1.3 tasksmict結(jié)構(gòu)描述
3.1.4 taskstfUCt數(shù)據(jù)結(jié)構(gòu)
3.2 Linux時(shí)間系統(tǒng)
3.2.1 時(shí)鐘硬件及時(shí)鐘運(yùn)作機(jī)制
3.2.2 千年危機(jī)(千年蟲(chóng))簡(jiǎn)介
3.2.3 Linux時(shí)間系統(tǒng)
3.2.4 時(shí)鐘中斷
3.3 Linux的調(diào)度程序——SchedulC)
3.3.l 基本原理
3.3.2 Linux進(jìn)程調(diào)度時(shí)機(jī)
3.3.3 進(jìn)程調(diào)度的依據(jù)
3.3.4 可運(yùn)行隊(duì)列(Runnable Queue)
3.3.5 進(jìn)程調(diào)度(調(diào)度正文)的工作流程
3.3.6 調(diào)度程序流程圖
3.4 Linux內(nèi)核機(jī)制
3.4.1 內(nèi)核機(jī)制的引入
3.4.2 Linux內(nèi)核機(jī)制
3.4.3 任務(wù)隊(duì)列(Task Queue)
3.4.4 定時(shí)器內(nèi)核例程處理程序(timer bottom half handler)
第四章 保護(hù)模式
4.1 虛擬存儲(chǔ)器
4.1.l 虛地址和虛地址空間
4.1.2 段機(jī)制和分頁(yè)機(jī)制
4.1.3 保護(hù)
4.2 描述符
4.2.l 段機(jī)制
4.2.2 描述符的概念
4.2.3 系統(tǒng)段描述符
4.2.4 門(mén)描述符
4.3 描述符表和尋址方式
4.3.l 描述符表
4.3.2 選擇器與描述符表寄存器
4.3.3 描述符投影寄存器
4.4 分頁(yè)機(jī)制
4.4.1 狀態(tài)和控制寄存器組
4.4.2 分頁(yè)機(jī)構(gòu)
4.4.3 頁(yè)面高速緩沖寄存器
4.5 控制轉(zhuǎn)移和任務(wù)切換
4.5.l 控制轉(zhuǎn)移
4.5.2 調(diào)用門(mén)
4.5.3 任務(wù)切換
4.6 小結(jié)
第五章 Linux啟動(dòng)系統(tǒng)
5.l 初始化流程.
5.1.l 系統(tǒng)加電或復(fù)位
5.1.2 BIOS啟動(dòng)
5.1.3 BootLoader
5.1.4 操作系統(tǒng)的初始化
5.2 初始化的任務(wù)
5.2.l 處理器對(duì)初始化的影響
5.2.2 其他硬件設(shè)備對(duì)初始化的影響
5.3 Linux的 Boot Loader
5.3.l 軟盤(pán)的結(jié)構(gòu)
5.3.2 硬盤(pán)的結(jié)構(gòu)
5.3.3 Boot Loader
5.3.4 LILO
5.3.5 LILO的運(yùn)行分析
5.4 進(jìn)入操作系統(tǒng)
5.4.1 Setup.S
5.4.2 Head.S
5.5 main.c中的初始化
5.6 建立init進(jìn)程
5.6.1 init進(jìn)程的建立
5.6.2 啟動(dòng)所需的Shell腳本文件
第六章 Linux內(nèi)存管理
6.1 Linux的虛擬內(nèi)存管理
6.1.1 Linux虛擬內(nèi)存的實(shí)現(xiàn)結(jié)構(gòu)
6.1.2多任務(wù)及保護(hù)
6.1.3 內(nèi)核空間和用戶(hù)空間
6.1.4 Linux虛擬內(nèi)存實(shí)現(xiàn)機(jī)制問(wèn)的關(guān)系
6.2 地址映射機(jī)制
6.2.l 地址映射的數(shù)據(jù)結(jié)構(gòu)
6.2.2 進(jìn)程的虛擬內(nèi)存
6.2.3 內(nèi)存映射
6.3 請(qǐng)頁(yè)機(jī)制
6.3.1 頁(yè)故障的產(chǎn)生
6.3.2 頁(yè)錯(cuò)誤的定位
6.3.3 頁(yè)錯(cuò)誤處理程序
6.3.4 幾點(diǎn)說(shuō)明
6.4 交換機(jī)制
6.4.1 頁(yè)交換的方法
6.4.2 更換守護(hù)進(jìn)程(kSWaPd的分析
6.4.3 交換空間的數(shù)據(jù)結(jié)構(gòu)
6.4.4 交換空間的應(yīng)用
6.5 內(nèi)存分配和回收機(jī)制
6.5.l 分配策略
6.5.2 系統(tǒng)級(jí)調(diào)用分配過(guò)程和釋放過(guò)程.
6.5.3 用戶(hù)級(jí)內(nèi)存分配釋放函數(shù)
6.6 緩存和刷新機(jī)制
6.6.1 Linux使用的緩存 6.6.2 緩沖區(qū)高速緩存
6.6.3 翻譯后援存儲(chǔ)器(TBL)
6.6.4 刷新機(jī)制
6.7 進(jìn)程的創(chuàng)建和執(zhí)行
6.7.l 進(jìn)程的創(chuàng)建
6.7.2 程序執(zhí)行
6.7.3 執(zhí)行函數(shù)
6.8 內(nèi)存共事機(jī)制
6.9 內(nèi)存初始化
6.9.l 內(nèi)存初始化過(guò)程
6.9.2 進(jìn)入用戶(hù)模式
第七章 進(jìn)程間通信
7.l 管道
7.l.1 Linux管道的實(shí)現(xiàn)機(jī)制
7.1.2 管道的應(yīng)用
7.1.3 命名管道(FIF)
7.2 System V的 IPC機(jī)制
7.2.1 信號(hào)量
7.2.2 消息隊(duì)列
7.2.3 共事內(nèi)存
7.3 信號(hào)(signal)
7.3.1 信號(hào)的引入
7.3.2 信號(hào)掩碼
7.3.3 系統(tǒng)調(diào)用
7.3.4 典型系統(tǒng)調(diào)用的實(shí)現(xiàn)
7.3.5 進(jìn)程與信號(hào)的關(guān)系
7.3.6 信號(hào)舉例
第八章 虛擬文件系統(tǒng)
8.l 概述
8.2 VFS中的重要數(shù)據(jù)結(jié)構(gòu)
8.2.1 VFS的超級(jí)塊
8.2.2 VFS的索引節(jié)點(diǎn)
8.2.3 與進(jìn)程聯(lián)系的三個(gè)結(jié)構(gòu)
8.2.4 有關(guān)操作的數(shù)據(jù)結(jié)構(gòu)
8.3 高速緩存
8.3.l 塊高速緩存
8.3.2 索引節(jié)點(diǎn)高速緩存
8.3.3 目錄高速緩存
8.4 文件系統(tǒng)的注冊(cè)、安裝與卸載
8.4.l 文件系統(tǒng)的注冊(cè)
8.4.2 文件系統(tǒng)的安裝
8.4.3 文件系統(tǒng)的卸載
8.5 限額機(jī)制
8.6 文件系統(tǒng)的系統(tǒng)調(diào)用
8.6.1 oPen系統(tǒng)調(diào)用
8.6.2 read系統(tǒng)調(diào)用
8.6.3 fcntl系統(tǒng)調(diào)用
第九章 EXTZ文件系統(tǒng)
9.l 基本概念
9.2 EXTZ的磁盤(pán)布局和數(shù)據(jù)結(jié)構(gòu)
9.2.1 EXTZ的磁盤(pán)布局
9.2.2 EXTZ的超級(jí)塊
9.2.3 EXTZ的素引節(jié)點(diǎn)
9.2.4 組描述符
9.2.5 位圖
9.2.6 索引節(jié)點(diǎn)表及舉例
9.2.7 EXTZ的目錄項(xiàng)及文件的定位
9.3 文件的訪(fǎng)問(wèn)權(quán)限和安全
9.4 鏈接文件
9.5 錯(cuò)誤處理
9.6 分配策略
第十章 模塊機(jī)制
10.1 概述
10.1.l 什么是模塊
10.1.2 為什么要使用模塊
10.1.3 Linux內(nèi)核模塊的優(yōu)缺點(diǎn)
10.2 實(shí)現(xiàn)機(jī)制
10.2.l 數(shù)據(jù)結(jié)構(gòu)
10.2.2 實(shí)現(xiàn)函數(shù)的分析
10.2.3 模塊的裝入
10.3 卸載(unload)一個(gè)模塊
10.4 編寫(xiě)內(nèi)核模塊
10.4.l 內(nèi)核的復(fù)制函數(shù)
10.4.2 內(nèi)核版本2.0.35與2.2.3之間的變化
10.4.3 簡(jiǎn)單向核模塊的編寫(xiě)
10.4.4 內(nèi)核模塊的 Makefiles又件
10.4.5 內(nèi)核模塊的多個(gè)文件
10.5 系統(tǒng)調(diào)用
10.6 模塊實(shí)用程序
第十一章 設(shè)備驅(qū)動(dòng)程序
11.1 LillUX的設(shè)備管理
1l.l.1 I/O軟件
11.l.2 設(shè)備驅(qū)動(dòng)程序
11.1.3 Linux驅(qū)動(dòng)程序的幾個(gè)通用函數(shù)
11.2 中斷
11.2.l 硬件對(duì)中斷的支持
11.2.2 Linux對(duì)中斷的管理
11.2.3 Linux對(duì)中斷的處理。
11.3 塊設(shè)備驅(qū)動(dòng)程序
11.3.l 塊設(shè)備驅(qū)動(dòng)程序的登記
11.3.2 塊設(shè)備基于緩沖區(qū)的數(shù)據(jù)交換
11.3.3 塊設(shè)備驅(qū)動(dòng)程序的幾個(gè)函數(shù)
11.3.4 RAM盤(pán)驅(qū)動(dòng)程序的實(shí)現(xiàn)
11.3.5 硬盤(pán)驅(qū)動(dòng)程序的實(shí)現(xiàn)
11.4 字符設(shè)備驅(qū)動(dòng)程序
11.4.l 字符設(shè)備的注冊(cè)
11.4.2 工作內(nèi)存
11.4.3 基本入四點(diǎn)
11.4.4 一個(gè)字符設(shè)備驅(qū)動(dòng)程序的實(shí)例
11.4.5 驅(qū)動(dòng)程序的編譯與裝載
第十二章 Linux系統(tǒng)調(diào)用機(jī)制
12.l 基本原理
12.2 系統(tǒng)調(diào)用的初始化
12.3 Linux系統(tǒng)調(diào)用的執(zhí)行
12.4 增加新的系統(tǒng)調(diào)用
12.4.l 編寫(xiě)一個(gè)系統(tǒng)調(diào)用
12.4.2 連接新的系統(tǒng)調(diào)用
12.4.3 使用新的系統(tǒng)調(diào)用
第十三章 網(wǎng)絡(luò)
13.l 概述
13.2 網(wǎng)絡(luò)協(xié)議
13.2.l 網(wǎng)絡(luò)參考模型
13.2.2 TCPHP協(xié)議工作原理及數(shù)據(jù)流
13.2.3 Internet協(xié)議
13.2.4 TCP協(xié)議
13.3 套接字(socket)
13.3.1 套接字在網(wǎng)絡(luò)中的地位和作用
13.3.2 套接字接口的種類(lèi)
13.3.3 套接字的工作原理
13.3.4 socket的通信過(guò)程
13.3.5 和套接字相關(guān)的數(shù)據(jù)結(jié)構(gòu)
13.3.6 Socket為用尸提供的系統(tǒng)調(diào)用
13.4 套接字緩沖區(qū)(Skbll用
13.4.l 套接字緩沖區(qū)的特點(diǎn)
13.4.2 套接字緩沖區(qū)操作基本原理
13.4.3 SkyUff數(shù)據(jù)結(jié)構(gòu)的核心內(nèi)容
13.4.4 套接字緩沖區(qū)提供的函數(shù)
13.4.5 套接字緩沖區(qū)的上層支持例程
13.4.6 SkJSff數(shù)據(jù)結(jié)構(gòu)
13.5 網(wǎng)絡(luò)設(shè)備接口
13.5.l 基本結(jié)構(gòu)
13.5.2 命名規(guī)則
13.5.3 設(shè)備注冊(cè)
13.5.4 網(wǎng)絡(luò)設(shè)備數(shù)據(jù)結(jié)構(gòu)
13.5.5 支持函數(shù)
13.5.6 device數(shù)據(jù)結(jié)構(gòu)
13.6 本章 小結(jié)
圖書(shū)封面
評(píng)論、評(píng)分、閱讀與下載
Linux操作系統(tǒng)內(nèi)核分析 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版