操作系統(tǒng):原理與實(shí)現(xiàn) 版權(quán)信息
- ISBN:9787111722489
- 條形碼:9787111722489 ; 978-7-111-72248-9
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>
操作系統(tǒng):原理與實(shí)現(xiàn) 本書特色
·解耦原理與實(shí)現(xiàn),以問題為驅(qū)動(dòng)學(xué)習(xí)經(jīng)典理論與設(shè)計(jì)方法
·面向前沿研究與工業(yè)界實(shí)踐,以ARM架構(gòu)為主探索真實(shí)場(chǎng)景與問題
·微內(nèi)核架構(gòu)操作系統(tǒng)ChCore全新升級(jí),配備全套實(shí)驗(yàn)及教輔資源
操作系統(tǒng):原理與實(shí)現(xiàn) 內(nèi)容簡(jiǎn)介
操作系統(tǒng)目前已成為我國“卡脖子”的關(guān)鍵技術(shù)之一,這對(duì)操作系統(tǒng)的教材建設(shè)提出了新的要求。首先,教材需要體現(xiàn)操作系統(tǒng)的核心原理與設(shè)計(jì),幫助讀者建立系統(tǒng)性的認(rèn)識(shí);其次,教材需要反映國際研究前沿,幫助讀者開拓新思路;*后,教材需要反映工業(yè)界實(shí)踐,不可陷入紙上談兵的陷阱。 作為操作系統(tǒng)教材的新嘗試,本書融合了作者的教學(xué)經(jīng)驗(yàn)與工業(yè)實(shí)踐經(jīng)驗(yàn),以三個(gè)“面向”為導(dǎo)向,即面向經(jīng)典基礎(chǔ)理論與方法,面向國際前沿研究,面向*新工業(yè)界實(shí)踐,深入淺出地介紹操作系統(tǒng)的理論、架構(gòu)、設(shè)計(jì)方法與具體實(shí)現(xiàn)。本書將原理與實(shí)現(xiàn)解耦,從具體問題導(dǎo)出抽象概念,然后分析實(shí)現(xiàn)方法。全書內(nèi)容以ARM架構(gòu)為主,x86架構(gòu)為輔;以微內(nèi)核架構(gòu)為主,同時(shí)兼顧宏內(nèi)核與外核等架構(gòu)。 除紙質(zhì)版教材外,本書還配有網(wǎng)絡(luò)章節(jié)、在線社區(qū)和課程實(shí)驗(yàn)。與本書配套的微內(nèi)核架構(gòu)教學(xué)操作系統(tǒng)ChCore由上海交通大學(xué)并行與分布式系統(tǒng)研究所設(shè)計(jì)并實(shí)現(xiàn),通過ChCore相關(guān)實(shí)驗(yàn),讀者可在動(dòng)手實(shí)踐中獲得**手經(jīng)驗(yàn)。
操作系統(tǒng):原理與實(shí)現(xiàn) 目錄
CONTENTS
目 錄
叢書序言
序言一
序言二
前言
**部分 操作系統(tǒng)基礎(chǔ)
第1章 操作系統(tǒng)概述 2
1.1 簡(jiǎn)約不簡(jiǎn)單?:從Hello World
說起 2
1.2 什么是操作系統(tǒng) 3
1.3 操作系統(tǒng)簡(jiǎn)史 5
1.3.1 GM-NAA I/O?:**個(gè)
(批處理)操作系統(tǒng) 5
1.3.2 OS/360?:從專用走向通用 6
1.3.3 Multics/UNIX/Linux?:分時(shí)與多任務(wù) 6
1.3.4 macOS/Windows?:以人
為本的人機(jī)交互 7
1.3.5 iOS/Android?:移動(dòng)互聯(lián)網(wǎng)
時(shí)代的操作系統(tǒng) 8
1.4 操作系統(tǒng)接口 10
1.5 思考題 12
參考文獻(xiàn) 12
第2章 操作系統(tǒng)結(jié)構(gòu) 13
2.1 操作系統(tǒng)的機(jī)制與策略 14
2.2 操作系統(tǒng)復(fù)雜性的管理方法 15
2.3 操作系統(tǒng)內(nèi)核架構(gòu) 17
2.3.1 簡(jiǎn)要結(jié)構(gòu) 18
2.3.2 宏內(nèi)核 18
2.3.3 微內(nèi)核 20
2.3.4 外核 22
2.3.5 其他操作系統(tǒng)內(nèi)核架構(gòu) 24
2.4 操作系統(tǒng)框架結(jié)構(gòu) 26
2.4.1 Android系統(tǒng)框架 26
2.4.2 ROS系統(tǒng)框架 28
2.5 操作系統(tǒng)設(shè)計(jì)?:Worse is better? 29
2.6 ChCore?:教學(xué)科研型微內(nèi)核操作系統(tǒng) 31
2.7 思考題 32
參考文獻(xiàn) 32
第3章 硬件環(huán)境與軟件抽象 35
3.1 應(yīng)用程序的硬件運(yùn)行環(huán)境 35
3.1.1 程序的運(yùn)行?:用指令序列
控制處理器 36
3.1.2 處理數(shù)據(jù)?:寄存器、運(yùn)算和訪存 38
3.1.3 條件結(jié)構(gòu)?:程序分支和
條件碼 43
3.1.4 函數(shù)的調(diào)用、返回與棧 46
3.1.5 函數(shù)的調(diào)用慣例 50
3.1.6 小結(jié)?:應(yīng)用程序依賴的
處理器狀態(tài) 52
3.2 操作系統(tǒng)的硬件運(yùn)行環(huán)境 54
3.2.1 特權(quán)級(jí)別與系統(tǒng)ISA 54
3.2.2 異常機(jī)制與異常向量表 57
3.2.3 案例分析?:ChCore啟動(dòng)與
異常向量表初始化 60
3.2.4 用戶態(tài)與內(nèi)核態(tài)的切換 61
3.2.5 系統(tǒng)調(diào)用 64
3.2.6 系統(tǒng)調(diào)用的優(yōu)化 66
3.3 操作系統(tǒng)提供的基本抽象與
接口 67
3.3.1 進(jìn)程?:對(duì)處理器的抽象 69
3.3.2 案例分析?:使用POSIX
進(jìn)程接口實(shí)現(xiàn)shell 70
3.3.3 虛擬內(nèi)存?:對(duì)內(nèi)存的
抽象 73
3.3.4 進(jìn)程的虛擬內(nèi)存布局 75
3.3.5 文件?:對(duì)存儲(chǔ)設(shè)備的
抽象 77
3.3.6 文件?:對(duì)所有設(shè)備的
抽象 79
3.4 思考題 80
3.5 練習(xí)答案 81
參考文獻(xiàn) 82
第4章 虛擬內(nèi)存管理 83
4.1 CPU的職責(zé)?:內(nèi)存地址翻譯 84
4.1.1 地址翻譯 84
4.1.2 分頁機(jī)制 85
4.1.3 多級(jí)頁表 87
4.1.4 頁表項(xiàng)與大頁 91
4.1.5 TLB?:頁表的緩存 93
4.2 操作系統(tǒng)的職責(zé)?:管理頁表映射 96
4.2.1 操作系統(tǒng)為自己配置頁表 96
4.2.2 如何填寫進(jìn)程頁表 97
4.2.3 何時(shí)填寫進(jìn)程頁表?:立即映射 101
4.2.4 何時(shí)填寫進(jìn)程頁表?:延遲映射 104
4.2.5 常見的改變虛擬內(nèi)存區(qū)域的接口 108
4.2.6 虛擬內(nèi)存擴(kuò)展功能 109
4.3 案例分析?:ChCore虛擬內(nèi)存
管理 112
4.3.1 ChCore內(nèi)核頁表初始化 112
4.3.2 ChCore內(nèi)存管理 115
4.4 思考題 118
4.5 練習(xí)答案 119
參考文獻(xiàn) 121
第5章 物理內(nèi)存管理 122
5.1 操作系統(tǒng)的職責(zé)?:管理物理
內(nèi)存資源 122
5.1.1 目標(biāo)與評(píng)價(jià)維度 122
5.1.2 基于位圖的連續(xù)物理頁
分配方法 123
5.1.3 伙伴系統(tǒng)原理 126
5.1.4 案例分析?:ChCore中伙伴
系統(tǒng)的實(shí)現(xiàn) 127
5.1.5 SLAB分配器的基本設(shè)計(jì) 131
5.1.6 常用的空閑鏈表 133
5.2 操作系統(tǒng)如何獲得更多物理內(nèi)存資源 134
5.2.1 換頁機(jī)制 134
5.2.2 頁替換策略 137
5.2.3 頁表項(xiàng)中的訪問位與
頁替換策略實(shí)現(xiàn) 140
5.2.4 工作集模型 141
5.2.5 利用虛擬內(nèi)存抽象節(jié)約物理內(nèi)存資源 142
5.3 性能導(dǎo)向的內(nèi)存分配擴(kuò)展機(jī)制 143
5.3.1 物理內(nèi)存與CPU緩存 144
5.3.2 物理內(nèi)存分配與CPU
緩存 146
5.3.3 多核與內(nèi)存分配 147
5.3.4 CPU緩存的硬件劃分 147
5.3.5 非一致內(nèi)存訪問
(NUMA架構(gòu)) 149
5.3.6 NUMA架構(gòu)與內(nèi)存分配 150
5.4 思考題 151
5.5 練習(xí)答案 152
參考文獻(xiàn) 152
第6章 進(jìn)程與線程 154
6.1 進(jìn)程的內(nèi)部表示與管理接口 154
6.1.1 進(jìn)程的內(nèi)部表示—
PCB 154
6.1.2 進(jìn)程創(chuàng)建的實(shí)現(xiàn) 155
6.1.3 進(jìn)程退出的實(shí)現(xiàn) 159
6.1.4 進(jìn)程等待的實(shí)現(xiàn) 160
6.1.5 exit與waitpid之間的信息傳遞 162
6.1.6 進(jìn)程等待的范圍與父子
進(jìn)程關(guān)系 164
6.1.7 進(jìn)程睡眠的實(shí)現(xiàn) 166
6.1.8 進(jìn)程執(zhí)行狀態(tài)及其管理 166
6.2 案例分析?:ChCore微內(nèi)核的
進(jìn)程管理 169
6.2.1 進(jìn)程管理器與分離式
PCB 169
6.2.2 ChCore的進(jìn)程操作?:
以進(jìn)程創(chuàng)建為例 170
6.3 案例分析?:Linux的進(jìn)程創(chuàng)建 172
6.3.1 經(jīng)典的進(jìn)程創(chuàng)建方法?:
fork 172
6.3.2 其他進(jìn)程創(chuàng)建方法 175
6.4 進(jìn)程切換 179
6.4.1 進(jìn)程的處理器上下文 180
6.4.2 進(jìn)程的切換節(jié)點(diǎn) 180
6.4.3 進(jìn)程切換的全過程 181
6.4.4 案例分析?:ChCore的
進(jìn)程切換實(shí)現(xiàn) 182
6.5 線程及其實(shí)現(xiàn) 191
6.5.1 為什么需要線程 191
6.5.2 用戶視角看線程 192
6.5.3 線程的實(shí)現(xiàn):內(nèi)核數(shù)據(jù)
結(jié)構(gòu) 194
6.5.4 線程的實(shí)現(xiàn):管理接口 195
6.5.5 線程切換 200
6.5.6 內(nèi)核態(tài)線程與用戶態(tài)
線程 200
6.6 纖程 202
展開全部
操作系統(tǒng):原理與實(shí)現(xiàn) 作者簡(jiǎn)介
陳海波
上海交通大學(xué)特聘教授、博導(dǎo),并行與分布式系統(tǒng)研究所所長,領(lǐng)域操作系統(tǒng)教育部工程研究中心主任,國家杰出青年基金獲得者,IEEE Fellow,ACM杰出科學(xué)家。主要研究領(lǐng)域?yàn)椴僮飨到y(tǒng)、分布式系統(tǒng)與系統(tǒng)安全。研究成果通過產(chǎn)學(xué)研深度結(jié)合被應(yīng)用到十億級(jí)設(shè)備,產(chǎn)生了廣泛的學(xué)術(shù)與產(chǎn)業(yè)影響。曾獲陳嘉庚青年科學(xué)獎(jiǎng)、教育部技術(shù)發(fā)明一等獎(jiǎng)、全國優(yōu)秀博士學(xué)位論文獎(jiǎng)、中國青年科技獎(jiǎng)等。目前擔(dān)任OpenHarmony技術(shù)指導(dǎo)委員會(huì)創(chuàng)始主席、CCF系統(tǒng)軟件專委會(huì)副主任、ACM旗艦雜志Communications of the ACM首位中國學(xué)者編委與領(lǐng)域共同主席。研究工作還獲得了華為卓越貢獻(xiàn)個(gè)人獎(jiǎng),ASPLOS、EuroSys、VEE等最佳論文獎(jiǎng)以及DSN“時(shí)間檢驗(yàn)獎(jiǎng)”。按照csrankings.org的統(tǒng)計(jì),其近5年(2018~2022)在操作系統(tǒng)領(lǐng)域高水平會(huì)議(SOSP/OSDI、EuroSys、USENIX ATC和FAST)上發(fā)表的論文數(shù)居世界第一。 夏虞斌
上海交通大學(xué)教授、博導(dǎo),教育部青年長江學(xué)者,上海市優(yōu)秀學(xué)術(shù)帶頭人,上海交通大學(xué)卓越教學(xué)獎(jiǎng)獲得者,《麻省理工科技評(píng)論》2022年中國隱私計(jì)算科技創(chuàng)新人物。主要研究領(lǐng)域?yàn)椴僮飨到y(tǒng)、體系結(jié)構(gòu)和系統(tǒng)安全,多次擔(dān)任OSDI、EuroSys等操作系統(tǒng)領(lǐng)域會(huì)議的程序委員會(huì)委員。曾獲教育部技術(shù)發(fā)明一等獎(jiǎng)、CCF NASAC青年軟件創(chuàng)新獎(jiǎng)、VEE最佳論文獎(jiǎng)、DSN“時(shí)間檢驗(yàn)獎(jiǎng)”。領(lǐng)導(dǎo)團(tuán)隊(duì)研發(fā)的安全操作系統(tǒng)T6獲得“挑戰(zhàn)杯”全國特等獎(jiǎng)、“互聯(lián)網(wǎng)+”雙創(chuàng)大賽全國銀獎(jiǎng),并已實(shí)現(xiàn)產(chǎn)業(yè)化,實(shí)際部署設(shè)備數(shù)量過億;基于RISC-V平臺(tái)研發(fā)的可信執(zhí)行環(huán)境軟硬件系統(tǒng)“蓬萊”現(xiàn)已開源。目前擔(dān)任OpenHarmony-上海交通大學(xué)技術(shù)俱樂部主任、OpenHarmony機(jī)密計(jì)算技術(shù)委員會(huì)委員。