序1
我很高兴看到这本基于龙芯的Linux内核书籍面世。随着龙芯生态不断发展壮大,口口相传的作坊模式已经不能满足相关产业对龙芯人才的需求,我们急需更多优秀开发人员把他们的经验凝聚成册,以服务日益庞大的开发者队伍。为此,近年来龙芯公司组织了一系列的书籍编写,逐步覆盖了龙芯体系结构设计、龙芯桌面及服务器使用/管理/应用开发、操作系统开发等内容。这本书将进一步丰富龙芯专业技术书籍的覆盖范围。
本书的作者陈华才是龙芯内核的主力开发人员之一。他十年如一日地投身于龙芯内核开发,解决了不计其数的问题,多次帮助龙芯CPU团队定位隐藏很深的芯片设计疑难问题,为龙芯发展做出了重要贡献。内核是操作系统乃至整个生态的核心支撑部件,它的质量和性能直接影响用户体验。同时,内核开发也是公认难度很高的技术活,以至于在市场上精通Linux内核开发的技术人员极度稀缺。像这样一本由资深开发人员撰写的书尤为难能可贵。
这本书和市面上已有的Linux内核书籍相比,最大的特点是紧密结合实践,贴近产业需求。书中涉及的电脑体系结构以及源代码都已经被实际应用在批量推广的龙芯产品上,读者容易找到相应的开发环境。在解析内核启动流程和各关键模块时,既有必要的原理解释,又重点突出了龙芯的具体实现,方便读者把原理和实际代码联系起来。例如,在解析Cache初始化代码的时候,它介绍了比较特殊的龙芯V-Cache设计,也说明了龙芯处理器用户手册上的相关名词对应内核代码的哪些内容。讲到异常与中断处理的时候,它就会交代清楚龙芯的中断和异常架构,以及和代码对应的中断路由等重要概念。更重要的是,由于作者对内核有很深刻的认识,他总是能够用简洁的语言交代清楚模块之间的关系和一段代码背后的本质内容,而不是让读者陷入太多的细节之中。对龙芯相关产业公司的内核技术人员来说,本书会显得非常贴心,在读者容易疑惑的地方会有详细解释,在简单的地方就不会赘述。
我期待本书能够帮助更多人掌握龙芯内核开发的技术,鼓励更多人加入龙芯生态建设的队伍。
胡伟武/龙芯中科技术有限公司董事长