1
idontnowhat2say 268 天前 1
我觉得很有必要,过了之后学习 linux 内核感觉更轻松点。
|
2
Noicdi 268 天前 via iPhone
不回答问题,题外话:
我觉得过 apue 这种书太累了,所以一般都是碰到什么接口或者问题会去书里定向查;但是书里也有一些很有价值的东西(不是接口说明这种内容),不把书过一遍也不知道能挖到什么宝。 所以一直处于过书和不过的叠加态。 再推荐一本《 Linux/unix 系统编程手册》,从系统编程到网络编程,很全面我认为。 |
3
agagega 268 天前 via iPhone
更好的选择可能是过一遍 Rust 的 rustix 库,了解类 Unix 系统提供的 API 可以怎么用怎么封装,以及不同系统之间的差别
|
4
ben666 268 天前
不需要,但是要有一些基本的操作系统概念,找一个感兴趣的主题看。
刚开始可以看一些讲 linux kernel 的书 Understanding the Linux Kernel understanding linux network internals 有一些比较独立的内核模块如四层负载均衡 LVS ,资料比较多,入手比较容易,也比较做实验、方便调试。 在做实验的时候可以用 dperf 打流 https://dperf.org/ |
5
enchilada2020 268 天前 via Android
op 是做系统开发的吗?深入理解 Linux 内核的目的是什么呢?
|
6
aeon113 268 天前 via iPhone
我觉得不需要,apue 的东西太多了,而且 kernel 里很多代码,比如中断,比如 swap ,也不是直接向用户态提供服务的
相反我觉得先看一遍"现代操作系统"对你理解 kernel 会有很大帮助 https://csc-knu.github.io/sys-prog/books/Andrew%20S.%20Tanenbaum%20-%20Modern%20Operating%20Systems.pdf |
7
julyclyde 268 天前
你确定你需要看内核?
|
8
mioktiar56 268 天前
等你看完了这些书,你就发现看这些书是浪费时间
|
9
GeekGao 268 天前
我觉得如果从来没了解过 unix 、linux 的 C 编程,可以读 apue ,这样能更好的理解 ABI 用户态的编程,打通思路。
虽然打通思路后也未必能上手 kernel 的代码分析。。。。 |
10
wjx0912 268 天前
个人觉得没必要,这是一本字典,需要的时候查一查。从头到尾看其实效率很低的
|
11
NessajCN 268 天前
Linux 提供的是跟硬件交互的功能
更具体一点它是把硬件抽象成文件,把交互抽象成写入/读取文件 然后开发者就可以专注于软件对硬件的操控设计,而不用太考虑具体实现方式 https://makelinux.github.io/kernel/map/ 基本看懂这张图也就够了 |
12
tool2d 268 天前
那个编程艺术作者都说了,书里 90%的问题,正常人一辈子都遇不到。
看书不如和 GPT 互怼几句,只有先遇到问题,才能被理解和消化为知识积累。 |