大佬们在学习 Linux 内核的时候,都走的什么路线啊,能推荐一个比好的学习网站,或者视频吗?

2019-10-12 14:24:05 +08:00
 yougoUp
8333 次点击
所在节点    Linux
28 条回复
misaka19000
2019-10-12 14:26:37 +08:00
6.828
NoKey
2019-10-12 14:49:42 +08:00
买内核相关的书,到底买哪本,去豆瓣上看评分和评论
airfling
2019-10-12 15:00:48 +08:00
你要学 linux 基础吗,我这几本鸟哥 linux 私房菜的可以便宜出给你
PbCopy111
2019-10-12 15:04:55 +08:00
2004 年左右的时候,有个技术大拿自己写了一个 linux。当然他不是自己原创,只是为了学习,所以边读文档边写,就算是造了个轮子吧,后来他就成了现在的技术一哥。
pedia0992
2019-10-12 15:21:39 +08:00
最适合入门的内核书《 Linux 内核深度解析》
yougoUp
2019-10-12 15:21:47 +08:00
@misaka19000 这是什么鬼? 3.828
yougoUp
2019-10-12 15:22:08 +08:00
@NoKey 好的,我去看看
yougoUp
2019-10-12 15:22:41 +08:00
@airfling 这书我看过的,这是 Linux 基础相关的,我想学习下 Linux 内核方面的
yougoUp
2019-10-12 15:23:07 +08:00
@PbCopy111 有这个想法的人很多,写出来的就是大牛
yougoUp
2019-10-12 15:23:21 +08:00
@pedia0992 谢谢,我去看看
hkitdog
2019-10-12 15:25:47 +08:00
為什麼不直接看源碼?
b00tyhunt3r
2019-10-12 15:32:47 +08:00
the linux programing interfaces
wuzhizhan
2019-10-12 15:44:40 +08:00
惭愧,当年学了几年 linux,愣是没能学会。惭愧惭愧
taogen
2019-10-12 16:03:37 +08:00
Linux Kernel Development (3rd, 2010) by Robert Love

Advanced Programming in the UNIX Environment (3rd, 2013) by W. Richard Stevens (APUE)

The Art of Unix Programming (2003) by Eric S. Raymond

The Linux Programming Interface (2010) by Michael Kerrisk

UNIX Systems for Modern Architectures (1994) by Schimmel.
fewtime
2019-10-12 16:06:35 +08:00
@yougoUp 应该指的是 mit 的操作系统课程 mit 6.828
jasonyang9
2019-10-12 16:12:19 +08:00
补充一本:Linux Device Drivers, Third Edition

https://lwn.net/Kernel/LDD3/
yougoUp
2019-10-12 16:36:06 +08:00
@cowlogli 可以,可以,我查了下,还真是啊。
booboo
2019-10-12 16:41:43 +08:00
看书,主流推荐的基本都要看,重要的概念要做到基本都熟练掌握。然后就是看代码,尤其是专注某一部分。工作中用不到,实践方面的锻炼机会就比较少。
wangkai0351
2019-10-12 16:45:35 +08:00
我最近有比较完整的时间搞这个 linux 源代码,所以简单总结一下自己的经验

#软件工具是 windows+source insight+印象笔记+linux 内核版本 0.12/1.2/2.4/2.6/3.16+VM ( ubuntu14.04.1 )
#楼上推荐的书本对应不同的版本,还有一些直接是讲 system call 的 interface
我认为 system call 的 interface 是一个很感性很经验化的东西,建议大致浏览一遍,至于之前没有很多的 linux C/Cpp 经验倒也没太大关系,因为你的目标是 linux kernel secret。
建议从 net 或者 proc 或者 driver 三选一出发,刚开始不用着急速度,先培养兴趣吧,一个版本的代码看不懂,那就几个版本切换着看,diff 增量也是一种学习方式。

#总结一下课本
##CPU 芯片-i386 程序员编程参考手册
##interface-Advanced Programming in the UNIX Environment/The Art of Unix Programming/The Linux Programming Interface/unix 网络编程 /Unix/Linux 编程实践教程( Bruce Molay )力荐
##版本 0.11/0.12-Linux 内核完全剖析基于 0.12 内核
##版本 1.2-内核网络栈实现源代码分析(曹桂平)
##版本 2.4-深入分析 Linux 内核源代码(陈莉君)
##版本 2.6-linux 内核源码剖析 tcp/ip / Linux 内核设计与实现(原书第 3 版)力荐
##版本 3.16-自用的 ubuntu 虚拟机练习平台

#至于你问我,学完这个能干嘛,我也不知道。
ysn2233
2019-10-12 16:50:50 +08:00
Mit 6.828

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/608605

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX