当前位置:首页 > 工业技术
操作系统  内核与设计原理
操作系统  内核与设计原理

操作系统 内核与设计原理PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:(美)William Stallings著;魏迎梅,王涌等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2001
  • ISBN:7505367285
  • 页数:588 页
图书介绍:操作系统是计算机系统的核心系统软件,负责控制和管理整个系统,使之协调工作。本书不仅全面系统地讲述了操作系统的基本概念、原理和方法,而且以当代最流行的两个操作系统:Windows2000和UNIX为例,全面清楚地展现了当代操作系统的本质和特点,使本书的内容具有先进性和适应性。本书既注重对操作系统的经典内容的论述,又紧密联系当代流行的设计问题以及当前操作系统的发展方向,可作为大学计算机专业或计算机应用相关专业的本科生教材和参考书,也可供从事计算机方向研究的专业技术人员使用。读者指南
《操作系统 内核与设计原理》目录

读者指南 1

第一部分 背景 5

第1章 计算机系统概述 6

1.1基本构成 6

1.2处理器寄存器 6

1.2.1用户可见寄存器 7

1.2.2控制和状态寄存器 8

1.3指令的执行 9

1.3.1取指令和执行指令 9

1.3.2 I/O函数 11

1.4中断 12

1.4.1中断和指令周期 13

1.4.2中断处理 15

1.4.3多个中断 17

1.4.4多道程序 19

1.5存储器的层次结构 19

1.6高速缓冲存储器 22

1.6.1动机 22

1.6.2 cache原理 22

1.6.3 cache设计 24

1.7 I/O通信技术 25

1.7.1程序控制I/O 25

1.7.2中断驱动I/O 26

1.7.3直接存储器存取 27

1.8推荐读物 28

1.9习题 28

附录1A两级存储器的性能特征 30

附录1B过程控制 35

第2章 操作系统概述 39

2.1操作系统的目标和功能 39

2.1.1操作系统作为用户/计算机接口 39

2.1.2操作系统作为资源管理器 40

2.1.3操作系统的易扩展性 42

2.2操作系统的发展 42

2.2.1串行处理 42

2.2.2简单批处理系统 43

2.2.3多道程序批处理系统 45

2.2.4分时系统 48

2.3主要的成就 49

2.3.1进程 50

2.3.2存储器管理 52

2.3.3信息保护和安全 53

2.3.4调度和资源管理 55

2.3.5系统结构 56

2.4现代操作系统的特征 58

2.5 Windows 2000概述 61

2.5.1历史 61

2.5.2单用户多任务 62

2.5.3客户/服务器模型 65

2.5.4线程和SMP 66

2.5.5 Windows 2000对象 66

2.6传统的UNIX系统 68

2.6.1历史 68

2.6.2描述 69

2.7现代UNIX系统 70

2.7.1系统V版本4(SVR4) 71

2.7.2 Solaris 2.x 71

2.7.3 4.4BSD 72

2.7.4 Linux 72

2.8推荐读物 74

2.9习题 75

第二部分 进程 77

第3章 进程描述和控制 79

3.1进程状态 79

3.1.1两状态进程模型 82

3.1.2进程的创建和终止 82

3.1.3五状态模型 84

3.1.4被挂起的进程 87

3.2进程描述 91

3.2.1操作系统的控制结构 91

3.2.2进程控制结构 93

3.3进程控制 98

3.3.1执行模式 98

3.3.2进程创建 98

3.3.3进程切换 99

3.3.4操作系统的执行 101

3.4 UNIX SVR4进程管理 103

3.4.1进程状态 104

3.4.2进程描述 105

3.4.3进程控制 107

3.5小结、关键术语和复习题 107

3.5.1关键术语 107

3.5.2复习题 108

3.6推荐读物 108

3.7习题 108

第4章 线程、对称多处理(SMP)和微内核 111

4.1进程和线程 111

4.1.1多线程 111

4.1.2线程功能特性 114

4.1.3例子——Adobe PageMaker 116

4.1.4用户级和内核级线程 117

4.1.5其他方案 121

4.2对称多处理 122

4.2.1 SMP体系结构 122

4.2.2 SMP组织结构 124

4.2.3多处理器操作系统的设计 125

4.3微内核 125

4.3.1微内核体系结构 125

4.3.2微内核组织结构的优点 127

4.3.3微内核性能 128

4.3.4微内核设计 128

4.4 Windows 2000的线程和SMP管理 130

4.4.1进程对象和线程对象 130

4.4.2多线程 132

4.4.3线程状态 133

4.4.4 OS子系统的支持 134

4.4.5对称多处理的支持 134

4.5 Solaris的线程和SMP管理 134

4.5.1多线程体系结构 134

4.5.2动机 136

4.5.3进程结构 136

4.5.4线程的执行 137

4.5.5把中断当作线程 138

4.6 Linux的进程和线程管理 139

4.6.1 Linux进程 139

4.6.2 Linux线程 141

4.7小结 141

4.7.1关键术语 141

4.7.2复习题 141

4.8推荐读物 142

4.9习题 142

第5章 并发性:互斥和同步 145

5.1并发的原理 146

5.1.1一个简单的例子 146

5.1.2操作系统关注的问题 148

5.1.3进程的交互 148

5.1.4互斥的要求 151

5.2互斥:软件的方法 152

5.2.1 Dekker算法 152

5.2.2 Peterson算法 155

5.3互斥:硬件的支持 156

5.3.1中断禁用 156

5.3.2专门的机器指令 157

5.4信号量 159

5.4.1互斥 160

5.4.2生产者/消费者问题 162

5.4.3信号量的实现 168

5.4.4理发店问题 169

5.5管程 173

5.5.1使用信号的管程 173

5.5.2使用通知和广播的管程 176

5.6消息传递 178

5.6.1同步 178

5.6.2寻址 180

5.6.3消息格式 181

5.6.4排队原则 181

5.6.5互斥 181

5.7读/写问题 183

5.7.1读进程具有优先权 184

5.7.2写进程具有优先权 185

5.8小结、关键术语和复习题 187

5.8.1关键术语 188

5.8.2复习题 188

5.9推荐读物 188

5.10习题 189

第6章 并发性:死锁和饿死 198

6.1死锁原理 198

6.1.1可重用资源 201

6.1.2可消费资源 202

6.1.3死锁的条件 203

6.2死锁预防 204

6.2.1互斥 204

6.2.2占有和等待 204

6.2.3非剥夺 204

6.2.4循环等待 204

6.3死锁避免 205

6.3.1进程启动拒绝 205

6.3.2资源分配拒绝 206

6.4死锁检测 209

6.4.1死锁检测算法 209

6.4.2恢复 210

6.5一种综合的死锁策略 210

6.6哲学家就餐问题 211

6.7 UNIX的并发机制 213

6.7.1管道 213

6.7.2消息 214

6.7.3共享存储区 214

6.7.4信号量 214

6.7.5信号 215

6.8 Solaris线程同步原语 215

6.8.1互斥锁 216

6.8.2信号量 217

6.8.3 Reader/Writer锁 217

6.8.4条件变量 217

6.9 Windows 2000的并发机制 218

6.10小结、关键术语和复习题 219

6.10.1关键术语 219

6.10.2复习题 219

6.11推荐读物 219

6.12习题 220

第三部分 存储器 225

第7章 存储器管理 226

7.1存储器管理需求 226

7.1.1重定位 226

7.1.2保护 227

7.1.3共享 227

7.1.4逻辑组织 228

7.1.5物理组织 228

7.2存储器分区 228

7.2.1固定分区 228

7.2.2动态分区 231

7.2.3伙伴系统 234

7.2.4重定位 236

7.3分页 236

7.4分段 240

7.5小结、关键术语和复习题 241

7.5.1关键术语 241

7.5.2复习题 242

7.6推荐读物 242

7.7习题 242

附录7A加载和链接 244

第8章 虚拟存储器 249

8.1硬件和控制结构 249

8.1.1局部性和虚拟存储器 250

8.1.2分页 252

8.1.3分段 260

8.1.4分段和分页的组合 261

8.1.5保护和共享 262

8.2操作系统软件 263

8.2.1取策略 264

8.2.2放置策略 265

8.2.3替换策略 265

8.2.4驻留集管理 271

8.2.5清除策略 275

8.2.6加载控制 276

8.3 UNIX和Solaris存储器管理 277

8.3.1分页系统 277

8.3.2内核存储分配器 280

8.4 Linux存储器管理 281

8.4.1 Linux虚存 282

8.4.2内核存储器分配 282

8.5 Windows 2000存储器管理 283

8.5.1 W2K虚地址映射 283

8.5.2 W2K页面调度 284

8.6小结、关键术语和复习题 284

8.6.1关键术语 285

8.6.2复习题 285

8.7推荐读物 285

8.8习题 286

附录8A散列表 289

第四部分 调度 293

第9章 单处理器调度 294

9.1处理器调度的类型 294

9.1.1长程调度 296

9.1.2中程调度 297

9.1.3短程调度 297

9.2调度算法 297

9.2.1短程调度准则 297

9.2.2优先级的使用 298

9.2.3选择调度策略 299

9.2.4性能比较 309

9.2.5公平共享调度 312

9.3传统的UNIX调度 316

9.4小结、关键术语和复习题 317

9.4.1关键术语 318

9.4.2复习题 318

9.5推荐读物 318

9.6习题 319

附录9A响应时间 321

附录9B排队系统 324

第10章 多处理器和实时调度 327

10.1多处理器调度 327

10.1.1粒度 327

10.1.2设计问题 328

10.1.3进程调度 330

10.1.4线程调度 330

10.2实时调度 336

10.2.1背景 336

10.2.2实时操作系统的特点 336

10.2.3实时调度 338

10.2.4限期调度 340

10.2.5速率单调调度 343

10.3 Linux调度 345

10.4 UNIX SVR4调度 346

10.5 Windows 2000的调度 347

10.5.1进程和线程优先级 348

10.5.2多处理器调度 349

10.6小结、关键术语和复习题 350

10.6.1关键术语 350

10.6.2复习题 350

10.7推荐读物 350

10.8习题 351

第五部分 输入/输出和文件 353

第11章 输入/输出管理和磁盘调度 354

11.1输入/输出设备 354

11.2输入/输出功能的组织 355

11.2.1输入/输出功能的发展 355

11.2.2直接存储器访问 356

11.3操作系统设计问题 359

11.3.1设计目标 359

11.3.2输入/输出功能的逻辑结构 359

11.4输入/输出缓冲 361

11.4.1单缓冲区 361

11.4.2双缓冲 363

11.4.3循环缓冲 363

11.4.4缓冲的用处 363

11.5磁盘调度 363

11.5.1磁盘性能参数 364

11.5.2磁盘调度策略 366

11.6 RAID 369

11.6.1 RAID第0层 370

11.6.2 RAID第1层 373

11.6.3 RAID第2层 374

11.6.4 RAID第3层 374

11.6.5 RAID第4层 375

11.6.6 RAID第5层 375

11.6.7 RAID第6层 375

11.7磁盘高速缓冲 376

11.7.1设计考虑 376

11.7.2性能考虑 378

11.8 UNIX SVR4输入/输出 378

11.8.1缓冲区高速缓冲 379

11.8.2字符队列 381

11.8.3无缓冲输入/输出 381

11.8.4 UNIX设备 381

11.9 Windows 2000输入/输出 382

11.9.1基本输入/输出模块 382

11.9.2异步I/O和同步I/O 382

11.9.3软件RAID 383

11.10小结、关键术语和复习题 383

11.10.1关键术语 384

11.10.2复习题 384

11.11推荐读物 384

11.12习题 386

附录11A磁盘存储设备 387

第12章 文件管理 395

12.1概述 395

12.1.1文件 395

12.1.2文件管理系统 396

12.2文件组织和访问 399

12.2.1堆 401

12.2.2顺序文件 401

12.2.3索引顺序文件 401

12.2.4索引文件 402

12.2.5直接文件(或散列文件) 402

12.3文件目录 403

12.3.1内容 403

12.3.2结构 403

12.3.3命名 405

12.4文件共享 406

12.4.1访问权限 406

12.4.2同时访问 407

12.5记录组块 407

12.6 辅存管理 408

12.6.1文件分配 409

12.6.2自由空间的管理 413

12.6.3可靠性 415

12.7 UNIX文件管理 415

12.7.1索引节点 416

12.7.2文件分配 416

12.8 Windows 2000的文件系统 418

12.8.1 NTFS的重要特征 418

12.8.2 NTFS卷和文件结构 419

12.8.3可恢复性 420

12.9小结、关键术语和复习题 422

12.9.1关键术语 422

12.9.2复习题 422

12.10推荐读物 423

12.11习题 423

第六部分 分布式系统 425

第13章 分布式处理、客户/服务器和集群 427

13.1客户/服务器计算 428

13.1.1什么是客户/服务器计算 428

13.1.2客户/服务器应用 429

13.1.3中间件 435

13.2分布式消息传递 437

13.2.1可靠性与不可靠性 439

13.2.2阻塞与无阻塞 439

13.3远程过程调用 440

13.3.1参数传递 441

13.3.2参数表示 441

13.3.3客户/服务器绑定 441

13.3.4同步和异步 441

13.3.5面向对象机制 442

13.4集群 442

13.4.1集群的配置 443

13.4.2操作系统的设计问题 444

13.4.3集群计算机的体系结构 445

13.4.4集群与SMP 447

13.5 Windows 2000集群服务器 447

13.6 Sun集群 449

13.6.1对象和通信支持 449

13.6.2进程管理 449

13.6.3网络连接 450

13.6.4全局文件系统 450

13.7 Beowulf和Linux集群 451

13.7.1 Beowulf特征 451

13.7.2 Beowulf软件 452

13.8小结、关键术语和复习题 452

13.8.1关键术语 453

13.8.2复习题 453

13.9推荐读物 453

13.10习题 454

第14章 分布式进程管理 456

14.1进程迁移 456

14.1.1动机 456

14.1.2进程迁移机制 456

14.1.3迁移协商 459

14.1.4赶出 461

14.1.5剥夺式转移和非剥夺式转移 461

14.2分布式全局状态 461

14.2.1全局状态和分布式瞬像 461

14.2.2分布式瞬像算法 464

14.3分布式互斥 465

14.3.1分布式互斥概念 465

14.3.2分布式系统中的事件排序 467

14.3.3分布式队列 470

14.3.4令牌传递方法 473

14.4分布式死锁 473

14.4.1资源分配中的死锁 473

14.4.2消息通信中的死锁 479

14.5小结、关键术语和复习题 482

14.5.1关键术语 482

14.5.2复习题 482

14.6推荐读物 483

14.7习题 483

第七部分 安全 485

第15章 安全 486

15.1安全威胁 486

15.1.1威胁的类型 487

15.1.2计算机系统资产 487

15.2保护 490

15.2.1存储器的保护 490

15.2.2面向用户的访问控制 491

15.2.3面向数据的访问控制 491

15.3入侵者 493

15.3.1入侵技术 493

15.3.2口令保护 494

15.3.3口令选择策略 498

15.3.4入侵检测 500

15.4恶意软件 502

15.4.1恶意程序 502

15.4.2病毒的本质 505

15.4.3病毒的类型 506

15.4.4宏病毒 506

15.4.5反病毒方法 507

15.4.6电子邮件病毒 509

15.5可信系统 510

15.5.1特洛伊木马的防范 512

15.6 Windows 2000的安全机制 513

15.6.1访问控制方案 513

15.6.2访问令牌 514

15.6.3安全描述符 514

15.7小结、关键术语和复习题 517

15.7.1关键术语 517

15.7.2复习题 517

15.8推荐读物 518

15.9习题 519

附录15A加密 520

附录A TCP/IP 526

附录B 面向对象设计 533

附录C 程序设计与操作系统项目 540

附录D OSP:一个操作系统项目的环境 543

附录EBACI:Ben-Ari并发程序设计系统 548

术语表 558

参考文献 571

缩略语 588

返回顶部