图书介绍

Linux高性能服务器编程货PDF|Epub|txt|kindle电子书版本网盘下载

Linux高性能服务器编程货
  • 游双著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111425199
  • 出版时间:2013
  • 标注页数:346页
  • 文件大小:80MB
  • 文件页数:364页
  • 主题词:Linux操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Linux高性能服务器编程货PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 TCP/IP协议详解2

第1章 TCP/IP协议族2

1.1 TCP/IP协议族体系结构以及主要协议2

1.1.1 数据链路层2

1.1.2 网络层3

1.1.3 传输层4

1.1.4 应用层5

1.2 封装6

1.3 分用7

1.4 测试网络8

1.5 ARP协议工作原理9

1.5.1 以太网ARP请求应答报文详解9

1.5.2 ARP高速缓存的查看和修改10

1.5.3 使用tcpdump观察ARP通信过程10

1.6 DNS工作原理12

1.6.1 DNS查询和应答报文详解12

1.6.2 Linux下访问DNS服务14

1.6.3 使用tcpdump观察DNS通信过程15

1.7 socket和TCPIP协议族的关系16

第2章 IP协议详解17

2.1 IP服务的特点17

2.2 IPv4头部结构18

2.2.1 IPv4头部结构18

2.2.2 使用tcpdump观察IPv4头部结构20

2.3 IP分片21

2.4 IP路由22

2.4.1 IP模块工作流程23

2.4.2 路由机制24

2.4.3 路由表更新25

2.5 IP转发25

2.6 重定向26

2.6.1 ICMP重定向报文26

2.6.2 主机重定向实例27

2.7 IPv6头部结构27

2.7.1 IPv6固定头部结构28

2.7.2 IPv6扩展头部29

第3章 TCP协议详解30

3.1 TCP服务的特点30

3.2 TCP头部结构32

3.2.1 TCP固定头部结构32

3.2.2 TCP头部选项33

3.2.3 使用tcpdump观察TCP头部信息35

3.3 TCP连接的建立和关闭37

3.3.1 使用tcpdump观察TCP连接的建立和关闭37

3.3.2 半关闭状态39

3.3.3 连接超时39

3.4 TCP状态转移40

3.4.1 TCP状态转移总图41

3.4.2 TIME WAIT状态43

3.5 复位报文段44

3.5.1 访问不存在的端口44

3.5.2 异常终止连接45

3.5.3 处理半打开连接45

3.6 TCP交互数据流46

3.7 TCP成块数据流48

3.8 带外数据50

3.9 TCP超时重传51

3.10 拥塞控制53

3.10.1 拥塞控制概述53

3.10.2 慢启动和拥塞避免54

3.10.3 快速重传和快速恢复55

第4章 TCP/IP通信案例:访问Internet上的Web服务器57

4.1 实例总图57

4.2 部署代理服务器58

4.2.1 HTTP代理服务器的工作原理58

4.2.2 部署squid代理服务器59

4.3 使用tcpcump抓取传输数据包60

4.4 访问DNS服务器62

4.5 本地名称查询63

4.6 HTTP通信64

4.6.1 HTTP请求65

4.6.2 HTTP应答66

4.7 实例总结68

第二篇 深入解析高性能服务器编程70

第5章 Linux网络编程基础API70

5.1 socket地址API70

5.1.1 主机字节序和网络字节序70

5.1.2 通用socket地址71

5.1.3 专用socket地址72

5.1.4 IP地址转换函数73

5.2 创建socket74

5.3 命名socket75

5.4 监听socket76

5.5 接受连接78

5.6 发起连接80

5.7 关闭连接80

5.8 数据读写81

5.8.1 TCP数据读写81

5.8.2 UDP数据读写85

5.8.3 通用数据读写函数86

5.9 带外标记87

5.10 地址信息函数87

5.11 socket选项87

5.11.1 SO REUSEADDR选项89

5.11.2 SO_RCVBUF和SO_SNDBUF选项89

5.11.3 SO_RCVLOWAT和SO SNDLOWAT选项93

5.11.4 SO LINGER选项93

5.12 网络信息API94

5.12.1 gethostbyname和gethostbyaddr94

5.12.2 getservbyname和getservbyport95

5.12.3 getaddrinfo96

5.12.4 getnameinfo98

第6章 高级I/O函数100

6.1 pipe函数100

6.2 dup函数和dup2数101

6.3 readv函数和writev函数103

6.4 sendfile函数106

6.5 mmap函数和munmap函数107

6.6 splice函数108

6.7 tee函数110

6.8 fcntl函数112

第7章 Linux服务器程序规范114

7.1 日志114

7.1.1 Linux系统日志114

7.1.2 syslog函数115

7.2 用户信息116

7.2.1 UID、EUID、GID和EGID116

7.2.2 切换用户117

7.3 进程间关系118

7.3.1 进程组118

7.3.2 会话118

7.3.3 用ps命令查看进程关系119

7.4 系统资源限制119

7.5 改变工作目录和根目录120

7.6 服务器程序后台化121

第8章 高性能服务器程序框架123

8.1 服务器模型123

8.1.1 CS模型123

8.1.2 P2P模型124

8.2 服务器编程框架125

8.3 IO模型126

8.4 两种高效的事件处理模式127

8.4.1 Reactor模式128

8.4.2 Proactor模式128

8.4.3 模拟Proactor模式129

8.5 两种高效的并发模式130

8.5.1 半同步半异步模式131

8.5.2 领导者追随者模式134

8.6 有限状态机136

8.7 提高服务器性能的其他建议144

8.7.1 池144

8.7.2 数据复制145

8.7.3 上下文切换和锁145

第9章 I/O复用146

9.1 select系统调用146

9.1.1 selectAPI146

9.1.2 文件描述符就绪条件148

9.1.3 处理带外数据148

9.2 poll系统调用150

9.3 epoll系列系统调用151

9.3.1 内核事件表151

9.3.2 epoll wait函数152

9.3.3 LT和ET模式153

9.3.4 EPOLLONESHOT事件157

9.4 三组IO复用函数的比较161

9.5 IO复用的高级应用一:非阻塞connect162

9.6 IO复用的高级应用二:聊天室程序165

9.6.1 客户端165

9.6.2 服务器167

9.7 IO复用的高级应用三:同时处理TCP和UDP服务171

9.8 超级服务xinetd175

9.8.1 xinetd配置文件175

9.8.2 xinetd工作流程176

第10章 信号178

10.1 Linux信号概述178

10.1.1 发送信号178

10.1.2 信号处理方式179

10.1.3 Linux信号179

10.1.4 中断系统调用181

10.2 信号函数181

10.2.1 signal系统调用181

10.2.2 sigaction系统调用181

10.3 信号集182

10.3.1 信号集函数182

10.3.2 进程信号掩码183

10.3.3 被挂起的信号183

10.4 统一事件源184

10.5 网络编程相关信号188

10.5.1 SIGHUP188

10.5.2 SIGPIPE189

10.5.3 SIGU RG190

第11章 定时器193

11.1 socket选项SO RCVTIMEO和SO SNDTIMEO193

11.2 SIGALRM信号195

11.2.1 基于升序链表的定时器195

11.2.2 处理非活动连接200

11.3 IO复用系统调用的超时参数205

11.4 高性能定时器206

11.4.1 时间轮206

11.4.2 时间堆211

第12章 高性能I/O框架库Libevent218

12.1 IO框架库概述218

12.2 Libevent源码分析220

12.2.1 一个实例220

12.2.2 源代码组织结构222

12.2.3 event结构体224

12.2.4 往注册事件队列中添加事件处理器226

12.2.5 往事件多路分发器中注册事件230

12.2.6 eventop结构体233

12.2.7 event base结构体235

12.2.8 事件循环236

第13章 多进程编程239

13.1 fork系统调用239

13.2 exec系列系统调用240

13.3 处理僵尸进程240

13.4 管道241

13.5 信号量243

13.5.1 信号量原语243

13.5.2 semget系统调用244

13.5.3 semop系统调用245

13.5.4 semctl系统调用247

13.5.5 特殊键值IPC PRIVATE249

13.6 共享内存251

13.6.1 shmget系统调用251

13.6.2 shmat和shmdt系统调用252

13.6.3 shmctl系统调用253

13.6.4 共享内存的POSIX方法254

13.6.5 共享内存实例254

13.7 消息队列263

13.7.1 msgget系统调用263

13.7.2 msgsnd系统调用264

13.7.3 msgrcv系统调用264

13.7.4 msgctl系统调用265

13.8 IPC命令266

13.9 在进程间传递文件描述符267

第14章 多线程编程269

14.1 Linux线程概述269

14.1.1 线程模型269

14.1.2 Linux线程库270

14.2 创建线程和结束线程271

14.3 线程属性273

14.4 POSIX信号量275

14.5 互斥锁276

14.5.1 互斥锁基础API276

14.5.2 互斥锁属性277

14.5.3 死锁举例278

14.6 条件变量279

14.7 线程同步机制包装类280

14.8 多线程环境282

14.8.1 可重入函数282

14.8.2 线程和进程283

14.8.3 线程和信号284

第15章 进程池和线程池287

15.1 进程池和线程池概述287

15.2 处理多客户288

15.3 半同步半异步进程池实现289

15.4 用进程池实现的简单CGI服务器298

1 5.5 半同步半反应堆线程池实现301

15.6 用线程池实现的简单Web服务器304

15.6.1 http_conn类304

15.6.2 main函数318

第三篇 高性能服务器优化与监测324

第16章 服务器调制、调试和测试324

16.1 最大文件描述符数324

16.2 调整内核参数325

16.2.1 procsysfs目录下的部分文件325

16.2.2 procsysnet目录下的部分文件325

16.3 gdb调试326

16.3.1 用gdb调试多进程程序326

16.3.2 用gdb调试多线程程序328

16.4 压力测试329

第17章 系统监测工具333

17.1 tcpdump333

17.2 lsof334

17.3 nc336

17.4 strace338

17.5 netstat341

17.6 vmstat342

17.7 ifstat344

17.8 mpstat344

参考文献346

热门推荐