当前位置: 首页 > 新闻 > 信息荟萃
编号:5439
深入linux内核架构豆瓣最新版.pdf
http://www.100md.com 2020年11月11日
第1页
第6页
第20页
第25页
第32页
第330页

    参见附件(26994KB,1058页)。

     《深入Linux内核架构》结合内核版本2.6.24源代码中关键的部分。深入讨论Lirnux内核的概念、结构和实现。具体包括进程管理和调度、虚拟内存、进程间通信、设备驱动程序、虚拟文件系统、网络、时间管理、数据同步等

    编辑推荐

    众所周知,Linux操作系统的源代码复杂、文档少,对程序员的要求高,要想看懂这些代码并不是一件容易事。《深入Linux内核架构》结合内核版本2.6.24源代码中关键的部分。深入讨论Lirnux内核的概念、结构和实现。具体包括进程管理和调度、虚拟内存、进程间通信、设备驱动程序、虚拟文件系统、网络、时间管理、数据同步等。《深入Linux内核架构》引导你阅读内核源代码,熟悉Lirnux妍有的内在工作机理,充分展现Linux系统的魅力。《深入Linux内核架构》适合Linux系统编程人员、系统管理者

    内容简介

    《深入Linux内核架构》讨论了Linux内核的概念、结构和实现。主要内容包括多任务、调度和进程管理,物理内存的管理以及内核与相关硬件的交互,用户空间的进程如何访问虚拟内存,如何编写设备驱动程序,模块机制以及虚拟文件系统,Ext文件系统属性和访问控制表的实现方式,内核中网络的实现,系统调用的实现方式,内核对时间相关功能的处理,页面回收和页交换的相关机制以及审计的实现等。此外,《深入Linux内核架构》借助内核源代码中关键的部分进行讲解,帮助读者掌握重要的知识点,从而在运用中充分展现Linux系统的魅力。《深入Linux内核架构》适合Linux内核爱好者阅读。

    作者简介

    莫尔勒(Woflgang Mauerer),资深Linux专家,有数十年Linux开发经验。从1997年最初发表关于内核的系列文章开始,他就醉心于解释Linux核心的内部机制、编写相关的文档,此外,他还著有LaTex排版方面的图书,其撰写的大量文章已经被释译成7种语言。

    精彩书摘

    内核很神奇,但归根结底它只是一个大的C程序,带有一些汇编代码(不时出现很少量的“黑巫术”)。是什么使得内核如此吸引人?原因有几个。首要一点在于,内核是由世界上最好的程序员编写的,源代码可以证实这一点。其结构良好,细节一丝不苟,巧妙的解决方案在代码中处处可见。一言以蔽之:内核应该是什么样子,它现在就是什么样子。但这并不意味着内核是应用教科书风格的程序设计方法学得出的产品。尽管内核采用了设计得非常干净的抽象,以保持代码的模块化和易管理性,但这一点与内核的其他方面混合起来,使得代码非常有趣和独特。在必要的情况下,内核会以上下文相关的方式重用比特位置,多次重载结构成员,从指针已经对齐的部分压榨出又一个存储位,自由地使用goto语句,还有很多其他东西,这些都会使任何强调结构的程序员因痛苦而尖叫。教科书答案中难以想象的那些技巧,对于实现能够在真正的现实世界中正常工作的内核不仅是有益的,甚至是必需的。正是因为找到了一条在内核完全对立的两面之间保持平衡的路径,内核才如此令人兴味盎然、富有挑战性并且妙趣横生!颂扬了内核源代码之后,还有许多不同于用户层程序的严肃问题需要说明。口调试内核通常要比调试用户层程序困难。对后者来说有大量的调试器可用,而对于后者来说调试器的实现难度要高得多。附录B讨论了在内核开发中使用调试器的各种技巧,但与用户层对应的方法相比都需要更多的工作。口内核提供了许多辅助函数,类似于用户空间的c语言库,但内核领域中的东西总是朴素得多。口用户层应用程序的错误可能会导致段错误(segmentation fault)或内存转储(core dump),但内核错误会导致整个系统故障。甚至更糟的是:内核会继续运行,在错误发生若干小时之后系统离奇地崩溃。如上所述,因为在内核空间调试比用户层应用程序更困难,所以在内核代码投入使用之前要进行更多的考虑。口必须考虑到内核运行的许多体系结构上根本不支持非对齐的内存访问。由于编译器插入的填充(padding)字段,也会影响到数据结构在不同体系结构之间的可移植性。附录C会进一步讨论这个问题。口所有的内核代码都必须是并发安全的。由于对多处理器计算机的支持,Linux内核代码必须是可重入和线程安全的。也就是说,程序必须允许同时执行,而数据必须针对并行访问进行保护。口内核代码必须在小端序和大端序计算机上都能够工作。口大多数的体系结构根本不允许在内核中执行浮点计算,因此计算需要想办法用整型来替代。后面读者会看到如何处理这些问题。

    深入linux内核架构豆瓣截图

您现在查看是摘要介绍页, 详见PDF附件(26994KB,1058页)