易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux内核文档之rbtree.txt

Red-black Trees (rbtree) in Linux
January 18, 2007
Rob Landley <rob@landley.net>
=============================
red-black树是什么样的树,为什么需要red-black树?
------------------------------------------------
    red-black tree(RB树)是一种平衡二叉树,它主要用于存储或者说索引可排序的键
    值对数据。RB树(红黑树)与radix树和hash表都不同。radix树是一种比较适合用于
    存储稀疏的数据集而且将用一个大整数进行插入,删除,查找的操作基础。而hash表
    并不是以某种排序顺序进行存储,而且必须指定大小和hash函数。
    
    RB树与AVL树很相似,但是比AVL树有更好的插入和删除最坏情况的时间复杂度,以及
    O(log n)的最坏查找时间复杂度。
    
    引用:
    在Linux中有很多地方用到了RD树。anticipatory, deadline, 和CFQ I/O调度都使用
    的是RB树进行请求跟踪,还有CD/DVD驱动的包管理也是如此。
    高精度计时器(high-resolution timer)使用RB树组织定时请求。
    EXT3文件系统也使用RB树来管理目录。
    虚拟存储管理系统也是有RB树进行VMAs(Virtual Memory Areas)的管理。
    当然还有文件描述符,密码钥匙,“等级令牌桶”调度的网络数据包都是用RB数据进
    行组织和管理的。
    
    相关资料:
    Linux Weekly News article on red-black trees
    http://lwn.net/Articles/184495/
    Wikipedia entry on red-black trees
    http://en.wikipedia.org/wiki/Red-black_tree
    
    可见RB树(红黑树)在Linux内核中的重要性。
    
Linux内核的RB树实现
---------------------------------------
    在Linux内核源代码中rb树的实现在lib/rbtree.c文件中,可以通过
    #include "linux/rbtree.h"进行使用。
    
    在Linux内核中的RB树实现与传统的实现方


相关文档:

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

Linux中JDK1.6的安装和配置方法


一、安装
创建安装目录,在/usr/local/java下建立安装路径,并将文件考到该路径下: 
# mkdir /usr/local/java
1、jdk-6u11-linux-i586.bin
这个是自解压的文件,在linux上安装如下: 
# chmod 755 jdk-6u11-linux-i586.bin 
# ./jdk-6u11-linux-i586.bin
在按提示输入yes后,jdk被解压。
......

函数指针&回调函数&linux中的signal函数


1.
int (*func)();函数指针,指向的函数为空参数,返回整型;
2.
回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给被调用者从而实现调用。
回调函数是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函 ......

如何查看linux版本


1. 查看内核版本命令: 
  1) [root@q1test01 ~]# cat /proc/version 
   Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005 
  2) [root@q1test01 ~]# uname -a 
  Linux q1test0 ......

Linux内核错误 修复

环境介绍:Centos5.2+2.6.18-8.el5内核,编译器是GCC4.1.2。
要编译的内核2.6.18-8.el3
仅仅修改了部分内核的配置信息,没有大的变化。
然后:make ;make modules;make modules_install;
编译没有出问题,生成了内核,mkinitrd生成了initrd,加到lilo.conf中,重启选择新内核,出现一下问题:
hub 3-0:1.0: USB hub fo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号