关于本书的内容有任何问题,请联系 李召
第1章 文件与目录 1 1.1 文件属性 1 1.1.1 文件的类型 1 1.1.2 符号链接文件 2 1.1.3 stat(?)函数、fstat(?)函数和lstat(?)函数 4 1.1.4 文件属主 5 1.1.5 文件的存取许可权 5 1.1.6 chmod(?)函数和fchmod(?)函数 6 1.1.7 文件的长度 8 1.1.8 文件的截取 9 1.1.9 更改文件名 9 1.1.10 文件的时间戳 10 1.2 目录操作 12 1.2.1 mkdir(?)函数和rmdir(?)函数 12 1.2.2 读目录 12 1.2.3 解析路径名字符串 13 1.3 文件系统 13 1.3.1 文件系统的概念 13 1.3.2 文件系统的类型 14 1.3.3 文件系统的结构 14 1.4 本章小结 15 1.5 习题 15 第2章 I/O 17 2.1 I/O的基本概念 17 2.1.1 I/O的定义 17 2.1.2 系统调用 17 2.1.3 用户程序编程接口 19 2.2 Linux标准I/O 19 2.2.1 标准I/O概述 19 2.2.2 标准I/O的操作核心 20 2.2.3 流的打开和关闭 20 2.2.4 错误处理 22 2.2.5 流的读写 23 2.2.6 系统预定义流指针 30 2.2.7 缓存区的类型 31 2.2.8 缓存区的刷新及配置 33 2.2.9 流的定位 34 2.2.10 格式化输入/输出 37 2.3 Linux文件I/O 38 2.3.1 文件描述符 38 2.3.2 文件的打开和关闭 39 2.3.3 文件读写 41 2.3.4 文件定位 43 2.3.5 文件控制操作 45 2.3.6 生产者与消费者 49 2.4 本章小结 54 2.5 习题 54 第3章 进程 56 3.1 进程的基本概念 56 3.1.1 多任务机制 56 3.1.2 进程与程序 57 3.1.3 进程的状态 58 3.1.4 进程组与会话组 59 3.1.5 进程的优先级 60 3.1.6 进程的调度策略 61 3.1.7 进程的虚拟内存 62 3.1.8 虚拟内存管理 63 3.1.9 进程的内存布局 64 3.2 进程编程 65 3.2.1 进程的创建 65 3.2.2 exec函数族 68 3.2.3 vfork(?)函数 70 3.2.4 exit(?)函数和_exit(?)函数 71 3.2.5 孤儿进程与僵尸进程 73 3.2.6 wait(?)函数和waitpid(?)函数 75 3.2.7 Linux守护进程 79 3.2.8 系统日志 81 3.3 本章小结 84 3.4 习题 84 第4章 多线程 85 4.1 线程基本编程 85 4.1.1 线程的基本概念 85 4.1.2 线程的创建 86 4.1.3 线程终止与回收 87 4.1.4 线程编程 87 4.1.5 线程的分离 89 4.1.6 线程的取消 91 4.2 线程同步互斥机制 95 4.2.1 线程通信 95 4.2.2 互斥锁的使用 96 4.2.3 互斥锁的死锁 99 4.2.4 互斥锁的属性 103 4.2.5 信号量的使用 105 4.2.6 条件变量的使用 109 4.3 线程池 114 4.3.1 线程池的基本概念 114 4.3.2 线程池的实现 115 4.4 本章小结 120 4.5 习题 120 第5章 早期进程间通信 121 5.1 无名管道 121 5.1.1 无名管道简介 121 5.1.2 无名管道的特性 122 5.1.3 无名管道的通信 126 5.2 有名管道 127 5.2.1 有名管道的特性 127 5.2.2 有名管道的通信 129 5.3 信号 131 5.3.1 信号概述 131 5.3.2 信号的注册 132 5.3.3 信号的发送 134 5.3.4 定时器信号 135 5.4 本章小结 136 5.5 习题 136 第6章 System V IPC 137 6.1 消息队列 137 6.1.1 消息队列简介 137 6.1.2 消息队列编程 140 6.1.3 消息队列实验 142 6.2 共享内存 146 6.2.1 共享内存简介 146 6.2.2 共享内存编程 148 6.3 信号灯 150 6.3.1 信号灯简介 150 6.3.2 信号灯编程 152 6.3.3 信号灯实验 153 6.4 本章小结 157 6.5 习题 157 第7章 Linux网络编程概述 159 7.1 网络概述 159 7.1.1 Internet的历史 159 7.1.2 网络体系结构 160 7.1.3 TCP/IP协议族体系结构 160 7.1.4 TCP/IP模型特点 162 7.1.5 TCP与UDP 162 7.2 网络基础知识 163 7.2.1 套接字 163 7.2.2 IP地址 164 7.2.3 TCP/IP端口 167 7.2.4 字节序 167 7.3 本章小结 168 7.4 习题 168 第8章 网络基础编程 170 8.1 TCP编程 170 8.1.1 TCP编程流程 170 8.1.2 创建套接字 171 8.1.3 TCP服务器接口 172 8.1.4 TCP客户端接口 173 8.1.5 TCP编程通信实现 174 8.2 UDP编程 178 8.2.1 UDP编程流程 178 8.2.2 发送和接收数据 178 8.2.3 UDP编程通信实现 179 8.3 数据包解析 182 8.3.1 TCP三次握手和四次挥手 182 8.3.2 数据包封装与解析 184 8.3.3 TCP、UDP、IP封包格式 185 8.4 Wireshark工具 188 8.4.1 Wireshark工具安装 188 8.4.2 Wireshark实现抓包 193 8.4.3 Wireshark显示封装信息 199 8.4.4 Wireshark抓包分析TCP 202 8.5 本章小结 205 8.6 习题 205 第9章 服务器模型 207 9.1 I/O模型 207 9.1.1 阻塞I/O 207 9.1.2 非阻塞I/O 208 9.1.3 I/O多路复用 210 9.1.4 信号驱动I/O 217 9.2 TCP服务器模型 217 9.2.1 循环服务器 217 9.2.2 fork(?)实现并发服务器 221 9.2.3 select(?)实现并发服务器 226 9.3 TCP文件服务器 230 9.3.1 功能说明 230 9.3.2 功能实现 232 9.4 UDP网络聊天室 241 9.4.1 功能说明 241 9.4.2 功能实现 242 9.5 本章小结 249 9.6 习题 249 第10章 网络高级编程 250 10.1 网络超时检测 250 10.1.1 setsockopt(?)函数实现超时检测 250 10.1.2 select(?)函数实现超时检测 253 10.1.3 定时器超时检测 256 10.2 广播 258 10.2.1 广播概述 258 10.2.2 广播地址 258 10.2.3 广播的发送与接收 258 10.3 组播 264 10.3.1 组播概述 264 10.3.2 组播地址 264 10.3.3 组播的发送与接收 264 10.4 UNIX域套接字 268 10.4.1 UNIX域套接字概述 268 10.4.2 UNIX域流式套接字 269 10.4.3 UNIX域数据报套接字 273 10.5 原始套接字 276 10.5.1 原始套接字概述 276 10.5.2 链路层原始套接字的创建 277 10.5.3 网络层原始套接字的创建 278 10.5.4 ICMP、Ethernet封包解析 279 10.5.5 MAC数据包接收 281 10.5.6 MAC数据包发送 284 10.5.7 ARP实现MAC地址扫描 286 10.6 本章小结 292 10.7 习题 292 第11章 SQLite数据库 293 11.1 SQLite的基本使用 293 11.1.1 SQLite数据库概述 293 11.1.2 SQLite数据库安装 294 11.1.3 SQLite命令 295 11.2 SQLite API 299 11.2.1 SQLite API介绍 299 11.2.2 SQLite API使用 301 11.3 本章小结 307 11.4 习题 307 第12章 小区物业停车管理系统 308 12.1 系统概述 308 12.1.1 开发背景 308 12.1.2 项目需求分析 309 12.1.3 环境使用说明 309 12.1.4 系统软件设计 309 12.2 系统案例实现 311 12.2.1 服务器程序设计 311 12.2.2 客户端程序设计 323 12.2.3 系统展示 334 12.3 本章小结 337 12.4 习题 338
本书为Java基础入门教材,适合初学者使用。全书共13章,第1~2章主要讲解Java技术的一些基础知识,内容包...
本书以PyCharm为主要开发工具,采用理论与实训案例相结合的编写方式,系统地讲解Python的相关知识。本书...
本书根据高等院校应用技术型人才培养的目标编写,适合案例学习和模块化教学相结合的教学方式。本书以真实企业开发案例...
Java是互联网时代深受开发者欢迎的编程语言,广泛应用于开发移动应用、Web应用、分布式应用、游戏、系统服务和...
本书是一本系统、实用、易学的Python入门教材。全书围绕Python3的核心知识点,按照Python编程的学...
我要评论