【书单分享】+ 《深入理解LINUX内核》
收藏回复举报
【书单分享】+ 《深入理解LINUX内核》
发表于2023-12-31 15:23:30
0 查看
本书是我看过花费时间最长的书,总结原因如下:
    1. 知识量大:操作系统本身概念多、难点多。
    2. 细节太多:本书主要从下至上的形式讲解,一开始就有太多的细节(汇编、数据结构、函数),需要熟读几遍的基础上才有可能再从上到下的方法进行总结,知道了重点和纽带,思路才变得慢慢清晰起来。遗忘和迷失方向是经常的,每次学习也带来新的自我提问。查看相关代码的数据结构、函数、相互引用、书本内容的确认需要很多时间。另外Linux 2.6是个实际运行系统,太多的错误处理、接口、参数和扩展等,使得源码变得更加晦涩难懂。
    3. 内容交织:书中几乎每一章与其他章节都联系紧密。仅仅一个函数,可能引用了书中很多其他章节或操作系统的许多概念,变得非常难以理解(如Page Fault Exception Handler(P376)),因此你根本无法仅依赖熟读某一章里面就完全了解这一章内容,而且几乎每一章都包含一些后面章节未介绍的概念,很多时候觉得有点无处下手。每个功能的区别可能用一个位来表示,变得非常隐晦,很难记住这么多。操作系统的概念介绍一般包括功能、实现方式、数据结构、相关函数(算法)、汇编实现、全局变量、初始化、正常关闭等。同时每个概念的实现中还可能包括系统调用、特殊文件目录(/proc或/sys)、shell命令、系统初始化(start_kernel下的函数)、权限、资源、中断、信号、编译选项、统计等。因此也积累了无限的可能,这也许操作系统难学的原因吧。操作系统的复杂也许来自于层次性和不可分割性。在我实际工作中操作系统的设计理念得到检验,效果非常好,工作中自己在源码中得到证实,而不是仅仅停留在白纸上。

本帖最后由 匿名用户2024/04/28 14:48:09 编辑

我要发帖子