当前位置: 首页 > 资源下载  > 电子书 > 计算机

Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理(第2版)

12/19/2018 9:31:55 PM 人评论

【畅销书】版权输出到美国、韩国和中国台湾,实现了中国计算机图书向美国输出的零的突破。英文版被MIT等100多所大学图书馆和美国国会图书馆收藏  对于操作系统而言,稳定且可靠地运行是最重要的。现行技术方案是将用户进程与用户进程之间、用户进程与操作系统之间进行分

Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理(第2版)

Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理(第2版)

编辑推荐

  【畅销书】版权输出到美国、韩国和中国台湾,实现了中国计算机图书向美国输出的零的突破。英文版被MIT等100多所大学图书馆和美国国会图书馆收藏

  对于操作系统而言,稳定且可靠地运行是最重要的。现行技术方案是将用户进程与用户进程之间、用户进程与操作系统之间进行分离,操作系统可以管理用户进程,但是用户进程之间不能互相干预,更不能“侵入”操作系统内核。然而这一切是如何实现的呢?用户程序和操作系统都是程序,使用的是同一个CPU、同一套指令集、同一个内存条,为什么会有这么大的区别呢?

  绝妙之处在于操作系统的设计指导思想:主奴机制!

  操作系统的设计者依托硬件,在主奴机制设计思想的指导下,把操作系统内核与用户进程间的关系设计为“主子”与“奴才”的关系。该指导思想贯穿整个操作系统设计的始终,涉及操作系统的方方面面。以内存管理为例,操作系统内核可以访问所有的内存空间,包括用户进程的内存空间,而用户进程则不能访问其他用户进程的内存空间,更不可能访问操作系统内核的内存空间。更有甚者,用户进程甚至不知道自身的代码以及所访问的内存究竟在物理内存中的什么位置……可以说,操作系统就是围绕着“主奴机制”这个设计指导思想实现的。

  本书不仅在主奴机制等宏观的设计指导思想方面有独到的见解,而且对操作系统源代码的实现原理和编程技巧等微观内容的讲解与分析也细致入微。例如:

  为什么操作系统的内核代码不是加载在0x00000的位置?

  为什么 jmpi 0, 8中的“8”不能简单地当做阿拉伯数字“8”看待?

  为什么用C语言写的操作系统却不是从main函数开始执行?

  ……

  所有这些在同类书中可能都不曾提及的问题在本书中都有精彩的论述。

  第1版与第2版的区别

  结合广大读者的反馈意见和新设计团队对操作系统新的认识,第2版在第1版的基础上进行了大幅度的优化和重写,使得本书的内容更易于读者理解。主要改动如下:

  第1版的第2章在第2版中被拆分为第2、3、4章,这样的拆分对操作系统启动部分的系统初始化、激活进程0、创建进程1、进程2的层次划分更清晰,各章内容的篇幅也更为均衡,阅读体验会更好。

  根据读者的反馈,第2版中增加了一些示意图,更便于读者理解。

  根据读者的要求,在源代码中增加了大量的注释,对操作系统的架构描述更直观,对源代码的讲解更细致。

内容简介

  长期以来,新设计团队一直在为设计一个自主的、有所突破和创新的操作系统而努力。为了让新的成员能更快、更容易地理解操作系统的精髓,从更高的角度去鉴赏和发现操作系统设计中的精妙与不足,团队成员以Linux 0.11内核为例,对操作系统的设计思想和实现原理进行了深刻地剖析,取得了十分好的效果,很好地培养和锻炼了团队成员对操作系统的驾驭能力。为了实现让国人也能设计出自己的操作系统的目标,本书作者团队无私地将他们的独特研究方式与研究成果奉献了出来,希望所有想要去深刻理解Linux内核和操作系统设计思想朋友能从中受益。

  本书的特点在于,既不是空泛地讲理论,也不是单纯地从语法的角度去逐行地分析源代码,而是以操作系统在实际运行中的几个经典事件为主线,将理论和实际结合在一起,精准地再现了操作系统在实际运行中究竟是如何运转的。宏观上,大家可以领略Linux 0.11内核的设计指导思想,可以了解到各个环节是如何牵制并保持平衡的,以及软件和硬件之间是如何互相依赖、互相促进的;微观上,大家可以看到每一个细节的实现方式和其中的精妙之处。


作者简介

  新设计团队,一直在为设计一个自主的、有所突破和创新的操作系统而努力。为了让新的成员能更快、更容易地理解操作系统的精髓,从更高的角度去鉴赏和发现操作系统设计中的精妙与不足,团队成员以Linux 0.11内核为例,对操作系统的设计思想和实现原理进行了深刻地剖析,取得了十分好的效果,很好地培养和锻炼了团队成员对操作系统的驾驭能力。为了实现让国人也能设计出自己的操作系统的目标,本书作者团队无私地将他们的独特研究方式与研究成果奉献了出来,希望所有想要深刻理解Linux内核和操作系统设计思想的朋友能从中受益。
  《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理(第2版)》的特点在于,既不是空泛地讲理论,也不是单纯地从语法的角度去逐行地分析源代码,而是以操作系统在实际运行中的几个经典事件为主线,将理论和实际结合在一起,精准地再现了操作系统在实际运行中究竟是如何运转的。宏观上,大家可以领略Linux 0.11内核的设计指导思想,可以了解到各个环节是如何牵制并保持平衡的,以及软件和硬件之间是如何互相依赖、互相促进的;微观上,大家可以看到每一个细节的实现方式和其中的精妙之处。

附件下载

  • 下载

    百度网盘下载

    下载: 所需积分:90

  • 积分获取方法:先给账户进行充值,然后进行积分兑换,积分兑换比例:1元可兑换10个积分.
    具体可参考帮助如何获取积分说明

相关资源

  • 算法零基础一本通(Python版全彩印刷)_电子书PDF格式百度云网盘下载

    《算法零基础一本通(Python版 全彩印刷)》指导读者从零开始学习算法:从基础数据结构开始,逐步解说信息安全算法,最后也讲解了人工智能入门领域的KNN和K-means算法。  《算法零基础一本通(Python版 全彩印刷)》理论与实例并重,在讲解算法理论时,使用热门程序

    12/29/2024 9:07:06 PM
  • 图解黄帝宅经全新图解认识中国居住之道

    住宅文化是中国古代关于居住环境规划和设计的一门学问,历史悠久 ,渊远流长,是中国传统文化的独特产物。《黄帝宅经》相传是黄帝所作 ,它综述了中国住宅文化的精髓,强调了要根据环境综合考察阳宅,相宅 应当“以形势为身体,以泉水为血脉,以土地为皮肉,以草木为毛发

    10/19/2024 8:39:11 PM
  • Java2认证考试指南与试题解析

    Java2认证考试指南与试题解析作者:孙卫琴,李洪成编著ISBN:9787532366279出版社:上海科学技术出版社出版日期:2002年01月市场价:78.00内容简介Sun公司在Unix领域一直是技术和市场占有率的领先者,近年来她又推出了Java技术,并成为业界的标准。目前,Java的培训和认证…

    9/21/2024 8:42:52 PM
  • 精通Struts:基于MVC的JavaWeb设计与开发

    Struts是目前非常流行的基于MVC的Java Web框架。《精通Struts:基于MVC的Java Web设计与开发》详细介绍了在的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署…

    9/21/2024 8:31:16 PM