Linux系统编程(慕课版)

采用只是模块串联的方式,对Linux系统应用层编程设计的核心知识点由浅入深进行了详细的讲解,配有强大的配套资源PPT、视频、课后答案等。
分享 推荐 2 收藏 53 阅读 5.6K
千锋教育 (作者) 978-7-115-53337-1

关于本书的内容有任何问题,请联系 李召

1.体系完整,循序渐进,编写团队经验丰富,内容符合市场最新需求。
2.本书为“高校教师”提供了精心设计了包含“教材+授课资源+辅助案例”的教学资源包,节约教师的备课时间,缓解教师的教学压力,显著提高教学质量。
3.本书为“高校学生”提供专业答疑辅导老师承诺工作时间3小时内答复您学习中遇到的专业问题。

内容摘要

1章介绍Linux操作系统核心;2章介绍不同形式I/O的操作接口;3章介绍进程的相关属性与进程的创建;4章介绍多线程编程及相关的同步互斥机制;5章介绍三种进程通信机制;6章介绍System V分支的三种进程间通信机制;7-10章介绍进程通信的重要知识,套接字的编程,从开始的网络编程基础,以及协议分析到最后高级网络编程;11章介绍SQlite数据库的简单应用;12章使用一个实际的项目案例。

目录

第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

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

1.千锋教育采用全程面授高品质、高成本培养模式,教学大纲紧跟企业需求,拥有全国一体化就业保障服务,成为学员信赖的IT职业教育品牌。 2.获得荣誉包括:中关村移动互联网产业联盟副理事长单位、中国软件协会教育培训委员会认证一级培训机构、中关村国际孵化软件协会授权中关村移动互联网学院、教育部教育管理信息中心指定移动互联网实训基地等。

推荐用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部