原文:《Linux内核设计与实现》读书笔记(六)- 内核数据结构

内核数据结构贯穿于整个内核代码中,这里介绍 个基本的内核数据结构。 利用这 个基本的数据结构,可以在编写内核代码时节约大量时间。 主要内容: 链表 队列 映射 红黑树 . 链表 链表是linux内核中最简单,同时也是应用最广泛的数据结构。 内核中定义的是双向链表。 . 头文件简介 内核中关于链表定义的代码位于: include linux list.h list.h文件中对每个函数都有注释,这里就 ...

2013-04-16 13:21 10 17910 推荐指数:

查看详情

linux内核数据结构之链表

1、前言    最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便。只需要 ...

Mon Dec 16 04:14:00 CST 2013 9 18933
linux内核数据结构之链表

1、前言    最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便 ...

Sun Feb 25 19:28:00 CST 2018 0 1549
linux内核数据结构之kfifo

1、前言   最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理 ...

Thu Dec 19 09:24:00 CST 2013 5 29596
Linux内核设计实现读书笔记(二)- 内核开发的准备

在尝试内核开发之前,需要对内核有个整体的了解。 主要内容: 获取内核源码 内核源码的结构 编译内核的方法 内核开发的特点 1. 获取内核源码 内核是开源的,所有获取源码特别方便,参照以下的网址,可以通过git或者直接下载压缩好的源码包。 http ...

Thu Aug 16 18:20:00 CST 2012 0 9491
Linux内核设计实现读书笔记(十八)- 内核调试

内核调试的难点在于它不能像用户态程序调试那样打断点,随时暂停查看各个变量的状态。 也不能像用户态程序那样崩溃后迅速的重启,恢复初始状态。 用户态程序和内核交互,用户态程序的各种状态,错误等可以由内核来捕获并显示。 而内核是直接和硬件交互的,内核出错之后整个系统就无法正常运行了,所以要想 ...

Sat Jan 04 17:03:00 CST 2014 2 5409
Linux内核设计实现读书笔记(九)- 内核同步介绍

存在共享资源(共享一个文件,一块内存等等)的时候,为了防止并发访问时共享资源的数据不一致,引入了同步机制。 主要内容: 同步的概念 同步的方法-加锁 死锁 锁的粒度 1. 同步的概念 了解同步之前,先了解另外2个概念: 临界区 - 也称为临界段 ...

Thu Apr 25 01:56:00 CST 2013 5 3891
Linux内核数据结构hlist_head

参考自:https://blog.csdn.net/zhanglei4214/article/details/6767288 一、hlist结构简介 hlist_head 和 hlist_node 是位于linux内核中的数据结构,其设计初衷主要是为了减少Hash表的内存消耗 ...

Sat Aug 11 03:35:00 CST 2018 0 1014
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM