·
本気を見るのです!| 17y.o.

可以先阅读基本的Csapp, 然后读@XxChang老哥推荐的那一本书, 尝试读一些Linux的核心实现, 刚开始可以读较为早期的Linux源码, 逐渐深入就可以对LinuxKernel有相对初步的了解, 之后可以了解一些相关的发行版, 尝试学习使用它们, 用它们作为日常工作用的系统之一.

Replies
4

Csapp是本好书, joy 但我个人觉得阅读早期的Linux源码有点不太适合我,早期的源码书写风格,接口,模型,思想和现在的变化太大了,看了会把思想带偏,而且直接看那坨源码很容易让人挫败,感觉找不到一个start point,这也是目前中文版Linux书籍面临的问题,书中使用的内核版本太过陈旧,很多书都是10年左右出版的,十年可以改变很多,连Linus都开始考虑用Rust编写Linux内核的可能性 。我这里补充两个我个人觉得适合新手学习Linux内核源码的经验,一是https://github.com/s-matyukevich/raspberry-pi-os 这本书,这本书教你从零编写一个自制的操作系统,但这个操作系统中大部分代码是从Linux内核中拷贝的,它会教你如何实现自己的调度管理,中断处理,然后再解释Linux是如何实现的。另一个是ZephyrOS这个嵌入式操作系统,它很多设计概念是承袭Linux的,包括设备树,设备模型,构建系统,POSIX等等,但是精简了很多,而且可以运行在Cortex-M这样简单的微架构之上

谢谢你的回答,我很受用,我会尝试的! grin

好的 smile