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Ê÷ÊÇÒ»ÖֱȽÏÊʺÏÓÃÓÚ
´æ´¢Ï¡ÊèµÄÊý¾Ý¼¯¶øÇÒ½«ÓÃÒ»¸ö´óÕûÊý½øÐвåÈ룬ɾ³ý£¬²éÕҵIJÙ×÷»ù´¡¡£¶øhash±í
²¢²»ÊÇÒÔijÖÖÅÅÐò˳Ðò½øÐд洢£¬¶øÇÒ±ØÐëÖ¸¶¨´óСºÍhashº¯Êý¡£
RBÊ÷ÓëAVLÊ÷ºÜÏàËÆ£¬µ«ÊDZÈ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Ê÷ʵÏÖÓ봫ͳµÄʵÏÖ·½
Ïà¹ØÎĵµ£º
ÐéÄ⻯¼¼ÊõµÄ·½·¨, ¼Ü¹¹ºÍʵÏÖ¸ÅÀÀ
¼¶±ð: Öм¶
M. Tim Jones [mtj@mtjones.com], ¹ËÎʹ¤³Ìʦ, Emulex
ÔÎÄ: Virtual Linux
Òë: ÕÔçæ cn.zhaoke.com
http://blog.zhaoke.com/45.html
2006Äê12ÔÂ29ÈÕ
ÐéÄ⻯¼¼ÊõµÄÓ¦ÓÃÊ®·Ö¹ã·º. µ±Ç°ÐéÄ⻯¼¼ÊõÖ÷Òª¹Ø×¢ÓÚ·þÎñÆ÷µÄÐéÄ⻯, »òÔÚµ¥¸öÖ÷»úÉϼĴæ¶à¸ö¶ÀÁ¢µÄ²Ù×÷ϵͳ. ±¾Î ......
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 ......
»·¾³½éÉÜ£º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 ......
´ÓUbuntu 8.04µ½9.10£¬ÎÒµÄAcer Aspire 4920±¾×ÓµÄýÌå´¥Ãþ¿ØÖƼüʼÖÕ²»ÄÜÕý³£¹¤×÷¡£×î½üÕÒµ½ÁË´ËÎÊÌâµÄ½â¾ö·½·¨£¬¹©Ê¹ÓÃLinux²Ù×÷ϵͳ¼°ÓµÓÐAcer±Ê¼Ç±¾µÄÓû§²Î¿¼¡£ ÔÚUbuntu 9.10Ï£¬ÎÒµÄýÌå¿ØÖÆ¼ü±»Ê¶±ðΪÁíÒ»¿éSynaptics´¥Ãþ°å£¬²¢ÇÒËĸö¼ü·Ö±ð±»Ê¶±ðΪÉÏ¡¢Ï¡¢×ó¡¢ÓÒ·Ò³¼ü£¬µ¼ÖÂÎÞ·¨Õý³£¹¤×÷¡£ÐèҪͨ¹ýÐ޸İ´¼üÓ³Éä ......
0
Java WebÓ¦ÓÃÔÚARM Linuxƽ̨ÉϵÄʵÏÖ
Posted in ˶²©ÂÛÎÄ at ʮһÔ 12th, 2009 / No Comments »
Íõ࣬ÖÜÀ¼½£¬ÁõÀñ¶«£¬½âÔÆÏö
(À¥Ã÷Àí¹¤´óѧÐÅÏ¢¹¤³ÌÓë×Ô¶¯»¯Ñ§Ôº£¬ÔÆÄÏÀ¥Ã÷650051)
1ÒýÑÔ
Ëæ×ÅÍøÂçÐÅÏ¢¼¼ÊõµÄ·ÉËÙ·¢Õ¹£¬Web¼¼ÊõÔ½À´Ô½¶àµÄÓÃÔÚ¿ØÖÆÁìÓò£¬¿Í»§¶ËÖ»ÐèÁ¬½ÓÒÔÌ«Íø£¬È¡µÃ·ÃÎÊȨÏÞ£¬¾Í¿ÉÒÔ·Ã ......