1、前言 最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便。只需要 ...
目录 . 进程相关数据结构 x : CURRENT宏 我们知道,在windows中使用PCB 进程控制块 来对进程的运行状态进行描述,对应的,在linux中使用task struct结构体存储相关的进程信息 task struct在linux sched.h文件里定义 在使用current宏的时候一定要引入这个头文件 值得注意的是,在linux内核编程中常用的current宏可以非常简单地获取到指 ...
2014-08-02 11:19 2 7014 推荐指数:
1、前言 最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便。只需要 ...
1、前言 最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便 ...
1、前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理 ...
参考自:https://blog.csdn.net/zhanglei4214/article/details/6767288 一、hlist结构简介 hlist_head 和 hlist_node 是位于linux内核中的数据结构,其设计初衷主要是为了减少Hash表的内存消耗 ...
本文分析的原代码版本: 2.6.24.4 kfifo的定义文件: kernel/kfifo.c kfifo的头文件: include/linux/kfifo.h kfifo是内核里面的一个First In First Out数据结构,它采用环形循环队列的数据结构来实现,提供 ...
图的定义 定义:图是由两个集合V和E组成的,记为\(G=(V,E)\),其中V是顶点的有穷非空集合,E是V中顶点偶对的有穷集合,这些顶点偶对称为边。\(V(G)\)和\(E(G)\)通常表示图G的顶 ...
首先数据结构分为逻辑结构和物理结构,那么下面我们就来分别总结逻辑结构与物理结构 首先是逻辑结构,逻辑结构实际上是数据之间的一种相互关系,那么逻辑结构分为几种呢? 逻辑结构{1.集合结构:集合结构中的数据元素除了同在一个集合外没有其他任何关系,也就是很像数学中的集合 ...
基本概念 查找表:查找表是由同一类型的数据元素(或记录)构成的集合。 关键字:关键字是数据元素(或记录)中某个数据项的值,用它可以标识一个数据元素(或记录) 若此关键字可以唯一地标识一个记录 则称此关键字为主关键字 反之用以识别若干记录关键字为次关键字。 查找:查找 ...