Linux系统编程(第2版)

[美] Robert Love

出版时间

2014-04-30

ISBN

9787115346353

评分

★★★★★

标签

计算机

书籍介绍

系统编程是指编写系统软件,其代码在底层运行,直接跟内核和核心系统库对话。

《Linux系统编程(第2版)》是一本关于Linux系统编程的教程,也是一本介绍Linux系统调用的手册,还是一本如何实现更优雅更快代码的内幕指南。全书分为11章和2个附录,详细介绍了Linux系统编程基本概念、文件I/O、缓冲I/O、高级文件I/O、进程管理、高级进程管理、线程、文件和目录管理、信号和时间等主题。附录给出了gcc和GNU C提供的很多语言扩展,以及推荐阅读的相关书目。

《Linux系统编程(第2版)》的作者是知名的Linux内核专家,多本畅销技术图书的作者。本书需要在C编程和Linux编程环境下工作的程序员阅读,对于想要巩固基础或了解内核的高级编程人员,本书也很有参考价值。

AI导读
核心看点
  • 系统调用手册式讲解,涵盖文件I/O、进程、线程等核心主题
  • 深入剖析Linux内核机制,如文件描述符、信号与权限管理
  • 提供优化代码性能的内幕指南,适合追求高效开发的程序员
适合谁读
  • 需要在C语言和Linux环境下进行系统级开发的程序员
  • 希望巩固基础或深入了解内核机制的高级编程人员
  • 对Linux底层原理感兴趣,想掌握系统调用细节的开发者
读前提醒
  • 中文译本翻译质量较差,建议优先阅读英文原版以避免误解
  • 本书偏向概念陈述与参考,非手把手教程,需具备一定基础
  • 内容精简,缺乏IPC和网络编程,建议搭配APUE等书互补
读者共识
  • 内容专业且精炼,是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 系统通常会具有一个根文件系统。"
作者简介
Robert Love在很早期就一直使用Linux并贡献代码,包括对Linux内核和GNOME桌面环境的贡献。Robert Love是Google软件工程师,是Android设计和开发团队成员。目前,他致力于Google的Web搜索架构。Robert获得了Florida大学的双学位:计算机科学理学学士和数学文学学士。
目录
第1章 入门和基本概念 1
1.1 系统编程 1
1.1.1 为什么要学习系统编程 2
1.1.2 系统编程的基础 2
1.1.3 系统调用 3

显示全部
用户评论
TLPI简化版
翻译我想草泥马
@2016-03-24 22:55:52
翻译错误有点多,五一三天整体阅读畅快!
看了大家的评论可能高手比较多吧,很多都觉得翻译的比较烂。至少翻译对我来说足够理解这些内容的大致。相比apue这本书薄了很多,几乎只讲Linux下的系统编程,同时针对版本也比较新,io模型较apue讲的更接地气。适合我这种初学者吧。
译者在致谢中感谢了她的婆婆,如此良好的婆媳关系也掩盖不了这本书翻译得不太好,本来可以给五星的。尽管如此,仍然推荐广大想学习Linux系统编程的同学阅读学习。
下载
收藏