标题：操作系统之哲学原理
基本信息
  出版社: 机械工业出版社; 第2版 (2012年3月22日) 
平装: 467页 
正文语种: 简体中文 
开本: 16 
ISBN: 9787111366928 
条形码: 9787111366928 
品牌: 机械工业出版社 
ASIN: B007FMY642
内容简介
操作系统是计算机系统的核心系统软件，负责控制和管理整个系统，使之协调工作。本书对操作系统的核心内容进行了全面分析，包括操作系统的发展历史和基本概念、进程与线程、内存管理、文件系统、输入与输出、多核环境下的进程调度和操作系统设计。本书用大量生活实例，生动地解释了操作系统中的主要难点和模糊点：锁的实现、同步机制的发展轴线、纯粹分段到段页式的演变、多核环境下的进程同步与调度和操作系统设计等内容。本书重点突出、逻辑清晰、内容连贯，便于学生顺利掌握操作系统的核心内容。
本书层次丰富、涵盖操作系统的所有核心内容，适合作为国内高校计算机及相关专业本科生操作系统课程的教材，也是了解计算机操作系统原理不可多得的参考书。
作者简介
邹恒明，美国密歇根大学博士。曾任职美国IBM、国家数据公司、朗讯、EMC公司8年多。在IBM和EMC分别从事AIX操作系统和Engenity存储操作系统的研发，其中包括911中挽摩根斯坦利公司于既倒的、美国唯一的“英雄软件”SRDF。2007年在中国金融期货交易系统（股指期货）专家测评中担任软件测评组长。2004年以来在上海交大研究、执教操作系统和算法设计等14门课程多年。
目录
前言
第一篇 基础原理篇
第1章 操作系统导论
引子：智者的挑战
1.1 人造与神造
1.2 程序是如何运行的
1.3 什么是操作系统
1.4 魔术与管理
1.5 用户程序与操作系统
1.6 操作系统的范畴
1.7 为什么学习操作系统
思考题
第2章操 作系统历史
引子：不能承受之真
2.1 第一阶段：状态机操作系统（1940年以前）
2.2 第二阶段：单一操作员单一控制端操作系统（20世纪40年代）
2.3 第三阶段：批处理操作系统（20世纪50年代）
2.4 第四代：多道批处理操作系统（20世纪60年代）
2.5 第五代之一：分时操作系统（20世纪70年代）
2.6 第五代之二：实时操作系统
2.7 第六代：现代操作系统（1980年以后）
2.8 操作系统的演变过程
2.9 操作系统的未来发展趋势
2.10 讨论：操作系统虚拟化和虚拟化的操作系统
思考题
第3章 操作系统基本概念
引子：软件师的尴尬
3.1 计算机硬件基本知识
3.2 抽象
3.3 内核态和用户态
3.4 操作系统结构
3.5 进程、内存和文件
3.6 系统调用
3.7 壳
思考题
第二篇 进程原理篇
第4章 进程
引子：牛顿的困惑
4.1 进程概论
4.2 进程模型
4.3 多道编程的好处
4.4 进程的产生与消失
4.5 进程的层次结构
4.6 进程的状态
4.7 进程与地址空间
4.8 进程管理
4.9 进程的缺陷
思考题
第5章 进程调度
引子：恐怖分子的调度
5.1 进程调度的定义
5.2 进程调度的目标
5.3 先来先服务调度算法
5.4 时间片轮转算法
5.5 短任务优先算法
5.6 优先级调度算法
5.7 混合调度算法
5.8 其他调度算法
5.9 实时调度算法
5.10 进程调度的过程
5.11 高级议题：调度异常之优先级倒挂
思考题
第6章 进程通信
引子：孤独爆破手的自白
6.1 为什么要通信
6.2 进程对白：管道、记名管道、套接字
6.3 进程电报：信号
6.4 进程旗语：信号量
6.5 进程拥抱：共享内存
6.6 信件发送：消息队列
6.7 其他通信机制
思考题
第三篇 线程原理篇
第7章 线程
引子：亚历山大的分身术
7.1 进程的分身术——线程
7.2 线程管理
7.3 线程模型的实现
7.4 现代操作系统的线程实现模型
7.5 多线程的关系
7.6 讨论：从用户态进入内核态
7.7 讨论：线程的困惑——确定性与非确定性
思考题
第8章 线程同步
引子：滑铁卢的同步
8.1 为什么要同步
8.2 线程同步的目的
8.3 锁的进化：金鱼生存
8.4 睡觉与叫醒：生产者与消费者问题
8.5 信号量
8.6 锁、睡觉与叫醒、信号量
8.7 管程
8.8 消息传递
8.9 栅栏
思考题
第9章 死锁应对之哲学原理
引子：迷雾笼罩的加拿大
9.1 为什么会发生死锁
9.2 死锁的描述
9.3 死锁的4个必要条件
9.4 哲学家就餐问题
9.5 死锁的应对
9.6 消除死锁的必要条件
9.7 银行家算法：冒险的代价
9.8 哲学家就餐问题之解
9.9 讨论：死锁的思考——综合治理
9.10 讨论：死锁、活锁与饥饿
思考题
第10章 锁的实现
引子：高登绳结
10.1 以中断启用与禁止来实现锁
10.2 以测试与设置指令来实现锁
10.3 以非繁忙等待、中断启用与禁止来实现锁
10.4 以最少繁忙等待、测试与设置来实现锁
10.5 中断禁止、测试与设置
思考题
第四篇 内存原理篇
第11章 基本内存管理
引子：让别人无路可走
11.1 内存管理的环境
11.2 内存管理的目标
11.3 虚拟内存的概念
11.4 操作系统在内存中的位置
11.5 单道编程的内存管理
11.6 多道编程的内存管理
11.7 闲置空间管理
思考题
第12章 页式内存管理
引子：虚拟概念的变现
12.1 基址极限管理模式的问题
12.2 分页内存管理
12.3 分页系统的优缺点
12.4 翻译速度
12.5 缺页中断处理
12.6 锁住页面
12.7 页面尺寸
12.8 内存抖动
思考题
第13章 页面更换算法
引子：黑洞理论的替换
13.1 页面需要更换
13.2 页面更换的目标
13.3 随机更换算法
13.4 先进先出算法
13.5 第二次机会算法
13.6 时钟算法
13.7 最优更换算法
13.8 NRU算法
13.9 LRU算法
13.10 工作集算法
13.11 工作集时钟算法
13.12 页面替换策略
思考题
第14章 段式内存管理
引子：否定之否定
14.1 分页系统的缺点
14.2 分段管理系统
14.3 分段的优缺点
14.4 段页式内存管理
14.5 段号是否占用寻址字位
14.6 讨论：否定之否定的嵌套——纯粹分段与逻辑分段、分页与段页
思考题
第五篇 文件原理篇
第15章 磁盘操作
引子：EMC——从不可能到可能
15.1 磁盘组织与管理
15.2 磁盘的结构
15.3 盘面的结构
15.4 磁盘驱动器的访问速度
15.5 操作系统界面
15.6 磁盘调度算法
15.7 讨论：固态盘
15.8 讨论：智能磁盘系统
思考题
第16章 文件系统
引子：掩饰的极致
16.1 为什么需要文件系统
16.2 文件系统
16.3 文件系统的目标
16.4 文件的基本知识
16.5 从用户角度看文件系统
16.6 地址独立的实现机制：文件夹
16.7 文件系统调用
16.8 内存映射的文件访问
思考题
第17 章文件系统实现
引子：成功中的失败
17.1 文件系统的布局
17.2 文件的实现
17.3 目录实现：地址独立的实现
17.4 闲置空间管理
思考题
第18章 文件系统性能
引子：从不可能到可能
18.1 文件授权管理
18.2 主动控制：访问控制表
18.3 能力表
18.4 访问控制的实施
18.5 其他文件安全措施
18.6 文件系统性能
18.7 文件系统效率性能
18.8 文件系统设计分析：日志结构的文件系统
18.9 海量数据文件系统
思考题
第六篇 I/O原理篇
第19章 输入输出
引子：约翰逊的输出——从没有到爆发
19.1 输入输出
19.2 输入输出的目的
19.3 输入输出硬件
19.4 I/O软件
19.5 I/O软件分层
思考题
第七篇 多核原理篇
第20章 多核结构与内存
引子：不能承受之热
20.1 以量取胜
20.2 多核基本概念
20.3 多核的内存结构
20.4 对称多处理器计算机的启动过程
20.5 多处理器之间的通信
20.6 SMP缓存一致性
20.7 多处理器、超线程和多核的比较
思考题
第21章 多核环境下的进程同步与调度
引子：“多核”帝国的陨落
21.1 多核环境下操作系统的修正
21.2 多核环境下的进程同步与调度
21.3 多核进程同步
21.4 硬件原子操作
21.5 总线锁
21.6 多核环境下的软件同步原语
21.7 旋锁
21.8 其他同步原语
21.9 多核环境下的进程调度
21.10 多核环境下的能耗管理
21.11 讨论：多核系统的性能
思考题
第八篇 操作系统设计篇
第22章 操作系统设计之哲学原理
引子：残缺心智的胜利
22.1 操作系统设计的追求
22.2 操作系统设计的第1条哲学原理：层次架构
22.3 操作系统设计的第2条哲学原理：没有对错
22.4 操作系统设计的第3条哲学原理：懒人哲学
22.5 操作系统设计的第4条哲学原理：让困于人
22.6 操作系统设计的第5条哲学原理：留有余地
22.7 操作系统设计的第6条哲学原理：子虚乌有——海市蜃楼之美
22.8 操作系统设计的第7条哲学原理：时空转换——沧海桑田之变
22.9 操作系统设计的第8条哲学原理：策机分离与权利分离
22.10 操作系统设计的第9条哲学原理：简单为美——求于至简,归于永恒
22.11 操作系统设计的第10条哲学原理：适可而止
思考题
结语：失望与希望
参考文献