发表于2024-11-21
Linux/UNIX系统编程接口专业巨著,无出其右;涵盖500多个系统调用和库函数;示例清晰完整,解释巨细靡遗;涵盖当前UNIX标准(POSI X.1-2001/SUS v3和POSI X.1-2008/SUS v4);众多业内专家人士联袂推荐;Linux/UNIX开发人员的案头必备,注定成为新的经典。
《Linux/UNIX系统编程手册(套装上下册)》是介绍Linux与UNIX编程接口的专业著作。Linux编程资深专家MichaelKerrisk在书中详细描述了Linux/UNIX系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。《Linux/UNIX系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。
《Linux/UNIX系统编程手册(套装上下册)》总共分为64章,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用POSIX线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字API编写网络应用等内容。
《Linux/UNIX系统编程手册(套装上下册)》在汇聚大批Linux专有特性(epoll、inotify、/proc)的同时,还特意强化了对UNIX标准(POSIX、SUS)的论述,彻底达到了“鱼与熊掌,二者得兼”的效果,这也堪称本书的大亮点。
《Linux/UNIX系统编程手册(套装上下册)》布局合理,论述清晰,说理透彻,尤其是作者对示例代码的构思巧妙,独具匠心,仔细研读定会受益良多。本书适合从事Linux/UNIX系统开发、运维工作的技术人员阅读,同时也可作为高校计算机专业学生的参考研习资料。
上册
第1章 历史和标准
1.1 UNIX和C语言简史
1.2 Linux简史
1.2.1 GNU项目
1.2.2 Linux内核
1.3 标准化
1.3.1 C编程语言
1.3.2 首个POSIX标准
1.3.3 X/Open公司和The Open Group
1.3.4 SUSv3和POSIX.1-2001
1.3.5 SUSv4和POSIX.1-2008
1.3.6 UNIX标准时间表
1.3.7 实现标准
1.3.8 Linux、标准、Linux标准规范(Linux Standard Base)
1.4 总结
第2章 基本概念
2.1 操作系统的核心-内核
2.2 shell
2.3 用户和组
2.4 单根目录层级、目录、链接及文件
2.5 文件I/O模型
2.6 程序
2.7 进程
2.8 内存映射
2.9 静态库和共享库
2.10 进程间通信及同步
2.11 信号
2.12 线程
2.13 进程组和shell任务控制
2.14 会话、控制终端和控制进程
2.15 伪终端
2.16 日期和时间
2.17 客户端服务器架构
2.18 实时性
2.19 /proc文件系统
2.20 总结
第3章 系统编程概念
3.1 系统调用
3.2 库函数
3.3 标准C语言函数库;GNU C语言函数库(glibc)
3.4 处理来自系统调用和库函数的错误
3.5 关于本书示例程序的注意事项
3.5.1 命令行选项及参数
3.5.2 常用的函数及头文件
3.6 可移植性问题
3.6.1 特性测试宏
3.6.2 系统数据类型
3.6.3 其他的可移植性问题
3.7 总结
3.8 练习
第4章 文件I/O:通用的I/O模型
4.1 概述
4.2 通用I/O
4.3 打开一个文件:open
4.3.1 open调用中的flags参数
4.3.2 open函数的错误
4.3.3 creat系统调用
4.4 读取文件内容:read
4.5 数据写入文件:write
4.6 关闭文件:close
4.7 改变文件偏移量:lseek
4.8 通用I/O模型以外的操作:ioctl
4.9 总结
4.10 练习
第5章 深入探究文件I/O
5.1 原子操作和竞争条件
5.2 文件控制操作:fcntl
5.3 打开文件的状态标志
5.4 文件描述符和打开文件之间的关系
5.5 复制文件描述符
5.6 在文件特定偏移量处的I/O:pread和pwrite
5.7 分散输入和集中输出(Scatter-Gather I/O):readv和writev
5.8 截断文件:truncate和ftruncate系统调用
5.9 非阻塞I/O
5.10 大文件I/O
5.11 /dev/fd目录
5.12 创建临时文件
5.13 总结
5.14 练习
第6章 进程
6.1 进程和程序
6.2 进程号和父进程号
6.3 进程内存布局
6.4 虚拟内存管理
6.5 栈和栈帧
6.6 命令行参数(argc, argv)
6.7 环境列表
6.8 执行非局部跳转:setjmp和longjmp
6.9 总结
6.9 练习
第7章 内存分配
7.1 在堆上分配内存
7.1.1 调整program break:brk和sbrk
7.1.2 在堆上分配内存:malloc和free
7.1.3 malloc和free的实现
7.1.4 在堆上分配内存的其他方法
7.2 在堆栈上分配内存:alloca
7.3 总结
7.4 练习
第8章 用户和组
8.1 密码文件:/etc/passwd
8.2 shadow密码文件:/etc/shadow
8.3 组文件:/etc/group
8.4 获取用户和组的信息
8.5 密码加密和用户认证
8.6 总结
8.7 练习
第9章 进程凭证
9.1 实际用户ID和实际组ID
9.2 有效用户ID和有效组ID
9.3 Set-User-ID和Set-Group-ID程序
9.4 保存set-user-ID和保存set-group-ID
9.5 文件系统用户ID和组ID
9.6 辅助组ID
9.7 获取和修改进程凭证
9.7.1 获取和修改实际、有效和保存设置标识
9.7.2 获取和修改文件系统ID
9.7.3 获取和修改辅助组ID
9.7.4 修改进程凭证的系统调用总结
9.7.5 示例:显示进程凭证
9.8 总结
9.9 习题
第10章 时间
10.1 日历时间(Calendar Time)
10.2 时间转换函数
10.2.1 将time_t转换为可打印格式
10.2.2 time_t和分解时间之间的转换
10.2.3 分解时间和打印格式之间的转换
10.3 时区
10.4 地区(Locale)
10.5 更新系统时钟
10.6 软件时钟(jiffies)
10.7 进程时间
10.8 总结
10.9 练习
第11章 系统限制和选项
11.1 系统限制
11.2 在运行时获取系统限制(和选项)
11.3 运行时获取与文件相关的限制(和选项)
11.4 不确定的限制
11.5 系统选项
11.6 总结
11.7 练习
第12章 系统和进程信息
12.1 /proc文件系统
12.1.1 获取与进程有关的信息:/proc/PID
12.1.2 /proc 目录下的系统信息
12.1.3 访问/proc文件
12.2 系统标识:uname
12.3 总结
12.4 练习
第13章 文件I/O缓冲
13.1 文件I/O的内核缓冲:缓冲区高速缓存
13.2 stdio库的缓冲
13.3 控制文件I/O的内核缓冲
13.4 I/O缓冲小结
13.5 就I/O模式向内核提出建议
13.6 绕过缓冲区高速缓存:直接I/O
13.7 混合使用库函数和系统调用进行文件I/O
13.8 总结
13.9 练习
第14章 系统编程概念
14.1 设备专用文件(设备文件)
14.2 磁盘和分区
14.3 文件系统
14.4 i节点
14.5 虚拟文件系统(VFS)
14.6 日志文件系统
14.7 单根目录层级和挂载点
14.8 文件系统的挂载和卸载
14.8.1 挂载文件系统:mount
14.8.2 卸载文件系统:umount和umount2
14.9 高级挂载特性
14.9.1 在多个挂载点挂载文件系统
14.9.2 多次挂载同一挂载点
14.9.3 基于每次挂载的挂载标志
14.9.4 绑定挂载
14.9.5 递归绑定挂载
14.10 虚拟内存文件系统:tmpfs
14.11 获得与文件系统有关的信息:statvfs
14.12 总结
14.13 练习
第15章 文件属性
15.1 获取文件信息:stat
15.2 文件时间戳
15.2.1 使用utime和utimes来改变文件时间戳
15.2.2 使用utimensat和futimens改变文件时间戳
15.3 文件属主
15.3.1 新建文件的属主
15.3.2 改变文件属主:chown、fchown和lchown
15.4 文件权限
15.4.1 普通文件的权限
15.4.2 目录权限
15.4.3 权限检查算法
15.4.4 检查对文件的访问权限:access
15.4.5 Set-User-ID、Set-Group-ID和Sticky位
15.4.6 进程的文件模式创建掩码:umask
15.4.7 更改文件权限:chmod和fchmod
15.5 I节点标志(ext2扩展文件属性)
15.6 总结
15.7 练习
第16章 扩展属性
16.1 概述
16.2 扩展属性的实现细节
16.3 操控扩展属性的系统调用
16.4 总结
16.5 练习
第17章 访问控制列表
17.1 概述
17.2 ACL权限检查算法
17.3 ACL的长、短文本格式
17.4 ACL_mask型ACE和ACL组分类
17.5 getfacl和setfacl命令
17.6 默认ACL与文件创建
17.7 ACL在实现方面的限制
17.8 ACL API
17.9 总结
17.10 练习
第18章 目录与链接
18.1 目录和(硬)链接
18.2 符号(软)链接
18.3 创建和移除(硬)链接:link和 unlink
18.4 更改文件名:rename
18.5 使用符号链接:symlink和readlink
18.6 创建和移除目录:mkdir和rmdir
18.7 移除一个文件或目录:remove
18.8 读目录:opendir和readdir
18.9 文件树遍历:nftw
18.10 进程的当前工作目录
18.11 针对目录文件描述符的相关操作
18.12 改变进程的根目录:chroot
18.13 解析路径名:realpath
18.14 解析路径名字符串:dirname和basename
18.15 总结
18.16 练习
第19章 监控文件事件
19.1 概述
19.2 inotify API
19.3 inotify事件
19.4 读取inotify事件
19.5 队列限制和/proc文件
19.6 监控文件的旧有系统:dnotify
19.7 总结
19.8 练习
第20章 信号:基本概念
20.1 概念和概述
20.2 信号类型和默认行为
20.3 改变信号处置:signal
20.4 信号处理器简介
20.5 发送信号:kill
20.6 检查进程的存在
20.7 发送信号的其他方式:raise和killpg
20.8 显示信号描述
20.9 信号集
20.10 信号掩码(阻塞信号传递)
20.11 处于等待状态的信号
20.12 不对信号进行排队处理
20.13 改变信号处置:sigaction
20.14 等待信号:pause
20.15 总结
20.16 练习
第21章 信号:信号处理器函数
21.1 设计信号处理器函数
21.1.1 再论信号的非队列化处理
21.1.2 可重入函数和异步信号安全函数
21.1.3 全局变量和sig_atomic_t数据类型
21.2 终止信号处理器函数的其他方法
21.2.1 在信号处理器函数中执行非本地跳转
21.2.2 异常终止进程:abort
21.3 在备选栈中处理信号:sigaltstack
21.4 SA_SIGINFO标志
21.5 系统调用的中断和重启
21.6 总结
21.7 练习
第22章 信号:高级特性
22.1 核心转储文件
22.2 传递、处置及处理的特殊情况
22.3 可中断和不可中断的进程睡眠状态
22.4 硬件产生的信号
22.5 信号的同步生成和异步生成
22.6 信号传递的时机与顺序
22.7 signal的实现及可移植性
22.8 实时信号
22.8.1 发送实时信号
22.8.2 处理实时信号
22.9 使用掩码来等待信号:sigsuspend
22.10 以同步方式等待信号
22.11 通过文件描述符来获取信号
22.12 利用信号进行进程间通信
22.13 早期的信号API(System V和BSD)
22.14 总结
22.15 练习
第23章 定时器与休眠
23.1 间隔定时器
23.2 定时器的调度及精度
23.3 为阻塞操作设置超时
23.4 暂停运行(休眠)一段固定时间
23.4.1 低分辨率休眠:sleep
23.4.2 高分辨率休眠:nanosleep
23.5 POSIX时钟
23.5.1 获取时钟的值:clock_gettime
23.5.2 设置时钟的值:clock_settime
23.5.3 获取特定进程或线程的时钟ID
23.5.4 高分辨率休眠的改进版:clock_nanosleep
23.6 POSIX间隔式定时器
23.6.1 创建定时器:timer_create
23.6.2 配备和解除定时器:timer_settime
23.6.3 获取定时器的当前值:timer_gettime
23.6.4
Linux UNIX系统编程手册 套装上下册 [The Linux Programming Interface] 下载 mobi epub pdf txt 电子书 格式
Linux UNIX系统编程手册 套装上下册 [The Linux Programming Interface] 下载 mobi pdf epub txt 电子书 格式 2024
Linux UNIX系统编程手册 套装上下册 [The Linux Programming Interface] 下载 mobi epub pdf 电子书一大早快递小哥就给我送来了,非常棒,正缺这方面的书
评分这东西不错!!!!!!哈哈哈!!!十分推荐哦!!!!而且,最重要的就是,京东的的服务特别好!!!棒棒的!!!!!!
评分我为什么喜欢在网上买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为买的东西
评分书质量不错,是正品!!!!!!!!!!!!!!
评分都是经典的书,纸质很ok。正版书,京东速度无敌。买了很多个个都是好评哈。书本很好,是正版,包装给力,速度快、速度快。书中内容图文并茂,适合阅读。喜欢可以入手。
评分很好不错,下次还会再买,价格实惠
评分收到的书不错,是正版,很划得来
评分一次最烂的京东购物经历,不想多说,看图说话,之前也没少在京东买了书和商品,从没有像这次一样,商品破损竟然还发货,果然林子大了什么鸟都有
评分很经典的一本讲解系统编程的书,之前一直看英文电子版的,为了加快学习进度,还是选择了花血本提高效率…内容不必多说,还没看译本,等看的差不多时再来补评…包装物流满分
Linux UNIX系统编程手册 套装上下册 [The Linux Programming Interface] mobi epub pdf txt 电子书 格式下载 2024