书籍详情

操作系统概念精要(原书第2版)

操作系统概念精要(原书第2版)

作者:亚伯拉罕·西尔伯沙茨,彼得-B.高尔文 著,郑扣根 唐杰 李善平 译

出版社:机械工业出版社

出版时间:2018-08-01

ISBN:9787111606482

定价:¥95.00

购买这本书可以去
内容简介
  本书是经典教材《操作系统概念》的精简版,强调基础概念,更适合本科阶段的教学。全书共六部分,不仅详细讲解了进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版新增了多核系统和移动计算的内容,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
作者简介
  :作者简介: 亚伯拉罕·西尔伯沙茨(Abraham Silberschatz) 计算机科学家,ACM、IEEE和AAAS会士。现任耶鲁大学计算机科学系教授,之前曾任贝尔实验室信息科学研究中心副主管。除本书外,他还是教材《数据库系统概念》的作者之一。 彼得·B. 高尔文(Peter B. Galvin) 现任Pluribus Networks首席解决方案架构师,之前曾任系统集成商Corporate Technologies的首席技术官,还曾在波士顿大学担任讲师。 格雷格·加涅(Greg Gagne) 威斯敏斯特学院计算机科学系主任,操作系统、计算机网络、并行编程和软件工程方面的专家。:译者简介: 郑扣根,浙江大学计算机学院教授、博士生导师。1994年起于浙江大学任教至今,长期从事操作系统、计算理论、形式化方法、计算机网络等方面的教学和科研工作。
目录
Operating System Concepts Essentials, Second Edition
出版者的话
译者序
前言
第一部分 概论
第1章 导论 2
1.1 操作系统的功能 2
1.1.1 用户视角 2
1.1.2 系统视角 3
1.1.3 操作系统的定义 4
1.2 计算机系统的组成 4
1.2.1 计算机系统的运行 5
1.2.2 存储结构 6
1.2.3 I/O结构 8
1.3 计算机系统的体系结构 9
1.3.1 单处理器系统 9
1.3.2 多处理器系统 10
1.3.3 集群系统 12
1.4 操作系统的结构 13
1.5 操作系统的执行 14
1.5.1 双重模式与多重模式的执行 15
1.5.2 定时器 16
1.6 进程管理 17
1.7 内存管理 17
1.8 存储管理 18
1.8.1 文件系统管理 18
1.8.2 大容量存储器管理 19
1.8.3 高速缓存 19
1.8.4 I/O系统 21
1.9 保护与安全 21
1.10 内核数据结构 22
1.10.1 列表、堆栈及队列 22
1.10.2 树 23
1.10.3 哈希函数与哈希表 23
1.10.4 位图 24
1.11 计算环境 24
1.11.1 传统计算 24
1.11.2 移动计算 25
1.11.3 分布计算 26
1.11.4 客户机-服务器计算 26
1.11.5 对等计算 27
1.11.6 虚拟化 28
1.11.7 云计算 29
1.11.8 实时嵌入式系统 29
1.12 开源操作系统 30
1.12.1 历史 31
1.12.2 Linux 31
1.12.3 BSD UNIX 32
1.12.4 Solaris 32
1.12.5 用作学习的开源操作系统 33
1.13 小结 33
复习题 35
实践题 35
习题 35
推荐读物 36
参考文献 37
第2章 操作系统结构 38
2.1 操作系统的服务 38
2.2 用户与操作系统的界面 40
2.2.1 命令解释程序 40
2.2.2 图形用户界面 41
2.2.3 界面的选择 42
2.3 系统调用 43
2.4 系统调用的类型 46
2.4.1 进程控制 46
2.4.2 文件管理 49
2.4.3 设备管理 50
2.4.4 信息维护 50
2.4.5 通信 50
2.4.6 保护 51
2.5 系统程序 51
2.6 操作系统的设计与实现 52
2.6.1 设计目标 52
2.6.2 机制与策略 53
2.6.3 实现 53
2.7 操作系统的结构 54
2.7.1 简单结构 54
2.7.2 分层方法 55
2.7.3 微内核 56
2.7.4 模块 57
2.7.5 混合系统 58
2.8 操作系统的调试 60
2.8.1 故障分析 60
2.8.2 性能优化 60
2.8.3 DTrace 61
2.9 操作系统的生成 63
2.10 系统引导 64
2.11 小结 64
复习题 65
实践题 65
习题 65
编程题 66
编程项目 66
推荐读物 69
参考文献 70
第二部分 进程管理
第3章 进程 72
3.1 进程概念 72
3.1.1 进程 72
3.1.2 进程状态 73
3.1.3 进程控制块 73
3.1.4 线程 74
3.2 进程调度 75
3.2.1 调度队列 75
3.2.2 调度程序 77
3.2.3 上下文切换 78
3.3 进程运行 79
3.3.1 进程创建 79
3.3.2 进程终止 82
3.4 进程间通信 83
3.4.1 共享内存系统 85
3.4.2 消息传递系统 86
3.5 IPC系统例子 89
3.5.1 例子:POSIX共享内存 89
3.5.2 例子:Mach 91
3.5.3 例子:Windows 92
3.6 客户机/服务器通信 93
3.6.1 套接字 93
3.6.2 远程过程调用 96
3.6.3 管道 98
3.7 小结 102
复习题 103
实践题 103
习题 104
编程题 105
编程项目 107
推荐读物 110
参考文献 111
第4章 线程 112
4.1 概述 112
4.1.1 动机 112
4.1.2 优点 113
4.2 多核编程 114
4.2.1 编程挑战 115
4.2.2 并行类型 115
4.3 多线程模型 116
4.3.1 多对一模型 116
4.3.2 一对一模型 116
4.3.3 多对多模型 116
4.4 线程库 117
4.4.1 Pthreads 118
4.4.2 Windows线程 119
4.4.3 Java线程 121
4.5 隐式多线程 122
4.5.1 线程池 123
4.5.2 OpenMP 124
4.5.3 大中央调度 125
4.5.4 其他方法 125
4.6 多线程问题 125
4.6.1 系统调用fork()和exec() 125
4.6.2 信号处理 126
4.6.3 线程撤销 127
4.6.4 线程本地存储 128
4.6.5 调度程序激活 128
4.7 操作系统例子 129
4.7.1 Windows线程 129
4.7.2 Linux线程 130
4.8 小结 131
复习题 131
实践题 131
习题 131
编程题 133
编程项目 135
推荐读物 136
参考文献 136
第5章 进程同步 138
5.1 背景 138
5.2 临界区问题 140
5.3 Peterson解决方案 141
5.4 硬件同步 142
5.5 互斥锁 144
5.6 信号量 144
5.6.1 信号量的使用 145
5.6.2 信号量的实现 145
5.6.3 死锁与饥饿 147
5.6.4 优先级的反转 147
5.7 经典同步问题 148
5.7.1 有界缓冲问题 148
5.7.2 读者-作者问题 149
5.7.3 哲学家就餐问题 150
5.8 管程 151
5.8.1 使用方法 152
5.8.2 哲学家就餐问题的管程解决方案 153
5.8.3 采用信号量的管程实现 154
5.8.4 管程内的进程重启 155
5.9 同步例子 156
5.9.1 Windows同步 156
5.9.2 Linux同步 157
5.9.3 Solaris同步 158
5.9.4 Pthreads同步 159
5.10 替代方法 160
5.10.1 事务内存 161
5.10.2 OpenMP 162
猜您喜欢

读书导航