当前位置:主页 > 计算机电子书 > 操作系统 > 系统编程下载
Linux/UNIX系统编程手册(上、下册)

Linux/UNIX系统编程手册(上、下册) PDF 全书完整版

  • 更新:2019-11-17
  • 大小:29 MB
  • 类别:系统编程
  • 作者:MichaelKerrisk,孙剑,许从
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Linux/UNIX系统编程插口权威性经典著作,无出其右;
包含500好几个系统调用和库函数;示例清楚详细,表述巨细靡遗;
包含当今UNIX规范(POSI X.1-2001/SUS v3和POSI X.1-2008/SUS v4);
诸多业内人士人员联手强烈推荐;
Linux/UNIX开发者的案头必需,终究变成新的經典; 
《Linux/UNIX系统编程手册(上、下册)》是详细介绍Linux与UNIX编程插口的权威性经典著作。Linux编程杰出权威专家Michael Kerrisk在书中详细说明了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() 

资源下载

资源下载地址1:https://pan.baidu.com/s/1YtlY32pk6Rs-YPy0onvicA

相关资源

网友留言