注册 登录 进入教材巡展
#
  • #

出版时间:2015年8月

出版社:机械工业出版社

以下为《操作系统原理》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111433897
  • 1版
  • 20202
  • 49220024-1
  • 平装
  • 16开
  • 2015年8月
  • 594
  • 372
  • 工学
  • 软件工程
  • TP316
  • 计算机通信类
  • 本科
内容简介
本书针对计算机和其他IT专业学生的发展需求,系统、全面地介绍了操作系统的概念、原理、方法与应用,详细介绍了硬件基础、操作系统概述、进程描述和控制、线程、互斥与同步、死锁和饥饿、存储管理、分页与分段设计、处理器管理、输入/输出原理、I/O设备管理、文件管理、操作系统安全、多媒体操作系统、嵌入式操作系统以及分布式、客户/服务器和集群系统等内容,力图反映操作系统领域的新发展,具有较强的系统性和可读性。本书配套有大量习题,并为部分习题提供了参考答案。
目录
第1篇 背景知识
第1章 硬件基础1
1.1 硬件的基本构成1
1.2 处理器3
1.2.1 CPU的性能因素4
1.2.2 微处理器的发展5
1.3 指令与指令周期6
1.3.1 指令6
1.3.2 指令周期7
1.3.3 指令集的复杂性7
1.3.4 流水线和并行处理8
1.4 中断8
1.4.1 中断和指令周期8
1.4.2 中断处理9
1.4.3 多个中断10
1.5 存储器的层次结构12
1.5.1 内存的4种类型12
1.5.2 存储器的重要特性13
1.5.3 存储器访问的局部性原理14
1.6 高速缓存15
1.7 直接内存存取16
1.8 多处理器和多核计算机组织结构17
1.8.1 对称多处理器17
1.8.2 多核计算机19
1.9 启动计算机20
1.10 习题21
第2章 操作系统概述23
2.1 操作系统的功能23
2.1.1 作为用户/计算机接口23
2.1.2 作为资源管理器25
2.1.3 作为扩展机器26
2.2 操作系统的种类27
2.3 操作系统的核心概念31
2.3.1 进程31
2.3.2 地址空间与内存管理35
2.3.3 文件37
2.3.4 调度和资源管理38
2.3.5 输入/输出39
2.3.6 保护39
2.3.7 Shell与图形用户界面39
2.4 操作系统的发展41
2.4.1 串行处理41
2.4.2 简单批处理系统42
2.4.3 多道批处理系统43
2.4.4 分时系统44
2.4.5 实时系统45
2.4.6 通用操作系统45
2.4.7 操作系统的进一步发展46
2.5 系统调用46
2.5.1 系统调用的概念46
2.5.2 用于进程管理的系统调用47
2.5.3 用于文件管理的系统调用49
2.5.4 Windows Win32 API49
2.6 操作系统结构50
2.6.1 单体系统50
2.6.2 层次式系统51
2.6.3 微内核51
2.6.4 客户机—服务器模式52
2.6.5 虚拟机53
2.6.6 外核56
2.7 多处理器和多核计算机操作系统的设计因素56
2.7.1 多线程56
2.7.2 对称多处理器计算机56
2.7.3 多核计算机58
2.8 习题59
第2篇 进程与线程
第3章 进程描述和控制61
3.1 进程的概述61
3.2 进程状态62
3.2.1 两状态进程模型63
3.2.2 进程的创建和终止64
3.2.3 五状态模型65
3.2.4 被挂起的进程68
3.3 进程描述71
3.3.1 操作系统的控制结构71
3.3.2 进程控制结构72
3.4 进程控制74
3.4.1 进程创建75
3.4.2 进程切换75
3.5 操作系统的执行77
3.5.1 无进程的内核77
3.5.2 在用户进程中执行78
3.5.3 基于进程的操作系统78
3.6 习题79
第4章 线程82
4.1 线程的概念82
4.1.1 单线程和多线程82
4.1.2 线程的属性83
4.1.3 线程的功能特性85
4.1.4 线程和进程的区别86
4.2 用户级和内核级线程87
4.3 多核和多线程90
4.4 Windows 7线程和SMP管理90
4.4.1 进程对象和线程对象91
4.4.2 多线程93
4.4.3 线程状态93
4.4.4 对OS子系统的支持94
4.4.5 对称多处理的支持95
4.5 习题95
第5章 互斥与同步96
5.1 并发的原理96
5.1.1 同步与互斥97
5.1.2 简单举例 97
5.1.3 进程的交互99
5.1.4 互斥的要求102
5.2 互斥:硬件的支持103
5.3 信号量106
5.3.1 互斥107
5.3.2 生产者/消费者问题109
5.3.3 信号量的实现112
5.4 管程114
5.4.1 使用信号的管程114
5.4.2 使用通知和广播的管程116
5.5 消息传递118
5.5.1 同步118
5.5.2 寻址119
5.5.3 消息格式120
5.5.4 排队原则120
5.5.5 互斥121
5.6 读者/写者问题122
5.6.1 读者优先123
5.6.2 写者优先123
5.7 习题126
第6章 死锁与饥饿127
6.1 死锁原理127
6.1.1 可抢占资源和不可抢占资源127
6.1.2 可重用资源和可消耗资源128
6.1.3 资源获取129
6.1.4 死锁的定义130
6.1.5 资源死锁的条件131
6.1.6 死锁建模131
6.2 死锁检测和死锁恢复133
6.2.1 死锁检测134
6.2.2 死锁恢复135
6.3 死锁避免136
6.3.1 资源轨迹图137
6.3.2 安全状态和不安全状态138
6.3.3 单个资源的银行家算法139
6.3.4 多个资源的银行家算法139
6.4 死锁预防140
6.5 活锁与饥饿142
6.5.1 两阶段加锁142
6.5.2 通信死锁143
6.5.3 活锁144
6.5.4 饥饿145
6.6 哲学家就餐问题146
6.7 习题148
第3篇 存储管理与调度
第7章 存储管理150
7.1 无存储器抽象150
7.2 存储器抽象:地址空间152
7.2.1 地址空间的概念152
7.2.2 交换技术153
7.2.3 空闲内存管理154
7.2.4 驻留集管理157
7.3 虚拟内存157
7.3.1 分页158
7.3.2 页表160
7.3.3 加速分页过程162
7.3.4 针对大内存的页表164
7.4 页面置换算法167
7.4.1 最优页面置换算法167
7.4.2 最近未使用(NRU)页面置换算法168
7.4.3 先进先出(FIFO)页面置换算法168
7.4.4 第二次机会页面置换算法169
7.4.5 时钟页面置换算法169
7.4.6 最近最少使用(LRU)页面置换算法169
7.4.7 最不常用页面置换算法170
7.4.8 工作集页面置换算法171
7.4.9 工作集时钟(WSClock)页面置换算法172
7.5 习题172
第8章 分页与分段设计175
8.1 分页系统的设计问题175
8.1.1 局部分配策略与全局分配策略175
8.1.2 负载控制177
8.1.3 页面大小177
8.1.4 分离的指令空间和数据空间178
8.1.5 共享页面178
8.1.6 共享库179
8.1.7 内存映射文件181
8.1.8 清除策略181
8.1.9 虚拟内存接口181
8.2 设计的实现问题182
8.2.1 与分页有关的工作182
8.2.2 指令备份183
8.2.3 后备存储184
8.3 分段185
8.3.1 纯分段的实现188
8.3.2 分段和分页结合:MULTICS188
8.3.3 分段和分页结合:Intel Pentium190
8.4 习题190
第9章 处理器管理193
9.1 处理器调度的类型193
9.2 调度算法195
9.2.1 短程调度准则195
9.2.2 优先级的使用196
9.2.3 选择调度策略197
9.2.4 公平共享调度201
9.3 多处理器调度201
9.3.1 粒度202
9.3.2 设计问题203
9.3.3 进程调度204
9.3.4 线程调度204
9.4 实时调度207
9.4.1 实时操作系统的特点208
9.4.2 实时调度方法210
9.4.3 限期调度211
9.4.4 速率单调调度212
9.4.5 优先级反转212
9.5 习题213
第4篇 输入/输出和文件管理
第10章 输入/输出管理216
10.1 I/O硬件原理216
10.1.1 I/O设备216
10.1.2 设备控制器217
10.1.3 内存映射I/O218
10.1.4 直接存储器存取221
10.2 I/O软件原理223
10.2.1 I/O软件的目标223
10.2.2 程序控制I/O224
10.2.3 中断驱动I/O225
10.2.4 使用DMA的I/O225
10.3 I/O软件层次226
10.3.1 中断处理程序226
10.3.2 设备驱动程序227
10.3.3 与设备无关的I/O软件229
10.3.4 用户空间的I/O软件232
10.4 习题233
第11章 I/O设备管理235
11.1 盘235
11.1.1 磁盘235
11.1.2 光盘237
11.1.3 固态硬盘238
11.2 磁盘臂调度算法240
11.3 磁盘阵列(RAID)242
11.4 时钟244
11.4.1 时钟硬件245
11.4.2 时钟软件245
11.4.3 软定时器247
11.5 用户界面:键盘、鼠标和监视器248
11.5.1 输入软件248
11.5.2 输出软件249
11.6 电源管理253
11.7 习题256
第12章 文件管理259
12.1 文件259
12.1.1 文件命名260
12.1.2 文件结构261
12.1.3 文件类型262
12.1.4 文件存取263
12.1.5 文件属性263
12.1.6 文件操作264
12.2 目录264
12.2.1 一级目录系统265
12.2.2 层次目录系统265
12.2.3 路径名265
12.2.4 目录操作266
12.3 文件系统的实现267
12.3.1 文件系统布局267
12.3.2 文件的实现268
12.3.3 目录的实现270
12.3.4 虚拟文件系统271
12.4 文件系统管理和优化272
12.4.1 磁盘空间管理272
12.4.2 文件系统备份273
12.4.3 文件系统的一致性275
12.4.4 文件系统性能275
12.4.5 磁盘碎片整理276
12.5 习题277
第5篇 操作系统进阶
第13章 操作系统安全281
13.1 安全的概念281
13.2 威胁、攻击与资产282
13.2.1 威胁与资产282
13.2.2 入侵者284
13.2.3 数据意外遗失285
13.3 恶意软件285
13.3.1 特洛伊木马286
13.3.2 病毒287
13.3.3 蠕虫288
13.3.4 僵尸289
13.3.5 移动代码290
13.3.6 间谍软件290
13.3.7 Rootkit291
13.4 内部与外部攻击292
13.4.1 后门陷阱292
13.4.2 逻辑炸弹292
13.4.3 登录欺骗293
13.4.4 利用代码漏洞293
13.5 身份验证与访问控制294
13.5.1 基于密码的身份验证294
13.5.2 基于令牌的身份验证295
13.5.3 生物特征识别认证296
13.5.4 访问控制297
13.6 入侵检测298
13.6.1 基于主机的入侵检测技术298
13.6.2 审计记录299
13.7 防御299
13.7.1 防火墙299
13.7.2 反病毒技术300
13.7.3 蠕虫对策302
13.8 习题302
第14章 多媒体操作系统306
14.1 多媒体概述306
14.2 多媒体文件308
14.2.1 视频编码309
14.2.2 音频编码310
14.3 视频压缩311
14.3.1 JPEG标准311
14.3.2 MPEG标准311
14.4 音频压缩313
14.5 多媒体进程调度313
14.5.1 调度同质进程313
14.5.2 一般实时调度314
14.5.3 速率单调调度315
14.5.4 最早最终时限优先调度316
14.6 多媒体文件系统317
14.6.1 VCR控制功能318
14.6.2 近似视频点播319
14.7 文件存放320
14.7.1 在单个磁盘上存放文件321
14.7.2 两个替代的文件组织策略321
14.7.3 近似视频点播的文件存放323
14.7.4 在单个磁盘上存放多个文件323
14.7.5 在多个磁盘上存放文件324
14.8 高速缓存326
14.8.1 块高速缓存326
14.8.2 文件高速缓存328
14.9 多媒体磁盘调度328
14.9.1 静态磁盘调度328
14.9.2 动态磁盘调度328
14.10 习题329
第15章 嵌入式操作系统333
15.1 嵌入式系统333
15.2 eCos336
15.2.1 可配置性336
15.2.2 eCos组件337
15.2.3 eCos调度程序338
15.2.4 eCos线程同步340
15.3 TinyOS341
15.3.1 无线传感器网络342
15.3.2 TinyOS的目标342
15.3.3 TinyOS的组件343
15.3.4 TinyOS的调度程序344
15.3.5 TinyOS的资源接口344
15.4 习题345
第16章 分布式处理、客户/服务器
和集群系统346
16.1 客户/服务器计算模型346
16.1.1 客户/服务器的概念346
16.1.2 客户/服务器的应用347
16.1.3 中间件352
16.2 面向服务的体系结构353
16.3 分布式消息传递355
16.4 远程过程调用357
16.5 集群359
16.5.1 集群的配置360
16.5.2 操作系统的设计问题361
16.5.3 集群计算机的体系结构362
16.5.4 Windows集群服务器364
16.5.5 Beowulf和Linux集群365
16.6 习题366
附录 部分习题参考答案370
参考文献372