Linux中有以下五种IO模型 一、同步阻塞IO(Blocking IO, BIO) 用户进程发起IO调用后就阻塞线程让出CPU,等待内核处理完毕返回结果再唤醒...
在Linux系统中,打开文件或者打开进程的流程大致如下: 应用程序调用系统调用函数来打开文件或者创建进程。例如,打开文件可以使用open(...
RabbitMQ比RocketMQ、Kafka较慢点一点重要原因就是 零拷贝 什么是零拷贝? 零拷贝指的是在进行IO的时候减少或避免让CPU拷贝数据(数据在IO缓冲...
文章目录 前言 一、Linux驱动介绍 1.用户态和内核态 2.内核功能介绍 3.驱动程序介绍 二、驱动程序分类与注意事项 1.驱动程序分类 2.内核驱动开发注...
在互联网中提起网络,我们都会避免不了讨论高并发、百万连接。而此处的百万连接的实现,脱离不了网络 IO 的选择,因此本文作为一篇个人学...
1. TCP/IP报文详解 TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下...
一次完整的 Binder IPC 通信过程通常是这样: 首先 Binder 驱动在内核空间创建一个数据接收缓存区; 接着在内核空间开辟一块内核缓存区,...
一 基本示例 #include <stdio.h> #include <sys/socket.h> // socket() #include <arpa/inet.h> // inet_addr() #include <netinet...
?返回专栏总目录 文章目录 一、IS_ERR函数用法 二、IS_ERR函数 三、内核错误码 沉淀、分享、成长,让自己和他人都能有所收获!? ?本篇将介绍 IS_ERR...