Linux 环境编程有什么经典教材吗

2021-03-13 18:59:20 +08:00
 ripg

只知道 apue 和 linux/unix 系统编程手册这两本书,如果想系统学习 linux 环境开发的话看什么书比较合适呢?(不限于开头两本)

3492 次点击
所在节点    C++
16 条回复
neoblackcap
2021-03-13 19:10:24 +08:00
1. Linux UNIX 系统编程手册 套装上下册
2. Linux 内核设计与实现
shijingshijing
2021-03-13 19:18:24 +08:00
如果不写驱动和内核,看《 The Linux Programming Interface 》这一本就够了,虽然这一本也还是有点老,但是写 Linux 下的应用也够了。
nightwitch
2021-03-13 19:22:35 +08:00
简短的就 APUE 。
大部头的就 TLPI,1500 页
Juggernaut
2021-03-13 19:42:40 +08:00
APUE
ripg
2021-03-13 21:23:32 +08:00
@neoblackcap 感谢,TLPI 还没买,第二本明天去了解一下。
@shijingshijing 我现在了解比较少,也还不清楚是不是要写底层到内核的程度,可能先看了 tlpi 或者 apue 之后再考虑吧。
@nightwitch apue 已经买了,不知道 tlpi 和 apue 哪个读起来更适合我这种只懂基础的 cpp developer
@Juggernaut 已经买好了,准备找时间好好看一下。
nightwitch
2021-03-13 21:30:10 +08:00
apue 只讲 posix,tlpi 除了 posix 的部分还要讲 linux 特有的部分,算是 apue 的超集吧。
你可以先看 apue 再看 tlpi,不冲突的
feather12315
2021-03-13 21:34:55 +08:00
apue
man 2 / 3 page,
Linux 环境编程--从应用到内核
helloworld2076
2021-03-13 21:36:05 +08:00
unix 环境高级编程
shijingshijing
2021-03-13 21:37:00 +08:00
@ripg 务必买英文原版,中文版的翻译不是一般的烂。
yazoox
2021-03-13 22:27:12 +08:00
apue 全称是啥?
willhunger
2021-03-13 22:43:17 +08:00
@yazoox #10 unix 环境高级编程
ripg
2021-03-14 00:41:03 +08:00
@shijingshijing tlpi 还是 apue ? apue 已经和 unix 网络编程一起到了
shijingshijing
2021-03-14 05:31:32 +08:00
@ripg TLPI,其实我真觉得 APUE 可以往后放一放,个人觉得从实用角度出发,如果想透彻了解 Linux,应该按照应用->内核->驱动这个顺序看,从系统角度来看 Linux->Unix->BSD/MacOS 这个顺序来看,因为现实工作中,Linux 下的应用是最广泛的,资料最丰富的,从业人数最多的。一上来就抱着内核看,有点盲人摸象的感觉;而从写应用入手,慢慢往下深入,思考为什么这么写,操作系统这样设计的思路是什么,然后看 system call,然后再看内核,这样一步步要好很多。

看内核之前,完整走一边 Build kernel 的过程,最好是拿一个 barebone system 从上电到启动到 Terminal 整个过程了解一下,这样也会好很多,而且一步步往前做,也有成就感。

一上来就抱着内核看,先是各个模块,然后是架构,最后是设计思路,然后提升到操作系统理论和设计哲学,Monolithic
vs Microkernel,我觉得我是没办法坚持下来的。
ripg
2021-03-14 13:59:36 +08:00
@nightwitch 好的,apue 已经到手了。
@helloworld2076 看了#13 现在在考虑要用什么路线了解,反正书已经拿到手了,谢谢你。
@yazoox unix 环境高级编程
@shijingshijing 以前浅读过 CSAPP,虽然读过但是对计算机底层还是不熟悉,属于“喔这个我知道,但是让我细说说不出来”那种,感觉读了和没读一样,看什么时候有时间深入啃一波。linux 如果从应用开始的话内容会不会太多呢?
ripg
2021-03-14 14:15:35 +08:00
@shijingshijing 看了一眼英文版这价格,大学生有点顶不住
jdz
2021-08-04 18:57:03 +08:00
看完了《深入理解 Linux 内核》《 Linux 设计与实现》《 Linux 设备驱动程序》,然后看 apue 或 tlpi 都是行云流水

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

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

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

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

© 2021 V2EX