Linux 系统高级编程 ¶

原书主页 ¶

AdvancedLinuxProgramming
全部章节原版(英文)电子书下载:这里(.pdf 格式)
示例源码:这里(.tar.gz 格式)

简介 ¶

AdvancedLinuxProgramming 是为对C语言和Linux系统有必要认识,希望开始学习Linux平台上的C语言开发的程序员准备的教程,包含了从开发环境的设置到基本API和系统服务的介绍。 本站点是我作为ALP(非官方)译者,为面向国内Linux新手推广ALP而做的尝试。这里将刊载ALP译本、代码,并尝试继续发展并完善这本书,为新开发者提供一个良好的开始学习的地方。
译者:完美废人、四月,审校:小锁。

新闻 ¶

2010/08/29
最近被人问起,终于决定向这里迁移了。
2009/11/25
全书早就在这里了。准备过段时间,整理其它东西一起挪到 sf 去。请收藏新地址 http://sourceforge.net/apps/trac/elpi/wiki
2009/7/21
建立 Google Group http://groups.google.com/group/alpcn ,用于讨论及发布新闻等。欢迎加入群组并参与讨论。
多种工具相关部分先行审校发布。其余内容继续审校中。
2009/7/19
第一卷 Advanced UNIX Programming With Linux 全书登入本 Wiki。第二卷 Mastering Linux 开始校对登入。

目录 ¶

I Advanced UNIX Programming With Linux?

  1. 起步

    1. 用Emacs进行编辑
    2. 用GCC编译
    3. 用GNU Make自动完成编译过程
    4. 用GDB进行调试
    5. 获取更多信息
  2. 编写优质GNU/Linux软件

    1. 与运行环境交互
    2. 防御性编码
    3. 编写并使用程序库
  3. 进程

    1. 查看进程
    2. 创建进程
    3. 信号
    4. 进程终止
  4. 线程

    1. 创建线程
    2. 取消线程
    3. 线程专有数据
    4. 同步和临界代码段
    5. GNU/Linux 的线程实现
    6. 进程 VS 线程
  5. 进程间通信

    1. 共享内存
    2. 进程信号量
    3. 映射内存
    4. 管道
    5. 套接字

II. Mastering Linux?

  1. 设备

    1. 设备类型
    2. 设备号
    3. 设备文件
    4. 硬件设备
    5. 特殊设备
    6. PTYs
    7. ioctl
  2. /proc文件系统

    1. 从/proc文件系统中提取信息
    2. 进程项
    3. 硬件信息
    4. 内核信息
    5. 驱动器、挂载和文件系统
    6. 统计信息
  3. Linux 系统调用

    1. 使用strace
    2. access:测试文件权限
    3. fcntl:锁和其他文件操作
    4. fsync和fdatasync: 刷新磁盘缓存
    5. getrlimit和setrlimit:资源限制
    6. getrusage: 进程统计
    7. gettimeofaday: 挂钟时间
    8. mlock家族:锁物理内存
    9. mprotect: 设置内存访问权限
    10. nanosleep: 高精度睡眠
    11. readlink:读符号链接
    12. sendfile:快速数据传输
    13. setitimer: 设置定时器间隔
    14. sysinfo: 获得系统统计
    15. uname
  4. 内联汇编代码

    1. 何时使用汇编语言
    2. 简单内联汇编
    3. 汇编语法扩展
    4. 例子
    5. 优化问题
    6. 维护和可移植性问题
  5. 安全性

    1. 用户和组
    2. 进程用户 ID 和组 ID
    3. 文件系统权限
    4. 真实 ID 和有效 ID
    5. 用户身份验证
    6. 更多安全漏洞
  6. 一个 GNU/Linux 示例应用程序

    1. 概要
    2. 实现
    3. 模块
    4. 使用服务器
    5. 结束战斗

III. AlpAppendixes?

  1. 其它开发工具

    1. 静态程序分析
    2. 找到动态内存错误
    3. 性能调优
  2. 底层I/O

    1. 读写数据
    2. stat
    3. 向量读写
    4. 与C标准库I/O函数的联系
    5. 其它文件操作
    6. 读目录内容
  3. 信号表?
  4. 在线资源?

    1. 通用信息?
    2. GNU/Linux 软件信息?
    3. 其它站点?
  5. OpenPublicationLicense
  6. The GNU General Public License
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。