-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
LINUX 內核完全剖析——基于0.12內核(15周年版) 版權信息
- ISBN:9787111744191
- 條形碼:9787111744191 ; 978-7-111-74419-1
- 裝幀:精裝
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
LINUX 內核完全剖析——基于0.12內核(15周年版) 本書特色
趙炯博士的Linux內核源碼書系列自從問世以來,在全國乃至世界范圍內產生了很大影響。**批讀者受惠良多,早已成為IT大廠的中堅力量。多年過去了,Linux內核的體量發生了巨大變化,這更加凸顯了“從小內核學起”的理念的正確。閱讀本書,會幫助讀者少走彎路,快速理解Linux的精髓,早日成長為合格的開發人員和系統架構師。
LINUX 內核完全剖析——基于0.12內核(15周年版) 內容簡介
本書對 Linux 操作系統早期內核(V0.12)全部源代碼文件進行了詳 細、全面的注釋和說明,旨在幫助讀者用較短的時間對 Linux 的工作機理 獲得全面而深刻的理解,為進一步學習和研究現代 Linux 系統打下堅實的 基礎。雖然分析的版本較低,但該內核已能夠正常編譯運行,并且其中已 包括了 Linux 工作原理的精髓。書中首先概要地介紹了 Linux 內核發展歷 史,說明了各內核版本之間的主要區別和改進,給出了選擇 0.12 版內核源 代碼作為研究對象的原因。然后給出了閱讀內核源代碼所需的相關基礎知 識,概要介紹了運行 Linux 系統的 PC 硬件組成結構、編寫內核使用的匯編 語言和 C 語言擴展部分,并且重點說明了 80x86 處理器在保護模式下運行 的編程方法。接著介紹了內核代碼概況,給出了內核源代碼目錄樹結構, 并依據該組織結構對所有內核程序和文件進行了詳細描述和說明。為了加 深讀者對內核工作原理的理解,書中*后一章給出了多個相關運行調試實 驗。書中所有相關資料和信息均可從網站 www.oldlinux.org 下載。 本書適合作為高校計算機專業學生學習操作系統課程的輔助和實踐教 材,也適合 Linux 愛好者作為學習內核工作原理的自學參考書籍,還可作 為一般技術人員開發嵌入式系統時的參考書。
LINUX 內核完全剖析——基于0.12內核(15周年版) 目錄
1.1 Linux 的誕生和發展··························1
1.1.1 UNIX 操作系統的誕生 ······················1
1.1.2 MINIX 操作系統 ·······························1
1.1.3 GNU 計劃 ········································2
1.1.4 POSIX 標準 ······································2
1.1.5 Linux 操作系統的誕生 ·······················3
1.1.6 Linux 操作系統版本的變遷 ················4
1.1.7 Linux 名稱的由來 ·····························6
1.1.8 早期Linux 系統開發的主要貢獻者 ········7
1.2 內容綜述············································8
1.3 本章小結··········································12
第 2 章 微型計算機組成結構····················13
2.1 微型計算機組成原理·······················13
2.2 I/O 端口尋址和訪問控制方式·········15
2.2.1 I/O 端口和尋址 ·······························15
2.2.2 接口訪問控制 ·································17
2.3 主存儲器、BIOS 和 CMOS存儲器·································17
2.3.1 主存儲器 ·······································17
2.3.2 基本輸入/輸出程序 BIOS ·················18
2.3.3 CMOS 存儲器 ································19
2.4 控制器和控制卡·······························19
2.4.1 中斷控制器 ····································19
2.4.2 DMA 控制器 ··································20
2.4.3 定時/計數器 ···································21
2.4.4 鍵盤控制器 ····································21
2.4.5 串行控制卡 ····································22
2.4.6 顯示控制 ·······································24
2.4.7 軟盤和硬盤控制器 ··························25
2.5 本章小結··········································28
第 3 章 內核編程語言和環境····················29
3.1 as86 匯編器······································29
3.1.1 as86 匯編語言語法 ··························30
3.1.2 as86 匯編語言程序 ··························31
3.1.3 as86 匯編語言程序的編譯和鏈接 ·········33
3.1.4 as86 和 ld86 使用方法和選項 ············34
3.2 GNU as 匯編·····································35
3.2.1 編譯 as 匯編語言程序 ······················36
3.2.2 as 匯編語法 ····································37
3.2.3 指令語句、操作數和尋址 ················38
3.2.4 區與重定位 ····································41
3.2.5 符號 ··············································43
3.2.6 as 匯編命令 ····································44
3.2.7 編寫 16 位代碼 ·······························46
3.2.8 AS 匯編器命令行選項 ·····················46
3.3 C 語言程序·······································46
3.3.1 C 程序編譯和鏈接 ···························46
3.3.2 嵌入匯編 ········································47
3.3.3 圓括號中的組合語句 ·······················51
3.3.4 寄存器變量 ····································52
3.3.5 內聯函數 ········································52
3.4 C 與匯編程序的相互調用················54
3.4.1 C 函數調用機制 ······························54
3.4.2 在匯編程序中調用 C 函數 ················59
3.4.3 在 C 程序中調用匯編函數 ················61
3.5 Linux 0.12 目標文件格式·················63
3.5.1 目標文件格式 ·································63
3.5.2 Linux 0.12 中的目標文件格式 ···········66
3.5.3 鏈接程序輸出 ·································68
3.5.4 鏈接程序預定義變量 ·······················69
3.5.5 System.map 文件 ·····························70
3.6 Make 程序和 Makefile 文件·············72
3.6.1 Makefile 文件內容 ···························72
3.6.2 Makefile 文件中的規則 ····················73
3.6.3 Makefile 文件示例 ···························73
3.6.4 make 處理 Makefile 文件的方式 ········75
3.6.5 Makefile 中的變量 ···························76
3.6.6 讓 make 自動推斷命令 ····················76
3.6.7 隱含規則中的自動變量 ···················77
3.7 本章小結··········································78
第 4 章 80x86 保護模式及其編程············79
4.1 80x86 系統寄存器和系統指令····································79
4.1.1 標志寄存器 ····································79
4.1.2 內存管理寄存器 ·····························80
4.1.3 控制寄存器 ····································81
4.1.4 系統指令 ·······································84
4.2 保護模式內存管理···························85
4.2.1 內存尋址 ·······································85
4.2.2 地址變換 ·······································86
4.2.3 保護 ··············································88
4.3 分段機制··········································89
4.3.1 段的定義 ·······································89
4.3.2 段描述符表 ····································91
4.3.3 段選擇符 ·······································93
4.3.4 段描述符 ·······································95
4.3.5 代碼和數據段描述符類型 ················98
4.3.6 系統描述符類型 ·····························99
4.4 分頁機制········································100
4.4.1 頁表結構 ·····································102
4.4.2 頁表項格式 ··································103
4.4.3 虛擬存儲 ·····································104
4.5 保護··············································104
4.5.1 段級保護 ·····································105
4.5.2 訪問數據段時的特權級檢查 ···········107
4.5.3 代碼段之間轉移控制時的特權級檢查······························108
4.5.4 頁級保護 ····································· 113
4.5.5 組合頁級和段級保護 ····················· 115
4.6
LINUX 內核完全剖析——基于0.12內核(15周年版) 作者簡介
趙炯,工學博士,計算機專家,Intel公司訪問學者,國際計算機仿真協會、上海市通信學會會員。研究方向為計算機通信。曾經為本科、碩士和博士研究生開設《計算機網絡》、《計算機通信技術》、《計算機通信與工控網絡》、《微型計算機》和《計算機原理》等課程。參與國家自然科學基金項目“系統芯片在線測試與容錯技術研究”和上海市自然科學基金“基于節點主動控制的大規模復雜輸送系統控制模型研究”等工作。
- >
伯納黛特,你要去哪(2021新版)
- >
月亮虎
- >
自卑與超越
- >
二體千字文
- >
煙與鏡
- >
隨園食單
- >
李白與唐代文化
- >
名家帶你讀魯迅:朝花夕拾