
底层原理
文章平均质量分 95
讲解与C C++ 计算机网络 组成原理 Linux 相关的底层原理
指针从不空
比特猫
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux 进程间通信方式
管道:速度慢,容量有限,只有父子进程能通讯FIFO:任何进程间都能通讯,但速度慢消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题信号量:不能传递复杂消息,只能用来同步共享内存区:能够很容易控制容量,速度快,但要保持同步,比如一个进程在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全,当然,共享内存区同样可以用作线程间通讯,不过没这个必要,线程间本来就已经共享了同一进程内的一块内存。原创 2024-08-03 20:00:00 · 883 阅读 · 0 评论 -
TCP连接中的过程状态解析
TCP是一个面向连接的协议,所以在连接双方发送数据之前,都需要首先建立一条连接。当Client端调用socket函数调用时,相当于Client端产生了一个处于Closed状态的套接字。Client端又调用connect函数调用,系统为Client随机分配一个端口,连同传入connect中的参数(Server的IP和端口),这就形成了一个连接四元组,客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。原创 2024-07-28 20:00:00 · 1076 阅读 · 0 评论 -
Linux内核 mmap内存映射的实现原理
在研究Linux内核以及Linux系统编程的时候,经常会碰到mmap内存映射,mmap函数是实现高性能编程的一个关键点。原创 2024-07-28 20:00:00 · 952 阅读 · 0 评论 -
深入理解 Linux Zero-copy 原理与实现策略图解
本文从I/O 缓冲区,用户态&内核态以及 I/O 模式等等知识点全面而又详尽地剖析了 Linux 系统的 I/O 底层原理,分析了 Linux 传统的 I/O 模式的弊端,进而引入 Linux Zero-copy 零拷贝技术的介绍和原理解析,通过将零拷贝技术和传统的 I/O 模式进行区分和对比,带领读者经历了 Linux I/O 的演化历史。原创 2024-07-21 20:10:58 · 1244 阅读 · 0 评论 -
Linux epoll 机制——原理图解与源码实现分析
epoll的实现机制是通过内核与用户空间共享一个事件表,这个事件表中存放着所有需要监控的文件描述符以及它们的状态,当文件描述符的状态发生变化时,内核会将这个事件通知给用户空间,用户空间再根据事件类型进行相应的处理。原创 2024-07-21 19:00:00 · 2638 阅读 · 0 评论 -
探索 io_uring:理解高效异步 IO 的工作原理与实现细节
io_uring 是一个 Linux 内核提供的高性能异步 I/O 框架,最初在 Linux 5.1 版本中引入。它的设计目标是解决传统的异步 I/O 模型(如 epoll 或者 POSIX AIO)在大规模 I/O 操作中效率不高的问题。关键特点和优势包括:零拷贝操作:io_uring 允许应用程序直接将数据从用户空间提交给内核,而无需在用户空间和内核空间之间进行额外的数据拷贝操作,从而减少了系统调用的开销。原创 2024-07-20 20:30:42 · 1711 阅读 · 0 评论 -
glibc malloc 内存分配优化策略解读
内存分配器ptmalloc,即glibc中的malloc,实现了 malloc(),free()以及一组其它的函数,以提供动态内存管理的支持。分配器处在用户程序和内核之间,它响应用户的分配请求,向操作系统申请内存,然后将其返回给用户程序。为了保持高效的分配,分配器一般都会预先分配一块大于用户请求的内存,并通过算法管理这块内存。来满足用户的内存分配要求,用户释放掉的内存也并不是立即就返回给操作系统,相反,分配器会管理这些被释放掉的空闲空间,以应对用户以后的内存分配要求。原创 2024-07-20 20:00:00 · 1589 阅读 · 0 评论 -
深入理解CPU缓存一致性
速度快的存储硬件成本高、容量小,速度慢的成本低、容量大。为了权衡成本和速度,计算机存储分了很多层次,有寄存器、L1 cache、L2 cache、L3 cache、主存(内存)和硬盘等。根据程序的空间局部性和时间局部性原理,缓存命中率可以达到 70~90%。因此,增加缓存可以让整个存储系统的性能接近寄存器,并且每字节的成本都接近内存,所以缓存是存储体系结构的灵魂。原创 2024-05-25 18:05:36 · 1255 阅读 · 0 评论