图书介绍
LINUX高级程序设计pdf电子书版本下载
- 罗怡桂编著 著
- 出版社: 北京:高等教育出版社
- ISBN:9787040409581
- 出版时间:2014
- 标注页数:262页
- 文件大小:37MB
- 文件页数:270页
- 主题词:Linux操作系统-程序设计
PDF下载
下载说明
LINUX高级程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Linux编程基础 1
1.1 Linux的演化 1
1.1.1 UNIX时代 1
1.1.2 从UNIX到Linux 1
1.2 Linux编程环境 2
1.2.1 程序编辑器 2
1.2.2 程序编译器gcc 2
1.3 常用调试工具 3
1.3.1 gdb 3
1.3.2 mtrace 3
1.3.3 hook 5
1.3.4 Binutil工具集 7
1.4 GNU编程风格 7
本章小结 8
习题 8
第2章 文件与目录的操作 9
2.1 Linux文件系统概述 9
2.1.1 文件及文件系统 9
2.1.2 文件描述符 13
2.1.3 用户标识与用户组标识 14
2.1.4 硬连接与符号连接 15
2.2 文件的基本操作 17
2.2.1 文件的打开与共享 17
2.2.2 文件的创建与关闭 18
2.2.3 文件的定位 19
2.2.4 文件内容的读取 20
2.2.5 文件内容的写入 21
2.3 文件属性的获取与改变 22
2.4 文件访问权限及其操作 26
2.4.1 设置文件权限屏蔽码 28
2.4.2 改变用户的操作模式 29
2.4.3 改变文件的所有者 30
2.4.4 验证实际用户对文件的操作权限 30
2.5 文件的删除与重命名 31
2.6 文件的同步 35
2.7 文件的其他操作 37
2.7.1 文件描述符的复制 37
2.7.2 获取、改变文件的时间信息 37
2.7.3 目录的创建、删除与读取 39
2.7.4 相对于路径的文件操作 41
本章小结 41
习题 42
第3章 标准输入输出及系统信息 43
3.1 标准输入输出 43
3.1.1 流与FILE指针 43
3.1.2 缓存 44
3.1.3 打开、关闭流 46
3.1.4 流的读写 46
3.1.5 流的定位 49
3.1.6 格式化输入输出 49
3.1.7 创建临时文件 50
3.2 获取或设置系统信息 50
3.3 获取或设置系统时间 51
3.4 文件系统设置 53
3.5 获取与设置磁盘配额 55
3.6 其他系统操作函数 58
本章小结 60
习题 60
第4章 进程及进程的控制 61
4.1 进程及进程运行环境 61
4.1.1 进程标识与进程的状态 61
4.1.2 进程的开始与终结 62
4.1.3 内存空间分布 63
4.1.4 环境变量 64
4.1.5 操作能力设置 64
4.1.6 获取、设置进程资源限制 66
4.2 函数间的直接跳转 67
4.3 创建子进程 72
4.3.1 fork函数 72
4.3.2 vfork函数 77
4.3.3 clone函数 77
4.4 父进程等待子进程 80
4.5 在进程中执行另一个程序 82
4.5.1 exec系列函数 82
4.5.2 关于close_on_exec 83
4.6 设置与读取用户标识 86
4.7 进程记账 87
4.8 获取当前进程的时间 93
4.9 进程的跟踪 96
4.10 进程的组织 100
4.10.1 进程组 100
4.10.2 会话 100
本章小结 105
习题 105
第5章 信号 106
5.1 信号处理概述 106
5.2 信号处理的上下文 107
5.3 信号的编程模式 115
5.4 信号与信号处理函数的关联 116
5.4.1 sigaction函数 116
5.4.2 signal函数 119
5.5 发送信号 120
5.5.1 发送信号的原因 120
5.5.2 在内核中信号的发送 122
5.5.3 kill、raise函数 124
5.5.4 sigqueue函数 126
5.5.5 alarm函数 128
5.6 信号的处理 129
5.6.1 内核中信号的处理 129
5.6.2 获知当前未决信号 131
5.6.3 sigsetjmp与siglongjmp函数 131
5.6.4 信号处理函数的可重入性 131
5.6.5 sleep函数 132
5.7 信号的屏蔽 132
5.7.1 sigprocmask函数 132
5.7.2 sigsuspend函数 136
5.8 实时信号与普通信号 139
5.9 使用信号同步进程 145
5.10 获取或设置信号处理函数的堆栈信息 151
本章小结 155
习题 155
第6章 高级I/O 157
6.1 非阻塞I/O 157
6.2 记录锁 157
6.3 I/O复用 163
6.3.1 select与pselect函数 163
6.3.2 poll函数、ppoll函数与epoll系列函数 167
6.4 异步I/O 170
6.5 readv与writev函数 174
6.6 内存映射I/O 175
6.7 文件或目录的访问通知机制 177
6.7.1 dnotify 177
6.7.2 inotify 180
本章小结 186
习题 187
第7章 进程之间的通信 188
7.1 管道 188
7.2 FIFO 191
7.3 System V进程间的通信机制 193
7.3.1 消息队列 193
7.3.2 信号量集合 199
7.3.3 共享内存 202
7.4 Posix信号量 207
本章小结 214
习题 214
第8章 服务进程 215
8.1 服务进程的编程模式 215
8.2 服务进程的参数设置与日志 216
本章小结 218
习题 218
第9章 多进程的综合控制 219
9.1 内核的调度算法 219
9.2 从Linux 2.4调度算法到Linux2.6 O(1)调度算法 220
9.3 Linux 2.6 O(1)调度算法分析 221
9.3.1 静态优先级 223
9.3.2 动态优先级 223
9.3.3 时间片的计算 224
9.3.4 休眠进程与唤醒进程 225
9.3.5 调度的时机 225
9.3.6 Linux 2.6 O(1)调度算法中CPU的负载平衡 226
9.3.7 调度策略 227
9.4 Linux应用程序中对进程调度的控制 227
9.4.1 内核参数调优 227
9.4.2 多进程组织 228
9.4.3 进程的调度控制 228
9.4.4 进程调度操作权限 234
9.4.5 进程控制的其他操作 234
本章小结 239
习题 239
第10章 多线程编程 240
10.1 线程与线程的实现方式 240
10.2 线程应用的基本操作 241
10.3 线程数据 243
10.4 线程中的信号处理 245
10.5 安全创建子进程 249
10.6 线程之间的互斥 251
10.7 线程应用的其他操作 255
本章小结 256
习题 257
综合案例习题 258
参考文献 262