出版时间:2009-4 出版社:机械工业出版社 作者:邹恒明 页数:309
Tag标签:无
前言
当你在电脑上玩游戏的时候,当你在电脑上与朋友聊天的时候,当你编写完一个程序需要加栽运行的时候,你有没有一种像在观看魔术的感觉?编写好的程序能够编译运行,计算出结果,并显示或打印出来。你有没有觉得它很神秘? 如果想揭开这层神秘的面纱,你就得学习操作系统。 因为操作系统是掌控计算机运行的系统,在学习它的过程中,读者能够了解到程序在计算机上运行的全景,或者说我们所认为的全景。之所以这么说,是因为精确了解程序在计算机上运行的全景是极其困难的(有人认为这根本就是不可能的)。当然,这里的程序指的是有一定规模的程序,而不是那种只有几行代码的小程序。从某种程度上来说,没有人敢肯定自己清楚计算机在任何一个时刻所处的状态。例如,在多流水线计算机上,如果发生中断或异常,我们根本就得不到一个精准的状态。唯一能做的就是推倒重来。
内容概要
《计算机的心智:操作系统之哲学管理》集中精力对操作系统的核心内容进行分析,包括操作系统发展的历史背景、进程与线程、内存管理、文件系统、输入与输出、多核环境下的进程调度和操作系统设计。《计算机的心智:操作系统之哲学管理》用大量生活实例,生动解释了操作系统中的主要难点和模糊点:锁的实现、同步机制的发展轴线、纯粹分段到段页式的演变、多核环境下的进程同步与调度和操作系统设计等内容,而放弃了对操作系统核心以外内容,如安全、多媒体系统、虚拟机技术、光盘技术等的论述。《计算机的心智:操作系统之哲学管理》重点突出、逻辑清晰、内容连贯,便于学生顺利掌握操作系统的核心内容。《计算机的心智:操作系统之哲学管理》层次丰富、涵盖操作系统的所有核心内容,适合作为国内高校计算机及相关专业本科生操作系统课程的教材,也是了解计算机操作系统原理不可多得的参考书。
书籍目录
前言第一篇 基础原理篇第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 操作系统的未来发展趋势思考题第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 进程管理4.1 0进程的缺陷思考题第5章 线程引子5.1 进程的分身术——线程5.2 线程管理5.3 线程的实现方式5.4 现代操作系统的线程实现模型5.5 多线程的关系5.6 讨论:从用户态进入内核态5.7 讨论:线程的困惑——确定性与非确定性思考题第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 管程7.8 消息传递7.9 栅栏思考题第8章 进程调度引子8.1 调度的目标8.2 处理器调度的总体目标8.3 先来先服务调度算法8.4 时间片轮转8.5 短任务优先8.6 优先级调度8.7 混合调度算法8.8 其他调度算法8.9 实时调度算法8.1 0高级议题:调度异常之优先级倒挂思考题第9章 锁的实现引子:锁的实现哲学9.1 以中断启用与禁止来实现锁9.2 以测试与设置指令来实现锁9.3 以非繁忙等待、中断启用与禁止来实现锁9.4 以最少繁忙等待、测试与设置来实现锁9.5 中断禁止、测试与设置思考题第10章 死锁应对引子10.1 发生死锁的原因10.2 死锁的描述10.3 死锁的4个必要条件10.4 哲学家就餐问题1O.5 死锁的应对10.6 消除死锁的必要条件10.7 银行家算法:冒险的代价10.8 哲学家就餐问题之解10.9 讨论:死锁的思考——综合治理10.1 0讨论:死锁、活锁与饥饿思考题第三篇 内存原理篇第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 IRU算法13.10 工作集算法13.11 工作集时钟算法13.12 页面替换策略思考题第14章 段式内存管理引子14.1 分页系统的缺点14.2 分段管理系统14.3 分段的优缺点14.4 段页式内存管理14.5 段号是否占用寻址字住14.6 讨论:否定之否定的嵌套一纯粹分段与逻辑分段、分页与段页思考题第四篇 文件原理篇第15章 磁盘操作引子15.1 磁盘组织与管理15.2 磁盘的结构15.3 盘面的结构15.4 磁盘驱动器的访问速度15.5 操作系统界面15.6 磁盘调度算法思考题第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 海量数据文件系统思考题第五篇 I/O原理篇第19章 输入输出引子19.1 什么是输入输出19.2 输入输出的目的19.3 输入输出硬件19.4 输入输出软件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条哲学原理:适可而止思考题结语参考文献
章节摘录
第一篇 基础原理篇 第1章 操作系统导论 1.1 人造学科 要想学好操作系统,具有恰当的思维模式是十分必要的。这个思维模式就是本书所强调的“哲学”:一种思维方式或一种生活方式。我们以一个问题来说明这一点。这个问题是:什么是计算机的根本特征? 对于这个问题,相信很多人会说计算机就是个计算机器,或者是用来进行大规模计算的机器,或者是用于数据处理的机器,或者是具备某些其他具体功能的机器。这些回答当然没有错,问题是这些答案并不能帮助我们更好地学习理解计算机。就像我们问“张三这个人的根本特征是什么”,而回答是“张三有175cm高”一样。这种答案虽然是正确的,但意义不大,因为我们无法从答案中推导出一系列有用的结论。 那这个问题该如何回答呢?这就要看我们对事物的观察程度。如果我们仔细看看身边的事物,就会发现所有的东西可以划分为两类:一类是本来就存在于自然中,人类所做的只不过是发现;另一类是本来并不存在,人类所做的是发明。第一类事物我们称之为神造事物或者自然存在的事物,第二类事物当然就是人造事物。从这个思维模式上看,计算机毫无疑问就是人造事物,这正是我们所需要的答案,即计算机的根本特征是“人造”。 引申一下可知,计算机学科就是一个人造学科。那么知道计算机学科是人造学科对我们学习计算机有什么帮助呢?有,太多了。下面我们来看看人造和神造有什么区别。 人造学科的四个特点: ?不精确、具有相对性。 ?从对人类活动的观察导出。 ?依赖于人的主观判断力。 ?通常符合人的直觉。
编辑推荐
《计算机的心智:操作系统之哲学管理》对操作系统原理的讨论充满趣味性:每一章都力求细致地阐明一个主题,将通俗的哲学原理和逻辑推理贯穿子每一个主题,构成全书的有机整体,并适当地引入计算机组成和编译器知识,揭示操作系统在程序运行中发挥的作用,把读者对操作系统的理解带到一个崭新酌境界。所见的是暂时的,所不见的是永远的。 这是一个瞬息万变的时代。 分布式计算的脚步渐行渐远,网格计算的热潮逐步退却,云计算和云存储正慢慢揭开面纱……在所有的变化中,不变的是这些计算的支柱:操作系统!能否深刻理解它也许会决定云时代的“浮沉”。 《计算机的心智:操作系统之哲学管理》从生活哲学的视角对操作系统的原理进行阐述,通过逻辑推理演绎操作系统核心技术的奥秘,讨论范围包括操作系统的所有基础内容:背景与历史。进程与线程、通信与同步、调度与死锁,分页与分段。磁盘与文件。输入与输出等。此外,作者以新颖的组织方式讲解了锁的实现、同步机制的发展逻辑。从分段到段页式的演变、多核环境下的同步与调度、操作系统设计的原则。
图书封面
图书标签Tags
无
评论、评分、阅读与下载