35.1m 的代码行数,普通人能读完 linux 的源码么。读完需要多久,读完是不是就无敌了
1
hay313955795 2022-09-02 14:30:42 +08:00
读完记不住也没用啊..哈哈
|
2
LxnChan 2022-09-02 14:33:44 +08:00
光读完有啥用,读完你要是能完整的说出来整个系统的运行流程和机制还差不多,更进一步的读完了能再以自己的理解写出来一份,甚至受此启发能够研发出更高级的东西才是有用,才是无敌了
|
3
WOLFRAZOR 2022-09-02 14:37:01 +08:00
能说出流程和机制比记住有用多了。
|
4
eason1874 2022-09-02 14:37:41 +08:00
跟看顶尖论文差不多,每个字都认识,就是不知道在说什么 🤣
|
5
AoEiuV020CN 2022-09-02 14:37:58 +08:00
能清楚每一行代码的作用以及是否可以改进,就无敌了,
|
6
ipwx 2022-09-02 14:39:29 +08:00 1
有没有一种可能,普通人不会把辞海记下来,而是在需要的时候根据目录去翻。
|
7
libook 2022-09-02 14:40:03 +08:00 1
假设美秒读 5 行,35.1m/5/3600=1950 小时,如果每周看 40 个小时,就是 48.75 周,也就是差不多一年。当然,只能走马观花地看,基本看不明白而且也记不住。
我认识一个人在阿里做内核方面的开发,有时候为了实现一个需求要看一大堆文档和源代码,一个星期只改了一行代码。 |
8
ipwx 2022-09-02 14:40:04 +08:00 1
p.s. 如果你问我有没有人把 Linux 几乎所有代码都读过了,那 Linus 一定是其中一位。
|
9
lakehylia 2022-09-02 14:40:40 +08:00
一般都是碰到某个问题,然后去翻源码
|
10
Jooooooooo 2022-09-02 15:35:33 +08:00
windows 系统也很庞大, 当然没有人可以全部读完.
|
11
darksword21 2022-09-02 17:00:08 +08:00
可以,转我钱教你量子速度 (
|
12
alect 2022-09-02 17:04:40 +08:00
有没有可能 linux 不是一个人写的,而是非常多的人共同协作出来的? ::doge
|
13
xinhero123 2022-09-02 17:26:59 +08:00 1
大部分的代码都是重复的,没必要读完,理解代码后面的核心思想和流程是最重要的。相对于通读代码,更推荐通读 Documentation+核心代码
|
14
Nitroethane 2022-09-02 17:30:58 +08:00 via iPhone
大部分代码应该是设备驱动,如果不涉及设备的话这部分驱动代码不用碰。但是内核的核心代码还是有很多,不过是分成几个子系统的,比如内存管理子系统、进程调度子系统、kvm 等。专注哪个领域读哪部分代码,不过得熟悉每个子系统的大致设计原理以及暴露出来的接口
|
15
daimubai 2022-09-02 17:47:07 +08:00
“读完是不是就无敌了”。那要看读的时候有没有带脑子了
|
16
nevin47 2022-09-02 17:53:57 +08:00
丢开驱动的话,然后核心 arch 以 x86 为基础
全部读完的人应该存在,但是不多。绝大多数的 Kernel 工程师会读一些和自己强相关的,少数的研究者会研究整体宏观架构,但是又不会彻底深入进去 我和我司有几个在 kernel 上有个人分支的大牛们也交流过,基本上就算是他们这种过去或者现在正在当 maintainer 的大神,也很难说自己完全走读完过内核的所有核心代码。 退一万步,即便你现在基于当前的 commit 把核心代码给读完了,如果没有持续跟进,你会发现过不了半年,有些东西就完全陌生了 |
17
signalyc 2022-09-02 17:56:31 +08:00
0.01 版,Dr 赵写了一本书
|
18
swsh007 2022-09-02 18:53:56 +08:00 via Android
国内出版的有 0.12 版的解析
作者最早是发布的电子版 当年看到的第一个介绍 linux 的书 好像是松岗出的,内核是 0.69 |
19
justanetizen 2022-09-02 18:56:46 +08:00 2
第一遍,跟着书读,读对应版本的内核
第二遍,跟着事读,读对应子系统的源码 第三遍,跟着心读,读自己觉得掌握了的源码 |
20
aneureka 2022-09-02 19:36:57 +08:00 via iPhone 1
看 xv6
|
21
glouhao 2022-09-02 19:43:30 +08:00 via Android
我用字母的方式读完还是单词的方式读完
|
23
hankai17 2022-09-02 20:40:54 +08:00
只看最初的几个版本就可以了
|
24
secondwtq 2022-09-02 21:15:12 +08:00
自己读起来会比较麻烦,你可以写个程序帮你读。然后找个云租个几十核服务器跑一跑去睡觉,做个梦你就是精通 Linux 源码的人了
|
25
leimao 2022-09-03 08:42:51 +08:00
量子阅读,读完只需要三秒。然而并不无敌。
|
26
FrankHB 2022-09-03 12:38:55 +08:00
@ipwx 只是读的最多的,几乎所有就不太可能。
也不要指望什么 Linus 定律。 随便举个例子:fs/cifs/trace.h 这种瞎定义 TRACE_INCLUDE_PATH 的合了也就是合了,并没几个人会看清楚。 这 bug 还不就只是这一个地方:android.googlesource.com/kernel/msm/+/3f74f6ec717e320a8fe1d108d1e0812e352b4ee8%5E! |
27
weishao666 OP @secondwtq 这个项目可以,我去请王多鱼投
|
28
weishao666 OP @Nitroethane 就是想知道这个预估要多久
|
29
zhdi 2022-09-04 17:26:10 +08:00 via iPhone
都是驱动代码,核心代码没那么多
|
30
sdfh8412 2022-09-05 09:51:45 +08:00
linus 说过世界上没人全看完
|