注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)Linux內(nèi)核完全剖析:基于0.12內(nèi)核

Linux內(nèi)核完全剖析:基于0.12內(nèi)核

Linux內(nèi)核完全剖析:基于0.12內(nèi)核

定 價:¥99.00

作 者: 趙炯
出版社: 機械工業(yè)出版社
叢編項:
標 簽: Linux

ISBN: 9787111250470 出版時間: 2009-01-01 包裝: 平裝
開本: 16 頁數(shù): 945 字數(shù):  

內(nèi)容簡介

  《Linux內(nèi)核完全剖析》對早期Linux內(nèi)核(V0.12)全部代碼文件進行了詳細、全面的注釋和說明,旨在幫助讀者用較短的時間對Linux的工作機理獲得全面而深刻的理解,為進一步學習和研究Linux打下堅實的基礎。雖然選擇的版本較低,但該內(nèi)核已能夠正常編譯運行,并且其中已包括了Linux工作原理的精髓。書中首先以Linux源代碼版本的變遷為主線,介紹了Linux的歷史,同時著重說明了各個內(nèi)核版本的主要區(qū)別和改進,給出了選擇0.12版內(nèi)核源代碼作為研究對象的原因。在正式描述內(nèi)核源代碼之前,概要介紹了運行Linux的PC的硬件組成結構、編制內(nèi)核使用的匯編語言和C語言擴展部分,并且重點說明了80x86處理器在保護模式下運行的編程方法。接著詳細介紹了Linux內(nèi)核源代碼目錄樹組織結構,并依據(jù)該結構對所有內(nèi)核程序和文件進行了注釋和詳細說明。有關代碼注釋的章節(jié)安排基本上都分為具體研究對象的概述、每個文件的功能介紹、代碼內(nèi)注釋、代碼中難點及相關資料介紹等部分。為了加深讀者對內(nèi)核工作原理的理解,書中最后一章給出了圍繞Linux 0.12系統(tǒng)的多個試驗?!禠inux內(nèi)核完全剖析》適合Linux愛好者作為學習內(nèi)核工作原理的自學參考書籍,也適合作為高校計算機專業(yè)學生學習操作系統(tǒng)課程的輔助和實踐教材,還可供一般技術人員作為開發(fā)嵌入式系統(tǒng)的參考書使用。

作者簡介

暫缺《Linux內(nèi)核完全剖析:基于0.12內(nèi)核》作者簡介

圖書目錄


第1章 概述
1.1 Linux的誕生和發(fā)展
1.1.1 UNIX操作系統(tǒng)的誕生
1.1.2 MINIX操作系統(tǒng)
1.1.3 GNU計劃
1.1.4 POSIX標準
1.1.5 Linux操作系統(tǒng)的誕生
1.1.6 Linux操作系統(tǒng)版本的變遷
1.1.7 Linux名稱的由來
1.1.8 早期Linux系統(tǒng)開發(fā)的主要貢獻者
1.2 內(nèi)容綜述
1.3 本章小結

第2章 微型計算機組成結構
2.1 微型計算機組成原理
2.2 I/O端口尋址和訪問控制方式
2.2.1 I/O端口和尋址
2.2.2 接口訪問控制
2.3 主存儲器、BIOS和CMOS存儲器
2.3.1 主存儲器
2.3.2 基本輸入/輸出程序BIOS
2.3.3 CMOS存儲器
2.4 控制器和控制卡
2.4.1 中斷控制器
2.4.2 DMA控制器
2.4.3 定時/計數(shù)器
2.4.4 鍵盤控制器
2.4.5 串行控制卡
2.4.6 顯示控制
2.4.7 軟盤和硬盤控制器
2.5 本章小結

第3章 內(nèi)核編程語言和環(huán)境
3.1 as86匯編器
3.1.1 as86匯編語言語法
3.1.2 as86匯編語言程序
3.1.3 as86匯編語言程序的編譯和鏈接
3.1.4 as86和1d86使用方法和選項
3.2 CNU as匯編
3.2.1 編譯as匯編語言程序
3.2.2 as匯編語法
3.2.3 指令語句、操作數(shù)和尋址
3.2.4 區(qū)與重定位
3.2.5 符號
3.2.6 as匯編命令
3.2.7 編寫16位代碼
3.2.8 AS匯編器命令行選項
3.3 C語言程序
3.3.1 C程序編譯和鏈接
3.3.2 嵌入?yún)R編
3.3.3 圓括號中的組合語句
3.3.4 寄存器變量
3.3.5 內(nèi)聯(lián)函數(shù)
3.4 C與匯編程序的相互調(diào)用
3.4.1 C函數(shù)調(diào)用機制
3.4.2 在匯編程序中調(diào)用C函數(shù)
3.4.3 在C程序中調(diào)用匯編函數(shù)
3.5 Linux 0.12目標文件格式
3.5.1 目標文件格式
3.5.2 Linux0.12中的目標文件格式
3.5.3 鏈接程序輸出
3.5.4 鏈接程序預定義變量一
3.5.5 System.map文件
3.6 Make程序和Makefile文件
3.6.1 Makefite文件內(nèi)容
3.6.2 Makefile文件中的規(guī)則
3.6.3 Makefile文件示例
3.6.4 make處理Makefile文件的方式
3.6.5 Makefile中的變量
3.6.6 讓make自動推斷命令
3.6.7 隱含規(guī)則中的自動變量
3.7本章 小結

第4章 80x86保護模式及其編程
4.1 80x86系統(tǒng)寄存器和系統(tǒng)指令
4.1.1 標志寄存器
4.1.2 內(nèi)存管理寄存器
4.1.3 控制寄存器
4.1.4 系統(tǒng)指令
4.2 保護模式內(nèi)存管理
4.2.1 內(nèi)存尋址
4.2.2 地址變換
4.2.3 保護
4.3 分段機制
4.3.1 段的定義
4.3.2 段描述符表
4.3.3 段選擇符
4.3.4 段描述符
4.3.5 代碼和數(shù)據(jù)段描述符類型
4.3.6 系統(tǒng)描述符類型
4.4 分頁機制
4.4.1 頁表結構
4.4.2 頁表項格式
4.4.3 虛擬存儲
4.5 保護
4.5.1 段級保護
4.5.2 訪問數(shù)據(jù)段時的特權級檢查
4.5.3 代碼段之間轉(zhuǎn)移控制時的特權級檢查
4.5.4 頁級保護
4.5.5 組合頁級和段級保護
4.6 中斷和異常處理
4.6.1 異常和中斷向量
4.6.2 中斷源和異常源
4.6.3 異常分類
4.6.4 程序或任務的重新執(zhí)行
4.6.5 開啟和禁止中斷
4.6.6 異常和中斷的優(yōu)先級
4.6.7 中斷描述符表
4.6.8 IDT描述符
4.6.9 異常與中斷處理
4.6.10 中斷處理任務
4.6.11 錯誤碼
4.7 任務管理
4.7.1 任務的結構和狀態(tài)
4.7.2 任務的執(zhí)行
4.7.3 任務管理數(shù)據(jù)結構
4.7.4 任務切換
4.7.5 任務鏈
4.7.6 任務地址空間
4.8 保護模式編程初始化
4.8.1 進入保護模式時的初始化操作
4.8.2 模式切換
4.9 一個簡單的多任務內(nèi)核實例
4.9.1 多任務程序結構和工作原理
4.9.2 引導啟動程序boot.s
4.9.3 多任務內(nèi)核程序head.s

第5章 Linux內(nèi)核體系結構
5.1 Linux內(nèi)核模式
5.2 Linux內(nèi)核系統(tǒng)體系結構
5.3 Linux內(nèi)核對內(nèi)存的管理和使用
5.3.1 物理內(nèi)存
5.3.2 內(nèi)存地址空間概念
5.3.3 內(nèi)存分段機制
5.3.4 內(nèi)存分頁管理
5.3.5 CPu多任務和保護方式
5.3.6 虛擬地址、線性地址和物理地址之間的關系
5.3.7 用戶申請內(nèi)存的動態(tài)分配
5.4 中斷機制
5.4.1 中斷操作原理
5.4.2 80x86微機的中斷子系統(tǒng)
5.4.3 中斷向量表
5.4.4 I.inux內(nèi)核的中斷處理
5.4.5 標志寄存器的中斷標志
5.5 Linux的系統(tǒng)調(diào)用
5.5.1 系統(tǒng)調(diào)用接口
5.5.2 系統(tǒng)調(diào)用處理過程
5.5.3 Linux系統(tǒng)調(diào)用的參數(shù)傳遞方式
5.6 系統(tǒng)時間和定時
5.6.1 系統(tǒng)時間
5.6.2 系統(tǒng)定時
5.7 Linux進程控制
5.7.1 任務數(shù)據(jù)結構
5.7.2 進程運行狀態(tài)
5.7.3 進程初始化
5.7.4 創(chuàng)建新進程
5.7.5 進程調(diào)度
5.7.6 終止進程
5.8 Linux系統(tǒng)中堆棧的使用方法
5.8.1 初始化階段
5.8.2 任務的堆棧
5.8.3 任務內(nèi)核態(tài)堆棧與用戶態(tài)堆棧之間的切換
5.9 Linux0.12采用的文件系統(tǒng)
5.10 Linux內(nèi)核源代碼的目錄結構
5.10.1 內(nèi)核主目錄linux
5.10.2 引導啟動程序目錄boot
5.10.3 文件系統(tǒng)目錄fs
5.10.4 頭文件主目錄include
5.10.5 內(nèi)核初始化程序目錄init
5.10.6 內(nèi)核程序主目錄kernel
5.10.7 內(nèi)核庫函數(shù)目錄lib
5.10.8 內(nèi)存管理程序目錄mm
5.10.9 編譯內(nèi)核工具程序目錄tools
5.1l 內(nèi)核系統(tǒng)與應用程序的關系
5.12 linux/MakeftIe文件
5.12.1 功能描述
5.12.2 代碼注釋
5.13 本章 小結

第6章 引導啟動程序
6.1 總體功能
6.2 bootsect.S程序
6.2.1 功能描述
6.2.2 代碼注釋
6.2.3 其他信息
6.3 setup.S程序
6.3.1 功能描述
6.3.2 代碼注釋
6.3.3 其他信息
6.4 lead.s程序
6.4.1 功能描述
6.4.2 代碼注釋
6.4.3 其他信息
6.5 本章 小結

第7章 初始化程序
7.1 main.c程序
7.1.1 功能描述
7.1.2 代碼注釋
7.1.3 其他信息
7.2 環(huán)境初始化工作
7.3 本章 小結

第8章 內(nèi)核代碼
8.1 總體功能
8.1.1 中斷處理程序
8.1.2 系統(tǒng)調(diào)用處理相關程序
8.1.3 其他通用類程序
8.2 asm.s程序
8.2.1 功能描述
8.2.2 代碼注釋
8.2.3 Intel保留中斷向量的定義
8.3 traps.c程序
8.3.1 功能描述
8.3.2 代碼注釋
8.4 syscall.s程序
8.4.1 功能描述
8.4.2 代碼注釋
8.4.3 其他信息
8.5 mktime.c程序
8.5.1 功能描述
8.5.2 代碼注釋
8.5.3 閏年的計算方法
8.6 sched.c程序
8.6.1 功能描述
8.6.2 代碼注釋
8.6.3 其他信息
8.7 signal.c程序
8.7.1 功能描述
8.7.2 代碼注釋
8.7.3 進程信號說明
8.8 exit.c程序
8.8.1 功能描述
8.8.2 代碼注釋
8.9 fork.c程序
8.9.1 功能描述
8.9.2 代碼注釋
8.9.3 任務狀態(tài)段信息
8.10 sys.c程序
8.10.1 功能描述
8.10.2 代碼注釋
8.1l vsprimtfc程序
8.11.1 功能描述
8.11.2 代碼注釋
8.11.3 vsprintf的格式字符串
8.11.4 與當前版本的區(qū)別
8.12 printk.c程序
8.12.1 功能描述
8.12.2 代碼注釋
8.13 panic.c程序
8.13.1 功能描述
8.13.2 代碼注釋
8.14 本章 小結

第9章 塊設備驅(qū)動程序
9.1 總體功能
9.1.1 塊設備請求項和請求隊列
9.1.2 塊設備訪問調(diào)度處理
9.1.3 塊設備操作方式
9.2 blk.h文件
9.2.1 功能描述
9.2.2 代碼注釋
9.3 hd.c程序
9.3.1 功能描述
9.3.2 代碼注釋
9.3.3 其他信息
9.4 nrwblk.c程序
9.4.1 功能描述
9.4.2 代碼注釋
9.5 ramdisk.c程序
9.5.1 功能描述
9.5.2 代碼注釋
9.6 floppy.c程序
9.6.1 功能描述
9.6.2 代碼注釋
9.6.3 其他信息

第10章 字符設備驅(qū)動程序
10.1 總體功能
10.1.1 終端驅(qū)動程序基本原理
10.1.2 Linux支持的終端設備類型
10.1.3 終端基本數(shù)據(jù)結構
lO.1.4 規(guī)范模式和非規(guī)范模式
10.1.5 控制臺終端和串行終端設備
10.1.6 終端驅(qū)動程序接口
10.2 keyboard.S程序
10.2.1 功能描述
10.2.2 代碼注釋
10.2.3 其他信息
10.3 console.c程序
10.3.1 功能描述
10.3.2 代碼注釋
10.3.3 其他信息
10.4 serial.c程序
10.4.l 功能描述
10.4.2 代碼注釋
lO.4.3 異步串行通信控制器UART
10.5 rsio.s程序
10.5.1 功能描述
10.5.2 代碼注釋
10.6 ttyi0.c程序
10.6.1 功能描述
10.6.2 代碼注釋
10.6.3 控制字符vnME、VMlN
10.7 ttyjoctl.c程序
10.7.1 功能描述
10.7.2 代碼注釋

第11章 數(shù)學協(xié)處理器
第12章 文件系統(tǒng)
第13章 內(nèi)存管理
第14章 頭文件
第15章 庫文件
第16章 建造工具
第17章 實驗環(huán)境設置與使用方法
附錄
參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號