Linux 高性能服务器编程:I/O复用一

Linux 高性能服务器编程:I/O复用一 2

bingliaolong Linux 4年前 9 0

概述 I/O复用使得程序能同时监听多个文件描述符,这对提高程序的性能很重要。 通常,网络程序在下列情况下需要使用I/O复用技术: 客户端程序要同时处理多个socket。 客户端程序要同时处理用户输入和网络连接。 TCP服务器要同时处理监听socket和连接socket。 服务器要...

X86_64汇编学习记述四

X86_64汇编学习记述四

GNU 汇编器语法 示例 定义数据 nasm数据操作 GNU汇编器操作 使用直接操作数,要用$ 获取部分内存时,例如 64 寄存器的第一个字节 不在操作数中定义大小,而是在指令中定义 GNU汇编器操作后缀 b:1个字节操作数 w:2个字节操作数 l:4个字节操作数 q:8个字节操...

51CTO:Linux C++网络编程一

51CTO:Linux C++网络编程一

bingliaolong C++ Linux 2年前 9 0

linux操作系统启动过程 第一个进程 在传统的Unix和Linux系统中,init进程是系统启动后的第一个进程(PID为1) 它是系统的祖先进程,负责启动其他所有的进程 在许多现代Linux发行版中,systemd已经取代了传统的init系统 在这些系统中,systemd是第一...

gdb的操作使用

gdb的操作使用

bingliaolong Linux 5年前 8 0

gdb功能 启动我们的程序,按照我们自定义的要求随心所欲的运行程序 让被调试的程序在我们所指定的调置的断点位置处停住(断点可以是表达式) 当我们的程序被挺住时,我们可以检查此时程序中所发生的事情 动态的改变程序的执行环境 使用gdb 一般来说GDB主要调试的是C/C++的程序。要...

Linux 高性能服务器编程:高性能定时器

Linux 高性能服务器编程:高性能定时器 5

bingliaolong Linux 4年前 8 0

高性能定时器 时间论 基于排序链表的定时器存在一个问题:添加定时器的效率偏低 时间论解决了这个问题 上图所示时间论,(实线)指针指向轮子的一个槽(slot)。 它恒定的速度顺时针转动,每转动一步就指向下一个槽(虚线指向的槽),每次转动称为一个滴答(tick)。 一个滴答的时间称为...

51CTO:Linux C++网络编程二

51CTO:Linux C++网络编程二

bingliaolong C++ Linux 2年前 7 0

信号 概述 /usr/include/ 信号是进程间通信(IPC)的一种简单机制 信号提供了一种向进程传递通知和信息的方式,以便进程可以相应地做出反应 信号类型 SIGINT:当用户按下CTRL-C时,通常发送这个信号来中断进程 SIGTERM:用于正常终止进程,是kill命令的...

Linux 进程间的通信方式和原理

Linux 进程间的通信方式和原理

bingliaolong Linux 5年前 7 0

进程的概念 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。 进程通信的概念 进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统...

Linux 高性能服务器编程:TCP二

Linux 高性能服务器编程:TCP二

bingliaolong Linux 4年前 7 0

TCP的建立和关闭 复位报文段 在某些特殊的情况,TCP连接的一端会向另一端发送携带RST标志的报文段,即复位报文段,以通知对方关闭连接或重新建立连接。 收到复位报文段的一端应该关闭连接或重新连接,而不能回应这个复位报文段。 异常终止连接 TCP提供了异常终止一个连接的方法,即给...

Linux 高性能服务器编程:HTTP相关

Linux 高性能服务器编程:HTTP相关 3

bingliaolong Linux 4年前 7 0

TCP/IP通信案例 HTTP代理服务器的工作原理 在HTTP通信链上,客户端和目标服务器之间通常存在某些中转代理服务器,它们提供对目标资源的中转访问。 一个HTTP请求可能被多个代理服务器转发,后面的服务器称为前面服务器的上游服务器。 代理服务器按照其使用方式和作用,分为正向代...

Linux 高性能服务器编程:网络基础编程一

Linux 高性能服务器编程:网络基础编程一 5

bingliaolong Linux 4年前 7 0

socket地址API 字节序 现代CPU的累加器一次都能装载(至少)4个字节(32位机器),即一个整数。 这4个字节在内存中排列的顺序将影响它被累加器装载成的整数的值,这就是字节序问题。 字节序分为大端字节序和小端字节序。 大端字节序是指整数的高位字节存储在内存的低地址处,低位...

扫一扫二维码分享