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树实现与传统的实现方
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
LINUX下图形界面切换到文本模式
http://blog.chinaunix.net/u/3995/showart_115072.html
1.开机进入文本模式
如果想让开机自动进纯文本模式,
修改/etc/inittab
找到其中的
id:5:initdefault:
这行指示启动时的运行级是5,也就是图形模式
改成3就是文本模式了
id:3:initdefault:
这是因为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 ......
转自: http://www.diybl.com/course/6_system/linux/Linuxxl/20081124/152557.html
好好学习,天天向上
引言
线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期, solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样 ......