随笔分类 -  数据结构

ida/idr-1—文档翻译
摘要:一、msm-5.4/Documentation/core-api/idr.rst 翻译 概述 要解决的一个常见问题是分配标识符 (ID); 通常用很小的数字来标识一个事物。 示例包括文件描述符、进程 ID、网络协议中的数据包标识符、SCSI 标签和设备实例号。 IDR 和 IDA 为该问题提供了合理 阅读全文

posted @ 2023-10-23 15:06 Hello-World3 阅读(95) 评论(0) 推荐(0) 编辑

内核Hash表hlist
摘要:一、Hash表简介 1. 哈希表(Hash table)又叫散列表,是根据(Key, Value) 键值对进行访问的数据结构。主要目的是提高查询效率,比如Hash表的order为5,也就是同时使用2^5个链表,理论上查询速度可以比链表快2^5倍,典型的以空间换时间。 2. 主要实现在 include 阅读全文

posted @ 2022-09-01 23:28 Hello-World3 阅读(1562) 评论(0) 推荐(0) 编辑

Linux内核—llist
摘要:基于 Linux-5.10.81 一、llist概述 部分使用场景无需锁保护的以NULL结尾的单链表。实现文件为 lib/llist.c 和 include/linux/llist.h,后者包含导出的函数和便利宏。 (1) 不需要加锁的情况:如果有多个生产者和多个消费者,则可以在生产者中使用 lli 阅读全文

posted @ 2022-06-27 16:44 Hello-World3 阅读(558) 评论(0) 推荐(0) 编辑

plist移植学习笔记
摘要:基于Linux-5.10 一、说明 plist主要在Linux内核的Qos子系统中使用。将 plist_node::prio作为优先级,数值小的挂在链表前面,数值大的挂在链表后面。plist里面虽然包含双重循环链表,但是还是按单重循环的形式使用,plist认为其上的基本元素还是plist_node结 阅读全文

posted @ 2022-01-01 21:58 Hello-World3 阅读(379) 评论(0) 推荐(0) 编辑

使用二级指针辅助遍历的单链表
摘要:1. 代码 #include <stdio.h> #include <stddef.h> struct notifier_block { struct notifier_block *next; int priority; }; struct notifier_block *head = NULL; 阅读全文

posted @ 2021-12-13 13:07 Hello-World3 阅读(65) 评论(0) 推荐(0) 编辑

数据结构——TODO
摘要:llist --done hlist --应该就是单链表吧 plist --done xarray ida idr rculist rculist.h 阅读全文

posted @ 2021-12-13 12:44 Hello-World3 阅读(73) 评论(0) 推荐(0) 编辑

Linux内核红黑树1—Documentation/rbtree.txt翻译
摘要:1. 什么是红黑树,它们有什么用? 红黑树是一种自平衡二叉搜索树,用于存储可排序的 键/值 数据对。 这不同于 基数树(用于有效地存储稀疏数组,因此使用长整数索引来插入/访问/删除节点)和哈希表(不保持排序以便于按顺序遍历,并且必须针对 特定大小和哈希函数,其中 rbtrees 可以优雅地扩展存储任 阅读全文

posted @ 2021-10-02 20:35 Hello-World3 阅读(522) 评论(0) 推荐(0) 编辑

Linux内核红黑树2—移植笔记
摘要:一、学习笔记 1. rbtree 简介 rbtree,全称是 Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。 红黑树的特性:(1) 每个节点或者是黑色,或者是红色。(2) 根节点是黑色。(3) 阅读全文

posted @ 2021-10-02 20:19 Hello-World3 阅读(843) 评论(2) 推荐(0) 编辑

Linux内核链表(双向list)移植笔记
摘要:一、移植 1. 上层使用移植时最好移植tools/list.h,因为没有那么READ_ONCE/WRITE_ONCE. 2. 移植include/linux/lish.h后的list.h /* 总结: 1. 一个entry同一时间只能添加到一个链表上,若在一个链表上,又添加到另一个链表上,有可能造成 阅读全文

posted @ 2021-06-14 19:14 Hello-World3 阅读(627) 评论(0) 推荐(0) 编辑

导航