Linux内核完全注释 阅读笔记:1、概述
 2018.08.31    |      Linux内核完全注释    |     AilsonJack    |     暂无评论    |     1705 views
By: Ailson Jack
Date: 2018-08-31
个人博客: http://www.only2fire.com/
<p class="artical_littlestyle1">1、选择《Linux内核完全注释》的理由</p><p style="text-indent: 2em;">从现在起,我打算学习Linux内核,作一个基本的了解和入门吧。在网上也看了许多国内外的一些经典书籍的评价,最后我还是选择阅读《Linux内核完全注释》这本书,作为一个基础入门,这本书在网上的评价也还可以。</p><p style="text-indent: 2em;">这本书讲解的Linux内核版本是Linux 0.11,虽然内核版本很低,但是作为学习来说应该还是可以的,该内核已经能够正常的编译运行,并且其中已经包括了Linux工作原理的精髓。由于Linux 0.11内核不超过2万行代码量,因此可以完全的通过一本书进行了解和学习。正是因为Linux 0.11内核代码量小,这本书对Linux 0.11内核的全部代码进行了注释,便于读者学习和理解。</p><p style="text-indent: 2em;">为了让读者对所研究的系统有感性的了解,并能通过实验来加深对原来的理解,作者还专门重建了基于该内核的可运行的Linux 0.11系统,因为其中含有GNU gcc编译环境,因此使用该系统也能做一些简单的开发工作。</p><p style="text-indent: 2em;">当然,使用早期内核作为学习的对象也有不足之处。所选用的Linux 0.11内核,不包含对虚拟文件系统VFS的支持、对网络系统的支持,仅支持a.out执行文件和对其他一些现有内核中复杂子系统的说明。<br/></p><p class="artical_littlestyle2">2、资料传送门</p><p>下面列举一下书中提供的一些资料链接,也方便以后自己的查找吧:<br/><a href="http://oldlinux.org/Linux.old/images/" target="_blank" style="color: rgb(0, 112, 192); text-decoration: underline;"><span style="color: rgb(0, 112, 192);">http://oldlinux.org/Linux.old/images/</span></a>:该目录中含有已经制作好的内核映像文件bootimage和根文件系统映像文件rootimage。<br/><a href="http://oldlinux.org/Linux.old/bochs/" target="_blank" style="color: rgb(0, 112, 192); text-decoration: underline;"><span style="color: rgb(0, 112, 192);">http://oldlinux.org/Linux.old/bochs/</span></a>:该目录中含有已经设置好的运行在计算机仿真系统bochs下的Linux系统。<br/><a href="http://oldlinux.org/Linux.old/Linux-0.11/" target="_blank"><span style="color: rgb(0, 112, 192);">http://oldlinux.org/Linux.old/Linux-0.11/</span></a>:该目录中含有可以在Linux 0.11系统中使用的其他一些工具程序和原来发布的一些安装说明文档。<br/><a href="http://oldlinux.org/Linux.old/kernel/0.1x/" target="_blank"><span style="color: rgb(0, 112, 192);">http://oldlinux.org/Linux.old/kernel/0.1x/</span></a>:可以在这里下载本书讲解的Linux 0.11内核源码,文件名:<span style="color: rgb(0, 112, 192);">linux-0.11.tar.gz</span>。<br/></p><p class="artical_littlestyle3">3、内核源码目录结构</p><p style="text-indent: 2em;">整个Linux 0.11内核源代码的目录结构如下图所示:<br/></p><p style="text-align:center"><img src="/uploads/AilsonJack/2018.08.31/1535719834588966.png" onclick="preview_image(&#39;/uploads/AilsonJack/2018.08.31/1535719834588966.png&#39;)"/></p><p style="text-indent: 2em;">本书内容可以分为5个部分。<span style="color: rgb(0, 112, 192);">第1部分从第1章至第4章<span style="color: rgb(0, 0, 0);">是基础知识部分</span></span>。操作系统与所运行的硬件环境密切相关。如果想彻底理解操作系统运行全过程,那么就需要了解它的硬件运行环境,尤其是多处理器多任务运行机制。这部分较为详细的介绍了微型计算机硬件组成、编制Linux内核程序使用的编程语言以及Intel 80x86保护模式下的编程原理。<span style="color: rgb(0, 112, 192);">第2部分包括第5章至第7章</span>,描述了内核引导启动和32位运行方式的准备阶段,作为学习内核的初学者应该全部进行阅读。<span style="color: rgb(0, 112, 192);">第3部分从第8章至第13章</span>是内核代码的主要部分。其中第8章内容可以作为阅读这部分后续章节的主要线索来进行。<span style="color: rgb(0, 112, 192);">第14章到第16章是第4部分内容</span>,可以作为阅读第3部分源代码的参考信息。<span style="color: rgb(0, 112, 192);">最后一部分仅包括第17章内容</span>,其中介绍了如何使用PC机模拟软件系统Bochs针对Linux 0.11内核进行各种实验活动。</p><p style="text-indent: 2em;">Linus在最初开发Linux操作系统内核时,主要参考了3本书。一本是M.J.Bach著的《Unix操作系统设计》,该书描述了UNIX System V内核的工作原理和数据结构。Linus使用了该书中很多函数的算法,Linux内核源代码中很多重要函数的名称都取自该书。因此在阅读《Linux内核完全注释》时,这是一本必不可少的内核工作原理方面的参考书籍。另一本是John H.Crawford等编著的《Programming the 80386》,是讲解80x86下保护模式编程方法的好书。还有一本就是Andrew S.Tanenbaum著的《MINIX操作系统设计与实现》一书的第1版。Linus主要使用了该书中描述的MINIX文件系统1.0版,而且在早期的Linux内核中也仅支持该文件系统,所以在阅读本书有关文件系统一章内容时,文件系统的工作原理方面的知识完全可以从Tanenbaum的书中获得。<br/></p>
欢迎关注博主的公众号呀,精彩内容随时掌握:
热情邀请仔细浏览下博客中的广告,万一有对自己有用或感兴趣的呢。◕ᴗ◕。。
如果这篇文章对你有帮助,记得点赞和关注博主就行了^_^,当然了能够赞赏博主,那就非常感谢啦!
注: 转载请注明出处,谢谢!^_^
暂无评论,要不要来个沙发
发表评论

 
Copyright © 2015~2023  说好一起走   保留所有权利   |  百度统计  蜀ICP备15004292号