操作系统精髓与设计原理第8版全球版

操作系统精髓与设计原理第8版全球版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: (William Stallings) , , ,
2019-01
版次: 1
ISBN: 9787115477026
定价: 108.00
装帧: 平装
开本: 16开
页数: 596页
正文语种: 简体中文
52人买过
  • 本书是操作系统的经典教材,内容涉及操作系统的概念、结构和机制。
    全书不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代主流的操作系统Windows 8、UNIX、Android、Linux为例,呈现了当代操作系统的本质和特点。具体内容包括背景、进程、内存、调度、输入/输出与文件、嵌入式系统、安全、分布式系统8个部分。 William Stallings:美国圣母大学电子工程学士,麻省理工学院计算机科学博士,《密码术》期刊编委。美国多家高科技公司执行总监,政府机构、计算机软/硬件供应商顾问;曾为各种计算机和操作系统设计并实现TCP/IP和OSI协议套件;创建并维护了计算机科学专业学生资源网站ComputerScienceStudent.com。出版图书17种,内容涉及计算机安全、计算机网络和计算机系统结构等;在《IEEE进展》《ACM计算评论》和《密码术》等期刊上发表文章多篇;先后12次获美国年度*计算机科学教科书奖和学术作者协会奖。 目 录
    第0章 读者和教师指南 1
    0.1 本书概述 2
    0.2 实例系统 2
    0.3 读者和教师学习路线图 3
    0.4 互联网和网站资源 4
    本书配套的网站 4
    其他网站 4
    第1部分 背景
    第1章 计算机系统概述 5
    1.1 基本组成 6
    1.2 微处理器的发展 7
    1.3 指令的执行 8
    1.4 中断 10
    1.4.1 中断和指令周期 11
    1.4.2 中断处理 15
    1.4.3 多个中断 17
    1.5 分级存储体系 19
    1.6 高速缓存 22
    1.6.1 动机 22
    1.6.2 高速缓存的原理 22
    1.6.3 高速缓存的设计 24
    1.7 直接内存访问 25
    1.8 多处理器和多核组织结构 26
    1.8.1 对称多处理器 27
    1.8.2 组织结构 27
    1.8.3 多核计算机 28
    1.9 推荐阅读 29
    1.10 关键术语、复习题与习题 30
    附录1A 两级存储器的性能特征 33
    第2章 操作系统概述 39
    2.1 操作系统的目标和功能 40
    2.1.1 作为用户与系统交互
    接口的操作系统 40
    2.1.2 作为资源管理器的
    操作系统 42
    2.1.3 操作系统的易
    发展性 43
    2.2 操作系统的发展 44
    2.2.1 串行处理 44
    2.2.2 简单批处理系统 44
    2.2.3 多道批处理系统 47
    2.2.4 分时系统 49
    2.3 主要成就 51
    2.3.1 进程 52
    2.3.2 内存管理 55
    2.3.3 信息保护和安全 56
    2.3.4 调度和资源管理 57
    2.4 现代操作系统的发展 58
    2.5 容错 61
    2.5.1 基本概念 61
    2.5.2 故障 62
    2.5.3 操作系统中的机制 63
    2.6 多处理器和多核操作系统设计要
    考虑的因素 63
    2.6.1 对称多处理器操作
    系统设计上的考虑 63
    2.6.2 多核操作系统
    设计上的考虑 64
    2.7 微软Windows简介 66
    2.7.1 背景 66
    2.7.2 体系结构 66
    2.7.3 客户/服务器模式 69
    2.7.4 线程和SMP 70
    2.7.5 Windows对象 70
    2.8 传统UNIX系统 72
    2.8.1 发展历史 72
    2.8.2 系统概述 72
    2.9 现代UNIX系统 74
    2.9.1 System V第4版
    (SVR4) 74
    2.9.2 BSD 75
    2.9.3 Solaris 10 75
    2.10 Linux系统 76
    2.10.1 发展历史 76
    2.10.2 模块结构 76
    2.10.3 内核组件 78
    2.11 Android系统 80
    2.11.1 安卓软件架构 81
    2.11.2 安卓系统架构 83
    2.11.3 活动 83
    2.11.4 电源管理 84
    2.12 推荐阅读和配套演示 85
    2.13 关键术语、复习题与习题 86
    第2部分 进程
    第3章 进程的描述与控制 89
    3.1 什么是进程? 90
    3.1.1 背景 90
    3.1.2 进程和进程控制块 91
    3.2 进程状态 92
    3.2.1 双状态模型 94
    3.2.2 进程的创建和结束 95
    3.2.3 五状态模型 97
    3.2.4 进程挂起 100
    3.3 进程描述符 104
    3.3.1 操作系统中控制
    资源的结构 105
    3.3.2 进程控制块 106
    3.4 进程控制 112
    3.4.1 (处理器的)执行的
    模式 112
    3.4.2 进程创建 113
    3.4.3 进程切换 114
    3.5 操作系统的执行 116
    3.5.1 独立内核 116
    3.5.2 嵌套于用户进程 117
    3.5.3 基于进程的操作
    系统 118
    3.6 UNIX SVR4中的进程管理 118
    3.6.1 进程状态 118
    3.6.2 进程描述 120
    3.6.3 进程控制 122
    3.7 总结 122
    3.8 推荐阅读与动画 123
    3.9 关键术语、复习题与习题 123
    第4章 线程 128
    4.1 进程和线程 129
    4.1.1 多线程 129
    4.1.2 线程功能 132
    4.2 线程的类型 134
    4.2.1 用户级和内核级
    线程 134
    4.2.2 其他设计 138
    4.3 多核和多线程 140
    4.3.1 多核环境下应用的
    性能 140
    4.3.2 应用示例:Valve的
    游戏软件 143
    4.4 Windows 8的进程和线程
    管理 144
    4.4.1 Windows 8所带来的
    改变 145
    4.4.2 Windows进程 146
    4.4.3 进程和线程对象 147
    4.4.4 多线程 149
    4.4.5 线程状态 149
    4.4.6 操作系统子系统的
    支持 150
    4.5 Solaris的线程和多处理器
    管理 150
    4.5.1 多线程结构 150
    4.5.2 设计目标 151
    4.5.3 进程结构 152
    4.5.4 线程执行 153
    4.5.5 用线程处理中断 153
    4.6 Linux的进程和线程管理 154
    4.6.1 Linux进程 154
    4.6.2 Linux线程 156
    4.6.3 Linux命名空间 157
    4.7 Android的进程和线程管理 158
    4.7.1 Android应用 158
    4.7.2 活动 159
    4.7.3 进程和线程 161
    4.8 Mac OS X的Grand Central
    Dispatch 161
    4.9 总结 164
    4.10 推荐阅读 164
    4.11 关键术语、复习题与习题 164
    第5章 并发:互斥与同步 169
    5.1 并发的原理 171
    5.1.1 一个简单例子 172
    5.1.2 竞态(Race
    Condition) 173
    5.1.3 操作系统的设计
    挑战 174
    5.1.4 进程交互 174
    5.1.5 实现互斥的条件 177
    5.2 互斥:硬件的支撑方案 178
    5.2.1 关中断 178
    5.2.2 特殊机器指令 178
    5.3 信号灯(Semaphore) 181
    5.3.1 互斥的实现 184
    5.3.2 生产者/消费者
    问题 186
    5.3.3 信号灯的实现 191
    5.4 管程(Monitor) 192
    5.4.1 管程和信号 192
    5.4.2 采用通知和广播的
    管程模型 196
    5.5 消息通信 197
    5.5.1 同步(Synchroni-
    zation) 198
    5.5.2 寻址(Addres-
    sing) 199
    5.5.3 消息格式 201
    5.5.4 队列组织 201
    5.5.5 互斥的实现 201
    5.6 读者/写者问题 203
    5.6.1 读者优先 203
    5.6.2 写者优先 204
    5.7 总结 207
    5.8 推荐阅读 207
    5.9 关键术语、复习题与习题 208
    第6章 并发:死锁与饥饿 221
    6.1 死锁的原理 222
    6.1.1 可重用资源 225
    6.1.2 消耗性资源 226
    6.1.3 资源分配图 227
    6.1.4 死锁发生的条件 228
    6.2 死锁预防(Deadlock
    Prevention) 229
    6.2.1 互斥条件 229
    6.2.2 占有并等待条件 230
    6.2.3 不可抢占条件 230
    6.2.4 环路等待条件 230
    6.3 死锁避免(Deadlock
    Avoidance) 230
    6.3.1 拒绝创建进程 231
    6.3.2 拒绝分配资源 232
    6.4 死锁检测(Deadlock
    Detection) 235
    6.4.1 死锁检测算法 236
    6.4.2 死锁恢复 237
    6.5 解决死锁的综合方案 237
    6.6 哲学家进餐问题 238
    6.6.1 使用信号灯的解决
    方案 238
    6.6.2 使用管程的解决
    方案 240
    6.7 UNIX系统的并发控制机制 241
    6.7.1 管道 242
    6.7.2 消息 242
    6.7.3 共享内存 242
    6.7.4 信号灯 242
    6.7.5 信号 243
    6.8 Linux内核的并发控制机制 244
    6.8.1 原子操作 245
    6.8.2 自旋锁
    (Spinlocks) 246
    6.8.3 信号灯 248
    6.8.4 屏障点
    (Barriers) 249
    6.9 Solaris线程同步原语 250
    6.9.1 互斥锁 251
    6.9.2 信号灯 251
    6.9.3 读者/写者锁 252
    6.9.4 条件变量(Condition
    Variable) 252
    6.10 Windows 7的并发控制机制 252
    6.10.1 Wait函数 252
    6.10.2 调度对象(Dispatcher
    Object) 253
    6.10.3 临界区 254
    6.10.4 瘦读者-写者锁和
    条件变量 254
    6.10.5 无锁同步 255
    6.11 Android系统中的进程间
    通信 255
    6.12 总结 256
    6.13 推荐阅读 256
    6.14 关键术语、复习题与习题 257
    第3部分 内存
    第7章 内存管理 265
    7.1 内存管理的需求 266
    7.1.1 内存重定位 266
    7.1.2 内存保护 267
    7.1.3 内存共享 268
    7.1.4 逻辑结构 268
    7.1.5 物理结构 268
    7.2 内存分区 269
    7.2.1 固定分区 270
    7.2.2 分区大小 270
    7.2.3 放置策略 271
    7.2.4 动态分区 272
    7.2.5 放置策略 273
    7.2.6 置换策略 275
    7.2.7 伙伴系统 275
    7.2.8 重定位 277
    7.3 分页 278
    7.4 分段 282
    7.5 小结 282
    7.6 推荐阅读和配套演示 283
    7.7 关键术语、复习题与习题 283
    附录7A 加载和链接 286
    第8章 虚拟内存 292
    8.1 硬件和控制结构 293
    8.1.1 局部性和虚拟
    内存 295
    8.1.2 分页 296
    8.1.3 页表结构 297
    8.1.4 分段 305
    8.1.5 段页式 306
    8.1.6 保护和共享 307
    8.2 操作系统软件 308
    8.2.1 读取策略 309
    8.2.2 放置策略 309
    8.2.3 置换策略 310
    8.2.4 页缓冲 314
    8.2.5 置换策略和高速
    缓冲的大小 315
    8.2.6 清除策略 321
    8.2.7 加载控制 321
    8.3 UNIX和SOLARIS的内存
    管理 323
    8.3.1 分页系统 323
    8.3.2 内核内存分配器 326
    8.4 Linux内存管理 327
    8.4.1 Linux虚拟内存 327
    8.4.2 内核内存分配 329
    8.5 Windows内存管理 330
    8.5.1 Windows虚拟地址
    映射 330
    8.5.2 Windows分页 331
    8.5.3 Windows 8交换 332
    8.6 Android内存管理 332
    8.7 小结 332
    8.8 推荐阅读和配套演示 333
    8.9 关键术语、复习题与习题 334
    第4部分 调度
    第9章 单处理器调度 339
    9.1 处理器调度的类型 340
    9.1.1 长期调度 342
    9.1.2 中期调度 343
    9.1.3 短期调度 343
    9.2 调度算法 343
    9.2.1 短期调度准则 343
    9.2.2 优先级的使用 345
    9.2.3 可选的调度策略 345
    9.2.4 性能比较 355
    9.2.5 公平共享调度 360
    9.3 传统的UNIX调度 362
    9.4 总结 363
    9.5 推荐阅读和动画 364
    9.6 关键术语、复习题与习题 364
    第10章 多处理器、多核调度与实时
    调度 369
    10.1 多处理器和多核调度 370
    10.1.1 粒度 370
    10.1.2 设计问题 371
    10.1.3 进程调度 373
    10.1.4 线程调度 374
    10.1.5 多核线程调度 379
    10.2 实时调度 380
    10.2.1 背景 380
    10.2.2 实时操作系统的
    特点 381
    10.2.3 实时调度 384
    10.2.4 截止期限调度 385
    10.2.5 单调速率调度 388
    10.2.6 优先级反转 391
    10.3 Linux调度 393
    10.3.1 实时调度 393
    10.3.2 非实时调度 394
    10.4 UNIX SVR4调度 396
    10.5 UNIX FreeBSD调度 397
    10.5.1 优先级类 398
    10.5.2 对SMP和多核的
    支持 398
    10.6 Windows调度 400
    10.6.1 进程和线程
    优先级 400
    10.6.2 多处理器调度 401
    10.7 总结 402
    10.8 推荐阅读 403
    10.9 关键术语、复习题与习题 403
    第5部分 输入/输出与文件
    第11章 I/O管理和磁盘调度 407
    11.1 I/O设备 408
    11.2 I/O功能的组织 409
    11.2.1 I/O功能的发展
    历程 410
    11.2.2 直接内存访问 411
    11.3 操作系统设计问题 412
    11.3.1 设计目标 412
    11.3.2 I/O功能的逻辑
    结构 413
    11.4 I/O缓冲 414
    11.4.1 单缓冲区 415
    11.4.2 双缓冲区 416
    11.4.3 环形缓冲区 417
    11.4.4 缓冲区的作用 417
    11.5 磁盘调度 417
    11.5.1 磁盘性能参数 417
    11.5.2 磁盘调度策略 419
    11.6 RAID 423
    11.6.1 0级RAID 426
    11.6.2 1级RAID 427
    11.6.3 2级RAID 428
    11.6.4 3级RAID 428
    11.6.5 4级RAID 429
    11.6.6 5级RAID 430
    11.6.7 6级RAID 430
    11.7 磁盘高速缓存 430
    11.7.1 设计考虑 431
    11.7.2 性能考虑 432
    11.8 UNIX SVR4 I/O 434
    11.8.1 缓冲区高速
    缓存 434
    11.8.2 字符队列 435
    11.8.3 无缓冲的I/O 435
    11.8.4 UNIX设备 436
    11.9 Linux I/O 436
    11.9.1 磁盘调度 436
    11.9.2 Linux页面缓存 438
    11.10 Windows I/O 439
    11.10.1 基本I/O机制 439
    11.10.2 异步I/O和同步
    I/O 439
    11.10.3 软件RAID 440
    11.10.4 卷影拷贝 441
    11.10.5 卷加密 441
    11.11 总结 441
    11.12 推荐阅读和动画 441
    11.13 关键术语、复习题与习题 443
    第12章 文件管理 445
    12.1 概述 446
    12.1.1 文件和文件
    系统 446
    12.1.2 文件结构 447
    12.1.3 文件管理系统 448
    12.2 文件组织与访问 451
    12.2.1 堆 452
    12.2.2 顺序文件 453
    12.2.3 索引顺序文件 453
    12.2.4 索引文件 454
    12.2.5 直接文件或哈希
    文件 455
    12.3 B树 455
    12.4 文件目录 458
    12.4.1 内容 458
    12.4.2 结构 459
    12.4.3 命名 460
    12.5 文件共享 461
    12.5.1 访问权限 462
    12.5.2 同时访问 462
    12.6 记录组块 463
    12.7 辅存管理 464
    12.7.1 文件分配 464
    12.7.2 空闲空间管理 469
    12.7.3 卷 471
    12.7.4 可靠性 471
    12.8 UNIX文件管理 472
    12.8.1 i节点 472
    12.8.2 文件分配 474
    12.8.3 目录 475
    12.8.4 卷结构 475
    12.9 Linux虚拟文件系统 475
    12.9.1 超级块对象 477
    12.9.2 i节点对象 478
    12.9.3 目录项对象 478
    12.9.4 文件对象 478
    12.9.5 高速缓存 479
    12.10 Windows文件系统 479
    12.10.1 NTFS的关键
    特性 479
    12.10.2 NTFS的卷和文件
    结构 480
    12.10.3 可恢复性 482
    12.11 Android文件管理 483
    12.11.1 文件系统 483
    12.11.2 SQLite 484
    12.12 总结 485
    12.13 推荐阅读 485
    12.14 关键术语、复习题与习题 486
    第6部分 嵌入式系统
    第13章 嵌入式系统 489
    13.1 嵌入式系统 490
    13.2 嵌入式操作系统的特征 491
    13.2.1 移植现有的商用
    操作系统 492
    13.2.2 专用嵌入式操作
    系统 492
    13.3 嵌入式Linux 493
    13.3.1 内核大小 493
    13.3.2 编译 493
    13.3.3 嵌入式Linux文件
    系统 493
    13.3.4 嵌入式Linux的
    优势 494
    13.3.5 Android 494
    13.4 TinyOS 495
    13.4.1 无线传感器
    网络 495
    13.4.2 TinyOS的目标 496
    13.4.3 TinyOS组件 497
    13.4.4 TinyOS调度器 499
    13.4.5 配置实例 500
    13.4.6 TinyOS资源
    接口 501
    13.5 推荐阅读 503
    13.6 关键术语、复习题与习题 503
    第14章 虚拟机 506
    14.1 虚拟化方法 508
    14.2 处理器问题 511
    14.3 内存管理 513
    14.4 I/O管理 514
    14.5 VMware ESXi 515
    14.6 微软Hyper-V和Xen变体 517
    14.7 Java VM 518
    14.8 Linux VServer虚拟机架构 519
    14.8.1 体系结构 519
    14.8.2 进程调度 520
    14.9 Android虚拟机 521
    14.9.1 Dex文件格式 522
    14.9.2 Zygote 523
    14.10 总结 523
    14.11 推荐阅读 523
    14.12 关键术语、复习题与习题 524
    第7部分 安全
    第15章 操作系统安全 527
    15.1 入侵者和恶意软件 528
    15.1.1 系统访问威胁 528
    15.1.2 对策 529
    15.2 缓冲区溢出 531
    15.2.1 缓冲区溢出
    攻击 531
    15.2.2 编译时防御 534
    15.2.3 运行时防御 536
    15.3 访问控制 537
    15.3.1 文件系统访问
    控制 537
    15.3.2 访问控制策略 539
    15.4 UNIX访问控制 544
    15.4.1 传统UNIX文件访问
    控制 544
    15.4.2 UNIX中的访问控制
    列表 546
    15.5 操作系统强化 546
    15.5.1 操作系统安装:初次
    安装与修补 547
    15.5.2 移除不必要的服务、
    应用和协议 548
    15.5.3 配置用户、组和身份
    验证 548
    15.5.4 配置资源控制 549
    15.5.5 安装额外的安全
    控制 549
    15.5.6 测试系统安全性 549
    15.6 安全维护 550
    15.6.1 用户登入 550
    15.6.2 数据备份和存档 550
    15.7 Windows安全 551
    15.7.1 访问控制模式 551
    15.7.2 访问令牌 552
    15.7.3 安全描述符 552
    15.8 总结 555
    15.9 推荐阅读 555
    15.10 关键术语、复习题与习题 556
    第8部分 分布式系统
    第16章 分布式处理、客户/服务器和
    集群 559
    16.1 客户/服务器计算 560
    16.1.1 什么是客户/服务器
    计算? 560
    16.1.2 客户/服务器
    应用 562
    16.1.3 中间件 567
    16.2 分布式消息传递 569
    16.2.1 可靠性与不可
    靠性 571
    16.2.2 阻塞与非阻塞 571
    16.3 远程过程调用 571
    16.3.1 参数传递 572
    16.3.2 参数表示 573
    16.3.3 客户/服务器
    绑定 573
    16.3.4 同步与异步 573
    16.3.5 面向对象机制 574
    16.4 集群 574
    16.4.1 集群的配置 575
    16.4.2 操作系统的设计
    问题 577
    16.4.3 集群计算机的体系
    结构 578
    16.4.4 集群与SMP的
    对比 579
    16.5 Windows集群服务器 579
    16.6 Beowulf和Linux集群 581
    16.6.1 Beowulf特性 581
    16.6.2 Beowulf软件 582
    16.7 总结 582
    16.8 推荐阅读 583
    16.9 关键术语、复习题与习题 583
    参考文献 586
  • 内容简介:
    本书是操作系统的经典教材,内容涉及操作系统的概念、结构和机制。
    全书不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代主流的操作系统Windows 8、UNIX、Android、Linux为例,呈现了当代操作系统的本质和特点。具体内容包括背景、进程、内存、调度、输入/输出与文件、嵌入式系统、安全、分布式系统8个部分。
  • 作者简介:
    William Stallings:美国圣母大学电子工程学士,麻省理工学院计算机科学博士,《密码术》期刊编委。美国多家高科技公司执行总监,政府机构、计算机软/硬件供应商顾问;曾为各种计算机和操作系统设计并实现TCP/IP和OSI协议套件;创建并维护了计算机科学专业学生资源网站ComputerScienceStudent.com。出版图书17种,内容涉及计算机安全、计算机网络和计算机系统结构等;在《IEEE进展》《ACM计算评论》和《密码术》等期刊上发表文章多篇;先后12次获美国年度*计算机科学教科书奖和学术作者协会奖。
  • 目录:
    目 录
    第0章 读者和教师指南 1
    0.1 本书概述 2
    0.2 实例系统 2
    0.3 读者和教师学习路线图 3
    0.4 互联网和网站资源 4
    本书配套的网站 4
    其他网站 4
    第1部分 背景
    第1章 计算机系统概述 5
    1.1 基本组成 6
    1.2 微处理器的发展 7
    1.3 指令的执行 8
    1.4 中断 10
    1.4.1 中断和指令周期 11
    1.4.2 中断处理 15
    1.4.3 多个中断 17
    1.5 分级存储体系 19
    1.6 高速缓存 22
    1.6.1 动机 22
    1.6.2 高速缓存的原理 22
    1.6.3 高速缓存的设计 24
    1.7 直接内存访问 25
    1.8 多处理器和多核组织结构 26
    1.8.1 对称多处理器 27
    1.8.2 组织结构 27
    1.8.3 多核计算机 28
    1.9 推荐阅读 29
    1.10 关键术语、复习题与习题 30
    附录1A 两级存储器的性能特征 33
    第2章 操作系统概述 39
    2.1 操作系统的目标和功能 40
    2.1.1 作为用户与系统交互
    接口的操作系统 40
    2.1.2 作为资源管理器的
    操作系统 42
    2.1.3 操作系统的易
    发展性 43
    2.2 操作系统的发展 44
    2.2.1 串行处理 44
    2.2.2 简单批处理系统 44
    2.2.3 多道批处理系统 47
    2.2.4 分时系统 49
    2.3 主要成就 51
    2.3.1 进程 52
    2.3.2 内存管理 55
    2.3.3 信息保护和安全 56
    2.3.4 调度和资源管理 57
    2.4 现代操作系统的发展 58
    2.5 容错 61
    2.5.1 基本概念 61
    2.5.2 故障 62
    2.5.3 操作系统中的机制 63
    2.6 多处理器和多核操作系统设计要
    考虑的因素 63
    2.6.1 对称多处理器操作
    系统设计上的考虑 63
    2.6.2 多核操作系统
    设计上的考虑 64
    2.7 微软Windows简介 66
    2.7.1 背景 66
    2.7.2 体系结构 66
    2.7.3 客户/服务器模式 69
    2.7.4 线程和SMP 70
    2.7.5 Windows对象 70
    2.8 传统UNIX系统 72
    2.8.1 发展历史 72
    2.8.2 系统概述 72
    2.9 现代UNIX系统 74
    2.9.1 System V第4版
    (SVR4) 74
    2.9.2 BSD 75
    2.9.3 Solaris 10 75
    2.10 Linux系统 76
    2.10.1 发展历史 76
    2.10.2 模块结构 76
    2.10.3 内核组件 78
    2.11 Android系统 80
    2.11.1 安卓软件架构 81
    2.11.2 安卓系统架构 83
    2.11.3 活动 83
    2.11.4 电源管理 84
    2.12 推荐阅读和配套演示 85
    2.13 关键术语、复习题与习题 86
    第2部分 进程
    第3章 进程的描述与控制 89
    3.1 什么是进程? 90
    3.1.1 背景 90
    3.1.2 进程和进程控制块 91
    3.2 进程状态 92
    3.2.1 双状态模型 94
    3.2.2 进程的创建和结束 95
    3.2.3 五状态模型 97
    3.2.4 进程挂起 100
    3.3 进程描述符 104
    3.3.1 操作系统中控制
    资源的结构 105
    3.3.2 进程控制块 106
    3.4 进程控制 112
    3.4.1 (处理器的)执行的
    模式 112
    3.4.2 进程创建 113
    3.4.3 进程切换 114
    3.5 操作系统的执行 116
    3.5.1 独立内核 116
    3.5.2 嵌套于用户进程 117
    3.5.3 基于进程的操作
    系统 118
    3.6 UNIX SVR4中的进程管理 118
    3.6.1 进程状态 118
    3.6.2 进程描述 120
    3.6.3 进程控制 122
    3.7 总结 122
    3.8 推荐阅读与动画 123
    3.9 关键术语、复习题与习题 123
    第4章 线程 128
    4.1 进程和线程 129
    4.1.1 多线程 129
    4.1.2 线程功能 132
    4.2 线程的类型 134
    4.2.1 用户级和内核级
    线程 134
    4.2.2 其他设计 138
    4.3 多核和多线程 140
    4.3.1 多核环境下应用的
    性能 140
    4.3.2 应用示例:Valve的
    游戏软件 143
    4.4 Windows 8的进程和线程
    管理 144
    4.4.1 Windows 8所带来的
    改变 145
    4.4.2 Windows进程 146
    4.4.3 进程和线程对象 147
    4.4.4 多线程 149
    4.4.5 线程状态 149
    4.4.6 操作系统子系统的
    支持 150
    4.5 Solaris的线程和多处理器
    管理 150
    4.5.1 多线程结构 150
    4.5.2 设计目标 151
    4.5.3 进程结构 152
    4.5.4 线程执行 153
    4.5.5 用线程处理中断 153
    4.6 Linux的进程和线程管理 154
    4.6.1 Linux进程 154
    4.6.2 Linux线程 156
    4.6.3 Linux命名空间 157
    4.7 Android的进程和线程管理 158
    4.7.1 Android应用 158
    4.7.2 活动 159
    4.7.3 进程和线程 161
    4.8 Mac OS X的Grand Central
    Dispatch 161
    4.9 总结 164
    4.10 推荐阅读 164
    4.11 关键术语、复习题与习题 164
    第5章 并发:互斥与同步 169
    5.1 并发的原理 171
    5.1.1 一个简单例子 172
    5.1.2 竞态(Race
    Condition) 173
    5.1.3 操作系统的设计
    挑战 174
    5.1.4 进程交互 174
    5.1.5 实现互斥的条件 177
    5.2 互斥:硬件的支撑方案 178
    5.2.1 关中断 178
    5.2.2 特殊机器指令 178
    5.3 信号灯(Semaphore) 181
    5.3.1 互斥的实现 184
    5.3.2 生产者/消费者
    问题 186
    5.3.3 信号灯的实现 191
    5.4 管程(Monitor) 192
    5.4.1 管程和信号 192
    5.4.2 采用通知和广播的
    管程模型 196
    5.5 消息通信 197
    5.5.1 同步(Synchroni-
    zation) 198
    5.5.2 寻址(Addres-
    sing) 199
    5.5.3 消息格式 201
    5.5.4 队列组织 201
    5.5.5 互斥的实现 201
    5.6 读者/写者问题 203
    5.6.1 读者优先 203
    5.6.2 写者优先 204
    5.7 总结 207
    5.8 推荐阅读 207
    5.9 关键术语、复习题与习题 208
    第6章 并发:死锁与饥饿 221
    6.1 死锁的原理 222
    6.1.1 可重用资源 225
    6.1.2 消耗性资源 226
    6.1.3 资源分配图 227
    6.1.4 死锁发生的条件 228
    6.2 死锁预防(Deadlock
    Prevention) 229
    6.2.1 互斥条件 229
    6.2.2 占有并等待条件 230
    6.2.3 不可抢占条件 230
    6.2.4 环路等待条件 230
    6.3 死锁避免(Deadlock
    Avoidance) 230
    6.3.1 拒绝创建进程 231
    6.3.2 拒绝分配资源 232
    6.4 死锁检测(Deadlock
    Detection) 235
    6.4.1 死锁检测算法 236
    6.4.2 死锁恢复 237
    6.5 解决死锁的综合方案 237
    6.6 哲学家进餐问题 238
    6.6.1 使用信号灯的解决
    方案 238
    6.6.2 使用管程的解决
    方案 240
    6.7 UNIX系统的并发控制机制 241
    6.7.1 管道 242
    6.7.2 消息 242
    6.7.3 共享内存 242
    6.7.4 信号灯 242
    6.7.5 信号 243
    6.8 Linux内核的并发控制机制 244
    6.8.1 原子操作 245
    6.8.2 自旋锁
    (Spinlocks) 246
    6.8.3 信号灯 248
    6.8.4 屏障点
    (Barriers) 249
    6.9 Solaris线程同步原语 250
    6.9.1 互斥锁 251
    6.9.2 信号灯 251
    6.9.3 读者/写者锁 252
    6.9.4 条件变量(Condition
    Variable) 252
    6.10 Windows 7的并发控制机制 252
    6.10.1 Wait函数 252
    6.10.2 调度对象(Dispatcher
    Object) 253
    6.10.3 临界区 254
    6.10.4 瘦读者-写者锁和
    条件变量 254
    6.10.5 无锁同步 255
    6.11 Android系统中的进程间
    通信 255
    6.12 总结 256
    6.13 推荐阅读 256
    6.14 关键术语、复习题与习题 257
    第3部分 内存
    第7章 内存管理 265
    7.1 内存管理的需求 266
    7.1.1 内存重定位 266
    7.1.2 内存保护 267
    7.1.3 内存共享 268
    7.1.4 逻辑结构 268
    7.1.5 物理结构 268
    7.2 内存分区 269
    7.2.1 固定分区 270
    7.2.2 分区大小 270
    7.2.3 放置策略 271
    7.2.4 动态分区 272
    7.2.5 放置策略 273
    7.2.6 置换策略 275
    7.2.7 伙伴系统 275
    7.2.8 重定位 277
    7.3 分页 278
    7.4 分段 282
    7.5 小结 282
    7.6 推荐阅读和配套演示 283
    7.7 关键术语、复习题与习题 283
    附录7A 加载和链接 286
    第8章 虚拟内存 292
    8.1 硬件和控制结构 293
    8.1.1 局部性和虚拟
    内存 295
    8.1.2 分页 296
    8.1.3 页表结构 297
    8.1.4 分段 305
    8.1.5 段页式 306
    8.1.6 保护和共享 307
    8.2 操作系统软件 308
    8.2.1 读取策略 309
    8.2.2 放置策略 309
    8.2.3 置换策略 310
    8.2.4 页缓冲 314
    8.2.5 置换策略和高速
    缓冲的大小 315
    8.2.6 清除策略 321
    8.2.7 加载控制 321
    8.3 UNIX和SOLARIS的内存
    管理 323
    8.3.1 分页系统 323
    8.3.2 内核内存分配器 326
    8.4 Linux内存管理 327
    8.4.1 Linux虚拟内存 327
    8.4.2 内核内存分配 329
    8.5 Windows内存管理 330
    8.5.1 Windows虚拟地址
    映射 330
    8.5.2 Windows分页 331
    8.5.3 Windows 8交换 332
    8.6 Android内存管理 332
    8.7 小结 332
    8.8 推荐阅读和配套演示 333
    8.9 关键术语、复习题与习题 334
    第4部分 调度
    第9章 单处理器调度 339
    9.1 处理器调度的类型 340
    9.1.1 长期调度 342
    9.1.2 中期调度 343
    9.1.3 短期调度 343
    9.2 调度算法 343
    9.2.1 短期调度准则 343
    9.2.2 优先级的使用 345
    9.2.3 可选的调度策略 345
    9.2.4 性能比较 355
    9.2.5 公平共享调度 360
    9.3 传统的UNIX调度 362
    9.4 总结 363
    9.5 推荐阅读和动画 364
    9.6 关键术语、复习题与习题 364
    第10章 多处理器、多核调度与实时
    调度 369
    10.1 多处理器和多核调度 370
    10.1.1 粒度 370
    10.1.2 设计问题 371
    10.1.3 进程调度 373
    10.1.4 线程调度 374
    10.1.5 多核线程调度 379
    10.2 实时调度 380
    10.2.1 背景 380
    10.2.2 实时操作系统的
    特点 381
    10.2.3 实时调度 384
    10.2.4 截止期限调度 385
    10.2.5 单调速率调度 388
    10.2.6 优先级反转 391
    10.3 Linux调度 393
    10.3.1 实时调度 393
    10.3.2 非实时调度 394
    10.4 UNIX SVR4调度 396
    10.5 UNIX FreeBSD调度 397
    10.5.1 优先级类 398
    10.5.2 对SMP和多核的
    支持 398
    10.6 Windows调度 400
    10.6.1 进程和线程
    优先级 400
    10.6.2 多处理器调度 401
    10.7 总结 402
    10.8 推荐阅读 403
    10.9 关键术语、复习题与习题 403
    第5部分 输入/输出与文件
    第11章 I/O管理和磁盘调度 407
    11.1 I/O设备 408
    11.2 I/O功能的组织 409
    11.2.1 I/O功能的发展
    历程 410
    11.2.2 直接内存访问 411
    11.3 操作系统设计问题 412
    11.3.1 设计目标 412
    11.3.2 I/O功能的逻辑
    结构 413
    11.4 I/O缓冲 414
    11.4.1 单缓冲区 415
    11.4.2 双缓冲区 416
    11.4.3 环形缓冲区 417
    11.4.4 缓冲区的作用 417
    11.5 磁盘调度 417
    11.5.1 磁盘性能参数 417
    11.5.2 磁盘调度策略 419
    11.6 RAID 423
    11.6.1 0级RAID 426
    11.6.2 1级RAID 427
    11.6.3 2级RAID 428
    11.6.4 3级RAID 428
    11.6.5 4级RAID 429
    11.6.6 5级RAID 430
    11.6.7 6级RAID 430
    11.7 磁盘高速缓存 430
    11.7.1 设计考虑 431
    11.7.2 性能考虑 432
    11.8 UNIX SVR4 I/O 434
    11.8.1 缓冲区高速
    缓存 434
    11.8.2 字符队列 435
    11.8.3 无缓冲的I/O 435
    11.8.4 UNIX设备 436
    11.9 Linux I/O 436
    11.9.1 磁盘调度 436
    11.9.2 Linux页面缓存 438
    11.10 Windows I/O 439
    11.10.1 基本I/O机制 439
    11.10.2 异步I/O和同步
    I/O 439
    11.10.3 软件RAID 440
    11.10.4 卷影拷贝 441
    11.10.5 卷加密 441
    11.11 总结 441
    11.12 推荐阅读和动画 441
    11.13 关键术语、复习题与习题 443
    第12章 文件管理 445
    12.1 概述 446
    12.1.1 文件和文件
    系统 446
    12.1.2 文件结构 447
    12.1.3 文件管理系统 448
    12.2 文件组织与访问 451
    12.2.1 堆 452
    12.2.2 顺序文件 453
    12.2.3 索引顺序文件 453
    12.2.4 索引文件 454
    12.2.5 直接文件或哈希
    文件 455
    12.3 B树 455
    12.4 文件目录 458
    12.4.1 内容 458
    12.4.2 结构 459
    12.4.3 命名 460
    12.5 文件共享 461
    12.5.1 访问权限 462
    12.5.2 同时访问 462
    12.6 记录组块 463
    12.7 辅存管理 464
    12.7.1 文件分配 464
    12.7.2 空闲空间管理 469
    12.7.3 卷 471
    12.7.4 可靠性 471
    12.8 UNIX文件管理 472
    12.8.1 i节点 472
    12.8.2 文件分配 474
    12.8.3 目录 475
    12.8.4 卷结构 475
    12.9 Linux虚拟文件系统 475
    12.9.1 超级块对象 477
    12.9.2 i节点对象 478
    12.9.3 目录项对象 478
    12.9.4 文件对象 478
    12.9.5 高速缓存 479
    12.10 Windows文件系统 479
    12.10.1 NTFS的关键
    特性 479
    12.10.2 NTFS的卷和文件
    结构 480
    12.10.3 可恢复性 482
    12.11 Android文件管理 483
    12.11.1 文件系统 483
    12.11.2 SQLite 484
    12.12 总结 485
    12.13 推荐阅读 485
    12.14 关键术语、复习题与习题 486
    第6部分 嵌入式系统
    第13章 嵌入式系统 489
    13.1 嵌入式系统 490
    13.2 嵌入式操作系统的特征 491
    13.2.1 移植现有的商用
    操作系统 492
    13.2.2 专用嵌入式操作
    系统 492
    13.3 嵌入式Linux 493
    13.3.1 内核大小 493
    13.3.2 编译 493
    13.3.3 嵌入式Linux文件
    系统 493
    13.3.4 嵌入式Linux的
    优势 494
    13.3.5 Android 494
    13.4 TinyOS 495
    13.4.1 无线传感器
    网络 495
    13.4.2 TinyOS的目标 496
    13.4.3 TinyOS组件 497
    13.4.4 TinyOS调度器 499
    13.4.5 配置实例 500
    13.4.6 TinyOS资源
    接口 501
    13.5 推荐阅读 503
    13.6 关键术语、复习题与习题 503
    第14章 虚拟机 506
    14.1 虚拟化方法 508
    14.2 处理器问题 511
    14.3 内存管理 513
    14.4 I/O管理 514
    14.5 VMware ESXi 515
    14.6 微软Hyper-V和Xen变体 517
    14.7 Java VM 518
    14.8 Linux VServer虚拟机架构 519
    14.8.1 体系结构 519
    14.8.2 进程调度 520
    14.9 Android虚拟机 521
    14.9.1 Dex文件格式 522
    14.9.2 Zygote 523
    14.10 总结 523
    14.11 推荐阅读 523
    14.12 关键术语、复习题与习题 524
    第7部分 安全
    第15章 操作系统安全 527
    15.1 入侵者和恶意软件 528
    15.1.1 系统访问威胁 528
    15.1.2 对策 529
    15.2 缓冲区溢出 531
    15.2.1 缓冲区溢出
    攻击 531
    15.2.2 编译时防御 534
    15.2.3 运行时防御 536
    15.3 访问控制 537
    15.3.1 文件系统访问
    控制 537
    15.3.2 访问控制策略 539
    15.4 UNIX访问控制 544
    15.4.1 传统UNIX文件访问
    控制 544
    15.4.2 UNIX中的访问控制
    列表 546
    15.5 操作系统强化 546
    15.5.1 操作系统安装:初次
    安装与修补 547
    15.5.2 移除不必要的服务、
    应用和协议 548
    15.5.3 配置用户、组和身份
    验证 548
    15.5.4 配置资源控制 549
    15.5.5 安装额外的安全
    控制 549
    15.5.6 测试系统安全性 549
    15.6 安全维护 550
    15.6.1 用户登入 550
    15.6.2 数据备份和存档 550
    15.7 Windows安全 551
    15.7.1 访问控制模式 551
    15.7.2 访问令牌 552
    15.7.3 安全描述符 552
    15.8 总结 555
    15.9 推荐阅读 555
    15.10 关键术语、复习题与习题 556
    第8部分 分布式系统
    第16章 分布式处理、客户/服务器和
    集群 559
    16.1 客户/服务器计算 560
    16.1.1 什么是客户/服务器
    计算? 560
    16.1.2 客户/服务器
    应用 562
    16.1.3 中间件 567
    16.2 分布式消息传递 569
    16.2.1 可靠性与不可
    靠性 571
    16.2.2 阻塞与非阻塞 571
    16.3 远程过程调用 571
    16.3.1 参数传递 572
    16.3.2 参数表示 573
    16.3.3 客户/服务器
    绑定 573
    16.3.4 同步与异步 573
    16.3.5 面向对象机制 574
    16.4 集群 574
    16.4.1 集群的配置 575
    16.4.2 操作系统的设计
    问题 577
    16.4.3 集群计算机的体系
    结构 578
    16.4.4 集群与SMP的
    对比 579
    16.5 Windows集群服务器 579
    16.6 Beowulf和Linux集群 581
    16.6.1 Beowulf特性 581
    16.6.2 Beowulf软件 582
    16.7 总结 582
    16.8 推荐阅读 583
    16.9 关键术语、复习题与习题 583
    参考文献 586
查看详情
相关图书 / 更多
操作系统精髓与设计原理第8版全球版
操作系统原理及应用(第2版)(微课版)()
陈敏;许雪林;汤龙梅
操作系统精髓与设计原理第8版全球版
操作系统实验教程——Web服务器性能优化
鲁强
操作系统精髓与设计原理第8版全球版
操作系统原理
方钰;邓蓉;陈闳中
操作系统精髓与设计原理第8版全球版
操作系统实验教程(Windows+Linux)
袁宝华;李宁;顾玉宛;庄丽华;梁久祯
操作系统精髓与设计原理第8版全球版
操作系统原理及Linux内核分析(第3版)
李芳;刘晓春;李东海
操作系统精髓与设计原理第8版全球版
操作系统
罗宇
操作系统精髓与设计原理第8版全球版
操作系统原理 第2版
金海溶 周苏 主编
操作系统精髓与设计原理第8版全球版
操作系统概念(原书第10版)
[美]亚伯拉罕 西尔伯沙茨(美)彼得 贝尔 高尔文(美)格雷格 加涅
操作系统精髓与设计原理第8版全球版
操作系统原理(第2版)
黑新宏
操作系统精髓与设计原理第8版全球版
操作系统原理
作者
操作系统精髓与设计原理第8版全球版
操作系统
常颖、常大俊、李依霖 编
操作系统精髓与设计原理第8版全球版
操作系统:原理与实现
陈海波
您可能感兴趣 / 更多
操作系统精髓与设计原理第8版全球版
莎士比亚全集(全十册)
威廉.莎士比亚 著
操作系统精髓与设计原理第8版全球版
李尔王(作家经典文库)(精装)
威廉.莎士比亚 著;朱生豪 译
操作系统精髓与设计原理第8版全球版
格林童话快乐读书吧三年级上册推荐必读(中小学课外阅读指导丛书)智慧熊图书
威廉.格林 著;[德]雅各布.格林、潘子立 译
操作系统精髓与设计原理第8版全球版
莎士比亚戏剧集(套装共2册)(每个与莎士比亚相遇的时刻,都对生命的理解深了那么一点。)
威廉.莎士比亚 著;朱生豪 译;联合读创 出品
操作系统精髓与设计原理第8版全球版
5000年文明启示录(比肩《全球通史》,世界近千所高校历史学推荐书目)
威廉.H·麦克尼尔 著
操作系统精髓与设计原理第8版全球版
喧哗与骚动
威廉.福克纳 著
操作系统精髓与设计原理第8版全球版
世界经典文学双语系列麦克白英汉对照注释·听读版
威廉.莎士比亚 著;朱生豪 译
操作系统精髓与设计原理第8版全球版
世界经典文学双语系列李尔王英汉对照注释·听读版
威廉.莎士比亚 著;朱生豪 译
操作系统精髓与设计原理第8版全球版
世界经典文学双语系列奥赛罗英汉对照注释·听读版
威廉.莎士比亚 著;朱生豪 译
操作系统精髓与设计原理第8版全球版
西尔斯怀孕百科
威廉.西尔斯 著
操作系统精髓与设计原理第8版全球版
西尔斯亲密育儿百科
威廉.西尔斯 著
操作系统精髓与设计原理第8版全球版
当你老了:叶芝诗选(诗苑译林)
威廉.巴特勒.叶芝