Liekkas
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
13. 多进程编程

13. 多进程编程

第13章 多进程编程 进程是Linux操作系统环境的基础,它控制着系统上几乎所有的活动。本章从系统程序员的角度来讨论Linux多进程编程,包括如下内容: ❑复制进程映像的fork系统调用和替换进程映像的exec系列系统调用。 ❑僵尸进程以及如何避免僵尸进程。 ❑进程间通信(Inter-Process Communication,IPC)最简单的方式:管道。 ❑3种System V进程
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
12. 高性能I/O框架库Libevent

12. 高性能I/O框架库Libevent

第12章 高性能I/O框架库Libevent 前面三章的篇幅较为细致地讨论了Linux服务器程序必须处理的三类事件:I/O事件、信号和定时事件。在处理这三类事件时我们通常需要考虑如下三个问题: ❑统一事件源。很明显,统一处理这三类事件既能使代码简单易懂,又能避免一些潜在的逻辑错误。前面我们已经讨论了实现统一事件源的一般方法——利用I/O复用系统调用来管理所有事件。 ❑可移植性。不同的操作系
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
11. 定时器

11. 定时器

第11章 定时器 网络程序需要处理的第三类事件是定时事件。服务器程序通常管理着众多定时事件,因此有效地组织这些定时事件,使之能在预期的时间点被触发且不影响服务器的主要逻辑,对于服务器的性能有着至关重要的影响。 为此,我们要将每个定时事件分别封装成定时器,并使用某种容器类数据结构,比如链表、排序链表和时间轮,将所有定时器串联起来,以实现对定时事件的统一管理。 本章讨论的就是两种高效的管理定时器
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
10. 信号

10. 信号

第10章 信号 信号是由用户、系统或者进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。Linux信号可由如下条件产生: 对于前台进程,用户可以通过输入特殊的终端字符来给它发送信号。比如输入Ctrl+C通常会给进程发送一个中断信号。 系统异常。比如浮点异常和非法内存段访问。 系统状态变化。比如alarm定时器到期将引起SIGALRM信号。 运行kill命令或调用kil
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
9. I/O复用

9. I/O复用

第9章 I/O复用 I/O复用使得程序能同时监听多个文件描述符。网络程序在下列情况下需要使用I/O复用技术: ❑ 客户端程序要同时处理多个socket。比如本章将要讨论的非阻塞connect技术。 ❑ 客户端程序要同时处理用户输入和网络连接。比如本章将要讨论的聊天室程序。 ❑ TCP服务器要同时处理监听socket和连接socket。这是I/O复用使用最多的场合。 ❑ 服务器要同
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
8. 高性能服务器程序框架

8. 高性能服务器程序框架

第8章 高性能服务器程序框架 1. 服务器模型 1.1 C/S模型 TCP/IP协议在设计和实现上并没有客户端和服务器的概念,在通信过程中所有机器都是对等的。 但由于资源(视频、新闻、软件等)都被数据提供者所垄断,所以几乎所有的网络应用程序都很自然地采用了图8-1所示的C/S(客户端/服务器)模型: 所有客户端都通过访问服务器来获取所需的资源。 C/S模型的逻辑:
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
7. Linux服务器程序规范

7. Linux服务器程序规范

第7章 Linux服务器程序规范 Linux服务器程序一般以后台进程形式运行。后台进程又称守护进程(daemon)。它没有控制终端,因而也不会意外接收到用户输入。守护进程的父进程通常是init进程(PID为1的进程)。 Linux服务器程序通常有一套日志系统,它至少能输出日志到文件,有的高级服务器还能输出日志到专门的UDP服务器。大部分后台进程都在/var/log目录下拥有自己的日志目录。
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
6. 高级I/O函数

6. 高级I/O函数

第6章 高级I/O函数 本章将讨论其中和网络编程相关的几个,这些函数大致分为三类: 用于创建文件描述符的函数,包括pipe、dup/dup2函数。 用于读写数据的函数,包括readv/writev、sendfile、mmap/munmap、splice和tee函数。 用于控制I/O行为和属性的函数,包括fcntl函数。 1. pipe函数 pipe函数可用于创建一个管道,以实现
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
5. Linux网络编程基础API

5. Linux网络编程基础API

第5章 Linux网络编程基础API 1. socket地址API 1.1 主机字节序和网络字节序 字节序分为大端字节序(big endian)和小端字节序(little endian)。 大端字节序是指一个整数的高位字节(23~31 bit)存储在内存的低地址处,低位字节(0~7 bit)存储在内存的高地址处。 小端字节序则是指整数的高位字节存储在内存的高地址处,而低位字节则存
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
4. TCP/IP通信案例:访问Internet上的Web服务器

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

第4章 TCP/IP通信案例:访问Internet上的Web服务器 1. 实例总图 我们按照如下方法来部署通信实例:在Kongming20上运行wget客户端程序,在ernest-laptop上运行squid代理服务器程序。客户端通过代理服务器的中转,获取Internet上的主机www.baidu.com的首页文档index.html,如图4-1所示。 由图4-1可见,wget客户端程
2024-12-16
c++ > Linux高性能服务器-游双
#网络编程
1…910111213…37

搜索

Hexo Fluid