字符设备驱动是 Linux 驱动开发的基础,通过 fileoperations 结构体向用户态暴露读写接口。 一、驱动骨架 二、用户态与内核态数据交换 必须使用 copytouser / copyfromuser 而非直接解引用用户指针,否则可能引发内核崩溃或安全漏洞。开发时建议在虚拟机中测试,避免驱动缺陷导致宿主机宕
分类:Linux与网络
共 21 篇文章Linux 内核机制、TCP/IP 协议栈、epoll 网络编程与性能剖析
Nginx 提供多种上游负载均衡算法,配合健康检查可构建高可用反向代理层。 一、常用算法 roundrobin:默认轮询 leastconn:转发给连接数最少的后端 iphash:按客户端 IP 哈希,保持会话粘性 hash:按自定义键哈希,如 URL random:随机选择,可配合 two 参数 二、配置示例 max
TCP 重传与乱序是网络性能问题的高频根因,Wireshark 提供了直观的专家信息与流图分析能力。 一、关键过滤器 retransmission:超时重传,通常意味着丢包 fastretransmission:收到三个重复 ACK 触发,说明轻微丢包 outoforder:乱序到达,可能是多路径或负载均衡导致 zer
在 Linux 内核中,物理页框(Page Frame,通常为 4KB)的分配由 伙伴系统(Buddy System) 负责,而小于一页的内核对象(如 taskstruct、inode、dentry)则由 Slab/Slub 分配器 管理。 一、为什么需要伙伴系统 为了抑制外部内存碎片,伙伴系统将空闲物理页组织成 11
Linux 提供多种进程间通信(IPC)机制,不同方案在性能、同步复杂度与使用场景上差异显著。 一、主要 IPC 机制对比 | 机制 | 方向 | 性能 | 典型场景 | ||||| | 匿名管道 | 单向 | 中 | 父子进程简单通信 | | 命名管道(FIFO) | 单向 | 中 | 无亲缘关系进程 | | 共享内