书籍详情

操作系统:精髓与设计原理(第八版)

操作系统:精髓与设计原理(第八版)

作者:(美)William Stallings(威廉.斯托林斯)

出版社:电子工业出版社

出版时间:2017-02-01

ISBN:9787121309502

定价:¥79.80

购买这本书可以去
内容简介
  本书既是关于操作系统概念、结构和机制的教材,目的是尽可能清楚和全面地展示现代操作系统的本质和特点;也是讲解操作系统的经典教材,不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代*流行的操作系统Windows 8、UNIX、Android、Linux为例,展现了当代操作系统的本质和特点。全书共分背景知识、进程、内存、调度、输入/输出和文件、嵌入式系统六部分,内容包括计算机系统概述、操作系统概述、进程描述和控制、线程、并发性:互斥和同步、并发:死锁和饥饿、内存管理、虚拟内存、单处理器调度、多处理器和实时调度、I/O管理和磁盘调度、文件管理、嵌入式操作系统、虚拟机、计算机安全技术、分布式处理、客户/服务器和集群等。此外,本书配套网站提供了及时、生动的材料。
作者简介
  陈向群,北京大学信息科学技术学院计算机科学技术系教授,博士生导师,主要研究领域为软件需求工程、知识工程、基于知识的软件工程、面向服务的计算。 William Stallings:美国圣母大学电子工程学士,麻省理工学院计算机科学博士,《密码术》期刊编委。美国多家高科技公司执行总监,政府机构、计算机软/硬件供应商顾问;曾为各种计算机和操作系统设计并实现TCP/IP和OSI协议套件;创建并维护了计算机科学专业学生资源网站ComputerScienceStudent.com。出版图书17种,内容涉及计算机安全、计算机网络和计算机系统结构等;在《IEEE进展》《ACM计算评论》和《密码术》等杂志上发表文章多篇;先后12次获美国年度最佳计算机科学教科书奖和学术作者协会奖。
目录
第0章 读者与教师指南1
  0.1 本书概述1
  0.2 实例系统1
  0.3 读者和教师的路线图2
  0.4 互联网和网站资源3
第一部分 背景知识
第1章 计算机系统概述6
  1.1 基本构成6
  1.2 微处理器的发展7
  1.3 指令的执行8
  1.4 中断10
1.4.1 中断和指令周期11
1.4.2 中断处理12
1.4.3 多个中断14
  1.5 存储器的层次结构15
  1.6 高速缓存17
1.6.1 动机18
1.6.2 高速缓存原理18
1.6.3 高速缓存设计19
  1.7 直接内存存取20
  1.8 多处理器和多核计算机组织结构21
1.8.1 对称多处理器21
1.8.2 多核计算机23
  1.9 推荐读物23
  1.10 关键术语、复习题和习题24
1.10.1 关键术语24
1.10.2 复习题24
1.10.3 习题24
  附录1A 两级存储器的性能特征26
第2章 操作系统概述31
  2.1 操作系统的目标和功能31
2.1.1 作为用户/计算机接口的
操作系统31
2.1.2 作为资源管理器的操作系统32
2.1.3 操作系统的易扩展性33
  2.2 操作系统的发展史34
2.2.1 串行处理34
2.2.2 简单批处理系统34
2.2.3 多道批处理系统36
2.2.4 分时系统38
  2.3 主要成就40
2.3.1 进程40
2.3.2 内存管理42
2.3.3 信息保护和安全43
2.3.4 调度和资源管理44
  2.4 现代操作系统的特征45
  2.5 容错性47
2.5.1 基本概念47
2.5.2 错误48
2.5.3 操作系统机制48
2.6 多处理器和多核操作系统
设计考虑因素49
2.6.1 对称多处理器操作系统设计
考虑因素49
2.6.2 多核操作系统设计考虑因素49
  2.7 微软Windows系统简介51
2.7.1 背景51
2.7.2 体系结构51
2.7.3 客户-服务器模型53
2.7.4 线程和SMP54
2.7.5 Windows对象54
  2.8 传统的UNIX系统55
2.8.1 历史55
2.8.2 描述56
  2.9 现代UNIX系统57
2.9.1 System V Release 4(SVR4)58
2.9.2 BSD58
2.9.3 Solaris 1058
  2.10 Linux操作系统58
2.10.1 历史58
2.10.2 模块结构59
2.10.3 内核组件60
  2.11 Android62
2.11.1 Android软件体系结构63
2.11.2 Android系统体系结构64
2.11.3 活动65
2.11.4 电源管理65
  2.12 推荐读物和动画66
  2.13 关键术语、复习题和习题67
2.13.1 关键术语67
2.13.2 复习题67
2.13.3 习题67
第二部分 进程
第3章 进程描述和控制70
  3.1 什么是进程70
3.1.1 背景70
3.1.2 进程和进程控制块71
  3.2 进程状态72
3.2.1 两状态进程模型73
3.2.2 进程的创建和终止74
3.2.3 五状态模型75
3.2.4 被挂起的进程78
  3.3 进程描述81
3.3.1 操作系统的控制结构82
3.3.2 进程控制结构82
  3.4 进程控制86
3.4.1 执行模式86
3.4.2 进程创建87
3.4.3 进程切换88
  3.5 操作系统的执行90
3.5.1 无进程内核90
3.5.2 在用户进程内运行90
3.5.3 基于进程的操作系统91
  3.6 UNIX SVR4进程管理91
3.6.1 进程状态92
3.6.2 进程描述93
3.6.3 进程控制94
  3.7 小结95
  3.8 推荐读物和动画95
  3.9 关键术语、复习题和习题95
3.9.1 关键术语95
3.9.2 复习题96
3.9.3 习题96
第4章 线程99
  4.1 进程和线程99
4.1.1 多线程99
4.1.2 线程的功能102
  4.2 线程分类103
4.2.1 用户级和内核级线程103
4.2.2 其他方案106
  4.3 多核和多线程107
4.3.1 多核系统上的软件性能107
4.3.2 应用示例:Valve游戏软件109
  4.4 Windows 8的进程和线程管理110
4.4.1 Windows 8中的变化111
4.4.2 Windows进程111
4.4.3 进程对象和线程对象112
4.4.4 多线程113
4.4.5 线程状态113
4.4.6 对操作系统子系统的支持114
  4.5 Solaris的线程和SMP管理114
4.5.1 多线程体系结构114
4.5.2 动机115
4.5.3 进程结构115
4.5.4 线程的执行116
4.5.5 把中断当作线程117
  4.6 Linux的进程和线程管理118
4.6.1 Linux任务118
4.6.2 Linux线程119
4.6.3 Linux命名空间120
  4.7 Android的进程和线程管理121
4.7.1 安卓应用121
4.7.2 活动121
4.7.3 进程和线程122
  4.8 Mac OS X的GCD技术123
  4.9 小结124
  4.10 推荐读物125
  4.11 关键术语、复习题和习题125
4.11.1 关键术语125
4.11.2 复习题125
4.11.3 习题125
第5章 并发性:互斥和同步129
  5.1 并发的原理130
5.1.1 一个简单的例子130
5.1.2 竞争条件132
5.1.3 操作系统关注的问题132
5.1.4 进程的交互133
5.1.5 互斥的要求135
  5.2 互斥:硬件的支持136
5.2.1 中断禁用136
5.2.2 专用机器指令136
  5.3 信号量138
5.3.1 互斥141
5.3.2 生产者/消费者问题142
5.3.3 信号量的实现146
  5.4 管程147
5.4.1 使用信号的管程147
5.4.2 使用通知和广播的管程149
  5.5 消息传递151
5.5.1 同步151
5.5.2 寻址152
5.5.3 消息格式153
5.5.4 排队原则154
5.5.5 互斥154
  5.6 读者/写者问题155
5.6.1 读者优先156
5.6.2 写者优先156
  5.7 小结158
  5.8 推荐读物和动画159
  5.9 关键术语、复习题和习题160
5.9.1 关键术语160
5.9.2 复习题160
5.9.3 习题160
第6章 并发:死锁和饥饿170
  6.1 死锁原理170
6.1.1 可重用资源173
6.1.2 可消耗资源174
6.1.3 资源分配图174
6.1.4 死锁的条件175
  6.2 死锁预防176
6.2.1 互斥176
6.2.2 占有且等待176
6.2.3 不可抢占176
6.2.4 循环等待177
  6.3 死锁避免177
6.3.1 进程启动拒绝177
6.3.2 资源分配拒绝178
  6.4 死锁检测181
6.4.1 死锁检测算法181
6.4.2 恢复182
  6.5 一种综合的死锁策略182
  6.6 哲学家就餐问题183
6.6.1 基于信号量的解决方案183
6.6.2 基于管程的解决方案184
  6.7 UNIX并发机制185
6.7.1 管道186
6.7.2 消息186
6.7.3 共享内存186
6.7.4 信号量186
6.7.5 信号187
  6.8 Linux内核并发机制187
6.8.1 原子操作188
6.8.2 自旋锁189
6.8.3 信号量190
6.8.4 屏障191
  6.9 Solaris线程同步原语192
6.9.1 互斥锁193
6.9.2 信号量193
6.9.3 多读者/单写者锁193
6.9.4 条件变量193
  6.10 Windows 7的并发机制194
6.10.1 等待函数194
6.10.2 分派器对象194
6.10.3 临界区195
6.10.4 轻量级读写锁和条件变量195
6.10.5 锁无关同步机制196
  6.11 Android进程间通信196
  6.12 小结197
  6.13 推荐读物和动画197
  6.14 关键术语、复习题和习题198
6.14.1 关键术语198
6.14.2 复习题198
6.14.3 习题198
  
  
  
  
  
  
第三部分 内存
  
第7章 内存管理204
  7.1 内存管理的需求204
7.1.1 重定位204
7.1.2 保护205
7.1.3 共享205
7.1.4 逻辑组织205
7.1.5 物理组织206
  7.2 内存分区206
7.2.1 固定分区207
7.2.2 动态分区208
7.2.3 伙伴系统210
7.2.4 重定位212
  7.3 分页212
  7.4 分段215
  7.5 小结216
  7.6 推荐读物和动画216
  7.7 关键术语、复习题和习题216
7.7.1 关键术语216
7.7.2 复习题217
7.7.3 习题217
  附录7A 加载和链接219
第8章 虚拟内存223
  8.1 硬件和控制结构223
8.1.1 局部性和虚拟内存224
8.1.2 分页225
8.1.3 分段232
8.1.4 段页式232
8.1.5 保护和共享233
  8.2 操作系统软件234
8.2.1 读取策略235
8.2.2 放置策略235
8.2.3 置换策略235
8.2.4 驻留集管理239
8.2.5 清除策略243
8.2.6 加载控制244
  8.3 UNIX和Solaris内存管理245
8.3.1 分页系统245
8.3.2 内核内存分配器247
  8.4 Linux内存管理249
8.4.1 虚拟内存249
8.4.2 内核内存分配250
  8.5 Windows内存管理251
8.5.1 Windows虚拟地址映射251
8.5.2 Windows分页251
8.5.3 Windows 8交换252
  8.6 Android内存管理252
  8.7 小结252
  8.8 推荐读物和动画253
  8.9 关键术语、复习题和习题253
8.9.1 关键术语253
8.9.2 复习题254
8.9.3 习题254
第四部分 调度
第9章 单处理器调度258
  9.1 处理器调度的类型258
9.1.1 长程调度259
9.1.2 中程调度260
9.1.3 短程调度260
  9.2 调度算法260
9.2.1 短程调度规则260
9.2.2 优先级的使用261
9.2.3 选择调度策略262
9.2.4 性能比较268
9.2.5 公平共享调度272
  9.3 传统的UNIX调度273
  9.4 小结274
  9.5 推荐读物9
猜您喜欢

读书导航