如何阅读本书

本书围绕着构建一个完整的Linux操作系统这一主线展开,除了第1章外,其余各章环环相扣,所以请读者严格按照章节顺序阅读。

工欲善其事,必先利其器。尤其是对于这样一本实践丰富的书来说,工作环境是后续内容的基础。因此,第1章介绍了如何准备工作环境。但是类似安装Linux发行版这样的内容,相关参考随处可见,因此书中并没有浪费篇幅去一一介绍,而是仅仅指出其中需要特别注意之处。

工具链是后面进行构建的基础,因此,接下来在第2章中构建了工具链。工具链是整个操作系统中非常重要的一部分,理解工具链的工作原理,对理解操作系统至关重要,所以第2章中并没有仅仅停留在构建的层次,还通过探讨编译链接过程,讨论了工具链的组成以及各个组件的作用。

在第3章和第4章,我们从零开始,构建了一个具备用户字符界面的最小操作系统。同时在第5章,我们从更深层次的角度探讨了这一切是如何发生的。我们从内核的加载、解压一直讨论到用户进程的加载,包括用户空间的动态链接器为加载程序所做的努力。

在第6章和第7章,我们首先构建了系统的基础图形系统,然后在其上构建了桌面环境。在第8章,我们深入探讨了计算机图形的基础原理,讨论了2D和3D程序的渲染、软件渲染、硬件渲染,我们也从操作系统的角度审视了Pipeline。

笔者强烈建议读者在真实的计算机上安装一个Linux操作系统,让它成为你日常的工作机。然后将书中的,尤其是与实践相关的所有命令实际运行一遍。之后再尝试脱离本书,自己争取从头再构建一遍,相信你一定会在这个过程中受益匪浅的。