注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)操作系統(tǒng):原理與實現(xiàn)

操作系統(tǒng):原理與實現(xiàn)

操作系統(tǒng):原理與實現(xiàn)

定 價:¥119.00

作 者: 陳海波 夏虞斌 等
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111722489 出版時間: 2023-02-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  操作系統(tǒng)目前已成為我國“卡脖子”的關(guān)鍵技術(shù)之一,這對操作系統(tǒng)的教材建設(shè)提出了新的要求。首先,教材需要體現(xiàn)操作系統(tǒng)的核心原理與設(shè)計,幫助讀者構(gòu)筑系統(tǒng)性的認(rèn)識;其次,教材需要反映國際研究前沿,幫助讀者開拓新思路;*后,教材需要反映工業(yè)界實踐,不可陷入紙上談兵的陷阱。作為操作系統(tǒng)教材的新嘗試,本書融合了作者的教學(xué)經(jīng)驗與工業(yè)實踐經(jīng)驗,以三個“面向”為導(dǎo)向,即面向經(jīng)典基礎(chǔ)理論與方法,面向國際前沿研究,面向*新工業(yè)界實踐,深入淺出地介紹操作系統(tǒng)的理論、架構(gòu)、設(shè)計方法與具體實現(xiàn)。本書將原理與實現(xiàn)解耦,從具體問題導(dǎo)出抽象概念,然后分析實現(xiàn)方法。全書內(nèi)容以ARM架構(gòu)為主,x86架構(gòu)為輔;以微內(nèi)核架構(gòu)為主,同時兼顧宏內(nèi)核與外核等架構(gòu)。除紙質(zhì)版教材外,本書還配有網(wǎng)絡(luò)章節(jié)、在線社區(qū)和課程實驗。與本書配套的微內(nèi)核架構(gòu)教學(xué)操作系統(tǒng)ChCore由上海交通大學(xué)并行與分布式系統(tǒng)研究所設(shè)計并實現(xiàn),通過ChCore相關(guān)實驗,讀者可在動手實踐中獲得第一手經(jīng)驗。

作者簡介

  陳海波 上海交通大學(xué)特聘教授、博導(dǎo),并行與分布式系統(tǒng)研究所所長,領(lǐng)域操作系統(tǒng)工程研究中心主任,國家杰出青年基金獲得者,IEEE Fellow,ACM杰出科學(xué)家。主要研究領(lǐng)域為操作系統(tǒng)、分布式系統(tǒng)與系統(tǒng)安全。研究成果通過產(chǎn)學(xué)研深度結(jié)合被應(yīng)用到十億級設(shè)備,產(chǎn)生了廣泛的學(xué)術(shù)與產(chǎn)業(yè)影響。曾獲陳嘉庚青年科學(xué)獎、技術(shù)發(fā)明一等獎、全國優(yōu)秀博士學(xué)位論文獎、中國青年科技獎等。目前擔(dān)任OpenHarmony技術(shù)指導(dǎo)委員會創(chuàng)始主席、CCF系統(tǒng)軟件專委會副主任、ACM旗艦雜志Communications of the ACM首位中國學(xué)者編委與領(lǐng)域共同主席。研究工作還獲得了華為卓越貢獻(xiàn)個人獎,ASPLOS、EuroSys、VEE等*佳論文獎以及DSN“時間檢驗獎”。按照csrankings.org的統(tǒng)計,其近5年(2018~2022)在操作系統(tǒng)領(lǐng)域高水平會議(SOSP/OSDI、EuroSys、USENIX ATC和FAST)上發(fā)表的論文數(shù)居世界第一。 夏虞斌 上海交通大學(xué)教授、博導(dǎo),青年長江學(xué)者,上海市優(yōu)秀學(xué)術(shù)帶頭人,上海交通大學(xué)卓越教學(xué)獎獲得者,《麻省理工科技評論》2022年中國隱私計算科技創(chuàng)新人物。主要研究領(lǐng)域為操作系統(tǒng)、體系結(jié)構(gòu)和系統(tǒng)安全,多次擔(dān)任OSDI、EuroSys等操作系統(tǒng)領(lǐng)域會議的程序委員會委員。曾獲技術(shù)發(fā)明一等獎、CCF NASAC青年軟件創(chuàng)新獎、VEE*佳論文獎、DSN“時間檢驗獎”。領(lǐng)導(dǎo)團(tuán)隊研發(fā)的安全操作系統(tǒng)T6獲得“挑戰(zhàn)杯”全國特等獎、“互聯(lián)網(wǎng) ”雙創(chuàng)大賽全國銀獎,并已實現(xiàn)產(chǎn)業(yè)化,實際部署設(shè)備數(shù)量過億;基于RISC-V平臺研發(fā)的可信執(zhí)行環(huán)境軟硬件系統(tǒng)“蓬萊”現(xiàn)已開源。目前擔(dān)任OpenHarmony-上海交通大學(xué)技術(shù)俱樂部主任、OpenHarmony機密計算技術(shù)委員會委員。

圖書目錄

CONTENTS
目  錄
叢書序言
序言一
序言二
前言
第一部分 操作系統(tǒng)基礎(chǔ)
第1章 操作系統(tǒng)概述 2
1.1 簡約不簡單?:從Hello World
說起 2
1.2 什么是操作系統(tǒng) 3
1.3 操作系統(tǒng)簡史 5
1.3.1 GM-NAA I/O?:第一個
(批處理)操作系統(tǒng) 5
1.3.2 OS/360?:從專用走向通用 6
1.3.3 Multics/UNIX/Linux?:分時與多任務(wù) 6
1.3.4 macOS/Windows?:以人
為本的人機交互 7
1.3.5 iOS/Android?:移動互聯(lián)網(wǎng)
時代的操作系統(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)的機制與策略 14
2.2 操作系統(tǒng)復(fù)雜性的管理方法 15
2.3 操作系統(tǒng)內(nèi)核架構(gòu) 17
2.3.1 簡要結(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è)計?: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)用程序的硬件運行環(huán)境 35
3.1.1 程序的運行?:用指令序列
控制處理器 36
3.1.2 處理數(shù)據(jù)?:寄存器、運算和訪存 38
3.1.3 條件結(jié)構(gòu)?:程序分支和
條件碼 43
3.1.4 函數(shù)的調(diào)用、返回與?!?6
3.1.5 函數(shù)的調(diào)用慣例 50
3.1.6 小結(jié)?:應(yīng)用程序依賴的
處理器狀態(tài) 52
3.2 操作系統(tǒng)的硬件運行環(huán)境 54
3.2.1 特權(quán)級別與系統(tǒng)ISA 54
3.2.2 異常機制與異常向量表 57
3.2.3 案例分析?:ChCore啟動與
異常向量表初始化 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)程?:對處理器的抽象 69
3.3.2 案例分析?:使用POSIX
進(jìn)程接口實現(xiàn)shell 70
3.3.3 虛擬內(nèi)存?:對內(nèi)存的
抽象 73
3.3.4 進(jìn)程的虛擬內(nèi)存布局 75
3.3.5 文件?:對存儲設(shè)備的
抽象 77
3.3.6 文件?:對所有設(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 分頁機制 85
4.1.3 多級頁表 87
4.1.4 頁表項與大頁 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 何時填寫進(jìn)程頁表?:立即映射 101
4.2.4 何時填寫進(jìn)程頁表?:延遲映射 104
4.2.5 常見的改變虛擬內(nèi)存區(qū)域的接口 108
4.2.6 虛擬內(nèi)存擴展功能 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)與評價維度 122
5.1.2 基于位圖的連續(xù)物理頁
分配方法 123
5.1.3 伙伴系統(tǒng)原理 126
5.1.4 案例分析?:ChCore中伙伴
系統(tǒng)的實現(xiàn) 127
5.1.5 SLAB分配器的基本設(shè)計 131
5.1.6 常用的空閑鏈表 133
5.2 操作系統(tǒng)如何獲得更多物理內(nèi)存資源 134
5.2.1 換頁機制 134
5.2.2 頁替換策略 137
5.2.3 頁表項中的訪問位與
頁替換策略實現(xiàn) 140
5.2.4 工作集模型 141
5.2.5 利用虛擬內(nèi)存抽象節(jié)約物理內(nèi)存資源 142
5.3 性能導(dǎo)向的內(nèi)存分配擴展機制 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)建的實現(xiàn) 155
6.1.3 進(jìn)程退出的實現(xiàn) 159
6.1.4 進(jìn)程等待的實現(xiàn) 160
6.1.5 exit與waitpid之間的信息傳遞 162
6.1.6 進(jìn)程等待的范圍與父子
進(jìn)程關(guān)系 164
6.1.7 進(jìn)程睡眠的實現(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é)點 180
6.4.3 進(jìn)程切換的全過程 181
6.4.4 案例分析?:ChCore的
進(jìn)程切換實現(xiàn) 182
6.5 線程及其實現(xiàn) 191
6.5.1 為什么需要線程 191
6.5.2 用戶視角看線程 192
6.5.3 線程的實現(xiàn)?:內(nèi)核數(shù)據(jù)
結(jié)構(gòu) 194
6.5.4 線程的實現(xiàn)?:管理接口 195
6.5.5 線程切換 200
6.5.6 內(nèi)核態(tài)線程與用戶態(tài)
線程 200
6.6 纖程 202
6.6.1 對纖

本目錄推薦

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