-
>
全國(guó)計(jì)算機(jī)等級(jí)考試最新真考題庫(kù)模擬考場(chǎng)及詳解·二級(jí)MSOffice高級(jí)應(yīng)用
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
現(xiàn)代操作系統(tǒng) 版權(quán)信息
- ISBN:9787111666073
- 條形碼:9787111666073 ; 978-7-111-66607-3
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>>
現(xiàn)代操作系統(tǒng) 本書特色
以三個(gè)“面向”為導(dǎo)向,即面向經(jīng)典基礎(chǔ)理論與方法,面向國(guó)際前沿研究,面向工業(yè)界實(shí)踐,深入淺出地介紹操作系統(tǒng)的理論、架構(gòu)、設(shè)計(jì)方法與具體實(shí)現(xiàn)。本書是首本以ARM64為主體介紹操作系統(tǒng)的教材,將學(xué)術(shù)前沿與工業(yè)實(shí)踐充分結(jié)合,不僅介紹了現(xiàn)有的Linux宏內(nèi)核操作系統(tǒng)架構(gòu),而且介紹了微內(nèi)核、外核等操作系統(tǒng)架構(gòu)。 本書作者陳海波現(xiàn)為上海交通大學(xué)特聘教授、博導(dǎo),并行與分布式系統(tǒng)研究所所長(zhǎng),領(lǐng)域操作系統(tǒng)教育部工程研究中心主任,國(guó)家杰出青年基金獲得者,ACM杰出科學(xué)家,CCF杰出會(huì)員與杰出演講者,不但有豐富的教學(xué)經(jīng)驗(yàn),而且在工業(yè)界還有豐富的帶領(lǐng)團(tuán)隊(duì)研發(fā)操作系統(tǒng)的經(jīng)驗(yàn)。因此本書不但介紹了現(xiàn)代操作系統(tǒng)的經(jīng)典理論與方法,還結(jié)合前沿研究與工業(yè)界實(shí)踐,介紹了真實(shí)場(chǎng)景下的應(yīng)用、問(wèn)題和解決方案。 為了幫助讀者更好地理解操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),上海交通大學(xué)并行與分布式系統(tǒng)研究所團(tuán)隊(duì)還專門實(shí)現(xiàn)了一個(gè)小巧但具有較完整基礎(chǔ)功能的微內(nèi)核架構(gòu)教學(xué)操作系統(tǒng)ChCore,并基于ChCore設(shè)計(jì)了一系列的課程實(shí)驗(yàn)。 擁有豐富的教輔材料:在“好大學(xué)在線”設(shè)置了MOOC課程;建設(shè)了課程網(wǎng)站,提供了與課程教學(xué)配套的講義PPT與授課視頻;搭建了在線社區(qū),供大家討論與答疑等。 結(jié)合作者在工業(yè)界長(zhǎng)期擔(dān)任技術(shù)和綜合面試官的經(jīng)驗(yàn),將一些典型的操作系統(tǒng)相關(guān)的技術(shù)問(wèn)題融入本書內(nèi)容以及每章的課后思考題中,既可為工業(yè)界從事操作系統(tǒng)相關(guān)領(lǐng)域研發(fā)工作的專業(yè)人員提供參考,又可對(duì)希望從事相關(guān)領(lǐng)域研發(fā)工作的求職者有所幫助。
現(xiàn)代操作系統(tǒng) 內(nèi)容簡(jiǎn)介
本書以三個(gè)“面向”為導(dǎo)向,即面向經(jīng)典基礎(chǔ)理論與方法,面向國(guó)際前沿研究,面向工業(yè)界實(shí)踐,深入淺出地介紹操作系統(tǒng)的理論、架構(gòu)、設(shè)計(jì)方法與具體實(shí)現(xiàn)。本書是首本以ARM64為主體介紹操作系統(tǒng)的教材,將學(xué)術(shù)前沿與工業(yè)實(shí)踐充分結(jié)合,不僅介紹了現(xiàn)有的Linux宏內(nèi)核操作系統(tǒng)架構(gòu),而且介紹了微內(nèi)核、外核等操作系統(tǒng)架構(gòu)。 本書共分為三個(gè)部分,其中**部分(操作系統(tǒng)基礎(chǔ))以紙質(zhì)版的形式出版,第二部分(操作系統(tǒng)進(jìn)階)和第三部分(ChCore課程實(shí)驗(yàn))則以電子版的形式在本書網(wǎng)站發(fā)布。**部分共分為11章,內(nèi)容包括:操作系統(tǒng)概述、硬件結(jié)構(gòu)、操作系統(tǒng)結(jié)構(gòu)、內(nèi)存管理、進(jìn)程與線程、操作系統(tǒng)調(diào)度、進(jìn)程間通信、同步原語(yǔ)、文件系統(tǒng)與存儲(chǔ)、設(shè)備管理和系統(tǒng)虛擬化。 本書包含大量插圖、示例和練習(xí),并融入了典型的操作系統(tǒng)相關(guān)的技術(shù)問(wèn)題,既可以作為高等院校計(jì)算機(jī)專業(yè)本科生和研究生的操作系統(tǒng)課程教材,也可以作為工業(yè)界從事操作系統(tǒng)相關(guān)領(lǐng)域研發(fā)工作的專業(yè)人員的參考書。
現(xiàn)代操作系統(tǒng) 目錄
目 錄
序言一
序言二
前言
**部分 操作系統(tǒng)基礎(chǔ)
第1章 操作系統(tǒng)概述 2
1.1 簡(jiǎn)約但不簡(jiǎn)單:從Hello World說(shuō)起 2
1.2 什么是操作系統(tǒng) 3
1.3 操作系統(tǒng)簡(jiǎn)史 6
1.3.1 GM-NAA I/O:**個(gè)(批處理)操作系統(tǒng) 6
1.3.2 OS/360:從專用走向通用 6
1.3.3 Multics/UNIX/Linux:分時(shí)與多任務(wù) 7
1.3.4 macOS/Windows:以人為本的人機(jī)交互 8
1.4 操作系統(tǒng)接口 9
1.5 ChCore:一個(gè)簡(jiǎn)單的實(shí)驗(yàn)操作系統(tǒng) 11
參考文獻(xiàn) 12
第2章 硬件結(jié)構(gòu) 13
2.1 CPU與指令集架構(gòu) 14
2.1.1 指令集 14
2.1.2 特權(quán)級(jí) 15
2.1.3 寄存器 17
2.2 物理內(nèi)存與CPU緩存 17
2.2.1 緩存結(jié)構(gòu) 18
2.2.2 緩存尋址 19
2.3 設(shè)備與中斷 20
2.3.1 內(nèi)存映射輸入輸出 20
2.3.2 輪詢與中斷 21
2.4 思考題 22
參考文獻(xiàn) 22
第3章 操作系統(tǒng)結(jié)構(gòu) 23
3.1 操作系統(tǒng)的機(jī)制與策略 24
3.2 操作系統(tǒng)復(fù)雜度管理方法 25
3.3 操作系統(tǒng)內(nèi)核架構(gòu) 27
3.3.1 簡(jiǎn)要結(jié)構(gòu) 27
3.3.2 宏內(nèi)核架構(gòu) 28
3.3.3 微內(nèi)核架構(gòu) 30
3.3.4 外核架構(gòu) 32
3.3.5 其他操作系統(tǒng)內(nèi)核架構(gòu) 34
3.4 操作系統(tǒng)框架結(jié)構(gòu) 35
3.4.1 Android系統(tǒng)框架 35
3.4.2 ROS系統(tǒng)框架 37
3.5 思考題 39
參考文獻(xiàn) 40
第4章 內(nèi)存管理 42
4.1 虛擬地址與物理地址 43
4.1.1 初識(shí)物理地址與虛擬地址 43
4.1.2 使用虛擬地址訪問(wèn)物理內(nèi)存 44
4.1.3 分段與分頁(yè)機(jī)制 44
4.2 基于分頁(yè)的虛擬內(nèi)存 46
4.2.1 AArch64架構(gòu)下的4級(jí)頁(yè)表 47
4.2.2 加速地址翻譯的重要硬件:TLB 49
4.2.3 換頁(yè)與缺頁(yè)異常 52
4.2.4 頁(yè)替換策略 54
4.2.5 工作集模型 57
4.3 虛擬內(nèi)存功能 58
4.3.1 共享內(nèi)存 58
4.3.2 寫時(shí)拷貝 58
4.3.3 內(nèi)存去重 60
4.3.4 內(nèi)存壓縮 60
4.3.5 大頁(yè) 61
4.4 物理內(nèi)存分配與管理 62
4.4.1 目標(biāo)與評(píng)價(jià)維度 62
4.4.2 伙伴系統(tǒng) 63
4.4.3 SLAB分配器 65
4.4.4 常用的空閑鏈表 66
4.4.5 物理內(nèi)存與CPU緩存 68
4.5 案例分析:ChCore內(nèi)存管理機(jī)制 70
4.6 思考題 73
參考文獻(xiàn) 74
第5章 進(jìn)程與線程 76
5.1 進(jìn)程 76
5.1.1 進(jìn)程的狀態(tài) 76
5.1.2 進(jìn)程的內(nèi)存空間布局 78
5.1.3 進(jìn)程控制塊和上下文切換 79
5.2 案例分析:Linux的進(jìn)程操作 80
5.2.1 進(jìn)程的創(chuàng)建:fork 80
5.2.2 進(jìn)程的執(zhí)行:exec 84
5.2.3 進(jìn)程管理 85
5.2.4 討論:fork過(guò)時(shí)了嗎 89
5.3 線程 92
5.3.1 多線程的地址空間布局 93
5.3.2 用戶態(tài)線程與內(nèi)核態(tài)線程 93
5.3.3 線程控制塊與線程本地存儲(chǔ) 94
5.3.4 線程的基本接口:以POSIX線程庫(kù)為例 95
5.4 案例分析:ChCore的線程上下文 99
5.4.1 線程的上下文和TCB 99
5.4.2 ChCore中上下文切換的實(shí)現(xiàn) 100
5.5 纖程 102
5.5.1 對(duì)纖程的需求:一個(gè)簡(jiǎn)單的例子 103
5.5.2 POSIX的纖程支持:ucontext 103
5.5.3 纖程的上下文切換 105
5.6 思考題 106
參考文獻(xiàn) 107
第6章 操作系統(tǒng)調(diào)度 108
6.1 計(jì)算機(jī)調(diào)度簡(jiǎn)介 108
6.1.1 操作系統(tǒng)調(diào)度 110
6.1.2 調(diào)度指標(biāo) 111
6.2 調(diào)度機(jī)制 113
6.2.1 長(zhǎng)期、中期與短期調(diào)度 114
6.2.2 任務(wù)調(diào)度總覽 116
6.3 單核調(diào)度策略 117
6.3.1 經(jīng)典調(diào)度 118
6.3.2 優(yōu)先級(jí)調(diào)度 122
6.3.3 公平共享調(diào)度 127
6.3.4 實(shí)時(shí)調(diào)度 133
6.3.5 其他調(diào)度 138
6.4 多核調(diào)度策略 141
6.4.1 負(fù)載分擔(dān) 141
6.4.2 協(xié)同調(diào)度 142
6.4.3 兩級(jí)調(diào)度 144
6.4.4 負(fù)載追蹤與負(fù)載均衡 145
6.4.5 能耗感知調(diào)度 148
6.5 調(diào)度進(jìn)階機(jī)制 151
6.5.1 處理器親和性 152
6.5.2 調(diào)度策略設(shè)置 153
6.6 案例分析:現(xiàn)代調(diào)度器 155
6.6.1 Linux調(diào)度器 155
6.6.2 macOS/iOS調(diào)度器 160
6.7 思考題 162
參考文獻(xiàn) 163
第7章 進(jìn)程間通信 165
7.1 進(jìn)程間通信基礎(chǔ) 165
7.1.1 一個(gè)簡(jiǎn)單的進(jìn)程間通信設(shè)計(jì) 166
7.1.2 數(shù)據(jù)傳遞 167
7.1.3 控制流轉(zhuǎn)移 169
7.1.4 單向和雙向 170
7.1.5 同步和異步 170
7.1.6 超時(shí)機(jī)制 171
7.1.7 通信連接管理 172
7.1.8 權(quán)限檢查 173
7.1.9 命名服務(wù) 174
7.2 宏內(nèi)核進(jìn)程間通信 175
7.2.1 管道進(jìn)程間通信 175
7.2.2 System V消息隊(duì)列 178
7.2.3 System V信號(hào)量 179
7.2.4 System V共享內(nèi)存 180
7.2.5 信號(hào)進(jìn)程間通信 181
7.2.6 套接字進(jìn)程間通信 185
7.3 微內(nèi)核進(jìn)程間通信 186
7.3.1 Mach:早期的微內(nèi)核進(jìn)程間通信設(shè)計(jì) 186
7.3.2 L4:圍繞進(jìn)程間通信優(yōu)化而設(shè)計(jì)的微內(nèi)核系統(tǒng) 188
7.3.3 LRPC:遷移線程模型 193
7.4 案例分析:Android Binder 195
7.4.1 背景 195
7.4.2 Binder IPC總覽 196
7.4.3 Binder IPC內(nèi)核設(shè)計(jì) 196
7.4.4 匿名共享內(nèi)存 199
7.5 案例分析:ChCore 進(jìn)程間通信機(jī)制 201
7.6 思考題 203
參考文獻(xiàn) 203
第8章 同步原語(yǔ) 206
8.1 互斥鎖 209
8.1.1 臨界區(qū)問(wèn)題 209
8.1.2 硬件實(shí)現(xiàn):關(guān)閉中斷 211
8.1.3 軟件實(shí)現(xiàn):皮特森算法 211
8.1.4 軟硬件協(xié)同:使用原子操作實(shí)現(xiàn)互斥鎖 213
8.2 條件變量 219
8.2.1 條件變量的使用 219
8.2.2 條件變量的實(shí)現(xiàn) 222
8.3 信號(hào)量 223
8.3.1 信號(hào)量的使用 224
8.3.2 信號(hào)量的實(shí)現(xiàn) 225
8.4 讀寫鎖 229
8.4.1 讀寫鎖的使用 229
8.4.2 讀寫鎖的實(shí)現(xiàn) 230
8.5 RCU 233
8.5.1 訂閱/發(fā)布機(jī)制 234
8.5.2 寬限期 236
8.6 管程 237
8.7 同步帶來(lái)的問(wèn)題 239
8.7.1 死鎖 239
8.7.2 活鎖 245
8.7.3 優(yōu)先級(jí)反轉(zhuǎn) 246
8.8 案例分析:Linux中的futex 249
8.9 案例分析:ChCore中的同步原語(yǔ) 251
8.10 思考題 252
參考文獻(xiàn) 254
第9章 文件系統(tǒng) 256
9.1 基于inode的文件系統(tǒng) 257
9.1.1 inode與文件 258
9.1.2 文件名與目錄 260
9.1.3 硬鏈接與符號(hào)鏈接 263
9.1.4 存儲(chǔ)布局 264
9.2 虛擬文件系統(tǒng) 266
9.2.1 面向文件系統(tǒng)的接口 266
9.2.2 面向應(yīng)用程序的接口 270
9.2.3 頁(yè)緩存、直接I/O與內(nèi)存映射 277
9.2.4 多種文件系統(tǒng)的組織和管理 280
9.2.5 偽文件系統(tǒng) 282
9.3 其他文件系統(tǒng) 284
9.3.1 FAT文件系統(tǒng) 284
9.3.2 NTFS 288
9.3.3 FUSE與用戶態(tài)文件系統(tǒng) 292
9.4 案例分析:ChCore文件系統(tǒng) 294
9.4.1 ChCore的文件系統(tǒng)架構(gòu) 294
9.4.2 內(nèi)存文件系統(tǒng) 295
9.5 思考題 296
參考文獻(xiàn) 297
第10章 設(shè)備管理 299
10.1 計(jì)算機(jī)設(shè)備的連接和通信 300
10.1.1 設(shè)備的連接:總線 300
10.1.2 可編程I/O 301
10.1.3 高效數(shù)據(jù)傳輸:DMA 301
10.1.4 設(shè)備地址翻譯:IOMMU 302
10.2 設(shè)備的識(shí)別 303
10.2.1 設(shè)備樹 303
10.2.2 ACPI 304
10.3 設(shè)備的中斷處理 305
10.3.1 中斷控制器 305
10.3.2 中斷的基本概念 306
10.3.3 中斷處理:以Linux上下半部的機(jī)制為例 308
10.4 設(shè)備驅(qū)動(dòng)與設(shè)備驅(qū)動(dòng)模型 313
10.4.1 設(shè)備驅(qū)動(dòng) 313
10.4.2 設(shè)備驅(qū)動(dòng)模型 315
10.5 案例分析:Linux設(shè)備驅(qū)動(dòng)模型 315
10.5.1 Linux的設(shè)備抽象 315
10.5.2 Linux的設(shè)備驅(qū)動(dòng)模型 318
10.5.3 Linux驅(qū)動(dòng)的動(dòng)態(tài)管理 319
10.5.4 Linux的sysfs文件系統(tǒng) 321
10.6 案例分析:L4設(shè)備驅(qū)動(dòng)模型 322
10.7 案例分析:Linux的用戶態(tài)驅(qū)動(dòng)框架 323
10.8 思考題 327
參考文獻(xiàn) 327
第11章 系統(tǒng)虛擬化 329
11.1 系統(tǒng)虛擬化技術(shù)概述 330
11.1.1 系統(tǒng)虛擬化及其組成部分 330
11.1.2 虛擬機(jī)監(jiān)控器的類型 331
11.2 CPU虛擬化 332
11.2.1 下陷和模擬 333
11.2.2 可虛擬化架構(gòu)與不可虛擬化架構(gòu) 333
11.2.3 解釋執(zhí)行 334
11.2.4 動(dòng)態(tài)二進(jìn)制翻譯 335
11.2.5 掃描和翻譯 336
11.2.6 半虛擬化技術(shù) 337
11.2.7 硬件虛擬化技術(shù) 338
11.2.8 小結(jié) 340
11.3 內(nèi)存虛擬化 341
11.3.1 影子頁(yè)表機(jī)制 343
11.3.2 影子頁(yè)表的缺頁(yè)異常處理流程 345
11.3.3 直接頁(yè)表映射機(jī)制 345
11.3.4 兩階段地址翻譯機(jī)制 346
11.3.5 換頁(yè)和內(nèi)存氣球機(jī)制 349
11.3.6 小結(jié) 351
11.4 I/O虛擬化 351
11.4.1 軟件模擬方法 352
11.4.2 半虛擬化方法 354
11.4.3 設(shè)備直通:IOMMU和SR-IOV 356
11.4.4 小結(jié) 359
11.5 中斷虛擬化 360
11.6 案例分析:QEMU/KVM 361
11.6.1 KVM API和一個(gè)簡(jiǎn)單的虛擬機(jī)監(jiān)控器 362
11.6.2 KVM與QEMU 364
11.6.3 KVM內(nèi)部實(shí)現(xiàn)簡(jiǎn)介 366
11.7 思考題 367
參考文獻(xiàn) 367
縮略語(yǔ) 369
在線章節(jié)一
第二部分 操作系統(tǒng)進(jìn)階
第12章 多核與多處理器
第13章 文件系統(tǒng)崩潰一致性
第14章 網(wǎng)絡(luò)協(xié)議棧與系統(tǒng)
第15章 輕量級(jí)虛擬化
第16章 操作系統(tǒng)安全
第17章 操作系統(tǒng)調(diào)測(cè)
第18章 形式化證明
第三部分 ChCore課程實(shí)驗(yàn)
第19章 實(shí)驗(yàn)1:機(jī)器啟動(dòng)
第20章 實(shí)驗(yàn)2:內(nèi)存管理
第21章 實(shí)驗(yàn)3:用戶進(jìn)程與異常處理
第22章 實(shí)驗(yàn)4:多核處理
第23章 實(shí)驗(yàn)5:文件系統(tǒng)與Shell
第24章 實(shí)驗(yàn)6:進(jìn)階實(shí)踐
現(xiàn)代操作系統(tǒng) 作者簡(jiǎn)介
陳海波 上海交通大學(xué)特聘教授、博導(dǎo),并行與分布式系統(tǒng)研究所所長(zhǎng),領(lǐng)域操作系統(tǒng)教育部工程研究中心主任,國(guó)家杰出青年基金獲得者,ACM杰出科學(xué)家,CCF杰出會(huì)員與杰出演講者。主要研究領(lǐng)域?yàn)椴僮飨到y(tǒng)和系統(tǒng)安全。曾獲教育部技術(shù)發(fā)明一等獎(jiǎng)(第一完成人)、全國(guó)優(yōu)秀博士學(xué)位論文獎(jiǎng)、CCF青年科學(xué)家獎(jiǎng)。目前擔(dān)任ACM SIGOPS ChinaSys主席、CCF系統(tǒng)軟件專委會(huì)副主任、ACM旗艦雜志Communications of the ACM中國(guó)首位編委與Special Sections領(lǐng)域共同主席、ACM Transactions on Storage編委。曾任ACM SOSP 2017年大會(huì)共同主席、ACM CCS 2018系統(tǒng)安全領(lǐng)域主席、ACM SIGSAC獎(jiǎng)勵(lì)委員會(huì)委員。研究工作還獲得了華為最*個(gè)人貢獻(xiàn)獎(jiǎng)、金牌團(tuán)隊(duì)獎(jiǎng)。按照csrankings.org的統(tǒng)計(jì),其近5年(2015~2019)在操作系統(tǒng)領(lǐng)域高水平會(huì)議(SOSP/OSDI、EuroSys、USENIX ATC和FAST)上發(fā)表的論文數(shù)居世界第一。 夏虞斌 上海交通大學(xué)副教授、博導(dǎo),CCF高級(jí)會(huì)員。主要研究領(lǐng)域?yàn)椴僮飨到y(tǒng)、體系結(jié)構(gòu)和系統(tǒng)安全,曾任OSDI、EuroSys等多個(gè)國(guó)際會(huì)議的程序委員會(huì)委員。領(lǐng)導(dǎo)團(tuán)隊(duì)研發(fā)的安全操作系統(tǒng)T6獲得2015年“挑戰(zhàn)杯”全國(guó)大學(xué)生課外學(xué)術(shù)科技作品競(jìng)賽和中國(guó)大學(xué)生創(chuàng)業(yè)計(jì)劃競(jìng)賽特等獎(jiǎng)、2019年中國(guó)“互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽全國(guó)銀獎(jiǎng),并已實(shí)現(xiàn)產(chǎn)業(yè)化,實(shí)際部署設(shè)備數(shù)量過(guò)億;基于RISC-V平臺(tái)研發(fā)的可信執(zhí)行環(huán)境軟硬件系統(tǒng)“蓬萊”現(xiàn)已開(kāi)源。
- >
人文閱讀與收藏·良友文學(xué)叢書:一天的工作
- >
月亮與六便士
- >
詩(shī)經(jīng)-先民的歌唱
- >
中國(guó)歷史的瞬間
- >
月亮虎
- >
朝聞道
- >
唐代進(jìn)士錄
- >
【精裝繪本】畫給孩子的中國(guó)神話