定 價(jià):¥69.00
作 者: | 劉曉建 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302625018 | 出版時(shí)間: | 2023-03-01 | 包裝: | 平裝-膠訂 |
開本: | 16開 | 頁(yè)數(shù): | 字?jǐn)?shù): |
第1章計(jì)算機(jī)操作系統(tǒng)概論1
1.1操作系統(tǒng)的概念1
1.1.1從用戶使用角度理解操作系統(tǒng)2
1.1.2從計(jì)算資源管理和控制角度理解操作系統(tǒng)3
1.1.3從計(jì)算環(huán)境角度理解操作系統(tǒng)4
1.2操作系統(tǒng)的發(fā)展歷史5
1.2.1人工操作階段5
1.2.2簡(jiǎn)單批處理系統(tǒng)6
1.2.3多道程序批處理系統(tǒng)8
1.2.4分時(shí)系統(tǒng)11
1.2.5實(shí)時(shí)系統(tǒng)13
1.3操作系統(tǒng)的結(jié)構(gòu)14
1.3.1簡(jiǎn)單結(jié)構(gòu)15
1.3.2宏內(nèi)核結(jié)構(gòu)16
1.3.3層次化結(jié)構(gòu)16
1.3.4微內(nèi)核結(jié)構(gòu)18
1.3.5外核結(jié)構(gòu)19
1.3.6虛擬機(jī)21
1.4操作系統(tǒng)大觀23
習(xí)題26
第2章操作系統(tǒng)的硬件基礎(chǔ)28
2.1計(jì)算機(jī)硬件結(jié)構(gòu)28
2.1.1內(nèi)存29
2.1.2CPU32
2.1.3I/O模塊34
2.1.4系統(tǒng)總線35〖1〗〖2〗計(jì)算機(jī)操作系統(tǒng)教程——基于華為openEuler操作系統(tǒng)目錄〖2〗〖2〗2.2指令37
2.2.1指令集37
2.2.2過程調(diào)用39
2.2.3CISC和RISC42
2.3指令循環(huán)和異常處理43
2.3.1指令循環(huán)43
2.3.2異常和異常的分類45
2.3.3異常處理47
2.4CPU的運(yùn)行模式和模式切換50
2.4.1低EL特權(quán)級(jí)和高EL特權(quán)級(jí)的相互轉(zhuǎn)換51
2.4.2異常處理過程中的CPU運(yùn)行模式切換52
習(xí)題53
第3章進(jìn)程管理55
3.1進(jìn)程的概念55
3.1.1程序并發(fā)執(zhí)行的基本需求55
3.1.2進(jìn)程概念的理解56
3.1.3進(jìn)程的結(jié)構(gòu)56
3.1.4進(jìn)程的虛擬地址空間布局57
3.1.5觀察openEuler中進(jìn)程的虛擬地址空間布局58
3.1.6進(jìn)程控制塊60
3.2進(jìn)程的狀態(tài)62
3.2.1五狀態(tài)模型62
3.2.2七狀態(tài)模型65
3.3進(jìn)程控制67
3.3.1進(jìn)程的創(chuàng)建67
3.3.2進(jìn)程的退出67
3.3.3進(jìn)程上下文切換68
3.3.4進(jìn)程上下文切換的時(shí)機(jī)70
3.3.5openEuler中系統(tǒng)調(diào)用的實(shí)現(xiàn)71
3.3.6openEuler環(huán)境下使用strace跟蹤系統(tǒng)調(diào)用過程73
3.4openEuler中的進(jìn)程控制74
3.4.1獲取進(jìn)程IDs74
3.4.2創(chuàng)建和終止進(jìn)程75
3.4.3回收子進(jìn)程78
3.4.4裝載和運(yùn)行程序80
3.5進(jìn)程調(diào)度策略82
3.5.1調(diào)度目標(biāo)82
3.5.2進(jìn)程調(diào)度83
3.5.3短程調(diào)度策略84
3.5.4openEuler中的調(diào)度策略89
3.6線程92
3.6.1線程概念的引入93
3.6.2線程的實(shí)現(xiàn)95
3.6.3線程與進(jìn)程的關(guān)系96
3.6.4openEuler中的POSIX線程庫(kù)96
3.6.5多線程程序中的變量99
習(xí)題102
第4章進(jìn)程的并發(fā)和死鎖104
4.1并發(fā)問題104
4.2進(jìn)程的互斥106
4.2.1互斥問題106
4.2.2解決互斥問題的軟件方法109
4.2.3解決互斥問題的硬件方法116
4.2.4信號(hào)量和P、V操作119
4.2.5使用信號(hào)量解決互斥問題121
4.3openEuler中信號(hào)量的實(shí)現(xiàn)123
4.3.1down和up原語(yǔ)的實(shí)現(xiàn)123
4.3.2有關(guān)信號(hào)量的函數(shù)調(diào)用126
4.4進(jìn)程的同步126
4.4.1同步問題126
4.4.2使用信號(hào)量解決同步問題128
4.5典型并發(fā)設(shè)計(jì)問題130
4.5.1生產(chǎn)者消費(fèi)者問題131
4.5.2讀者寫者問題135
4.6死鎖139
4.6.1死鎖的定義139
4.6.2哲學(xué)家就餐問題142
4.6.3死鎖的描述145
4.6.4死鎖發(fā)生的條件146
4.7死鎖的處理147
4.7.1死鎖預(yù)防148
4.7.2死鎖避免148
4.7.3死鎖檢測(cè)155
習(xí)題157
第5章內(nèi)存管理161
5.1內(nèi)存管理的需求161
5.1.1內(nèi)存管理的4個(gè)基本要求161
5.1.2地址定位162
5.2早期操作系統(tǒng)的內(nèi)存管理165
5.2.1固定分區(qū)管理165
5.2.2覆蓋技術(shù)167
5.2.3可變分區(qū)管理168
5.2.4伙伴系統(tǒng)169
5.3虛擬內(nèi)存171
5.3.1可執(zhí)行目標(biāo)文件172
5.3.2openEuler環(huán)境下解析ELF文件174
5.3.3虛擬地址空間180
5.3.4虛擬內(nèi)存和分頁(yè)180
5.3.5虛擬內(nèi)存究竟是什么183
5.3.6頁(yè)表186
5.3.7虛擬地址轉(zhuǎn)換和缺頁(yè)故障處理188
5.3.8對(duì)內(nèi)存管理需求的支持192
5.3.9地址轉(zhuǎn)換的硬件實(shí)現(xiàn)和加速195
5.4分頁(yè)式虛擬內(nèi)存管理201
5.4.1程序局部性原理202
5.4.2讀取策略203
5.4.3置換策略206
5.4.4駐留集管理208
5.4.5換出策略211
5.4.6加載控制211
5.5分段式虛擬內(nèi)存管理212
5.5.1基本原理212
5.5.2段的動(dòng)態(tài)鏈接215
5.5.3段的共享217
5.5.4段頁(yè)式虛擬內(nèi)存管理220
習(xí)題223
第6章文件管理225
6.1文件系統(tǒng)226
6.1.1文件系統(tǒng)的概念226
6.1.2文件系統(tǒng)的存儲(chǔ)結(jié)構(gòu)226
6.2文件227
6.2.1文件的屬性227
6.2.2文件上的操作229
6.2.3文件的存儲(chǔ)設(shè)備229
6.2.4openEuler環(huán)境下如何獲取文件信息231
6.3openEuler文件系統(tǒng)233
6.3.1文件系統(tǒng)總體架構(gòu)233
6.3.2物理文件系統(tǒng)235
6.3.3虛擬文件系統(tǒng)240
6.3.4偽文件系統(tǒng)243
6.4文件內(nèi)容的磁盤塊分布和磁盤空閑空間管理245
6.4.1混合索引表245
6.4.2B 樹248
6.4.3MSDOS的磁盤空間管理250
6.4.4成組鏈接法251
6.5文件鏈接253
6.6文件共享258
6.6.1打開文件在內(nèi)核中的數(shù)據(jù)結(jié)構(gòu)258
6.6.2進(jìn)程間的文件共享259
6.6.3打開文件的一致性語(yǔ)義和文件鎖262
6.6.4管道263
6.7文件系統(tǒng)的保護(hù)266
6.7.1文件訪問權(quán)和保護(hù)域266
6.7.2openEuler文件系統(tǒng)的訪問控制機(jī)制268
6.8openEuler中有關(guān)文件的系統(tǒng)調(diào)用275
6.8.1文件讀、寫的系統(tǒng)調(diào)用275
6.8.2訪問文件狀態(tài)的系統(tǒng)調(diào)用278
6.8.3文件鏈接的系統(tǒng)調(diào)用280
習(xí)題282
第7章輸入/輸出系統(tǒng)284
7.1I/O系統(tǒng)概述284
7.1.1外設(shè)的分類和特點(diǎn)284
7.1.2外設(shè)與主機(jī)CPU的連接285
7.1.3I/O接口287
7.1.4I/O端口及其編址方式288
7.1.5I/O系統(tǒng)軟件的層次結(jié)構(gòu)289
7.2I/O設(shè)備的控制方式290
7.2.1可編程I/O291
7.2.2中斷驅(qū)動(dòng)的I/O292
7.2.3直接存儲(chǔ)器訪問方式294
7.2.4I/O通道控制方式297
7.2.5I/O通道類型300
7.3I/O系統(tǒng)軟件組織303
7.3.1用戶程序與I/O軟件的關(guān)系303
7.3.2與具體設(shè)備無關(guān)的I/O軟件304
7.3.3設(shè)備驅(qū)動(dòng)程序307
7.3.4中斷服務(wù)程序308
7.4Linux設(shè)備驅(qū)動(dòng)模型309
7.4.1Linux的設(shè)備抽象310
7.4.2Linux的設(shè)備驅(qū)動(dòng)模型312
7.4.3設(shè)備驅(qū)動(dòng)程序開發(fā)315
7.5緩沖處理技術(shù)321
7.5.1緩沖的引入321
7.5.2單緩沖區(qū)和雙緩沖區(qū)322
7.5.3緩沖區(qū)和頁(yè)緩存324
7.6磁盤I/O調(diào)度329
7.6.1磁盤訪問時(shí)間 331
7.6.2早期的磁盤調(diào)度算法 332
7.6.3基于掃描的磁盤調(diào)度算法333
7.7虛擬設(shè)備——假脫機(jī)335
習(xí)題337
參考文獻(xiàn)340