首页
学习
活动
专区
圈层
工具
发布

#内核

【Linux 解析libevent下的bufferevent监听事件sample-helloworld.c】及改写read使能

用户12006525

3510

【LInux内核中IO多路复用 背景+原理+直白总结+优缺点】Select篇

用户12006525

select会将应用层文件描述符集以位图形式拷贝到内核,内核处理完后会将改变的文件描述符集返回给应用层。

6910

【LInux内核中IO多路复用 - reactor反应堆 - 基于epoll】一句话总结反应堆

用户12006525

epoll反应堆是Linux内核提供的一种高效的I/O多路复用机制,特别适用于处理大批量文件描述符的场景。其核心思想是通过一种封装的方式,自动处理当某个事件发生...

4110

【LInux内核中IO多路复用 背景+原理+直白总结+优缺点】Poll篇

用户12006525

内核通过轮询的方式检查每个文件描述符是否满足请求的事件条件。如果某个文件描述符的事件已经发生,内核会在该pollfd结构体的revents成员中设置相应的标志位...

4610

【udev用户空间设备管理】udev规则文件

用户12001910

udev 运行在用户空间,它可以根据系统内核发出的 uevent 事件来动态管理 /dev 目录下的设备节点。意味着当你插入一个 USB 设备、连接一个外部硬盘...

13510

【udev用户空间设备管理】udev的组成

用户12001910

udevd 是 udev 系统的心脏和大脑,它是一个常年运行在后台的守护进程(Daemon)。它的主要职责是“监听”和“调度”。

8510

【udev用户空间设备管理】udev与devfs的区别

用户12001910

devfs 是内核内置的虚拟文件系统,所有设备管理逻辑(创建设备文件、分配设备号)都在 kernel 里运行。就像老管家把 “管理手册” 刻在脑子里,想改个规则...

9310

【Linux文件系统】devfs

用户12001910

光说不练假把式,咱们来看看实际中怎么用 devfs 管理设备。以下操作基于 Linux 2.4/2.6 内核(devfs 的主要应用版本),如果你用的是新内核(...

7610

【Linux内核模块】使用模块绕开“GPL“

用户12001910

Linux 内核能成为全球最成功的开源项目之一,GPL 许可证功不可没 —— 它确保了内核的开放性和兼容性,让无数开发者能自由贡献代码。​

9410

【Linux内核模块】调试技巧

用户12001910

调试能力是区分内核开发者水平的关键指标。刚开始可能会觉得挫败,但每解决一个调试难题,你的内核开发水平就会上一个台阶。就像医生通过不断积累病例提高诊断能力,内核开...

8810

【Linux内核模块】模块的编译:从代码到可加载模块的 “变身术“

用户12001910

内核模块的编译虽然看起来复杂,但核心原理很简单:遵循内核的编译规则,使用内核提供的工具链,确保与内核版本匹配。

10310

【Linux内核模块】模块的使用计数

用户12001910

使用计数本质上是一个原子计数器(atomic_t类型),存放在模块结构体(struct module)中,内核通过操作这个计数器来控制模块的生命周期。

4810

【Linux内核模块】模块声明与描述

用户12001910

想象你去参加一个技术会议,门口的签到表会记录你的姓名、公司、职位 —— 这些信息帮助主办方识别你的身份。内核模块加载时也一样,内核需要知道:​

9010

【Linux内核模块】导出符号详解:模块间的“资源共享”机制

用户12001910

在内核中,模块 A 可以将自己的函数或变量 "导出",供模块 B 使用,这就是导出符号的核心思想。

10410

【Linux内核模块】模块卸载函数详解

用户12001910

模块卸载函数是当你执行rmmod命令时,内核自动调用的 "收尾函数"。它的核心任务就一个:清理加载函数申请的所有资源,把系统恢复到模块加载前的状态。

8910

【Linux内核模块】模块加载函数--从启动到运行的幕后推手

用户12001910

内核会把所有带__init标记的函数集中存放在一个叫.init.text的内存段里。当系统启动或模块加载完成后,内核会调用free_initmem()释放这部分...

10810

【Linux内核模块】Linux内核模块程序结构

用户12001910

和用户态程序一样,内核模块也需要头文件来获取函数声明和宏定义,但内核模块用的是内核自带的头文件,不是标准 C 库的。​

10010

【Linux内核模块】Linux内核模块简介

用户12001910

内核模块可以通过EXPORT_SYMBOL宏导出函数 / 变量,供其他模块使用:

11010

【Linux内核及内核编程】Linux下的C编程特点

用户12001910

争议与现实​:反对者认为 goto 会破坏代码结构,但内核开发者发现,在严格约束下,goto 比多层返回或嵌套更易读。Linux 内核编码规范明确允许 goto...

7410

【Linux内核及内核编程】Linux内核的组成

用户12001910

用户空间像普通居民区,内核空间像保护区。居民(用户程序)不能随便进入保护区,必须通过大门(系统调用),由保安(内核)检查许可后陪同进入(执行特权操作)。​

11010
领券