资源名称:Linux UNIX系统编程手册(上册) PDF
第1章 历史和标准 1
1.1 UNIX和C语言简史 1
1.2 Linux简史 4
1.2.1 GNU项目 4
1.2.2 Linux内核 5
1.3 标准化 8
1.3.1 C编程语言 8
1.3.2 首个POSIX标准 9
1.3.3 X/Open公司和The Open Group 10
1.3.4 SUSv3和POSIX.1-2001 10
1.3.5 SUSv4和POSIX.1-2008 12
1.3.6 UNIX标准时间表 12
1.3.7 实现标准 14
1.3.8 Linux、标准、Linux标准规范(Linux Standard Base) 14
1.4 总结 15
第2章 基本概念 17
2.1 操作系统的核心—内核 17
2.2 shell 19
2.3 用户和组 20
2.4 单根目录层级、目录、链接及文件 21
2.5 文件I/O模型 23
2.6 程序 24
2.7 进程 25
2.8 内存映射 27
2.9 静态库和共享库 28
2.10 进程间通信及同步 28
2.11 信号 29
2.12 线程 30
2.13 进程组和shell任务控制 30
2.14 会话、控制终端和控制进程 30
2.15 伪终端 31
2.16 日期和时间 31
2.17 客户端服务器架构 32
2.18 实时性 32
2.19 /proc文件系统 33
2.20 总结 33
第3章 系统编程概念 34
3.1 系统调用 34
3.2 库函数 36
3.3 标准C语言函数库;GNU C语言函数库(glibc) 37
3.4 处理来自系统调用和库函数的错误 38
3.5 关于本书示例程序的注意事项 40
3.5.1 命令行选项及参数 40
3.5.2 常用的函数及头文件 40
3.6 可移植性问题 49
3.6.1 特性测试宏 49
3.6.2 系统数据类型 51
3.6.3 其他的可移植性问题 53
3.7 总结 54
3.8 练习 55
第4章 文件I/O:通用的I/O模型 56
4.1 概述 56
4.2 通用I/O 58
4.3 打开一个文件:open() 58
4.3.1 open()调用中的flags参数 60
4.3.2 open()函数的错误 63
4.3.3 creat()系统调用 64
4.4 读取文件内容:read() 64
4.5 数据写入文件:write() 65
4.6 关闭文件:close() 66
4.7 改变文件偏移量:lseek() 66
4.8 通用I/O模型以外的操作:ioctl() 70
4.9 总结 71
4.10 练习 71
第5章 深入探究文件I/O 72
5.1 原子操作和竞争条件 72
5.2 文件控制操作:fcntl() 75
5.3 打开文件的状态标志 75
5.4 文件描述符和打开文件之间的关系 76
5.5 复制文件描述符 78
5.6 在文件特定偏移量处的I/O:pread()和pwrite() 80
5.7 分散输入和集中输出(Scatter-Gather I/O):readv()和writev() 81
5.8 截断文件:truncate()和ftruncate()系统调用 84
5.9 非阻塞I/O 84
5.10 大文件I/O 85
5.11 /dev/fd目录 88
5.12 创建临时文件 88
5.13 总结 90
……..
资源截图: