操作系统之哲学原理(第2版)

0
(0)

操作系统之哲学原理(第2版)

作者:邹恒明

出版社:机械工业出版社

出版年:2012-3

页数:448

定价:69.00元

装帧:平装

ISBN:9787111366928

内容简介
······

操作系统是计算机系统的核心系统软件,负责控制和管理整个系统,使之协调工作。本书对操作系统的核心内容进行了全面分析,包括操作系统的发展历史和基本概念、进程与线程、内存管理、文件系统、输入与输出、多核环境下的进程调度和操作系统设计。本书用大量生活实例,生动地解释了操作系统中的主要难点和模糊点:锁的实现、同步机制的发展轴线、纯粹分段到段页式的演变、多核环境下的进程同步与调度和操作系统设计等内容。本书重点突出、逻辑清晰、内容连贯,便于学生顺利掌握操作系统的核心内容。

本书层次丰富、涵盖操作系统的所有核心内容,适合作为国内高校计算机及相关专业本科生操作系统课程的教材,也是了解计算机操作系统原理不可多得的参考书。

作者简介
······

邹恒明,美国密歇根大学博士。曾任职美国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条哲学原理:适可而止

思考题

结语:失望与希望

参考文献

评论 ······

用大量非专业的词句生动且系统解释了复杂操作系统,无论对于专业或者行业外都很友好。

寓教于乐,操作系统的哲学的问题并不多,很多是电脑系统的各个部件的发展经历和净化过程。入门书籍来说略难,需要有时间二刷。希望linux的个人市场春天尽早到来,win真的垄断太久啦

科室推荐,第一次对操作系统、内存等有了更深入的理解。

作为OS入门还是不错的(多亏了《现代操作系统》?),其中的哲学就呵呵了

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册