商品详情
书名:现代操作系统(原书第5版)
定价:149.0
ISBN:9787111776895
版次:1
出版时间:2025-07
内容提要:
本书是操作系统领域的经典教材,涵盖操作系统设计师需要掌握的所有核心概念,并深入探讨了进程与线程、内存管理、文件系统、输入/输出、死锁、虚拟化和云、多处理机系统、操作系统设计等主题。案例研究部分详细分析了Windows、Android和Linux等流行的操作系统。第5版对知识点做了与时俱进的更新,更加关注现代存储方案、新的安全防御方法等,同时优化篇章结构,全面反映了当代操作系统的技术动向与发展趋势。本书适合作为高等院校计算机专业的操作系统课程教材,也适合相关技术人员参考。
目录:
目 录
译者序
前言
作者简介
第1章 引论1
1.1 什么是操作系统2
1.1.1 作为扩展机器的操作系统3
1.1.2 作为资源管理器的操作系统4
1.2 操作系统的历史5
1.2.1 第一代计算机(1945~
1955年):真空管和穿
孔卡片5
1.2.2 第二代计算机(1955~
1965年):晶体管和批
处理系统5
1.2.3 第三代计算机(1965~
1980年):集成电路芯
片和多道程序设计7
1.2.4 第四代计算机(1980年
至今):个人计算机11
1.2.5 第五代计算机(1990年
至今):移动计算机13
1.3 计算机硬件简介14
1.3.1 处理器15
1.3.2 存储器17
1.3.3 非易失性存储器20
1.3.4 I/O设备21
1.3.5 总线23
1.3.6 启动计算机 24
1.4 操作系统大观园25
1.4.1 大型机操作系统25
1.4.2 服务器操作系统26
1.4.3 个人计算机操作系统26
1.4.4 智能手机和掌上计算机操作
系统26
1.4.5 物联网和嵌入式操作系统26
1.4.6 实时操作系统27
1.4.7 智能卡操作系统27
1.5 操作系统概念28
1.5.1 进程28
1.5.2 地址空间29
1.5.3 文件30
1.5.4 输入/输出32
1.5.5 保护32
1.5.6 shell32
1.5.7 个体重复系统发育33
1.6 系统调用35
1.6.1 用于进程管理的系统调用38
1.6.2 用于文件管理的系统调用40
1.6.3 用于目录管理的系统调用41
1.6.4 各种系统调用42
1.6.5 Windows API43
1.7 操作系统结构45
1.7.1 单体系统45
1.7.2 层次式系统46
1.7.3 微内核46
1.7.4 客户端-服务器模式48
1.7.5 虚拟机49
1.7.6 外核和unikernel52
1.8 依靠C的世界52
1.8.1 C语言53
1.8.2 头文件53
1.8.3 大型编程项目54
1.8.4 运行模型55
1.9 有关操作系统的研究55
1.10 本书其他部分概要56
1.11 公制单位56
1.12 小结57
习题57
第2章 进程与线程60
2.1 进程60
2.1.1 进程模型60
2.1.2 进程的创建62
2.1.3 进程的终止63
2.1.4 进程的层次结构64
2.1.5 进程的状态65
2.1.6 进程的实现66
2.1.7 多道程序设计模型67
2.2 线程68
2.2.1 线程的使用68
2.2.2 经典的线程模型71
2.2.3 POSIX线程74
2.2.4 在用户空间中实现线程75
2.2.5 在内核中实现线程78
2.2.6 混合实现79
2.2.7 使单线程代码多线程化79
2.3 事件驱动服务器82
2.4 同步和进程间通信84
2.4.1 竞争条件84
2.4.2 临界区85
2.4.3 忙等待的互斥86
2.4.4 睡眠与唤醒90
2.4.5 信号量92
2.4.6 互斥量95
2.4.7 管程98
2.4.8 消息传递103
2.4.9 屏障105
2.4.10 优先级反转106
2.4.11 避免锁:读-复制-更新107
2.5 调度108
2.5.1 调度简介108
2.5.2 批处理系统中的调度113
2.5.3 交互式系统中的调度114
2.5.4 实时系统中的调度118
2.5.5 策略和机制119
2.5.6 线程调度119
2.6 有关进程与线程的研究121
2.7 小结121
习题122
第3章 内存管理127
3.1 无内存抽象127
3.2 一种内存抽象:地址空间130
3.2.1 地址空间的概念130
3.2.2 交换技术132
3.2.3 空闲内存管理134
3.3 虚拟内存136
3.3.1 分页137
3.3.2 页表139
3.3.3 加速分页过程142
3.3.4 针对大内存的页表144
3.4 页面置换算法147
3.4.1 最优页面置换算法148
3.4.2 最近未使用页面置换算法148
3.4.3 先进先出页面置换算法149
3.4.4 第二次机会页面置换算法149
3.4.5 时钟页面置换算法150
3.4.6 最近最少使用页面置换算法151
3.4.7 用软件模拟LRU151
3.4.8 工作集页面置换算法 152
3.4.9 工作集时钟页面置换算法155
3.4.10 页面置换算法小结157
3.5 分页系统中的设计问题157
3.5.1 局部分配策略与全局分配
策略158
3.5.2 负载控制159
3.5.3 清除策略160
3.5.4 页面大小161
3.5.5 分离的指令空间和数据空间162
3.5.6 共享页面163
3.5.7 共享库164
3.5.8 内存映射文件165
3.6 有关实现的问题166
3.6.1 与分页有关的操作系统工作166
3.6.2 缺页中断处理166
3.6.3 指令备份167
3.6.4 锁定内存中的页面168
3.6.5 后备存储168
3.6.6 策略和机制的分离169
3.7 分段171
3.7.1 纯分段的实现172
3.7.2 分段和分页结合:MULTICS173
3.7.3 分段和分页结合:Intel x86176
3.8 有关内存管理的研究176
3.9 小结177
习题178
第4章 文件系统184
4.1 文件185
4.1.1 文件命名185
4.1.2 文件结构186
4.1.3 文件类型187
4.1.4 文件访问189
4.1.5 文件属性189
4.1.6 文件操作190
4.1.7 使用文件系统调用的一个
示例程序191
4.2 目录概述193
4.2.1 一级目录系统193
4.2.2 层次目录系统194
4.2.3 路径名194
4.2.4 目录操作195
4.3 文件系统的实现196
4.3.1 文件系统布局196
4.3.2 文件的实现198
4.3.3 目录的实现201
4.3.4 共享文件203
4.3.5 日志结构文件系统205
4.3.6 日志文件系统206
4.3.7 闪存文件系统207
4.3.8 虚拟文件系统 210
4.4 文件系统管理和优化213
4.4.1 磁盘空间管理213
4.4.2 文件系统备份217
4.4.3 文件系统的一致性221
4.4.4 文件系统性能223
4.4.5 磁盘碎片整理227
4.4.6 压缩和重复数据删除227
4.4.7 文件安全删除和磁盘加密228
4.5 文件系统实例229
4.5.1 MS-DOS文件系统229
4.5.2 UNIX V7 文件系统231
4.6 有关文件系统的研究233
4.7 小结234
习题234
第5章 输入/输出238
5.1 I/O硬件原理238
5.1.1 I/O设备238
5.1.2 设备控制器239
5.1.3 内存映射I/O240
5.1.4 直接存储器存取243
5.1.5 重温中断245
5.2 I/O软件原理248
5.2.1 I/O软件的目标249
5.2.2 程序控制I/O250
5.2.3 中断驱动I/O251
5.2.4 使用DMA的I/O252
5.3 I/O软件层次252
5.3.1 中断处理程序252
5.3.2 设备驱动程序253
5.3.3 与设备无关的I/O软件256
5.3.4 用户空间的I/O软件260
5.4 大容量存储:磁盘和固态硬盘261
5.4.1 磁盘262
5.4.2 固态硬盘270
5.4.3 RAID273
5.5 时钟277
5.5.1 时钟硬件277
5.5.2 时钟软件278
5.5.3 软定时器280
5.6 用户界面:键盘、鼠标和显示器281
5.6.1 输入软件281
5.6.2 输出软件286
5.7 瘦客户机298
5.8 电源管理299
5.8.1 硬件问题300
5.8.2 操作系统问题301
5.8.3 应用程序问题305
5.9 有关输入/输出的研究305
5.10 小结306
习题307
第6章 死锁312
6.1 资源312
6.1.1 可抢占资源和不可抢占资源312
6.1.2 资源获取313
6.1.3 哲学家进餐问题314
6.2 死锁概述317
6.2.1 资源死锁的条件317
6.2.2 死锁模型317
6.3 鸵鸟算法319
6.4 死锁检测和死锁恢复320
6.4.1 每种类型一个资源的死锁
检测320
6.4.2 每种类型多个资源的死锁
检测322
6.4.3 从死锁中恢复323
6.5 死锁避免324
6.5.1 资源轨迹图325
6.5.2 安全状态和不安全状态326
6.5.3 单个资源的银行家算法327
6.5.4 多个资源的银行家算法327
6.6 死锁预防328
6.6.1 破坏互斥条件329
6.6.2 破坏占有并等待条件329
6.6.3 破坏不可抢占条件329
6.6.4 破坏循环等待条件330
6.7 其他问题330
6.7.1 两阶段加锁330
6.7.2 通信死锁331
6.7.3 活锁332
6.7.4 饥饿333
6.8 有关死锁的研究334
6.9 小结334
习题335
第7章 虚拟化和云339
7.1 历史340
7.2 虚拟化的必要条件342
7.3 第一类和第二类虚拟机管理程序344
7.4 高效虚拟化的技术345
7.4.1 在不支持虚拟化的平台上
实现虚拟化345
7.4.2 虚拟化的开销347
7.5 虚拟机管理程序是正确的
微内核吗348
7.6 内存虚拟化350
7.7 I/O虚拟化353
7.8 多核CPU上的虚拟机355
7.9 云355
7.9.1 云即服务356
7.9.2 虚拟机迁移356
7.9.3 检查点357
7.10 操作系统级虚拟化357
7.11 案例研究:VMware359
7.11.1 VMware的早期历史359
7.11.2 VMware Workstation360
7.11.3 将虚拟化引入x86的挑战361
7.11.4 VMware Workstation解决
方案概览362
7.11.5 VMware Workstation的演变367
7.11.6 VMware的第一类虚拟机
管理程序ESX Server368
7.12 有关虚拟化和云的研究369
7.13 小结370
习题370
第8章 多处理机系统372
8.1 多处理机373
8.1.1 多处理机硬件374
8.1.2 多处理机操作系统类型382
8.1.3 多处理机同步385
8.1.4 多处理机调度388
8.2 多计算机394
8.2.1 多计算机硬件394
8.2.2 低层通信软件398
8.2.3 用户层通信软件399
8.2.4 远程过程调用402
8.2.5 分布式共享存储器404

- 机械工业出版社旗舰店 (微信公众号认证)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...