1.7k 字

中断下半部-workqueue

工作队列(work queue)是中断下半部的一种实现机制,主要用于耗时任务处理,由内核线程代表进程执行。工作队列运行于进程上下文,因此允许阻塞。 运行工作队列的内核线程,称为工作者线程(wor...

kernelkernel
 1.1k 字

中断下半部-tasklet

tasklet 是中断下半部的一种实现机制,主要用于小任务处理,耗时较短、不能阻塞的任务,用tasklet处理较合适。对于耗时较长,可以用work queue(工作队列)来处理。 tasklet...

kernelkernel
 2.1k 字

内核内存申请函数

一、kmalloc12#include <linux/slab.h>static inline void *kmalloc(size_t size, gfp_t flags); ...

kernelkernel
 7.3k 字

红黑树

一、 红黑树的原理红黑树RB Tree是二叉树的一种,作为一种自平衡二叉树(一些情况下不是完全平衡的),它在最坏的情况下查询复杂度为O(logN)𝑂(𝑙𝑜𝑔𝑁)。与AVL树类似,尽管R...

kernelkernel
 992 字

内核队列

一、kfifo原理 kfifo实现原理是采用循环(环形)队列。 1234567struct kfifo{ unsigned char *buffer; / *保存数据的缓冲区...

kernelkernel
 3.1k 字

内核链表

在Linux内核中使用了大量的链表结构来组织数据,包括设备列表以及各种功能模块中的数据组织。这些链表大多采用在include/linux/list.h实现的一个相当精彩的链表...

kernelkernel
 2.3k 字

offset_of和container_of宏

一、container_of 宏介绍到这里假设大家都懂了 typeof 和 语句表达式,那么我们就开始一睹 Linux 内核第一宏 container_of 的芳容吧: 1234#define ...

kernelkernel
12

描述文字
© 2024 mengchao666 开心地使用 Stellar 主题,星际地球第
收集了 62 颗星星 ✧ 共 83.3k 粒星尘,好像写完一本 鲁迅 的《呐喊》了啊