图书目录

目录CONTENTS

第1章操作系统概论1

1.1操作系统的作用1

1.1.1硬件系统和应用程序间的界面1

1.1.2资源管理者2

1.1.3推动操作系统发展的因素2

1.2操作系统的演变3

1.2.1串行处理系统3

1.2.2简单批处理系统4

1.2.3多道程序批处理系统6

1.2.4分时系统8

1.2.5实时系统10

1.2.6网络操作系统11

1.2.7分布式操作系统11

1.2.8嵌入式操作系统12

1.3操作系统的主要成就13

1.3.1进程13

1.3.2存储器管理15

1.3.3信息保护和安全性16

1.3.4调度和资源管理17

1.3.5系统结构18

1.4操作系统举例20

1.4.1Windows NT20

1.4.2UNIX System Ⅴ23

1.5操作系统主要研究的问题24

小结24

习题25

第2章进程描述与控制26

2.1进程状态26

2.1.1进程产生和终止27

2.1.2进程状态模型29

2.1.3进程挂起33

2.2进程描述36

2.2.1操作系统控制结构37

2.2.2进程控制结构37

2.2.3进程属性38

2.3进程控制40

2.3.1执行模式40

2.3.2进程创建40

2.3.3进程切换41

2.3.4上下文切换41

2.3.5操作系统的运行42

2.3.6微核43

2.4线程和SMP44

2.4.1线程及其管理44

2.4.2多线程的实现45

2.4.3进程与线程的关系47

2.4.4SMP47

2.5系统举例48

2.5.1UNIX System Ⅴ48

2.5.2Windows NT52

2.5.3Linux55

小结56

习题57

第3章并发控制——互斥与同步60

3.1并发原理61

3.1.1进程间的相互作用63

3.1.2进程间的相互竞争64

3.1.3进程间的相互合作65

3.1.4互斥的要求66

3.2互斥——用软件方法实现67

3.2.1Dekker算法67

3.2.2Peterson算法70

3.3互斥——用硬件方法解决71

3.3.1禁止中断71

3.3.2使用机器指令72

3.4信号量74

3.4.1用信号量解决互斥问题75

3.4.2用信号量解决生产者/消费者问题76

3.4.3信号量的实现80

3.4.4用信号量解决理发店问题81

3.5管程84

3.5.1带信号量的管程84

3.5.2用管程解决生产者/消费者问题85

3.6消息传递87

3.6.1消息传递原语87

3.6.2用消息传递实现同步88

3.6.3寻址方式88

3.6.4消息格式89

3.6.5排队规则90

3.6.6用消息传递实现互斥90

3.7读者/写者问题91

3.7.1读者优先92

3.7.2写者优先93

3.8系统举例95

3.8.1UNIX System Ⅴ95

3.8.2Windows NT97

小结98

习题99

第4章死锁处理101

4.1死锁问题概述101

4.1.1可重用资源101

4.1.2消耗型资源102

4.1.3产生死锁的条件103

4.2死锁处理策略104

4.2.1死锁预防104

4.2.2死锁避免105

4.2.3死锁检测108

4.2.4死锁恢复109

4.2.5处理死锁的综合方法110

4.3哲学家用餐问题110

小结112

习题112

第5章内存管理114

5.1概述114

5.1.1基本概念114

5.1.2虚拟存储器116

5.1.3重定位117

5.2存储管理的基本技术118

5.2.1分区法118

5.2.2可重定位分区法120

5.2.3覆盖技术122

5.2.4交换技术122

5.3分页存储管理123

5.3.1基本概念123

5.3.2纯分页系统125

5.3.3请求式分页系统126

5.3.4硬件支持及缺页处理128

5.3.5页的共享和保护129

5.4分段存储管理129

5.4.1基本概念130

5.4.2基本原理130

5.4.3硬件支持和缺段处理131

5.4.4段的共享和保护132

5.5段页式存储管理134

5.5.1基本概念134

5.5.2地址转换135

5.5.3管理算法135

5.6虚拟内存的置换算法136

5.6.1先进先出页面置换算法136

5.6.2最佳页面置换算法137

5.6.3最近最少使用页面置换算法137

5.6.4第2次机会页面置换算法138

5.6.5时钟页面置换算法138

5.6.6其他页面置换算法139

5.7系统举例139

5.7.1UNIX系统中的存储管理技术139

5.7.2Linux系统中的存储管理技术143

5.7.3Windows NT系统中的存储管理技术144

小结145

习题146

第6章处理机调度148

6.1调度类型148

6.1.1长程调度150

6.1.2中程调度150

6.1.3短程调度150

6.2调度算法150

6.2.1短程调度标准150

6.2.2优先权的使用152

6.2.3调度策略152

6.2.4性能比较159

6.2.5模拟模型161

6.2.6公平分享调度策略161

6.3多处理机调度163

6.3.1粒度164

6.3.2设计要点165

6.3.3进程调度策略166

6.4实时调度169

6.4.1实时操作系统的特性170

6.4.2实时调度172

6.4.3期限调度173

6.4.4比率单调调度175

6.5响应时间177

6.6系统举例178

6.6.1UNIX System Ⅴ178

6.6.2Windows NT179

小结181

习题181

 第7章I/O设备管理183

7.1I/O系统硬件183

7.1.1I/O设备183

7.1.2设备控制器184

7.1.3I/O技术185

7.2I/O软件的层次结构189

7.2.1中断处理程序190

7.2.2设备驱动程序191

7.2.3与设备无关的I/O软件192

7.2.4用户空间的I/O软件193

7.2.5缓冲技术194

7.3磁盘调度198

7.3.1调度策略198

7.3.2磁盘高速缓存201

7.4系统举例203

7.4.1UNIX System Ⅴ203

7.4.2Windows NT I/O分析205

小结208

习题209

第8章文件管理211

8.1文件与文件系统211

8.1.1文件及其分类211

8.1.2文件系统及其功能212

8.2文件的结构及存取方式213

8.2.1文件的逻辑结构及存取方式214

8.2.2文件的物理结构及存储设备215

8.3文件目录结构与目录管理220

8.3.1文件目录结构220

8.3.2文件目录管理225

8.4文件存储空间的分配与管理226

8.4.1文件存储空间的分配226

8.4.2磁盘空间管理228

8.5系统举例——Windows NT230

8.5.1PE可移动执行的文件格式230

8.5.2PE文件首部232

8.5.3块表数据结构及辅助信息块234

小结238

习题 238

第9章分布计算239

9.1客户/服务器计算239

9.1.1什么是客户/服务器计算239

9.1.2客户/服务器模式的应用241

9.1.3中间件243

9.2分布式消息传递245

9.2.1分布式消息传递的方法245

9.2.2消息传递的可靠性246

9.3远程过程调用246

小结247

习题248

第10章分布式进程管理249

10.1进程迁移249

10.1.1进程迁移的动机249

10.1.2进程迁移机制249

10.1.3一种迁移方案251

10.1.4进程迁移的协商252

10.1.5进程驱逐253

10.1.6抢占及非抢占进程的迁移253

10.2分布式全局状态253

10.2.1全局状态及分布式快照253

10.2.2分布式快照算法255

10.3分布式进程管理——互斥256

10.3.1分布式互斥问题256

10.3.2分布式系统的事件定序——时戳方法258

10.3.3分布式互斥算法259

10.4分布式死锁263

10.4.1资源分配中的死锁263

10.4.2死锁预防264

10.4.3死锁避免265

10.4.4死锁检测265

10.4.5消息通信中的死锁268

小结270

习题270

第11章操作系统的安全性272

11.1安全性概述272

11.1.1安全性的内涵272

11.1.2操作系统的安全性273

11.1.3操作系统的安全性级别275

11.2安全保护机制276

11.2.1进程支持276

11.2.2内存及地址保护276

11.2.3存取控制279

11.2.4文件保护282

11.2.5用户身份鉴别284

11.3病毒及其防御286

11.3.1病毒概述286

11.3.2病毒的防御机制287

11.3.3特洛伊木马程序及其防御288

11.4加密技术289

11.4.1传统加密方法289

11.4.2公开密钥加密方法290

11.4.3密钥的管理291

11.5安全操作系统的设计293

11.5.1安全模型293

11.5.2安全操作系统的设计296

11.6系统举例——Windows 2000 的安全性分析299

小结301

习题301

第12章一个小型操作系统的实现303

12.1MINIX概述303

12.1.1MINIX的组成结构303

12.1.2头文件305

12.2进程307

12.2.1进程概述307

12.2.2进程的具体实现309

12.3I/O系统314

12.3.1I/O系统概述314

12.3.2设备驱动程序的实现316

12.4内存管理319

12.4.1内存管理概述319

12.4.2内存管理的实现322

12.5文件系统325

12.5.1文件系统概述325

12.5.2实现328

小结332

习题332

参考文献334第1章操作系统概论11.1操作系统的作用1

1.1.1硬件系统和应用程序间的界面1

1.1.2资源管理者2

1.1.3推动操作系统发展的因素2

1.2操作系统的演变3

1.2.1串行处理系统3

1.2.2简单批处理系统4

1.2.3多道程序批处理系统6

1.2.4分时系统8

1.2.5实时系统10

1.2.6网络操作系统11

1.2.7分布式操作系统11

1.2.8嵌入式操作系统12

1.3操作系统的主要成就13

1.3.1进程13

1.3.2存储器管理15

1.3.3信息保护和安全性16

1.3.4调度和资源管理17

1.3.5系统结构18

1.4操作系统举例20

1.4.1Windows NT20

1.4.2UNIX System V23

1.5操作系统的主要研究课题24

小结25

习题25

第2章进程描述与控制26

2.1进程状态26

2.1.1进程产生和终止27

2.1.2进程状态模型29

2.1.3进程挂起32

2.2进程描述36

2.2.1操作系统控制结构37

2.2.2进程控制结构37

2.2.3进程属性38

2.3进程控制40

2.3.1执行模式40

2.3.2进程创建41

2.3.3进程切换41

2.3.4上下文切换42

2.3.5操作系统的运行42

2.3.6微核44

2.4线程和SMP44

2.4.1线程及其管理44

2.4.2多线程的实现46

2.4.3进程与线程的关系47

2.4.4SMP48

2.5系统举例49

2.5.1UNIX System V49

2.5.2Windows NT52

2.5.3Linux56

小结57

习题58

第3章并发控制——互斥与同步61

3.1并发原理62

3.1.1进程间的相互作用64

3.1.2进程间的相互竞争65

3.1.3进程间的相互合作66

3.1.4互斥的要求67

3.2互斥——用软件方法实现68

3.2.1Dekker算法68

3.2.2Peterson算法72

3.3互斥——用硬件方法解决73

3.3.1禁止中断73

3.3.2使用机器指令73

3.4信号量75

3.4.1用信号量解决互斥问题77

3.4.2用信号量解决生产者/消费者问题78

3.4.3信号量的实现83

3.4.4用信号量解决理发店问题84

3.5管程87

3.5.1带信号量的管程87

3.5.2用管程解决生产者/消费者问题89

3.6消息传递90

3.6.1消息传递原语90

3.6.2用消息传递实现同步91

3.6.3寻址方式91

3.6.4消息格式92

3.6.5排队规则93

3.6.6用消息传递实现互斥93

3.7读者/写者问题95

3.7.1读者优先95

3.7.2写者优先96

3.8系统举例99

3.8.1UNIX System V99

3.8.2Windows NT101

小结102

习题103

第4章死锁处理105

4.1死锁问题概述105

4.1.1可重用资源105

4.1.2消耗型资源106

4.1.3产生死锁的条件107

4.2死锁处理108

4.2.1死锁预防108

4.2.2死锁避免109

4.2.3死锁检测113

4.2.4死锁恢复113

4.2.5处理死锁的综合方法114

4.3哲学家用餐问题114

小结116

习题116

第5章内存管理118

5.1概述118

5.1.1基本概念118

5.1.2虚拟存储器120

5.1.3重定位121

5.2存储管理的基本技术123

5.2.1分区法123

5.2.2可重定位分区法124

5.2.3覆盖技术125

5.2.4交换技术127

5.3分页存储管理127

5.3.1基本概念127

5.3.2纯分页系统130

5.3.3请求式分页系统131

5.3.4硬件支持及缺页处理132

5.3.5页的共享和保护133

5.4分段存储管理134

5.4.1基本概念134

5.4.2基本原理135

5.4.3硬件支持和缺段处理135

5.4.4段的共享和保护136

5.5段页式存储管理138

5.5.1基本概念138

5.5.2地址转换139

5.5.3管理算法140

5.6虚拟内存的置换算法140

5.6.1先进先出页面置换算法141

5.6.2最佳页面置换算法141

5.6.3最近最少使用页面置换算法141

5.6.4第2次机会页面置换算法142

5.6.5时钟页面置换算法143

5.6.6其他页面置换算法143

5.7系统举例144

5.7.1UNIX系统中的存储管理技术144

5.7.2Linux系统中的存储管理技术148

5.7.3Windows NT系统中的存储管理技术149

小结150

习题151

第6章处理机调度152

6.1调度类型152

6.1.1长程调度154

6.1.2中程调度154

6.1.3短程调度154

6.2调度算法154

6.2.1短程调度标准154

6.2.2优先权的使用156

6.2.3调度策略156

6.2.4性能比较164

6.2.5模拟模型165

6.2.6公平分享调度策略166

6.3多处理机调度167

6.3.1粒度168

6.3.2设计要点169

6.3.3进程调度策略170

6.4实时调度174

6.4.1实时操作系统的特性174

6.4.2实时调度177

6.4.3期限调度177

6.4.4比率单调调度180

6.5响应时间182

6.6系统举例183

6.6.1UNIX System V183

6.6.2Windows NT184

小结186

习题186

第7章I/O设备管理189

7.1I/O系统硬件189

7.1.1I/O设备189

7.1.2设备控制器190

7.1.3I/O技术191

7.2I/O软件的层次结构196

7.2.1中断处理程序196

7.2.2设备驱动程序197

7.2.3与设备无关的I/O软件198

7.2.4用户空间的I/O软件199

7.2.5缓冲技术201

7.3磁盘调度204

7.3.1调度策略205

7.3.2磁盘高速缓存208

7.4系统举例210

7.4.1UNIX System V210

7.4.2Windows NT I/O分析212

小结215

习题216

第8章文件管理218

8.1文件与文件系统218

8.1.1文件及其分类218

8.1.2文件系统及其功能219

8.2文件的结构及存取方式221

8.2.1文件的逻辑结构及存取方式221

8.2.2文件的物理结构及存储设备223

8.3文件管理228

8.3.1文件目录结构228

8.3.2文件目录管理233

8.4文件存储空间的分配与管理233

8.4.1文件存储空间的分配234

8.4.2磁盘空间管理235

8.5系统举例——Windows NT237

8.5.1PE可移动执行的文件格式238

8.5.2PE文件首部239

8.5.3块表数据结构及辅助信息块242

小结246

习题246

第9章分布计算247

9.1客户/服务器计算247

9.1.1什么是客户/服务器计算247

9.1.2客户/服务器模式的应用249

9.1.3中间件251

9.2分布式消息传递253

9.2.1分布式消息传递的方法253

9.2.2消息传递的可靠性254

9.3远程过程调用254

小结255

习题256

第10章分布式进程管理257

10.1进程迁移257

10.1.1进程迁移的原因257

10.1.2进程迁移的机制257

10.1.3一种迁移方案259

10.1.4进程迁移的协商260

10.1.5进程驱逐261

10.1.6抢占及非抢占进程的迁移261

10.2分布式全局状态262

10.2.1全局状态及分布式快照262

10.2.2分布式快照算法263

10.3分布式进程管理——互斥264

10.3.1分布式互斥问题265

10.3.2分布式系统的事件定序——时戳方法266

10.3.3分布式互斥算法268

10.4分布式死锁271

10.4.1资源分配中的死锁272

10.4.2死锁预防273

10.4.3死锁避免274

10.4.4死锁检测274

10.4.5消息通信中的死锁277

小结279

习题279

第11章操作系统的安全性281

11.1安全性概述281

11.1.1安全性的内涵281

11.1.2操作系统的安全性282

11.1.3操作系统的安全性级别284

11.2安全保护机制285

11.2.1进程支持285

11.2.2内存及地址保护286

11.2.3存取控制288

11.2.4文件保护292

11.2.5用户身份鉴别293

11.3病毒及其防御296

11.3.1病毒概述296

11.3.2病毒的防御机制297

11.3.3特洛伊木马程序及其防御298

11.4加密技术298

11.4.1传统加密方法299

11.4.2公开密钥加密方法300

11.4.3密钥的管理301

11.5安全操作系统的设计302

11.5.1安全模型303

11.5.2安全操作系统的设计305

11.6系统举例——Windows 2000的安全性分析308

小结310

习题311

第12章一个小型操作系统的实现312

12.1MINIX概述312

12.1.1MINIX的组成结构312

12.1.2头文件315

12.2进程317

12.2.1进程概述317

12.2.2进程的具体实现318

12.3I/O系统324

12.3.1I/O系统概述324

12.3.2设备驱动程序的实现325

12.4内存管理329

12.4.1内存管理概述329

12.4.2内在管理的实现332

12.5文件系统335

12.5.1文件系统概述335

12.5.2实现338

小结342

习题342

参考文献344