The Linux Programming Interface

Michael Kerrisk

出版时间

2010-10-28

ISBN

9781593272203

评分

★★★★★

标签

编程

书籍介绍
这不是一本用来'读'的书,而是一本'查'和'啃'的书。许多读者从标记想读搁置十余年,又花八周业余时间一字不落地啃完64章、1400页,只为一句'超越APUE的经典'。它之所以被反复拿来与《APUE》比较,正因为它在覆盖广度上几乎无死角:文件I/O、进程、内存、信号、IPC、线程、网络,处处巨细靡遗,且作者持续维护配套代码与勘误,让示例能真正编译运行。读者记住它的,往往是补上的线程与网络、做完的习题,以及'比APUE更丰富'的踏实感。它适合愿意把业余时间交出去、追求系统编程完整图景的人,也适合把它当作案头工具书随时检索。若指望轻松速成,它或许不够'平易近人';但若想真正吃透Linux系统调用,这是绕不开的一座高山。
作者简介
Michael Kerrisk is well-known in the Linux community as the maintainer of the man-pages project (www.kernel.org/doc/man-pages/), which documents the Linux kernel-userspace and standard C library interfaces. A former Digital Equipment Corporation programmer and trainer, Kerrisk was more recently an engineer at Google and then a fellow at the Linux Foundation working on kernel-userspace interface design review, testing, and documentation. He is a New Zealander living with his family in Munich, Germany.
AI导读
核心看点
  • 全面解析Linux系统调用与库函数
  • 涵盖进程、内存、文件I/O等核心概念
  • 兼具入门指南与权威参考手册功能
读者共识
  • 被誉为超越APUE的Linux编程圣经
  • 作者维护及时,代码示例可顺利编译
  • 虽篇幅厚重,但结构清晰,查阅体验佳
精彩摘录
  • "In order to access an IPC object, a process must have some means of identifying the object, and once the object has been “opened,” the process must use some type of handle to refer to the open object. Table 43-1 summarizes these properties for the various types of IPC facilities."
  • "Named semaphores: This type of semaphore has a name. By calling sem_open() with the same name, unrelated processes can access the same semaphore."
  • "X/Opena联网服务。"
  • "At any point in time, one of the process groups in a session is the foreground process group for the terminal, and the others are background process groups. Only processes in the foreground process group can read input from the controlling terminal. When the user types one of the signal-generating t"
  • "使用makstemp()之类的函数确保这个文件的文件名不会不可预测"
  • "should at least ensure that the file has an unpredictable name, by using a function such as mkstemp()"
  • "与静态库不同,可以向之前构建的共享库中添加单个目标模块,也可以从中删除单个目标模块。与普通的可执行文件一样,共享库中的目标文件不再维护不同的身份"
  • "Unlike static libraries, it is not possible to add or remove individual object modules from a previously built shared library."
目录
Preface
Chapter 1: History and Standards
Chapter 2: Fundamental Concepts
Chapter 3: System Programming Concepts
Chapter 4: File I/O: The Universal I/O Model

显示全部
用户评论
必须六星!个人认为完全可以和APUE比肩,甚至说是beyond也不过分。有人说此书写的不够平易近人,我要说如果写成这样都读不明白的话,你应该首先考虑的是自己。
吐血力薦!!!
第一遍看了个框架,第二遍刷刷习题,加深各个章节的关联。值得五星推荐。
很不错!一本参考书。
仔仔细细的看了一小半,线程和网络部分都补起来了
哪里不会点哪里,这是一本神奇的书。
非常好,涉及Linux系统编程的方方面面。深入浅出,不是只介绍API,而是会深入到操作系统层面去解释原理和缘由。作者不愧是Linux手册的维护者。没看过APUE,直接看了这本,终于还是没失望。
复习的时候快速跳读了十几章,相见恨晚啊!大概1/3讲原理,1/3讲api,1/3讲最佳实践,可读性非常好,观其大略,读得飞快。
目前只看了几章,重新温习一下 Linux 的系统调用,有很多以前没有的体会。
Linux系统编程学习第一书,概念讲解清晰还有实际的代码例子可以修改运行。
下载
收藏