Linux 系统编程(第二版)

Robert Love

出版时间

2014-01-01

ISBN

9787564146016

评分

★★★★★
书籍介绍
这不是一本适合一口气读完的书,却是一本值得反复查阅的手册。它最打动人的地方,在于作者以Linux内核参与者的内部视角,把进程、文件描述符、信号、用户权限这些抽象概念拆解成可被理解的实体:进程不只是运行的程序,而是数据、资源与状态组成的虚拟计算机;文件必须先打开,内核替每个进程维护的
作者简介
洛夫(Robert Love)在Linux早期就已经介入,他为Linux内核和GNOME桌面环境做出了自己的贡献。Robert是Google公司的资深软件工程师,他隶属于设计和发布Android的开发队伍。
AI导读
核心看点
  • 深入解析Linux内核与系统库交互机制
  • 清晰区分POSIX标准与Linux特有服务
  • 新增多线程章节,结合理论与实践
读者共识
  • 内容权威透彻,是Linux系统编程经典之作
  • 翻译错误多且严重,严重影响阅读体验
  • 适合进阶学习,不适合零基础入门读者
精彩摘录
  • "进程(process)是执行中的目标码(object code):正在运行的程序。但它不仅仅是目标码,进程由数据、资源、状态以及一个虚拟的计算机组成。"
  • "Linux 中的授权机制由用户(user)和组(group)提供。每个用户都会被分配一个独一无二的正整数,称为用户标识符(user ID,简称 uid)。每个进程恰好会被关联到一个 uid,用来识别运行进程的用户,这被称为进程的真实用户标识符(real uid)。"
  • "信号(signal)是一种单向一部通知机制。信号可以从内核送往一个进程,从一个进程送往另一个进程,或者从一个进程送给它自己。"
  • "一个文件必须先打开,才可以对它进行操作。内核会替每个进程维护一份已打开文件列表,称为文件表(file table)。此表是通过非负整数被索引,而此非负整数称为文件描述符(file descriptor,缩写 fd)。"
  • "默认情况下,子进程会取得其父进程的文件表。"
  • "该表(file table)中每个条目内含与已打开文件相关的信息,包括一个指针(指向文件 inode 在内存中的副本)以及相关的元数据(例如文件位置与访问模式)。"
  • "第一个文件系统会被挂载到命名空间的 root 结点,“/”,这被称为根文件系统(root file system)。Linux 系统通常会具有一个根文件系统。"
用户评论
翻译极其差。 硬着头皮终于啃完了,读到最后前边讲过什么都不记得了,等需要的时候再翻一翻。 --- 翻译的极其恶心,遇到最少100个翻译错误。还有很多丢失内容的错误,或者加几句不知道哪来的内容(可能是第一版的吧)。 特别表扬一下最后两章的译者,错误很少。 ---- 这种翻译就应该拉出去枪毙。本来两周能看完的,得要两个月才行。估计还有很多人被劝退了。
robert love 版本的unix高级环境编程,讲的比unix高级环境编程简单,可以和其互补。
2019.09.03~2019.10.06
极力推荐的linux系统编程书
Robert Love的书,很喜欢,他会告诉你什么应该用什么。他的另一本也很推荐LKD
除了翻译是硬伤之外 内容还是不错的
最大的收获是看明白了C语言中函数的表示方法,外加上了解了一大堆内置函数。对于Linux编程讲解的再透彻的书我暂时也没见过比这本更好的。
下载
收藏