LinuxÄں˴úÂë·ÖÎö slab.c by Áõ¿º
LinuxÄں˴úÂë·ÖÎö slab.c by Áõ¿º liukang@bjut.edu.cn
slab.cÀ´×ÔlinuxÄÚºË2.4.22°æ£¬±¾Îļþ°´ÕÕGNUÐÒé·¢²¼¡£
Ò»¡¢×¼±¸ÖªÊ¶£º
slabµÄ¸ÅÄ
Ìá³öµÄÔÒò£ºÓÉÓÚ²Ù×÷ϵͳÔÚÔËÐÐÖл᲻¶Ï²úÉú¡¢Ê¹Óá¢ÊÍ·Å´óÁ¿Öظ´µÄ¶ÔÏó£¬
ËùÒÔ¶ÔÕâÑùµÄÖØ¸´¶ÔÏóµÄÉú³É½øÐиĽø¿ÉÒÔ´ó´óÌá¸ßЧÂÊ
×îÔçÓÉsunµÄ¹¤³ÌʦÌá³ö(1994Äê)²¢Ê×ÏÈÔÚsunos5.4ÉÏÓ¦Óá£
slabËã·¨µÄ»ù±¾Ë¼Â·£º
·ÖÅ䣺
if(¶ÔÏà¶ÔÓ¦µÄ»º´æÇøÓпÕÏÐλÖÃ)
ʹÓÃÕâ¸öλÖ㬲»±ØÔÙ³õʼ»¯£»
else{
·ÖÅäÄڴ棻
³õʼ»¯¶ÔÏó£»
}
ÊÍ·Å£º
ÔÚ»º´æÖбê¼Ç¿ÕÏУ¬²»×öÎö¹¹£»
×ÊÔ´²»×㣺
ѰÕÒδʹÓõĶÔÏó¿Õ¼ä£»
°´ÕÕÒªÇó¶Ô²¿·Ö¶ÔÏó×öÎö¹¹£»
ÊͷŶÔÏóÕ¼ÓõĿռ䣻
»º´æÇø£ºÃ¿Ò»¸ö¶ÔÏó·ÅÔÚÒ»¸ö»º´æÇø
slab£ºÃ¿¸öslab¿é¶¼ÊÇÒ³Ãæ´óСµÄÕûÊý±¶£¨ÓÐÉÏÏÞ£©
×ÅÉ«£º×Ö½ÚÊý°´ÕÕÓ²¼þµÄÒªÇó¶ÔÆë£¬¿ÉÒÔ´ó´óÌá¸ßÓ²¼þ»º´æµÄÀûÓÃÂʺÍЧÂÊ¡£
slab¿éµÄÁ½ÖÖ¹ÜÀíģʽ£º
on-slab ÊÊÓÃÓÚС¶ÔÏó£¨Ð¡ÓÚ1/8Ò³£©£¬slab¹ÜÀí½á¹¹´æ·ÅÔÚslab¿éÖС£
off-slabÊÊÓÃÓÚ´ó¶ÔÏó£¬(´óÓÚµÈÓÚ1/8Ò³),¶ÔÏóºÍslab¿éµÄ¹ÜÀí½á¹¹¶¼ÓÉcache_slabpÖзÖÅä¡£
¸ù¾ÝslabÌá³öÕßµÄÂÛÎÄ,slab²»ÊʺÏÓÃÔÚ´ó¶ÔÏóÉÏ¡£
slabÉæ¼°µÄÖØÒª²Ù×÷£º
»º´æÇø´´½¨kmem_cache_createÓëÏú»Ùkmem_cache_destory
»º´æÇøÊÕËõkmem_cache_shrinkÓëÀ©ÕÅkmem_cache_grow
¶ÔÏó·ÖÅäkmem_cache_allocÓëÊÍ·Åkmem_cache_free
ÄÚºË̬ÄÚ´æµÄÉêÇëkmallocÓëÊÍ·Åkfree
¶þ¡¢Éæ¼°µÄÖØÒªÊý¾Ý½á¹¹£º
typedef unsigned int kmem_bufctl_t£ºslab¿éÖеĹÜÀí½á¹¹
cache_size±í£º±£´æÁ˲»Í¬´óС(2^n)Ò³ÃæÖ¸Ïòcache_cacheµÄÁ½ÖÖÖ¸Õë(dmaºÍ·Çdma)¡£
Á´±í£º×îÖØÒªµÄÊÇÔÚ¹ÜÀíslab½á¹¹ÖгöÏÖµÄ3¸öÁ´±í£¬·Ö±ðΪÍêȫʹÓõ쬲¿·ÖʹÓõĺÍÍêȫûÓùýµÄslab¡£
½á¹¹Ì壺¼ûÏÂÃæµÄ´úÂë·ÖÎö¡£
Èý¡¢´úÂë·ÖÎö£º
ÿ¸öÑÕÉ«´ú±íµÄº¬Ò壺
ºìÉ«£º´úÂë×¢ÊÍ£»
źºÉÉ«£º±àÒëÔ¤´¦ÀíÐèÒª´¦ÀíµÄÄÚÈÝ£»
À¶É«£ºCÓïÑԹؼü×Ö¡¢º¯Êý¶¨Ò壻
ÂÌÉ«£ººê¶¨Ò壻
ºÚÉ«£º´úÂ룻
»ÒÉ«£ºÊä³öÐÅÏ¢£»
ÉîÀ¶É«£ºÎÒ¸ø³öµÄ×¢½â¡£
/*
* linux/mm/slab.c
* Written by Mark Hemment, 1996/97.
* (markhe@nextd.demon.co.uk)
*
* kmem_cache_destroy() + some cleanup - 1999 Andrea Arcangeli
*
* Major cleanup, different bufctl logic, per-cpu arrays
* (c) 2000 Manfred Spraul
*ÒÔÉÏΪ°æÈ¨ÐÅÏ¢
* An implementation of the Slab Allocator as described in outline in;
* UNIX Internals: The N
Ïà¹ØÎĵµ£º
ÔÌû£ºhttp://www.cnscn.org/read.php?tid-44684.html
iptablesÓÐÈýÖÖÁ´
1£ºINPUT (½øÀ´µÄÁ´)
2£ºOUTPUT(³öÈ¥µÄÁ´)
3£ºFORWARD(ת·¢µÄÁ´)
iptables -A INPUT -p icmp -j DROP
-A(Ìí¼ÓÒ»¸öÁ´) -p ÐÒé -j(Ìí¼Ó¶¯×÷) ˵Ã÷Ìí¼ÓÒ»¸ö½øÀ´µÄÁ´¡£ÐÒéÊÇicmp¶¯×÷¾Ü¾ø¡£
iptables -L -n (ÓÃÊ÷ÐνṹÀ´¿´Ò»ÏÂiptablesµÄÉèÖÃ)
......
http://www.cublog.cn/u/2108/showart_223258.html
LinuxÄÚºËÊý¾Ý°ü´¦ÀíÁ÷³Ì£Êý¾Ý°ü½ÓÊÕ
ÓëÆä˵ÕâÆªÎÄÕ·ÖÎöÁËÍø¿¨Çý¶¯ÖÐÖÐÊý¾Ý°üµÄ½ÓÊÕ£¬»¹²»Èç˵ÊÇÒÔe100ΪÀý£¬¶ÔÍø¿¨Çý¶¯±àдµÄÒ»¸ö˵Ã÷¡£
µ±È»£¬¶ÔÊý¾Ý°üµÄ½ÓÊÕ˵µÄºÜÇå³þ¡£
×ªÔØ
Êý¾Ý°üµÄ½ÓÊÕ
×÷Õߣºkendo
Kernel£º2.6.12
Ò»¡¢´ÓÍø¿¨ËµÆð
Õâ²¢·ÇÊÇÒ»¸öÍø¿¨Ç ......
µÚÒ»²½£¬ÎÒÃÇÔÚLinuxϵͳÏ£¬ÐÞ¸Ä/etc/X11/xdm/XaccessÎļþ£¬ÕÒµ½ÏÂÃæµÄÓï¾ä£º
# * #any host can get a login window
È¥µô×îÇ°ÃæµÄ#ºÅ£¬³ÉΪ
* #any host can get a login window
µÚ¶þ²½£¬ÎÒÃÇÐÞ¸Ä/etc/X11/gdm/gdm.confÎļþ£¬ÕÒµ½ÏÂÃæµÄÓï¾ä£º
[xdmcp]
Enable£½false
½«ÆäÖеÄEn ......
´óÖÂÃüÁîÈçÏ£º
tar xvfj lichuanhua.tar.bz2
tar xvfz lichuanhua.tar.gz
tar xvfz lichuanhua.tgz
tar xvf lichuanhua.tar
unzip & ......
4ÔÂ19ÈÕ£¬²Ù×÷½çÃæ½â¾ö·½°¸ÌṩÉÌSynaptics Inc.Ðû²¼ÁËÒ»Ì×ÓÃÓÚLinuxϵ統µÄ Synaptics Gesture Suite¿ª·¢Ì××°£¨SGS-L£©£¬Õâ¿îÈí¼þ½«´ø¸ø¿ªÔ´LinuxϵͳÒÔ¶àµã´¥ÃþµÄÄÜÁ¦¡£
SGS-LÖ§³Ö眾¶àµÄLinux·¢ÐаæÈçFedora, Millos Linpus, Red Flag, SuSE, UbuntuºÍXandros£¬並ÌØ別Ìá¼°¿ÉÍØÕ¹Chrome OSµÄй¦Ä ......