《操作系统:设计与实现 上》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)(A.S.塔嫩鲍姆)Andrew S. Tanenbaum,(美)(A.S.伍德赫尔)Albert S.Woodhull著;王鹏等译校
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1998
  • ISBN:7505347748
  • 页数:389 页
图书介绍:操作系统:设计与实现,ISBN:9787505347748,作者:(美)[A.S.塔嫩鲍姆]Andrew S. Tanenbaum,(美)[A.S.伍德赫尔]Albert S.Woodhull著;王鹏等译;王鹏译

第1章 引言 1

1.1什么是操作系统 2

1.1.1操作系统作为虚拟机 2

1.1.2操作系统作为资源管理器 3

1.2操作系统发展历史 3

1.2.1第一代计算机(1945~1955):真空管和插板 3

1.2.2第二代计算机(1955~1965):晶体管和批处理系统 4

1.2.3第三代计算机(1965~1980):集成电路芯片和多道程序 5

1.2.4第四代计算机(1980~现在):个人计算机 8

1.2.5MINIX的历史 9

1.3操作系统基本概念 10

1.3.1进程 10

1.3.2文件 12

1.3.3外壳(shell) 14

1.4系统调用 15

1.4.1进程管理系统调用 17

1.4.2信号管理系统调用 19

1.4.3文件管理系统调用 20

1.4.4目录管理系统调用 24

1.4.5保护系统调用 26

1.4.6时间管理系统调用 27

1.5操作系统结构 27

1.5.1整体式系统 27

1.5.2层次式系统 28

1.5.3虚拟机系统 29

1.5.4客户/服务器系统 31

1.6各章内容简介 32

小结 33

习题 33

第2章 进程 35

2.1进程介绍 35

2.1.1进程模型 35

2.1.2进程的实现 38

2.1.3线程 40

2.2进程间通信 42

2.2.1竞争条件 42

2.2.2临界区 43

2.2.3忙等待的互斥 44

2.2.4睡眠和唤醒 47

2.2.5信号量 49

2.2.6管程 51

2.2.7消息传递 54

2.3经典IPC问题 56

2.3.1哲学家进餐问题 56

2.3.2读者-写者问题 59

2.3.3理发师睡觉问题 60

2.4进程调度 61

2.4.1时间片轮转调度 63

2.4.2优先级调度 64

2.4.3多重队列 65

2.4.4最短作业优先 66

2.4.5保证调度算法 67

2.4.6彩票调度算法 67

2.4.7实时调度 68

2.4.8两级调度法 69

2.4.9策略与机制 69

2.5MINIX进程概述 70

2.5.1MINIX的内部结构 70

2.5.2MINIX中的进程管理 71

2.5.3MINIX中的进程间通信 73

2.5.4MINIX中的进程调度 73

2.6MINIX中进程的实现 74

2.6.1MINIX源代码的组织 74

2.6.2公共头文件 76

2.6.3MINIX头文件 80

2.6.4进程数据结构和头文件 84

2.6.5引导MINIX 90

2.6.6系统初始化 92

2.6.7MINIX的中断处理 96

2.6.8MINIX的进程间通信 103

2.6.9MINIX的进程调度 105

2.6.10与硬件相关的核心支持 106

2.6.11公用程序和核心库 109

小结 111

习题 111

第3章 输入/输出系统 115

3.1I/O硬件原理 115

3.1.1I/O设备 115

3.1.2设备控制器 116

3.1.3存储器直接存取(DMA) 118

3.2I/O软件原理 119

3.2.1I/O软件的目标 119

3.2.2中断处理程序 120

3.2.3设备驱动程序 121

3.2.4与硬件无关的I/O软件 121

3.2.5用户空间的I/O软件 123

3.3死锁 124

3.3.1资源 124

3.3.2死锁原理 125

3.3.3鸵鸟算法 128

3.3.4死锁检测和恢复 128

3.3.5死锁预防 129

3.3.6死锁避免 130

3.4MINIX I/O系统概述 134

3.4.1MINIX的中断处理程序 134

3.4.2MINIX的设备驱动程序 135

3.4.3MINIX中与设备无关的I/O软件 138

3.4.4MINIX中用户级I/O软件 138

3.4.5MINIX的死锁处理 138

3.5MINIX中的块设备 139

3.5.1MINIX中块设备驱动程序概述 139

3.5.2公用块设备驱动程序软件 141

3.5.3驱动程序库 143

3.6RAM盘 145

3.6.1RAM盘硬件和软件 145

3.6.2MINIX中的RAM盘驱动程序概述 146

3.6.3MINIX中的RAM盘驱动程序实现 147

3.7磁盘 148

3.7.1磁盘硬件 148

3.7.2磁盘软件 150

3.7.3MINIX中的硬盘驱动程序概述 154

3.7.4MINIX中的硬盘驱动程序实现 157

3.7.5软盘处理 163

3.8时钟 165

3.8.1时钟硬件 165

3.8.2时钟软件 166

3.8.3MINIX时钟驱动程序概述 168

3.8.4MINIX时钟驱动程序的实现 171

3.9终端 174

3.9.1终端硬件 174

3.9.2终端软件 178

3.9.3MINIX中终端驱动程序概述 184

3.9.4设备无关终端驱动程序的实现 196

3.9.5键盘驱动程序的实现 210

3.9.6显示驱动程序的实现 214

3.10MINIX中的系统任务 220

小结 226

习题 227

第4章 存储器管理 231

4.1基本的内存管理 231

4.1.1没有交换和分页的单道程序 231

4.1.2固定分区的多道程序 232

4.2交换 234

4.2.1使用位图的内存管理 236

4.2.2使用链表的内存管理 236

4.3虚拟存储器 238

4.3.1分页 238

4.3.2页表 241

4.3.3TLBs——翻译后援存储器 244

4.3.4逆向页表 246

4.4页面替换算法 247

4.4.1最优页面替换算法 247

4.4.2最近未使用页面替换算法 248

4.4.3先进先出页面替换算法 248

4.4.4第二次机会页面替换算法 249

4.4.5时钟页面替换算法 249

4.4.6最久未使用页面替换算法 250

4.4.7用软件模拟LRU 250

4.5分页系统中的设计问题 252

4.5.1工作集模型 252

4.5.2局部与全局分配策略 253

4.5.3页面大小 255

4.5.4虚拟存储器界面 256

4.6分段 257

4.6.1纯分段系统的实现 259

4.6.2分段和分页结合:MULTICS 260

4.6.3分段和分页结合:Intel的Pentium 262

4.7MINIX内存管理概览 267

4.7.1内存布局 267

4.7.2消息处理 270

4.7.3内存管理器数据结构和算法 271

4.7.4FORK,EXIT和WAIT系统调用 274

4.7.5EXEC系统调用 275

4.7.6BRK系统调用 278

4.7.7信号处理 278

4.7.8其他系统调用 283

4.8MINIX中内存管理的实现 283

4.8.1头文件和数据结构 283

4.8.2主程序 285

4.8.3FORK,EXIT和WAIT的实现 286

4.8.4EXEC的实现 288

4.8.5BRK的实现 289

4.8.6信号处理的实现 289

4.8.7其他系统调用的实现 294

4.8.8内存管理器工具 295

小结 296

习题 297

第5章 文件系统 300

5.1文件 300

5.1.1文件命名 301

5.1.2文件结构 302

5.1.3文件类型 303

5.1.4文件存取 304

5.1.5文件属性 305

5.1.6文件操作 306

5.2目录 307

5.2.1层次目录系统 307

5.2.2路径名 308

5.2.3目录操作 309

5.3文件系统的实现 311

5.3.1实现文件 311

5.3.2实现目录 313

5.3.3磁盘空间管理 316

5.3.4文件系统的可靠性 318

5.3.5文件系统性能 321

5.3.6日志结构的文件系统 323

5.4安全性 325

5.4.1安全环境 325

5.4.2著名的安全缺陷 326

5.4.3一般的安全性攻击 329

5.4.4安全性的设计原则 330

5.4.5用户验证 331

5.5保护机制 334

5.5.1保护域 334

5.5.2存取控制表 336

5.5.3权限 336

5.5.4隐藏通道 337

5.6MINIX文件系统概述 339

5.6.1消息 339

5.6.2文件系统布局 341

5.6.3位图 343

5.6.4i-节点 344

5.6.5块高速缓存 346

5.6.6目录和路径 347

5.6.7文件描述符 348

5.6.8文件锁 350

5.6.9管道和设备文件 350

5.6.10一个例子:READ系统调用 351

5.7MINIX文件系统的实现 352

5.7.1头文件和全局变量 352

5.7.2表的管理 355

5.7.3主程序 362

5.7.4对单个文件的操作 363

5.7.5目录和路径 370

5.7.6其他系统调用 373

5.7.7I/O设备界面 376

5.7.8一般的实用程序 377

小结 378

习题 378

第6章 阅读材料和参考文献 381

6.1推荐的进一步阅读材料 381

6.1.1介绍和概论 381

6.1.2进程 382

6.1.3输入/输出 383

6.1.4存储器管理 383

6.1.5文件系统 384

6.2按字母排序的参考文献 384