第1章 操作系統(tǒng)引論 1
1.1 計算機的基本工作原理 1
1.1.1 自動計算 1
1.1.2 計算機基礎 1
1.2 操作系統(tǒng)的產生 5
1.2.1 早期計算機的使用 5
1.2.2 批處理系統(tǒng) 6
1.2.3 分時系統(tǒng) 8
1.2.4 實時系統(tǒng) 9
1.3 操作系統(tǒng)的概念 9
1.3.1 操作系統(tǒng)的定義 9
1.3.2 操作系統(tǒng)與計算機其他軟件及硬件的關系 10
1.3.3 操作系統(tǒng)的使用 11
1.4 操作系統(tǒng)的引導 11
1.5 操作系統(tǒng)特征 13
1.6 操作系統(tǒng)組成 14
1.6.1 處理機管理 14
1.6.2 內存管理 15
1.6.3 文件管理 16
1.6.4 設備管理 17
Chapter 1 Introduction to Computer 18
1.1 The Basic Principle of Computer 18
1.1.1 Computer Architecture 18
1.1.2 Computer System 19
1.2 Operating System Concepts 20
1.2.1 Operating System Definitions 20
1.2.2 Use of the Operating System 21
1.2.3 Operating System Several Related Concepts 22
1.3 System Components 23
1.3.1 Process Management 23
1.3.2 Memory Management 24
1.3.3 File-System Management 25
1.3.4 I/O Systems 26
習題 26
第2章 進程管理 29
2.1 計算機程序的執(zhí)行 29
2.1.1 計算機程序執(zhí)行 29
2.1.2 多道程序的執(zhí)行 30
2.2 進程 30
2.2.1 進程概念的引入 30
2.2.2 進程的概念 31
2.2.3 進程與程序的關系 31
2.2.4 進程的特征 32
2.3 進程控制塊 32
2.3.1 進程控制塊概述 32
2.3.2 進程控制塊的內容 32
2.3.3 Linux的進程控制塊 33
2.3.4 進程控制塊的組織方式 34
2.4 進程的狀態(tài) 35
2.4.1 進程基本狀態(tài) 35
2.4.2 進程基本狀態(tài)的轉換 36
2.4.3 帶掛起的進程狀態(tài) 37
2.5 進程控制 38
2.5.1 進程的創(chuàng)建 38
2.5.2 進程的終止 40
2.6 處理機調度 41
2.6.1 處理機調度的層次 41
2.6.2 進程調度的功能及實現(xiàn)方式 43
2.7 調度算法 45
2.7.1 調度算法的性能評價準則 45
2.7.2 先來先服務調度算法 46
2.7.3 短作業(yè)優(yōu)先調度算法 47
2.7.4 高優(yōu)先權優(yōu)先調度算法 49
2.7.5 基于時間片的輪轉調度算法 50
2.8 實時調度 52
2.8.1 實時調度的基本條件 53
2.8.2 實時調度算法 55
Chapter 2 Process Management 58
2.1 Process Concepts 58
2.1.1 Process Concepts 58
2.1.2 Process and Program 58
2.2 Process Control Block 59
2.2.1 Process Control Block 59
2.2.2 Process Control Block Contents 59
2.3 Process State 60
2.3.1 Basic States of a Process 60
2.3.2 Process State Change 61
2.3.3 Process State with the Pending 62
2.4 Operations on Processes 63
2.4.1 Process Creation 63
2.4.2 Termination of Process 64
2.5 CPU Scheduling 65
2.5.1 Queues and Schedulers 65
2.5.2 Schedule Criteria 68
2.5.3 First-Come, First-Served Scheduling 69
2.5.4 Shortest-Job-First Scheduling 70
2.5.5 Priority Scheduling 72
2.5.6 Round-Robin Scheduling 73
習題 74
第3章 進程同步 78
3.1 計算機程序的并發(fā)執(zhí)行 78
3.1.1 程序的并發(fā)執(zhí)行 78
3.1.2 前趨圖 80
3.2 進程同步 81
3.2.1 臨界資源與臨界區(qū) 81
3.2.2 信號量 82
3.2.3 進程同步 83
3.2.4 改進的信號量機制 84
3.3 經典同步問題 88
3.3.1 生產者-消費者問題 88
3.3.2 讀者-寫者問題 91
3.3.3 哲學家問題 93
3.4 死鎖 94
3.4.1 死鎖的產生 94
3.4.2 預防死鎖 96
3.4.3 死鎖的檢測與解除 101
3.5 管程 103
Chapter 3 Process Synchronization 106
3.1 Process Synchronization 106
3.1.1 Critical Section 106
3.1.2 Semaphore 106
3.2 Classic Problems of Synchronization 110
3.2.1 Producer-Consumer (Bounded-Buffer) Problem 110
3.2.2 The Readers-Writers Problem 111
3.3 Deadlocks 113
3.3.1 Causes of Deadlocks 113
3.3.2 Deadlock Avoidance 115
習題 119
第4章 進程通信與多線程 126
4.1 進程通信 126
4.1.1 共享存儲區(qū)通信 126
4.1.2 消息傳遞系統(tǒng) 127
4.1.3 管道通信 130
4.1.4 Socket通信 131
4.2 多核技術 134
4.2.1 并行計算機 135
4.2.2 多核處理器 136
4.2.3 操作系統(tǒng)對多核處理器的支持方法 137
4.3 線程與線程管理 139
4.3.1 線程 139
4.3.2 線程管理 141
4.4 多線程的實現(xiàn) 143
4.4.1 典型的實現(xiàn)方式 143
4.4.2 用戶級線程實現(xiàn) 145
4.4.3 核心級線程實現(xiàn) 146
Chapter 4 Interprocess Communicationand and Multi-Threading 148
4.1 Interprocess Communication 148
4.1.1 Shared-Memory Systems 148
4.1.2 Message-Passing Systems 148
4.1.3 pipe 150
4.1.4 Socket Communication 151
4.2 Multiprocessor Systems 151
4.3 Threads 152
4.3.1 Motivation 152
4.3.2 Multithreading Models 153
習題 154
第5章 內存管理 155
5.1 重定位 155
5.2 分區(qū)式管理 156
5.2.1 單一連續(xù)區(qū)分配 157
5.2.2 固定分區(qū)分配 157
5.2.3 可變式分區(qū) 159
5.3 分頁式管理 164
5.3.1 分頁的基本工作原理 164
5.3.2 動態(tài)地址變換 166
5.3.3 快表 168
5.3.4 兩級和多級頁表 169
5.4 分段式管理 171
5.4.1 分段的基本工作原理 171
5.4.2 地址變換 172
5.4.3 分段管理的信息共享 173
5.5 段頁式管理 174
5.5.1 段頁式的基本工作原理 174
5.5.2 地址變換 175
Chapter 5 Memory Management 177
5.1 Address Binding 177
5.2 Continuous Memory Allocation 179
5.3 Paging 181
5.3.1 Basic Method 181
5.3.2 Caching 183
5.3.4 Hierarchical Paging 185
5.4 Segmentation 185
習題 187
第6章 虛擬存儲器 192
......