注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)從零開(kāi)始寫(xiě)Linux內(nèi)核:一書(shū)學(xué)透核心原理與實(shí)現(xiàn)

從零開(kāi)始寫(xiě)Linux內(nèi)核:一書(shū)學(xué)透核心原理與實(shí)現(xiàn)

從零開(kāi)始寫(xiě)Linux內(nèi)核:一書(shū)學(xué)透核心原理與實(shí)現(xiàn)

定 價(jià):¥99.00

作 者: 海納
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111766445 出版時(shí)間: 2025-01-01 包裝: 平裝-膠訂
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)由知名編譯與操作系統(tǒng)專(zhuān)家海納撰寫(xiě),將沉淀20余年的Linux系統(tǒng)研究所得傾注書(shū)中。本書(shū)用不到1萬(wàn)行代碼復(fù)現(xiàn)了Linux 0.12內(nèi)核,打通了“古早”工具鏈障礙,模塊實(shí)現(xiàn)環(huán)環(huán)相扣,帶你穿透“迷霧”,窺見(jiàn)Linux系統(tǒng)設(shè)計(jì)的絢麗“天光”。本書(shū)共8章,從邏輯上分為四部分。第一部分(第1和2章)是基礎(chǔ)知識(shí),介紹開(kāi)發(fā)內(nèi)核所需的基礎(chǔ)知識(shí),包括開(kāi)發(fā)環(huán)境和調(diào)試環(huán)境的搭建,以及i386保護(hù)模式等。第二部分(第3~6章)是核心模塊,逐步實(shí)現(xiàn)進(jìn)程、中斷、系統(tǒng)調(diào)用、內(nèi)存管理、字符設(shè)備驅(qū)動(dòng)和塊設(shè)備驅(qū)動(dòng)等模塊。第三部分(第7章)是文件系統(tǒng),涵蓋Minix文件系統(tǒng)、管理inode、管理普通文件、管理目錄、文件鏈接、執(zhí)行程序等內(nèi)容。第四部分(第8章)是系統(tǒng)服務(wù)接口,介紹一些重要的函數(shù),這部分不是內(nèi)核的主要部分,但為了讓shell程序正確地運(yùn)行,這些函數(shù)也是必須實(shí)現(xiàn)的。

作者簡(jiǎn)介

  海納:華為編譯器開(kāi)發(fā)高級(jí)工程師,目前投入鴻蒙系統(tǒng)開(kāi)發(fā)語(yǔ)言ArkTS的開(kāi)發(fā)。曾先后從事數(shù)據(jù)庫(kù)、操作系統(tǒng)和編譯器開(kāi)發(fā)工作。著有圖書(shū)《自己動(dòng)手寫(xiě)Python虛擬機(jī)》,并撰寫(xiě)了極客時(shí)間專(zhuān)欄“編程高手必學(xué)的內(nèi)存知識(shí)”“手寫(xiě)Python虛擬機(jī)”等。

圖書(shū)目錄

目錄
前言
第 1 章 基礎(chǔ)知識(shí)和環(huán)境準(zhǔn)備 1
1.1 操作系統(tǒng)概述 1
1.1.1 功能和架構(gòu) 1
1.1.2 操作系統(tǒng)的發(fā)展歷史 3
1.2 配置環(huán)境 5
1.2.1 配置開(kāi)發(fā)環(huán)境 5
1.2.2 配置運(yùn)行環(huán)境 6
1.3 第一個(gè)內(nèi)核程序 9
1.3.1 打印 Hello World 9
1.3.2 開(kāi)機(jī)引導(dǎo)程序 11
1.4 匯編語(yǔ)言 12
1.4.1 內(nèi)嵌匯編 12
1.4.2 鏈接器的工作原理 16
1.4.3 初識(shí) makefile 18
1.5 小結(jié) 21
第 2 章 保護(hù)模式 22
2.1 進(jìn)入保護(hù)模式前的準(zhǔn)備 23
2.1.1 加載并執(zhí)行 setup 23
2.1.2 獲取硬件信息 27
2.2 內(nèi)存管理 30
2.2.1 A20 地址線 31
2.2.2 全局描述符 31
2.2.3 頁(yè)表的原理 34
2.2.4 進(jìn)入保護(hù)模式 38
2.3 中斷機(jī)制 46
2.3.1 中斷描述符表 46
2.3.2 可編程中斷控制器 48
2.3.3 特權(quán)級(jí) 50
2.4 時(shí)鐘中斷 52
2.4.1 初始化中斷控制芯片 52
2.4.2 設(shè)置中斷描述符表 53
2.4.3 重設(shè)全局描述符表 56
2.4.4 時(shí)鐘中斷實(shí)驗(yàn) 57
2.5 小結(jié) 59
第 3 章 進(jìn)入內(nèi)核 61
3.1 開(kāi)啟分頁(yè)管理 61
3.1.1 設(shè)置頁(yè)表 61
3.1.2 設(shè)置棧指針 66
3.2 實(shí)現(xiàn)格式化打印67
3.2.1 初始化終端和控制臺(tái) 68
3.2.2 操作顯示控制器 72
3.2.3 支持換行和回車(chē) 75
3.2.4 格式化打印結(jié)果并輸出 81
3.3 設(shè)置內(nèi)存和陷阱處理 92
3.3.1 初始化內(nèi)存管理 92
3.3.2 初始化系統(tǒng)調(diào)用 94
3.3.3 處理 CPU 異常 98
3.4 小結(jié) 107
第 4 章 創(chuàng)建進(jìn)程 108
4.1 創(chuàng)建 INIT 進(jìn)程 108
4.1.1 創(chuàng)建進(jìn)程控制塊 108
4.1.2 切換特權(quán)級(jí) 113
4.2 創(chuàng)建第二個(gè)進(jìn)程 118
4.2.1 準(zhǔn)備進(jìn)程控制塊 119
4.2.2 復(fù)制進(jìn)程控制塊 120
4.2.3 實(shí)現(xiàn)進(jìn)程切換 122
4.3 第一個(gè)系統(tǒng)調(diào)用:fork 129
4.3.1 系統(tǒng)調(diào)用和中斷 129
4.3.2 定義 fork 函數(shù) 132
4.3.3 內(nèi)存的寫(xiě)時(shí)復(fù)制 135
4.3.4 處理頁(yè)保護(hù)中斷 142
4.3.5 完善調(diào)度器 145
4.4 小結(jié) 149
第 5 章 支持字符設(shè)備150
5.1 支持鍵盤(pán) 150
5.1.1 鍵盤(pán)的工作原理 150
5.1.2 解析掃描碼 154
5.1.3 構(gòu)建緩沖區(qū) 156
5.1.4 完善屏幕回顯功能 159
5.1.5 回顯字符 165
5.2 優(yōu)化輸入功能 170
5.2.1 控制臺(tái)和遠(yuǎn)程終端 170
5.2.2 系統(tǒng)調(diào)用 read 函數(shù) 178
5.3 優(yōu)化輸出功能 181
5.3.1 向標(biāo)準(zhǔn)輸出寫(xiě)字符串 181
5.3.2 ANSI 轉(zhuǎn)義序列 186
5.3.3 支持轉(zhuǎn)義序列 188
5.4 修改終端狀態(tài) 196
5.4.1 支持方向鍵 197
5.4.2 修改控制臺(tái)標(biāo)志位 198
5.5 小結(jié) 203
第 6 章 支持塊設(shè)備 204
6.1 硬盤(pán)的基本結(jié)構(gòu) 204
6.1.1 初始化硬盤(pán)信息 204
6.1.2 硬盤(pán)分區(qū)表 208
6.1.3 硬盤(pán)控制器編程 214
6.1.4 設(shè)置硬盤(pán)中斷 217
6.2 管理緩沖區(qū) 221
6.2.1 初始化緩沖區(qū) 221
6.2.2 申請(qǐng)緩沖區(qū) 224
6.2.3 緩沖區(qū)相關(guān)的讀寫(xiě)操作 230
6.3 硬盤(pán)驅(qū)動(dòng) 237
6.3.1 讀寫(xiě)硬盤(pán) 237
6.3.2 讀硬盤(pán)分區(qū)表 241
6.4 軟盤(pán)驅(qū)動(dòng) 243
6.4.1 軟盤(pán)的工作原理 243
6.4.2 實(shí)現(xiàn)定時(shí)器  246
6.4.3 DMA 讀寫(xiě) 249
6.4.4 軟盤(pán)控制器 253
6.4.5 實(shí)現(xiàn)軟盤(pán)操作函數(shù) 263
6.5 小結(jié) 268
第 7 章 文件系統(tǒng) 269
7.1 Minix 文件系統(tǒng) 269
7.1.1 Minix 文件系統(tǒng)的基本
結(jié)構(gòu) 270
7.1.2 定義超級(jí)塊 270
7.1.3 初始化超級(jí)塊 272
7.2 管理 inode 275
7.2.1 文件的元信息 275
7.2.2 管理位圖 284
7.2.3 刪除文件 289
7.2.4 進(jìn)程支持文件操作 291
7.2.5 目錄結(jié)構(gòu) 295
7.3 管理普通文件 298
7.3.1 根據(jù)路徑查找 inode 298
7.3.2 打開(kāi)文件 305
7.3.3 文件的讀操作 309
7.3.4 讀寫(xiě)普通文件 312
7.4 管理目錄 316
7.4.1 創(chuàng)建目錄和文件 316
7.4.2 刪除目錄:rmdir 321
7.4.3 新建文件 325
7.5 文件鏈接 328
7.5.1 創(chuàng)建硬鏈接 328
7.5.2 創(chuàng)建軟鏈接 330
7.5.3 通過(guò)鏈接訪問(wèn)文件 333
7.5.4 刪除文件鏈接 334
7.6 執(zhí)行程序 336
7.6.1 a.out 格式 337
7.6.2 執(zhí)行程序:execve 340
7.6.3 缺頁(yè)中斷 347
7.6.4 實(shí)驗(yàn):運(yùn)行第一個(gè)可執(zhí)行
程序 353
7.7 小結(jié) 356
第 8 章 系統(tǒng)服務(wù)接口358
8.1 POSIX 接口 358
8.1.1 時(shí)間管理 359
8.1.2 掛載文件系統(tǒng) 362
8.2 管理進(jìn)程 364
8.2.1 信號(hào)處理 365
8.2.2 管道通信 371
8.2.3 進(jìn)程同步 378
8.2.4 進(jìn)程退出 380
8.3 構(gòu)建 C 語(yǔ)言庫(kù) 383
8.4 小結(jié) 386
附錄 顯示模式 387

本目錄推薦

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