V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
sbldehanhan
V2EX  ›  Linux

Linux 内核该怎么学啊?

  •  
  •   sbldehanhan · Apr 12, 2023 · 4195 views
    This topic created in 1110 days ago, the information mentioned may be changed or developed.

    有没有推介的视频或者书籍? 有没有比较靠谱的学习路线?

    12 replies    2023-05-04 17:48:15 +08:00
    vonsy
        1
    vonsy  
       Apr 12, 2023
    同济大学赵炯编著的《 Linux 内核完全注释》
    中文版:www.oldlinux.org/download/CLK-5.0-WithCover.pdf
    英文版:www.oldlinux.org/download/ECLK-5.0-WithCover.pdf
    sbldehanhan
        2
    sbldehanhan  
    OP
       Apr 12, 2023
    @vonsy 这个我好像有,有点啃不动。
    detached
        3
    detached  
       Apr 12, 2023
    先看 mit 6.s081 跟着写写 lab
    ldyisbest
        4
    ldyisbest  
       Apr 12, 2023
    看 xv6?
    DonaidTrump
        5
    DonaidTrump  
       Apr 12, 2023
    这玩意,既然不知道怎么学,那应该也没有学的必要了。绝大部分工作用不到啊
    Gwzlchn
        6
    Gwzlchn  
       Apr 12, 2023   ❤️ 1
    1. 跟着 mit 6.s081 做完 lab ,主要学 gdb 怎么用 qemu 调试内核,还有一些 C 的语法,启动、RV ISA 相关的感觉可以跳过。
    2. 南大的 ICS Lab 也不错,如果 xv6 感觉语言有困难的话,可以先看看 ICS 。
    3. 熟悉了简化的内核后,可以基于 upstream kernel 写几个内核模块,比如通过 sysfs 操作 GPIO 点亮跑马灯啥的。
    https://sysprog21.github.io/lkmpg/
    4. 之后就看你有啥需求了,实现需求。

    书大多都很老,分析代码最好跟着 upstream kernel 的代码自己一点点分析,用到啥分析啥就行。
    工具的话,vscode + ripgrep + fdfind 足够了。
    heguangyu5
        7
    heguangyu5  
       Apr 13, 2023
    我多年前过了一遍 linux 内核从加载到 init 进程启动的代码,做了一些笔记,供参考.

    http://heguangyu5.github.io/my-linux/html/index.html

    虽然当时不是所有地方都搞明白了,但之后操作系统,进程,线程,内存,epoll 什么的,都不再神秘了.
    sbldehanhan
        8
    sbldehanhan  
    OP
       Apr 13, 2023
    sbldehanhan
        9
    sbldehanhan  
    OP
       Apr 13, 2023
    @Gwzlchn 感谢!
    twor2
        10
    twor2  
       Apr 13, 2023
    一边学一遍问 chatgpt
    holyliao
        11
    holyliao  
       Apr 17, 2023
    @twor2 可以
    debuggeeker
        12
    debuggeeker  
       May 4, 2023
    我也有同样的疑问,不知道从哪里学
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3379 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 12:53 · PVG 20:53 · LAX 05:53 · JFK 08:53
    ♥ Do have faith in what you're doing.