网站颜色:

官方正版 操作系统——精髓与设计原理(第炬)国外计算机科学教材系列 美William Stallings本研教材书籍 电子工业出版社.

  • 产品名称:操作系统——精髓与设计原...
  • 书名:操作系统——精髓与设计原理(第炬)
  • 作者:(美)WilliamStallings(威廉.斯托林斯)
  • 译者:陈向群
  • 定价:89.00元
  • 书名:操作系统——精髓与设计原理(第炬)
  • 开本:16开
  • 是否是套装:否
  • 出版社名称:电子工业出版社


内容介绍

本书既守于操作系统概念、结构和机制的教材,目的是尽可能清楚和全面地展示现代操作系统的本质和特点;也是讲解操作系统的经典教材,不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代*流行的操作系统Windows 10、UNIX、Android、Linux为例,展现了当代操作系统的本质和特点。全书共分背景知识、进程、内存、调度、输入/输出和文件、嵌入式系统六部分,内容包括计算机系统概述、操作系统概述、进程描述和控制、线程、并发性:互斥和同步、并发:死锁和饥饿、内存管理、虚拟内存、单处理器调度、多处理器和实时调度、I/O管理和磁盘调度、文件管理、嵌入式操作系统、虚拟机、计算机安全技术、云操作系统和IoT操作系统等。此外,本书配套网站提供了及时、生动的材料。
目录

**部分 背景知识

第1章 计算机系统概述 2
1.1 基本构成 2
1.2 微处理器的发展 3
1.3 指令的执行 4
1.4 中断 6
1.4.1 中断和指令周期 7
1.4.2 中断处理 8
1.4.3 多个中断 10
1.5 存储器的层次结构 11
1.6 高速缓存 13
1.6.1 动机 13
1.6.2 高速缓存原理 13
1.6.3 高速缓存设计 15
1.7 直接内存存取 15
1.8 多处理器和多核计算机组织结构 16
1.8.1 对称多处理器 16
1.8.2 多核计算机 17
1.9 关键术语、复习题和习题 19
1.9.1 关键术语 19
1.9.2 复习题 19
1.9.3 习题 19
附录1A 两级存储器的性能特征 21
第2章 操作系统概述 26
2.1 操作系统的目标和功能 26
2.1.1 作为用户/计算机接口的
操作系统 26
2.1.2 作为资源管理器的操作系统 27
2.1.3 操作系统的易扩展性 28
2.2 操作系统的演化 29
2.2.1 串行处理 29
2.2.2 简单批处理系统 29
2.2.3 多道批处理系统 31
2.2.4 分时系统 33
2.3 主要成就 34
2.3.1 进程 34
2.3.2 内存管理 36
2.3.3 信息保护和安全 37
2.3.4 调度和资源管理 38
2.4 现代操作系统的特征 39
2.5 容错性 40
2.5.1 基本概念 41
2.5.2 错误 41
2.5.3 操作系统机制 42
2.6 多处理器和多核操作系统设计
考虑因素 42
2.6.1 对称多处理器操作系统设计
考虑因素 42
2.6.2 多核操作系统设计考虑因素 43
2.7 微软Windows系统简介 44
2.7.1 背景 44
2.7.2 体系结构 44
2.7.3 客户-服务器模型 46
2.7.4 线程和SMP 47
2.7.5 Windows对象 47
2.8 传统的UNIX系统 48
2.8.1 历史 48
2.8.2 描述 49
2.9 现代UNIX系统 50
2.9.1 System V Release 4(SVR4) 51
2.9.2 BSD 51
2.9.3 Solaris (咨询特价)
2.10 Linux操作系统 51
2.10.1 历史 51
2.10.2 模块结构 52
2.10.3 内核组件 53
2.11 Android 55
2.11.1 Android软件体系结构 56
2.11.2 Android运行时 57
2.11.3 Android系统体系结构 59
2.11.4 活动 60
2.11.5 电源管理 60
2.12 关键术语、复习题和习题 60
2.12.1 关键术语 60
2.12.2 复习题 61
2.12.3 习题 61

第二部分 进程

第3章 进程描述和控制 64
3.1 什么是进程 64
3.1.1 背景 64
3.1.2 进程和进程控制块 65
3.2 进程状态 66
3.2.1 两状态进程模型 67
3.2.2 进程的创建和终止 68
3.2.3 五状态模型 69
3.2.4 被挂起的进程 71
3.3 进程描述 74
3.3.1 操作系统的控制结构 75
3.3.2 进程控制结构 75
3.4 进程控制 79
3.4.1 执行模式 79
3.4.2 进程创建 80
3.4.3 进程切换 81
3.5 操作系统的执行 82
3.5.1 无进程内核 82
3.5.2 在用户进程内运行 83
3.5.3 基于进程的操作系统 84
3.6 UNIX SVR4进程管理 84
3.6.1 进程状态 84
3.6.2 进程描述 85
3.6.3 进程控制 87
3.7 小结 87
3.8 关键术语、复习题和习题 88
3.8.1 关键术语 88
3.8.2 复习题 88
3.8.3 习题 88
第4章 线程 91
4.1 进程和线程 91
4.1.1 多线程 91
4.1.2 线程的功能 93
4.2 线程分类 95
4.2.1 用户级和内核级线程 95
4.2.2 其他方案 97
4.3 多核和多线程 99
4.3.1 多核系统上的软件性能 99
4.3.2 应用示例:Valve游戏软件 100
4.4 Windows的进程和线程管理 101
4.4.1 后台任务管理和应用
周期 102
4.4.2 Windows进程 103
4.4.3 进程对象和线程对象 103
4.4.4 多线程 104
4.4.5 线程状态 104
4.4.6 对操作系统子系统的支持 105
4.5 Solaris的线程和SMP管理 106
4.5.1 多线程体系结构 106
4.5.2 动机 106
4.5.3 进程结构 107
4.5.4 线程的执行 108
4.5.5 把中断当作线程 108
4.6 Linux的进程和线程管理 109
4.6.1 Linux任务 109
4.6.2 Linux线程 110
4.6.3 Linux命名空间 111
4.7 Android的进程和线程管理 112
4.7.1 安卓应用 112
4.7.2 活动 113
4.7.3 进程和线程 114
4.8 Mac OS X的GCD技术 114
4.9 小结 116
4.10 关键术语、复习题和习题 116
4.10.1 关键术语 116
4.10.2 复习题 116
4.10.3 习题 117
第5章 并发:互斥和同步 121
5.1 互斥:软件解决方法 122
5.1.1 Dekker算法 122
5.1.2 Peterson算法 125
5.2 并发的原理 126
5.2.1 一个简单的例子 127
5.2.2 竞争条件 128
5.2.3 操作系统关注的问题 128
5.2.4 进程的交互 128
5.2.5 互斥的要求 131
5.3 互斥:硬件的支持 131
5.3.1 中断禁用 131
5.3.2 专用机器指令 132
5.4 信号量 133
5.4.1 互斥 136
5.4.2 生产者/消费者问题 137
5.4.3 信号量的实现 142
5.5 管程 142
5.5.1 使用信号的管程 142
5.5.2 使用通知和广播的管程 145
5.6 消息传递 146
5.6.1 同步 147
5.6.2 寻址 148
5.6.3 消息格式 149
5.6.4 排队原则 149
5.6.5 互斥 149
5.7 读者/写者问题 150
5.7.1 读者优先 151
5.7.2 写者优先 152
5.8 小结 154
5.9 关键术语、复习题和习题 154
5.9.1 关键术语 154
5.9.2 复习题 154
5.9.3 习题 155
第6章 并发:死锁和饥饿 164
6.1 死锁原理 164
6.1.1 可重用资源 167
6.1.2 可消耗资源 167
6.1.3 资源分配图 168
6.1.4 死锁的条件 169
6.2 死锁预防 169
6.2.1 互斥 170
6.2.2 占有且等待 170
6.2.3 不可抢占 170
6.2.4 循环等待 170
6.3 死锁避免 170
6.3.1 进程启动拒绝 171
6.3.2 资源分配拒绝 171
6.4 死锁检测 174
6.4.1 死锁检测算法 174
6.4.2 恢复 175
6.5 一种综合的死锁策略 175
6.6 哲学家就餐问题 176
6.6.1 基于信号量的解决方案 177
6.6.2 基于管程的解决方案 178
6.7 UNIX并发机制 178
6.7.1 管道 179
6.7.2 消息 179
6.7.3 共享内存 179
6.7.4 信号量 179
6.7.5 信号 180
6.8 Linux内核并发机制 180
6.8.1 原子操作 181
6.8.2 自旋锁 182
6.8.3 信号量 183
6.8.4 屏障 184
6.9 Solaris线程同步原语 185
6.9.1 互斥锁 186
6.9.2 信号量 186
6.9.3 多读者/单写者锁 186
6.9.4 条件变量 187
6.10 Windows的并发机制 187
6.10.1 等待函数 187
6.10.2 分派器对象 187
6.10.3 临界区 188
6.10.4 轻量级读写锁和条件变量 188
6.10.5 锁无关同步机制 189
6.11 Android进程间通信 189
6.12 小结 190
6.13 关键术语、复习题和习题 190
6.13.1 关键术语 190
6.13.2 复习题 190
6.13.3 习题 191

第三部分 内存

第7章 内存管理 196
7.1 内存管理的需求 196
7.1.1 重定位 196
7.1.2 保护 197
7.1.3 共享 197
7.1.4 逻辑组织 197
7.1.5 物理组织 198
7.2 内存分区 198
7.2.1 固定分区 198
7.2.2 动态分区 200
7.2.3 伙伴系统 202
7.2.4 重定位 203
7.3 分页 204
7.4 分段 206
7.5 小结 207
7.6 关键术语、复习题和习题 207
7.6.1 关键术语 207
7.6.2 复习题 208
7.6.3 习题 208
附录7A 加载和链接 210
第8章 虚拟内存 214
8.1 硬件和控制结构 214
8.1.1 局部性和虚拟内存 215
8.1.2 分页 216
8.1.3 分段 222
8.1.4 段页式 223
8.1.5 保护和共享 224
8.2 操作系统软件 224
8.2.1 读取策略 225
8.2.2 放置策略 226
8.2.3 置换策略 226
8.2.4 驻留集管理 230
8.2.5 清除策略 234
8.2.6 加载控制 234
8.3 UNIX和Solaris内存管理 235
8.3.1 分页系统 235
8.3.2 内核内存分配器 237
8.4 Linux内存管理 238
8.4.1 虚拟内存 239
8.4.2 内核内存分配 240
8.5 Windows内存管理 240
8.5.1 Windows虚拟地址映射 241
8.5.2 Windows分页 241
8.5.3 Windows交换 242
8.6 Android内存管理 242
8.7 小结 242
8.8 关键术语、复习题和习题 243
8.8.1 关键术语 243
8.8.2 复习题 243
8.8.3 习题 243

第四部分 调度

第9章 单处理器调度 248
9.1 处理器调度的类型 248
9.1.1 长程调度 249
9.1.2 中程调度 250
9.1.3 短程调度 250
9.2 调度算法 250
9.2.1 短程调度规则 250
9.2.2 优先级的使用 251
9.2.3 选择调度策略 252
9.2.4 性能比较 258
9.2.5 公平共享调度 261
9.3 传统的UNIX调度 263
9.4 小结 264
9.5 关键术语、复习题和习题 264
9.5.1 关键术语 264
9.5.2 复习题 264
9.5.3 习题 265
第10章 多处理器、多核和实时调度 268
10.1 多处理器和多核调度 268
10.1.1 粒度 268
10.1.2 设计问题 269
10.1.3 进程调度 270
10.1.4 线程调度 271
10.1.5 多核线程调度 275
10.2 实时调度 276
10.2.1 背景 276
10.2.2 实时操作系统的特点 276
10.2.3 实时调度 278
10.2.4 限期调度 279
10.2.5 速率单调调度 282
10.2.6 优先级反转 284
10.3 Linux调度 285
10.3.1 实时调度 285
10.3.2 非实时调度 286
10.4 UNIX SVR4调度 287
10.5 FreeBSD调度程序 288
10.5.1 优先级 288
10.5.2 对称多处理器与多核支持 289
10.6 Windows调度 290
10.6.1 进程和线程优先级 290
10.6.2 多处理器调度 291
10.7 小结 291
10.8 关键术语、复习题和习题 292
10.8.1 关键术语 292
10.8.2 复习题 292
10.8.3 习题 292

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

第11章 I/O管理和磁盘调度 296
11.1 I/O设备 296
11.2 I/O功能的组织 297
11.2.1 I/O功能的发展 297
11.2.2 直接内存访问 298
11.3 操作系统设计问题 299
11.3.1 设计目标 299
11.3.2 I/O功能的逻辑结构 300
11.4 I/O缓冲 301
11.4.1 单缓冲 301
11.4.2 双缓冲 302
11.4.3 循环缓冲 302
11.4.4 缓冲的作用 302
11.5 磁盘调度 303
11.5.1 磁盘性能参数 303
11.5.2 磁盘调度策略 304
11.6 RAID 307
11.6.1 RAID级别0 310
11.6.2 RAID级别1 310
11.6.3 RAID级别2 311
11.6.4 RAID级别3 311
11.6.5 RAID级别4 312
11.6.6 RAID级别5 312
11.6.7 RAID级别6 312
11.7 磁盘高速缓存 313
11.7.1 设计考虑因素 313
11.7.2 性能考虑因素 314
11.8 UNIX SVR 4 I/O 315
11.8.1 缓冲区高速缓冲 315
11.8.2 字符队列 316
11.8.3 无缓冲I/O 316
11.8.4 UNIX设备 316
11.9 Linux I/O 317
11.9.1 磁盘调度 317
11.9.2 Linux页面缓存 319
11.10 Windows I/O 320
11.10.1 基本I/O机制 320
11.10.2 异步I/O和同步I/O 320
11.10.3 软件RAID 321
11.10.4 卷影复制 321
11.10.5 卷加密 321
11.11 小结 321
11.12 关键术语、复习题和习题 322
11.12.1 关键术语 322
11.12.2 复习题 322
11.12.3 习题 322
第12章 文件管理 324
12.1 概述 324
12.1.1 文件和文件系统 324
12.1.2 文件结构 325
12.1.3 文件管理系统 326
12.2 文件组织和访问 327
12.2.1 堆 328
12.2.2 顺序文件 328
12.2.3 索引顺序文件 329
12.2.4 索引文件 329
12.2.5 直接文件或散列文件 330
12.3 B树 330
12.4 文件目录 332
12.4.1 内容 332
12.4.2 结构 333
12.4.3 命名 334
12.5 文件共享 335
12.5.1 访问权限 335
12.5.2 同时访问 335
12.6 记录组块 336
12.7 辅存管理 337
12.7.1 文件分配 337
12.7.2 空闲空间管理 339
12.7.3 卷 341
12.7.4 可靠性 341
12.8 UNIX文件管理 341
12.8.1 索引节点 342
12.8.2 文件分配 343
12.8.3 目录 344
12.8.4 卷结构 344
12.9 Linux虚拟文件系统 344
12.9.1 超级块对象 345
12.9.2 索引节点对象 346
12.9.3 目录项对象 346
12.9.4 文件对象 346
12.9.5 缓存 346
12.10 Windows文件系统 347
12.10.1 NTFS的重要特征 347
12.10.2 NTFS卷和文件结构 347
12.10.3 可恢复性 349
12.11 Android文件系统 350
12.11.1 文件系统 350
12.11.2 SQLite 350
12.12 小结 351
12.13 关键术语、复习题和习题 351
12.13.1 关键术语 351
12.13.2 复习题 351
12.13.3 习题 352

第六部分 嵌入式系统

第13章 嵌入式操作系统 354
13.1 嵌入式系统 354
13.1.1 嵌入式系统概念 354
13.1.2 通用处理器和专用处理器 355
13.1.3 微处理器 355
13.1.4 微控制器 356
13.1.5 深度嵌入式系统 357
13.2 嵌入式操作系统的特性 357
13.2.1 主环境和目标环境 358
13.2.2 开发方法 359
13.2.3 适配现有的操作系统 359
13.2.4 根据目标建立的嵌入式
操作系统 359
13.3 嵌入式Linux 360
13.3.1 嵌入式Linux系统的特性 360
13.3.2 嵌入式Linux文件系统 361
13.3.3 嵌入式Linux的优势 361
13.3.4 μClinux 362
13.3.5 Android 363
13.4 TinyOS 364
13.4.1 无线传感器网络 364
13.4.2 TinyOS的目标 365
13.4.3 TinyOS的组件 365
13.4.4 TinyOS的调度程序 367
13.4.5 配置示例 367
13.4.6 TinyOS的资源接口 369
13.5 关键术语、复习题和习题 370
13.5.1 关键术语 370
13.5.2 复习题 370
13.5.3 习题 370
第14章 虚拟机 372
14.1 虚拟机概念 372
14.2 虚拟机管理程序 374
14.2.1 虚拟机管理程序 374
14.2.2 半虚拟化 375
14.2.3 硬件辅助虚拟化 376
14.2.4 虚拟设备 376
14.3 容器虚拟化 377
14.3.1 内核控制组 377
14.3.2 容器的概念 377
14.3.3 容器文件系统 379
14.3.4 微服务 380
14.3.5 Docker 380
14.4 处理器问题 381
14.5 内存管理 382
14.6 输入/输出管理 383
14.7 VMware ESXi 384
14.8 微软Hyper-V与Xen系列 385
14.9 Java虚拟机 386
14.10 Linux VServer虚拟机架构 386
14.10.1 架构 387
14.10.2 进程调度 387
14.11 小结 388
14.12 关键术语、复习题和习题 388
14.12.1 关键术语 388
14.12.2 复习题 389
14.12.3 习题 389
第15章 操作系统安全技术 390
15.1 入侵者与恶意软件 390
15.1.1 系统访问威胁 390
15.1.2 应对措施 391
15.2 缓冲区溢出 392
15.2.1 缓冲区溢出攻击 392
15.2.2 编译时防御 394
15.2.3 运行时防御 396
15.3 访问控制 397
15.3.1 文件系统访问控制 397
15.3.2 访问控制策略 399
15.4 UNIX访问控制 402
15.4.1 传统UNIX文件访问控制 402
15.4.2 UNIX中的访问控制列表 403
15.5 操作系统加固 404
15.5.1 操作系统安装:初始安装
与后续更新 404
15.5.2 删除不必要的服务、应用
与协议 405
15.5.3 对用户、组和认证过程
进行配置 405
15.5.4 对资源控制进行配置 405
15.5.5 安装额外的安全控制工具 406
15.5.6 对系统安全进行测试 406
15.6 安全性维护 406
15.6.1 记录日志 406
15.6.2 数据备份和存档 407
15.7 Windows安全性 407
15.7.1 访问控制方案 407
15.7.2 访问令牌 408
15.7.3 安全描述符 408
15.8 小结 410
15.9 关键术语、复习题和习题 411
15.9.1 关键术语 411
15.9.2 复习题 411
15.9.3 习题 411
第16章 云与物联网操作系统 413
16.1 云计算 413
16.1.1 云计算要素 413
16.1.2 云服务模型 414
16.1.3 云部署模型 415
16.1.4 云计算参考架构 416
16.2 云操作系统 418
16.2.1 基础设施即服务 419
16.2.2 云操作系统的需求 420
16.2.3 云操作系统的基本架构 420
16.2.4 OpenStack 424
16.3 物联网 428
16.3.1 物联网中的物 429
16.3.2 升级换代 429
16.3.3 物联网支持设备的组件 429
16.3.4 物联网和云环境 429
16.4 物联网操作系统 431
16.4.1 受限设备 431
16.4.2 物联网操作系统的要求 432
16.4.3 物联网操作系统架构 433
16.4.4 RIOT 434
16.5 关键术语和复习题 435
16.5.1 关键术语 435
16.5.2 复习题 436
附录A 并发主题 437
附录B 编程和操作系统项目 446
参考文献 450
作者介绍

William Stallings,美国圣母大学电气工程专业学士,麻省理工学院计算机科学系博士。William Stallings已出版图书18种,含修订版在内共出版图书40种,内容涉及计算机安全、计算机网络和计算机体系结构。在多家期刊上发表了大量论文,包括Proceedings of the IEEE、ACM Computing Reviews和Cryptologia。13次荣获教材与学术作者协会颁发的*佳计算机科学教材奖。在计算机科学领域的30多年,William Stallings一直是一位技术贡献者、技术管理者和多家高科技公司的主管;针对许多计算机和操作系统,设计和实现了基于TCP/IP与基于OSI的协议套件。
关于作者William Stallings,美国圣母大学电气工程专业学士,麻省理工学院计算机科学专业博士。William Stallings已出版图书近20种,含修订版在内共出版图书40种,内容涉及计算机安全、计算机网络和计算机体系结构。在多家期刊上发表了大量论文,包括《IEEE进展》《ACM计算评论》和《密码术》。13次荣获教材与学术作者协会颁发的*佳计算机科学教科书奖。在计算机科学领域工作的30多年,William Stallings一直是一位技术贡献者、技术管理者和多家高科技公司的主管;针对许多计算机和操作系统,设计和实现了基于TCP/IP与基于OSI的协议套件。William Stallings还是政府机构、计算机和软件供应商以及设计、选用网络软件与产品的用户的顾问。创建与维护了计算机科学专业学生资源网站ComputerScienceStudent.com,为计算机科学专业的学生(及专业人员)提供文献及大量专题链接,也是学术期刊《密码术》的编委会成员。
关联推荐

本书可作为高等学校计算机科学与技术专业操作系统课程的教材,也可供其他专业学生参考。
热门设计服务