Skip to main content

导论: Unix 高级编程

这本书是 Unix 编程方面的经典著作, 许多其他的书或多或少都受其影响, 和本书的内容都大同小异. 要学习 Unix 编程, 这本书才是正确的选择.

第一版是 1992 年出版的, 2005 年第二版, 2013 年第三版. 第三版中涵盖了 70 多个最新的 POSIX.1 标准中新增的接口, 删除了 STREAMS 相关的接口内容, 将使用的平台更新到了当年最新的. 这些新增的接口包括处理异步 I/O, 自旋锁, 屏障和 POSIX 信号量等.

书中精选了 400 多个系统调用和库函数进行讲解, 这些接口基本上是 Unix 软件的核心功能, 涵盖系统编程的方方面面, 并从原理上对整个编程环境进行了深入解析.

2011 年 C 标准进行了更新, 但系统没有跟进进行更新, 因此书中仍然使用 99 标准.

本书分为 6 个部分:

  1. 第一部分(c1 - c2): Unix 编程概述和相关名词术语, 以及 Unix 标准化.
    • c1: Unix 系统概述
    • c2: Unix 标准化和实现
  2. 第二部分(c3 - c6): I/O
    • c3: 不带缓冲的文件 I/O(系统调用)
    • c4: 文件和目录的相关属性
    • c5: 标准库提供的 I/O(带缓冲), 即标准 I/O
    • c6: 系统标准数据文件
  3. 第三部分(c7 - c13): 进程和线程
    • c7: Unix 进程运行环境
    • c8: 进程控制
    • c9: 进程间的关系
    • c10: 信号
    • c11: 线程概述
    • c12: 线程控制
    • c13: 守护进程(daemon process)
  4. 第四部分(c14, c18, c19): 更多的 I/O(高级 I/O)
    • c14: 高级 I/O
    • c18: 终端 I/O
    • c19: 伪终端
  5. 第五部分(c15 - c17): IPC 通信(Interprocess Communication).
    • c15: IPC 概述
    • c16: 网络 IPC(Socket)
    • c17: 高级 IPC(Unix Domain Socket)
  6. 第六部分(c20 - c21): Examples, 即若干示例, 包括:
    • c20: 一个数据库 Library
    • c21: 和网络打印机通信