Linux高级程序设计
作者: 罗怡桂
出版时间:2014年9月
出版社:高等教育出版社
- 高等教育出版社
- 9787040409581
- 1版
- 193426
- 0045151855-9
- 异16开
- 2014年9月
- 380
- 262
- 工学
- 软件工程
- TP316.85
- 计算机科学与技术
- 本科
本书可作为本科生或研究生的Linux编程技术课程的教材,也可以作为Linux编程技术人员的参考书。
第1章 Linux编程基础
1.1 Linux的演化
1.1.1 UNIX时代
1.1.2 从UNIX到Linux
1.2 Linux编程环境
1.2.1 程序编辑器
1.2.2 程序编译器gec
1.3 常用调试工具
1.3.1 gdb
1.3.2 mtrace
1.3.3 hook
1.3.4 Binutil工具集
1.4 GNU编程风格
本章小结
习题
第2章 文件与目录的操作
2.1 Linux文件系统概述
2.1.1 文件及文件系统
2.1.2 文件描述符
2.1.3 用户标识与用户组标识
2.1.4 硬连接与符号连接
2.2 文件的基本操作
2.2.1 文件的打开与共享
2.2.2 文件的创建与关闭
2.2.3 文件的定位
2.2.4 文件内容的读取
2.2.5 文件内容的写入
2.3 文件属性的获取与改变
2.4 文件访问权限及其操作
2.4.1 设置文件权限屏蔽码
2.4.2 改变用户的操作模式
2.4.3 改变文件的所有者
2.4.4 验证实际用户对文件的操作权限
2.5 文件的删除与重命名
2.6 文件的同步
2.7 文件的其他操作
2.7.1 文件描述符的复制
2.7.2 获取、改变文件的时间信息
2.7.3 目录的创建、删除与读取
2.7.4 相对于路径的文件操作
本章小结
习题
第3章 标准输入输出及系统信息
3.1 标准输入输出
3.1.1 流与FILE指针
3.1.2 缓存
3.1.3 打开、关闭流
3.1.4 流的读写
3.1.5 流的定位
3.1.6 格式化输入输出
3.1.7 创建临时文件
3.2 获取或设置系统信息
3.3 获取或设置系统时间
3.4 文件系统设置
3.5 获取与设置磁盘配额
3.6 其他系统操作函数
本章小结
习题
第4章 进程及进程的控制
4.1 进程及进程运行环境
4.1.1 进程标识与进程的状态
4.1.2 进程的开始与终结
4.1.3 内存空间分布
4.1.4 环境变量
4.1.5 操作能力设置
4.1.6 获取、设置进程资源限制
4.2 函数间的直接跳转
4.3 创建子进程
4.3.1 fork函数
4.3.2 vfork函数
4.3.3 clone函数
4.4 父进程等待子进程
4.5 在进程中执行另一个程序
4.5.1 exec系列函数
4.5.2 关于closeonexec
4.6 设置与读取用户标识
4.7 进程记账
4.8 获取当前进程的时间
4.9 进程的跟踪
4.10 进程的组织
4.10.1 进程组
4.10.2 会话
本章小结
习题
第5章 信号
5.1 信号处理概述
5.2 信号处理的上下文
5.3 信号的编程模式
5.4 信号与信号处理函数的关联
5.4.1 sigaction函数
5.4.2 signal函数
5.5 发送信号
5.5.1 发送信号的原因
5.5.2 在内核中信号的发送
5.5.3 kill、raise函数
5.5.4 sigqueue函数
5.5.5 alarm函数
5.6 信号的处理
5.6.1 内核中信号的处理
5.6.2 获知当前未决信号
5.6.3 sigsetjimp与siglongjmp函数
5.6.4 信号处理函数的可重入性
5.6.5 sleep函数
5.7 信号的屏蔽
5.7.1 sigprocmask函数
5.7.2 sigsuspend函数
5.8 实时信号与普通信号
5.9 使用信号同步进程
5.10 获取或设置信号处理函数的堆栈信息
本章小结
习题
第6章 高级I/O
6.1 非阻塞I/O
6.2 记录锁
6.3 I/O复用
6.3.1 select与pselect函数
6.3.2 poll函数、ppdl函数与epoH系列函数
6.4 异步I/O
6.5 ready与writev函数
6.6 内存映射I/O
6.7 文件或目录的访问通知机制
6.7.1 dnotify
6.7.2 inotify
本章小结
习题
第7章 进程之间的通信
7.1 管道
7.2 FIFO
7.3 System V进程间的通信机制
7.3.1 消息队列
7.3.2 信号量集合
7.3.3 共享内存
7.4 Posix信号量
本章小结
习题
第8章 服务进程
8.1 服务进程的编程模式
8.2 服务进程的参数设置与日志
本章小结
习题
第9章 多进程的综合控制
9.1 内核的调度算法
9.2 从LJnux 2.4 调度算法到Linux2.6 O(1)调度算法
9.3 Linux 2.6 O(1)调度算法分析
9.3.1 静态优先级
9.3.2 动态优先级
9.3.3 时间片的计算
9.3.4 休眠进程与唤醒进程
9.3.5 调度的时机
9.3.6 Linux 2.6 O(1)调度算法中CPU的负载平衡
9.3.7 调度策略
9.4 Linux应用程序中对进程调度的控制
9.4.1 内核参数调优
9.4.2 多进程组织
9.4.3 进程的调度控制
9.4.4 进程调度操作权限
9.4.5 进程控制的其他操作
本章小结
习题
第10章 多线程编程
10.1 线程与线程的实现方式
10.2 线程应用的基本操作
10.3 线程数据
10.4 线程中的信号处理
10.5 安全创建子进程
10.6 线程之间的互斥
10.7 线程应用的其他操作
本章小结
习题
综合案例习题
参考文献