注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)穿越操作系統(tǒng)迷霧:從零實現(xiàn)操作系統(tǒng)

穿越操作系統(tǒng)迷霧:從零實現(xiàn)操作系統(tǒng)

穿越操作系統(tǒng)迷霧:從零實現(xiàn)操作系統(tǒng)

定 價:¥99.00

作 者: 王柏生 王晟寒
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111732884 出版時間: 2023-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  內容簡介這是一本能指導零計算機基礎的讀者輕松理解計算機軟硬件和操作系統(tǒng)工作原理,從而自己動手從0到1編寫出一個操作系統(tǒng)的著作。作者在操作系統(tǒng)領域深度耕耘20余載,不僅一直奮斗在百度等企業(yè)一線,而且一直致力于操作系統(tǒng)的教育和布道,希望能幫助和指導越來越多的人,尤其是青少年,能從學生時代開始學習操作系統(tǒng),能從底層原理真正理解操作系統(tǒng),改變我國基礎軟件受制于人的現(xiàn)狀。本書不僅是作者悟透操作系統(tǒng)本質、厚積薄發(fā)的成果,而且是他將復雜的操作系統(tǒng)原理化繁為簡、舉重若輕,成功指導自己9歲的孩子從0到1編寫出一個操作系統(tǒng)的過程的全面復盤和復現(xiàn)。本書驅散了操作系統(tǒng)的迷霧,讓操作系統(tǒng)不再神秘和高不可攀,讓每一個懷揣操作系統(tǒng)夢的中國人都能理解并實現(xiàn)自己的操作系統(tǒng)。全書一共14章,邏輯上分為上下兩篇。上篇(第1~5章) 計算機軟硬件基礎和原理從計算機如何使用電進行計算開始,首先講述了電是如何抽象為信息的,處理器是怎樣進行運算的,內存是怎樣存儲信息的,處理器和內存是怎樣通過總線連接起來的,處理器是如何訪問外設的,之后講述了這些部件是如何結合起來運行程序的。然后通過使用機器語言編寫一個程序,讓讀者深刻地理解指令和程序。接下來,結合匯編語言講述了計算機體系結構。最后,從C編譯器如何將C語法翻譯為匯編語言的角度,聚焦語法后面的本質,讓讀者徹底地理解C語言,而不再糾結在語言表面的語法。下篇(第6~14章) 從0到1實現(xiàn)一個操作系統(tǒng)從系統(tǒng)引導(包含32位和64位)開始講起,先后實現(xiàn)并闡述了內存管理、進程管理、中斷、進程調度、系統(tǒng)調用、進程間通信,最后實現(xiàn)了在顯示器上實現(xiàn)字符以及圖形輸出,并能接收鍵盤輸入。除了直接從應用程序直接訪問內核外,還展示了C庫等概念,展示了從應用軟件到C庫、圖形庫,最后到內核的完整軟件棧。

作者簡介

暫缺《穿越操作系統(tǒng)迷霧:從零實現(xiàn)操作系統(tǒng)》作者簡介

圖書目錄

Contents
前 言
第1章 計算機基礎 1
1.1 認識電 1
1.2 信息表示 5
1.2.1 二進制 5
1.2.2 十六進制 6
1.3 計算 7
1.3.1 邏輯運算 8
1.3.2 邏輯門 8
1.3.3 加法器 10
1.4 內存 12
1.4.1 物理實現(xiàn) 12
1.4.2 數(shù)學抽象 16
1.5 總線 17
1.6 寄存器 20
1.7 程序 22
1.8 外存 26
1.9 外設及接口 27
1.9.1 I/O地址空間 28
1.9.2 內存映射I/O 29
1.10 地址空間 30
1.11 數(shù)學模型到物理世界 31
第2章 認識Linux 34
2.1 什么是操作系統(tǒng) 34
2.2 文件系統(tǒng) 35
2.3 終端 37
2.4 shell 39
2.5 Linux常用命令 40
2.6 ANSI轉義序列 43
2.7 編輯器 45
2.8 準備“物理”計算機 47
第3章 機器語言程序設計 49
3.1 程序及指令 49
3.2 補碼 50
3.3 ASCII碼 52
3.4 串口 53
3.5 “向串口寫字符A”的
程序流程 55
3.6 寫外設指令 55
3.7 準備源操作數(shù) 57
3.8 準備目的操作數(shù) 58
3.9 跳轉指令 59
3.10 創(chuàng)建程序文件 60
3.11 程序執(zhí)行過程 61
3.12 使用kvmtool運行程序 69
第4章 匯編語言程序設計 71
4.1 初識匯編語言 71
4.2 段及段寄存器 72
4.3 指令指針寄存器 74
4.4 通用寄存器 75
4.5 標志寄存器 76
4.6 匯編指令格式 78
4.7 第一個匯編程序 78
4.7.1 匯編和鏈接 79
4.7.2 運行 80
4.7.3 顯式設置操作數(shù)的
段寄存器 83
4.7.4 偽指令.code16 85
4.8 構建工具Make 85
4.9 操作數(shù)尋址 86
4.9.1 立即數(shù)尋址 87
4.9.2 直接尋址 88
4.9.3 ModR/M尋址 89
4.9.4 SIB尋址 94
4.9.5 SIB disp尋址 98
4.10 程序運行流程控制 101
4.10.1 選擇 101
4.10.2 循環(huán) 102
4.11 ?!?03
4.12 函數(shù)及x86調用約定 107
4.12.1 call和ret指令 108
4.12.2 棧幀 110
4.12.3 多模塊及符號可見性 113
4.12.4 參數(shù)傳遞 114
4.12.5 局部變量 116
4.12.6 返回值及參數(shù)清理 118
4.12.7 寄存器保存和恢復 119
4.13 鏈接 122
4.13.1 目標文件合并 123
4.13.2 符號解析 125
4.13.3 符號的可見性 128
第5章 C語言程序設計 129
5.1 基本語法 130
5.1.1 詞法元素 130
5.1.2 表達式 131
5.1.3 聲明 132
5.1.4 語句 133
5.1.5 標識符 135
5.1.6 對象的存儲類別 138
5.1.7 頭文件 138
5.1.8 預處理指令 139
5.2 C語言入口 141
5.3 第一個C程序 142
5.4 從C語言到機器語言 143
5.5 變量 145
5.5.1 變量類型 146
5.5.2 局部變量 147
5.5.3 全局變量 150
5.5.4 全局變量的鏈接性 151
5.5.5 靜態(tài)局部變量 152
5.5.6 變量類型轉換 154
5.5.7 溢出 155
5.6 運算 157
5.6.1 算術運算 157
5.6.2 遞增和遞減 158
5.6.3 關系運算 159
5.6.4 邏輯運算 161
5.6.5 位運算 163
5.6.6 賦值運算 164
5.6.7 運算的優(yōu)先級和結合性 165
5.7 程序運行流程控制 166
5.7.1 選擇 166
5.7.2 循環(huán) 168
5.8 數(shù)組 172
5.9 結構體 175
5.9.1 基本語法 175
5.9.2 內存布局 176
5.9.3 位域 179
5.10 指針 180
5.10.1 基本語法 181
5.10.2 指向結構體的指針 183
5.10.3 指針的 /-運算 185
5.10.4 雙指針 186
5.10.5 void指針 188
5.10.6 空指針 189
5.11 函數(shù) 189
5.11.1 基本語法 189
5.11.2 參數(shù)的值傳遞和
指針傳遞 191
5.11.3 const參數(shù) 195
5.11.4 函數(shù)指針 195
5.12 內聯(lián)匯編 197
第6章 32位引導過程 200
6.1 實模式 200
6.2 保護模式 201
6.3 內核映像組成及布局 203
6.3.1 實模式地址空間 203
6.3.2 內核映像的布局 205
6.3.3 內核映像文件組織 206
6.4 創(chuàng)建保護模式的段描述符 207
6.4.1 段描述符格式 207
6.4.2 保護模式的內核代碼段
描述符 208
6.4.3 保護模式的內核數(shù)據(jù)段
描述符 210
6.4.4 創(chuàng)建保護模式的段
描述符表 210
6.5 告知處理器段描述符表地址 211
6.6 開啟處理器保護模式 212
6.7 跳轉到內核保護模式部分 213
6.7.1 準備保護模式部分 213
6.7.2 跳轉到保護模式部分 214
6.8 編譯及創(chuàng)建內核映像文件 215
6.8.1 編譯內核 215
6.8.2

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號