The Linux Programming Interface - Michael Kerrisk

The Linux Programming Interface

Michael Kerrisk

出版时间

2010-10-28

ISBN

9781593272203

评分

★★★★★

标签

编程

书籍介绍

The Linux Programming Interface describes the Linux API (application programming interface)-the system calls, library functions, and other low-level interfaces that are used, directly or indirectly, by every program that runs on Linux. Programs that explicitly use these interfaces are commonly called system programs, and include applications such as shells, editors, windowing systems, terminal emulators, file managers, compilers, database management systems, virtual machines, network servers, and much of the other software that is employed on a daily basis on Linux systems. Extensively indexed and heavily cross-referenced, The Linux Programming Interface is both an introductory guide for readers new to the topic of system programming, and a comprehensive reference for experienced system programmers. Although this book goes into detail on a wealth of Linux-specific features, it gives careful attention to contemporary Unix programming standards and to portability issues.

AI导读
核心看点
  • 全面解析Linux系统调用与库函数
  • 涵盖进程、内存、文件I/O等核心概念
  • 兼具入门指南与权威参考手册功能
适合谁读
  • 具备C语言基础的Linux系统程序员
  • 希望深入理解操作系统底层机制的开发者
  • 需要查阅系统编程细节的后端工程师
读前提醒
  • 内容巨细靡遗,建议按需查阅而非通读
  • 需结合Linux使用经验与C语言基础阅读
  • 部分章节枯燥,可配合APUE对比学习
读者共识
  • 被誉为超越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."
作者简介
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.
目录
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系统编程学习第一书,概念讲解清晰还有实际的代码例子可以修改运行。
下载
收藏