Linux内核完全注释 阅读笔记:1、概述
<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('/uploads/AilsonJack/2018.08.31/1535719834588966.png')"/></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>
你可能也喜欢:
暂无评论,要不要来个沙发
发表评论
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1Linux MMC子系统 - 6.eMMC 5.1工作模式-设备识别模式 0Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式 0Linux MMC子系统 - 4.eMMC 5.1常用命令说明(2) 0
标签云
Linux嵌入式实用技巧ARM内核学习问题集合CC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11ARMv7-ASTM32IDESublimeLinux内核学习eMMCMMC子系统Ubuntu操作系统OfficeVMWareAPUEgccRTOS中断漫游世界随笔感悟开发工具软件应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGFTPar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FileZilla