書馨卡幫你省薪 2024個(gè)人購書報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
C一個(gè)64位操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

C一個(gè)64位操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者:田宇
出版社:人民郵電出版社出版時(shí)間:2017-07-01
開本: 其他 頁數(shù): 680
中 圖 價(jià):¥101.5(7.3折) 定價(jià)  ¥139.0 登錄后可看到會員價(jià)
加入購物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

C一個(gè)64位操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 版權(quán)信息

C一個(gè)64位操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 本書特色

本書講述了一個(gè)64位多核操作系統(tǒng)的自制過程。此操作系統(tǒng)自制過程是先從虛擬平臺構(gòu)筑起一個(gè)基礎(chǔ)框架,隨后再將基礎(chǔ)框架移植到物理平臺中進(jìn)行升級、完善與優(yōu)化。為了凸顯64位多核操作系統(tǒng)的特點(diǎn),物理平臺選用搭載著Intel Core-i7處理器的筆記本電腦。與此同時(shí),本書還將Linux內(nèi)核的源碼精髓、諸多官方白皮書以及多款常用協(xié)議濃縮于其中,可使讀者在讀完本書后能夠?qū)W以致用,進(jìn)而達(dá)到理論聯(lián)系實(shí)際的目的。 全書共分為16章。第1~2章講述了操作系統(tǒng)的基礎(chǔ)概念和開發(fā)操作系統(tǒng)需要掌握的知識;第3~5章在虛擬平臺下快速構(gòu)建起一個(gè)操作系統(tǒng)模型;第6~16章將在物理平臺下對操作系統(tǒng)模型做進(jìn)一步升級、優(yōu)化和完善。 本書既適合在校學(xué)習(xí)理論知識的初學(xué)者,又適合在職工作的軟件工程師或有一定基礎(chǔ)的業(yè)余愛好者。

C一個(gè)64位操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 內(nèi)容簡介

本書講述了一個(gè)64位多核操作系統(tǒng)的自制過程。此操作系統(tǒng)自制過程是先從虛擬平臺構(gòu)筑起一個(gè)基礎(chǔ)框架,隨后再將基礎(chǔ)框架移植到物理平臺中進(jìn)行升級、完善與優(yōu)化。為了凸顯64位多核操作系統(tǒng)的特點(diǎn),物理平臺選用搭載著Intel Core-i7處理器的筆記本電腦。與此同時(shí),本書還將Linux內(nèi)核的源碼精髓、諸多官方白皮書以及多款常用協(xié)議濃縮于其中,可使讀者在讀完本書后能夠?qū)W以致用,進(jìn)而達(dá)到理論聯(lián)系實(shí)際的目的。全書共分為16章?壳皛2章講述了操作系統(tǒng)的基礎(chǔ)概念和開發(fā)操作系統(tǒng)需要掌握的知識;第3~5章在虛擬平臺下快速構(gòu)建起一個(gè)操作系統(tǒng)模型;第6~16章將在物理平臺下對操作系統(tǒng)模型做進(jìn)一步升級、優(yōu)化和完善。本書既適合在校學(xué)習(xí)理論知識的初學(xué)者,又適合在職工作的軟件工程師或有一定基礎(chǔ)的業(yè)余愛好者。

C一個(gè)64位操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 目錄

第 一部分 操作系統(tǒng)相關(guān)知識介紹及環(huán)境搭建
第 1章 操作系統(tǒng)概述 4
1.1 什么是操作系統(tǒng) 4
1.2 操作系統(tǒng)的組成結(jié)構(gòu) 4
1.3 編寫操作系統(tǒng)需要的知識 7
1.4 本書操作系統(tǒng)簡介 8
第 2章 環(huán)境搭建及基礎(chǔ)知識 9
2.1 虛擬機(jī)及開發(fā)系統(tǒng)平臺介紹 9
2.1.1 VMware的安裝 9
2.1.2 編譯環(huán)境CentOS 6 10
2.1.3 Bochs虛擬機(jī) 11
2.2 匯編語言 14
2.2.1 AT&T匯編語言格式與Intel匯編語言格式 14
2.2.2 NASM編譯器 16
2.2.3 使用匯編語言調(diào)用C語言的函數(shù) 16
2.3 C語言 19
2.3.1 GNU C內(nèi)嵌匯編語言 20
2.3.2 GNU C語言對標(biāo)準(zhǔn)C語言的擴(kuò)展 23
第二部分 初級篇
第3章 BootLoader引導(dǎo)啟動(dòng)程序 30
3.1 Boot引導(dǎo)程序 30
3.1.1 BIOS引導(dǎo)原理 31
3.1.2 寫一個(gè)Boot引導(dǎo)程序 32
3.1.3 創(chuàng)建虛擬軟盤鏡像文件 36
3.1.4 在Bochs上運(yùn)行我們的Boot程序 38
3.1.5 加載Loader到內(nèi)存 40
3.1.6 從Boot跳轉(zhuǎn)到Loader程序 52
3.2 Loader引導(dǎo)加載程序 54
3.2.1 Loader原理 54
3.2.2 寫一個(gè)Loader程序 55
3.2.3 從實(shí)模式進(jìn)入保護(hù)模式再到IA-32e模式 65
3.2.4 從Loader跳轉(zhuǎn)到內(nèi)核程序 75
第4章 內(nèi)核層 78
4.1 內(nèi)核執(zhí)行頭程序 78
4.1.1 什么是內(nèi)核執(zhí)行頭程序 78
4.1.2 寫一個(gè)內(nèi)核執(zhí)行頭程序 79
4.2 內(nèi)核主程序 83
4.3 屏幕顯示 85
4.3.1 在屏幕上顯示色彩 86
4.3.2 在屏幕上顯示log 88
4.4 系統(tǒng)異常 100
4.4.1 異常的分類 101
4.4.2 系統(tǒng)異常處理(一) 102
4.4.3 系統(tǒng)異常處理(二) 109
4.5 初級內(nèi)存管理單元 121
4.5.1 獲得物理內(nèi)存信息 121
4.5.2 計(jì)算可用物理內(nèi)存頁數(shù) 123
4.5.3 分配可用物理內(nèi)存頁 126
4.6 中斷處理 142
4.6.1 8259A PIC 142
4.6.2 觸發(fā)中斷 148
4.7 鍵盤驅(qū)動(dòng) 152
4.7.1 簡述鍵盤功能 152
4.7.2 實(shí)現(xiàn)鍵盤中斷捕獲函數(shù) 154
4.8 進(jìn)程管理 155
4.8.1 簡述進(jìn)程管理模塊 155
4.8.2 PCB 156
4.8.3 init進(jìn)程 163
第5章 應(yīng)用層 171
5.1 跳轉(zhuǎn)到應(yīng)用層 171
5.2 實(shí)現(xiàn)系統(tǒng)調(diào)用API 180
5.3 實(shí)現(xiàn)一個(gè)系統(tǒng)調(diào)用處理函數(shù) 185
第三部分 高級篇
第6章 處理器體系結(jié)構(gòu) 190
6.1 基礎(chǔ)功能與新特性 190
6.1.1 運(yùn)行模式 190
6.1.2 通用寄存器 191
6.1.3 CPUID指令 192
6.1.4 標(biāo)志寄存器EFLAGS 193
6.1.5 控制寄存器 195
6.1.6 MSR寄存器組 199
6.2 地址空間 199
6.2.1 虛擬地址 200
6.2.2 物理地址 200
6.3 實(shí)模式 200
6.3.1 實(shí)模式概述 201
6.3.2 實(shí)模式的段尋址方式 201
6.3.3 實(shí)模式的中斷向量表 201
6.4 保護(hù)模式 202
6.4.1 保護(hù)模式概述 202
6.4.2 保護(hù)模式的段管理機(jī)制 206
6.4.3 保護(hù)模式的中斷 異常處理機(jī)制 214
6.4.4 保護(hù)模式的頁管理機(jī)制 217
6.4.5 保護(hù)模式的地址轉(zhuǎn)換過程 224
6.5 IA-32e模式 226
6.5.1 IA-32e模式概述 226
6.5.2 IA-32e模式的段管理機(jī)制 228
6.5.3 IA-32e模式的中斷 異常處理機(jī)制 234
6.5.4 IA-32e模式的頁管理機(jī)制 234
6.5.5 IA-32e模式的地址轉(zhuǎn)換過程 237
第7章 完善BootLoader功能 238
7.1 實(shí)模式的尋址瓶頸 238
7.1.1 錯(cuò)綜復(fù)雜的1 MB物理地址空間 238
7.1.2 突破1 MB物理內(nèi)存瓶頸 239
7.1.3 實(shí)模式下的4 GB線性地址尋址 240
7.2 獲取物理地址空間信息 240
7.3 操作系統(tǒng)引導(dǎo)加載階段的內(nèi)存空間劃分 242
7.4 U盤啟動(dòng) 244
7.4.1 USB-FDD、USB-ZIP和USB-HDD啟動(dòng)模式的簡介 244
7.4.2 將Boot引導(dǎo)程序移植到U盤中啟動(dòng) 251
7.5 在物理平臺上啟動(dòng)操作系統(tǒng) 255
7.6 細(xì)說VBE功能的實(shí)現(xiàn) 261
7.6.1 VBE規(guī)范概述 261
7.6.2 獲取物理平臺的VBE相關(guān)信息 272
7.6.3 設(shè)置顯示模式 279
第8章 內(nèi)核主程序 282
8.1 內(nèi)核主程序功能概述 282
8.2 操作系統(tǒng)的Makefile編譯腳本 282
8.3 操作系統(tǒng)的kernel.lds鏈接腳本 286
8.4 操作系統(tǒng)的線性地址空間劃分 289
8.5 獲得處理器的固件信息 290
第9章 高級內(nèi)存管理單元 297
9.1 SLAB內(nèi)存池 297
9.1.1 SLAB內(nèi)存池概述及相關(guān)結(jié)構(gòu)體定義 298
9.1.2 SLAB內(nèi)存池的創(chuàng)建與銷毀 299
9.1.3 SLAB內(nèi)存池中對象的分配與回收 302
9.2 基于SLAB內(nèi)存池技術(shù)的通用內(nèi)存管理單元 308
9.2.1 通用內(nèi)存管理單元的初始化函數(shù)slab_init 308
9.2.2 通用內(nèi)存的分配函數(shù)kmalloc 312
9.2.3 通用內(nèi)存的回收函數(shù)kfree 317
9.3 調(diào)整物理頁管理功能 321
9.3.1 內(nèi)存管理單元結(jié)構(gòu)及相關(guān)函數(shù)調(diào)整 321
9.3.2 調(diào)整alloc_pages函數(shù) 323
9.3.3 創(chuàng)建free_pages函數(shù) 327
9.4 頁表初始化 330
9.4.1 頁表重新初始化 331
9.4.2 VBE幀緩存區(qū)地址重映射 334
第 10章 高級中斷處理單元 337
10.1 APIC概述 337
10.2 Local APIC 338
10.2.1 Local APIC的基礎(chǔ)信息 338
10.2.2 Local APIC整體結(jié)構(gòu)及各功能描述 344
10.3 I O APIC 352
10.3.1 I O APIC控制器的基礎(chǔ)信息 353
10.3.2 I O APIC整體結(jié)構(gòu)及各引腳功能 356
10.4 中斷控制器的模式選擇與初始化 358
10.4.1 中斷模式 359
10.4.2 Local APIC控制器的初始化 362
10.4.3 I O APIC控制器的初始化 368
10.5 高級中斷處理功能 375
10.5.1 Linux的中斷處理機(jī)制概述 375
10.5.2 實(shí)現(xiàn)中斷上半部處理功能 377
第 11章 設(shè)備驅(qū)動(dòng)程序 382
11.1 鍵盤和鼠標(biāo)驅(qū)動(dòng)程序 382
11.1.1 鍵盤和鼠標(biāo)控制器 382
11.1.2 完善鍵盤驅(qū)動(dòng) 389
11.1.3 實(shí)現(xiàn)鼠標(biāo)驅(qū)動(dòng) 398
11.2 硬盤驅(qū)動(dòng)程序 403
11.2.1 硬盤設(shè)備初探 403
11.2.2 完善硬盤驅(qū)動(dòng)程序 418
第 12章 進(jìn)程管理 428
12.1 進(jìn)程管理單元功能概述 428
12.2 多核處理器 429
12.2.1 超線程技術(shù)與多核技術(shù)概述 429
12.2.2 多核處理器間的IPI通信機(jī)制介紹 434
12.2.3 讓我們的系統(tǒng)支持多核 437
12.3 進(jìn)程調(diào)度器 464
12.3.1 Linux進(jìn)程調(diào)度器簡介 465
12.3.2 墻上時(shí)鐘與定時(shí)器 468
12.3.3 內(nèi)核定時(shí)器 479
12.3.4 實(shí)現(xiàn)進(jìn)程調(diào)度功能 486
12.4 內(nèi)核同步方法 498
12.4.1 原子變量 498
12.4.2 信號量 499
12.4.3 完善自旋鎖 501
12.5 完善進(jìn)程管理單元 503
12.5.1 完善PCB與處理器運(yùn)行環(huán)境 503
12.5.2 完善進(jìn)程調(diào)度器和AP處理器引導(dǎo)程序 508
12.5.3 關(guān)于線程 514
第 13章 文件系統(tǒng) 516
13.1 文件系統(tǒng)概述 516
13.2 解析FAT32文件系統(tǒng) 517
13.2.1 FAT32文件系統(tǒng)簡介 517
13.2.2 通過實(shí)例深入解析FAT32文件系統(tǒng) 523
13.2.3 實(shí)現(xiàn)基于路徑名的文件系統(tǒng)檢索功能 532
13.3 虛擬文件系統(tǒng) 552
13.3.1 Linux VFS簡介 552
13.3.2 實(shí)現(xiàn)VFS 554
第 14章 系統(tǒng)調(diào)用API庫 566
14.1 系統(tǒng)調(diào)用API結(jié)構(gòu) 566
14.2 基于POSIX規(guī)范實(shí)現(xiàn)系統(tǒng)調(diào)用API庫 567
14.2.1 POSIX規(guī)范下的系統(tǒng)調(diào)用API簡介 567
14.2.2 升級系統(tǒng)調(diào)用模塊 568
14.2.3 基礎(chǔ)文件操作的系統(tǒng)調(diào)用API實(shí)現(xiàn) 574
14.2.4 進(jìn)程創(chuàng)建的系統(tǒng)調(diào)用API實(shí)現(xiàn) 599
14.2.5 內(nèi)存管理的基礎(chǔ)系統(tǒng)調(diào)用API實(shí)現(xiàn) 618
第 15章 Shell命令解析器及命令 626
15.1 Shell命令解析器 626
15.1.1 Shell命令解析器概述 626
15.1.2 實(shí)現(xiàn)Shell命令解析器 627
15.2 基礎(chǔ)命令 641
15.2.1 重啟命令reboot 641
15.2.2 工作目錄切換命令cd 642
15.2.3 目錄內(nèi)容顯示命令ls 645
15.2.4 文件查看命令cat 654
15.2.5 程序執(zhí)行命令exec 655
第 16章 一個(gè)彩蛋 665
附錄 術(shù)語表 676
參考資料 679

展開全部

C一個(gè)64位操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 作者簡介

田宇 Linux內(nèi)核愛好者,曾在多家大中型軟件公司從事軟件開發(fā)工作,參與過多款高端嵌入式產(chǎn)品的開發(fā)研制,主要負(fù)責(zé)Linux內(nèi)核和驅(qū)動(dòng)的研發(fā),以及開源操作系統(tǒng)環(huán)境的深度定制。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服