¹þÏ£±í£¨Hashtable£©ÓÖ³ÆÎª“É¢ÖÔ£¬HashtableÊÇ»á¸ù¾ÝË÷Òý¼üµÄ¹þÏ£³ÌÐò´úÂë×éÖ¯³ÉµÄË÷Òý¼ü£¨Key£©ºÍÖµ£¨Value£©Åä¶ÔµÄ¼¯ºÏ¡£Hashtable ¶ÔÏóÊÇÓɰüº¬¼¯ºÏÖÐÔªËØµÄ¹þϣͰ£¨Bucket£©Ëù×é³ÉµÄ¡£¶øBucketÊÇHashtableÄÚÔªËØµÄÐéÄâ×ÓȺ×飬¿ÉÒÔÈô󲿷ּ¯ºÏÖеÄËÑѰºÍ»ñÈ¡¹¤×÷¸üÈÝÒס¢¸ü¿ìËÙ¡£
¹þÏ£º¯Êý£¨Hash Function£©Îª¸ù¾ÝË÷Òý¼üÀ´·µ»ØÊýÖµ¹þÏ£³ÌÐò´úÂëµÄËã·¨¡£Ë÷Òý¼ü£¨Key£©ÊDZ»´æ´¢¶ÔÏóµÄijЩÊôÐÔÖµ£¨Value£©¡£µ±¶ÔÏó¼ÓÈëÖÁ Hashtableʱ£¬Ëü´æ´¢ÔÚÓë¶ÔÏó¹þÏ£³ÌÐò´úÂëÏà·ûµÄ¹þÏ£³ÌÐò´úÂëÏà¹ØµÄBucketÖС£µ±ÔÚHashtableÄÚËÑѰֵʱ£¬¹þÏ£³ÌÐò´úÂë»áΪ¸ÃÖµ²úÉú£¬²¢ÇÒ»áËÑѰÓë¸Ã¹þÏ£³ÌÐò´úÂëÏà¹ØµÄBucket¡£ÀýÈ磬studentºÍteacher»á·ÅÔÚ²»Í¬µÄBucketÖУ¬¶ødogºÍgod»á·ÅÔÚÏàͬµÄ BucketÖС£ËùÒÔµ±Ë÷Òý¼üÊÇΨһ´ÓHashtable»ñÈ¡ÔªËØµÄÐÔÄÜʱ±íÏÖ»á½ÏºÃ¡£HashµÄËÄ´óÓŵãÈçÏÂËùʾ¡£
ÊÂÏȲ»ÐèÒªÅÅÐò¡£
ËÑѰËÙ¶ÈÓëÊý¾Ý¶àÉÙÎ޹ء£
Êý×ÖÇ©ÃûµÄÃÜÂë¼¼Êõ±£ÃÜÐÔ£¨Security£©¸ß¡£
¿É×öÊý¾ÝѹËõ£¨Data Compression£©£¬ÒÔ½ÚÊ¡¿Õ¼ä¡£
¶Á¹ýLinuxÄÚºËÔ´ÂëµÄÈË¿ÉÄܶ¼»á·¢ÏÖ£¬ÆäÖв¢Ã»ÓÐÌ«¶à¸´ÔÓµÄÊý¾Ý½á¹¹£¬×÷Ϊ»ù´¡Êý¾Ý½á¹¹µÄË«ÏòÁ´±í£¨list£© ......
List_Head
²Ù×÷ϵͳÄں˾³£ÐèҪά»¤Êý¾Ý½á¹¹¡£ÄÚºËÓбê×¼µÄÑ»·Á´±í¡¢Ë«ÏòÁ´±íµÄʵÏÖ¡£ÔÚ<Linux/list.h>ÎļþÖж¨ÒåÁËÒ»¸ölist_headÀàÐͼòµ¥½á¹¹£º
struct list_head {
struct list_head *next, *prev;
};
ͨÓÃÁ´±íµÄ³£ÓÃÓÃ;Êǽ«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬»ò½«Ä³Ð©Á´±íÓëÒ»¸öÊý¾Ý½á¹¹ÁªÏµÆðÀ´£¬ÕâÁ½ÖÖÇé¿öʵÖÊÉ϶¼ÊÇÓɽṹlist_head×é³ÉÁ´±í£¬Ö»ÊÇlist_headËù“±³¸º”µÄ¸ºÔز»Ò»Ñù¡£ÏÂÃæ·Ö±ð¾ÙÀý˵Ã÷ÕâÁ½ÖÖÓÃ;¡£
ÒÔÏÂʾÀý˵Ã÷ÁËÈçºÎ½«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬²¢¶ÔÁ´±í½øÐвÙ×÷£¬Í¬Ê±»¹ËµÃ÷list_head½á¹¹µÄʵÏÖÓëʹÓá£
ʾÀý£º½«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í¡£
£¨1£©¼ÓÈëlist_head½á¹¹³ÉÔ±¡£
¼ÙÉèÓÐÒ»¸öexample_struct½á¹¹ÐèÁ¬½Ó³ÉÁ´±í£¬Òò¶øÔÚÆä½á¹¹ÀïÃæ¼ÓÉÏlist_head³ÉÔ±£¬¾Í×é³ÉÁ˽ṹÁ´±í£¬ÈçÏ£º
struct example_struct {
struct list_head list;
int priority;
……//ÆäËû³ÉÔ±
};
ÔÚexample_struct½á¹¹ÖеÄlist³ÉÔ±£¬ÓÃÀ´½«example_struct½á¹¹´®³ÉÁ´±í¡£¿ÉÀí½âΪlist_head“±³¸º”µÄ¸ºÔØÊÇexample_struct½á¹¹¡£
£¨2£© ......
Linux ÄÚºËÖвÉÓÿɼÓÔØµÄÄ£¿é»¯Éè¼Æ£¨LKMs£¬Loadable Kernel
Modules£©£¬Ò»°ãÇé¿öϱàÒëµÄLinux
ÄÚºËÊÇÖ§³Ö¿É²åÈëʽģ¿éµÄ£¬Ò²¾ÍÊǽ«×î»ù±¾µÄºËÐÄ´úÂë±àÒëÔÚÄÚºËÖУ¬ÆäËûµÄ´úÂë¿ÉÒÔÑ¡ÔñÔÚÄÚºËÖУ¬»òÕß±àÒëΪÄں˵ÄÄ£¿éÎļþ¡£³£¼ûµÄÇý¶¯³ÌÐòÒ²ÊÇ×÷ΪÄÚºË
Ä£¿é¶¯Ì¬¼ÓÔØµÄ¡£
Ä£¿éÏà¹ØÃüÁî
lsmod Áгöµ±Ç°ÏµÍ³¼ÓÔØµÄÄ£¿é
rmmod ½«µ±Ç°Ä£¿éÐ¶ÔØ
insmod¡¢modprobe
ÓÃÓÚ¼ÓÔØµ±Ç°Ä£¿é¡£µ«insmod²»»á×Ô¶¯½â¾öÒÀ´æ¹ØÏµ£¬¶ømodprobe¿ÉÒÔ¸ù¾ÝÄ£¿é¼äµÄÒÀ´æ¹ØÏµÒÔ¼° /etc/modules.conf
ÎļþÖеÄÄÚÈÝ×Ô¶¯²åÈëÄ£¿é
mknod ´´½¨Ïà¹ØÄ£¿é
Linux ϵͳµÄÉ豸Îļþ·ÖΪÈýÀࣺ¿éÉ豸Îļþ¡¢×Ö·ûÉ豸ÎļþºÍÍøÂçÉ豸Îļþ¡£
·
¿éÉ豸Îļþͨ³£Ö¸Ò»Ð©ÐèÒªÒԿ飨Èç512 ×Ö½Ú£©µÄ·½Ê½Ð´ÈëµÄÉ豸£¬ÈçIDE Ó²ÅÌ¡¢
SCSIÓ²ÅÌ¡¢¹âÇýµÈ¡£
·
×Ö·ûÐÍÉ豸Îļþͨ³£Ö¸¿ÉÒÔÖ±½Ó¶Áд£¬Ã»Óлº³åÇøµÄÉ豸£¬Èç²¢¿Ú¡¢ÐéÄâ¿ØÖÆÌ¨µÈ¡£
· ÍøÂçÉ豸Îļþͨ³£ÊÇÖ¸ÍøÂçÉ豸·ÃÎʵÄBSD
socket½Ó¿Ú£¬ÈçÍø¿¨µÈ¡£
É豸ºÅ
É豸ºÅÊÇÒ»¸öÊý×Ö£¬ËüÊÇÉ豸µÄ±êÖ¾¡£¾ÍÈçÇ°ÃæËùÊö£¬Ò»¸öÉ豸Îļþ£¨Ò²¾ÍÊÇÉ豸½Úµã£©
¿ÉÒÔͨ¹ý
mknodÃüÁîÀ´´´½¨£¬ÆäÖÐÖ¸¶¨ÁËÖ÷É豸ºÅºÍ´ÎÉ豸ºÅ¡£Ö÷É豸ºÅ±íÃ÷Ä³Ò ......
ÔÚLinux 2.6ÄÚºËÖУ¬devfs±»ÈÏΪÊǹýʱµÄ·½·¨£¬²¢×îÖÕ±»Åׯú£¬udevÈ¡´úÁËËü¡£DevfsµÄÒ»¸öºÜÖØÒªµÄÌØµã¾ÍÊÇ¿ÉÒÔ¶¯Ì¬´´½¨É豸½áµã¡£ÄÇÎÒÃÇÏÖÔÚÈçºÎͨ¹ýudevºÍsysÎļþϵͳ¶¯Ì¬´´½¨É豸½áµãÄØ£¿
ÓÃudevÔÚ/dev/϶¯Ì¬Éú³ÉÉ豸Îļþ£¬ÕâÑùÓû§¾Í²»ÓÃÊÖ¹¤µ÷ÓÃmknodÁË¡£
ÀûÓõÄkernel API£º
class_create : ´´½¨class
class_destroy : Ïú»Ùclass
class_device_create : ´´½¨device
class_device_destroy : Ïú»Ùdevice
×¢Ò⣬ÕâЩAPIÊÇ2.6.13¿ªÊ¼Óеģ¬ÔÚ2.6.13֮ǰ£¬Ó¦µ±Ê¹ÓÃ
class_simple_create
class_simple_destroy
class_simple_device_add
class_simple_device_remove
ÕâһϵÁУ¬Ò²¾ÍÊÇldd3µÚ14ÕÂÃèÊöµÄ¡£ Ïê¼û:
https:/ n.net/Articles/128644/
Output:
===========================================
[root@localho ......
1. ½éÉÜ
ÔÚ ×îºóÁ½ÄêÖУ¬°²È«×¨¼ÒÓ¦¸Ã¶ÔÍøÂçÓ¦ÓòãµÄ¹¥»÷¸ü¼ÓÖØÊÓ¡£ÒòΪÎÞÂÛÄãÓжàǿ׳µÄ·À»ðǽ¹æÔòÉèÖûòÕ߷dz£ÇÚÓÚ²¹Â©µÄÐÞ²¹»úÖÆ£¬Èç¹ûÄãµÄÍøÂçÓ¦ÓóÌÐò¿ª·¢ÕßûÓÐ ×ñÑ °²È«´úÂë½øÐпª·¢£¬¹¥»÷Õß½«Í¨¹ý80¶Ë¿Ú½øÈëÄãµÄϵͳ¡£¹ã·º±»Ê¹ÓõÄÁ½¸öÖ÷Òª¹¥»÷¼¼ÊõÊÇSQL×¢Èë[ref1]ºÍCSS[ref2]¹¥»÷¡£SQL×¢ ÈëÊÇÖ¸£ºÍ¨¹ý»¥ÁªÍøµÄÊäÈëÇøÓò£¬²åÈëSQL meta-characters£¨ÌØÊâ×Ö·û ´ú±íһЩÊý¾Ý£©ºÍÖ¸Á²Ù×ÝÖ´Ðкó¶ËµÄSQL²éѯµÄ¼¼Êõ¡£ÕâЩ¹¥ »÷Ö÷ÒªÕë¶ÔÆäËû×éÖ¯µÄWEB·þÎñÆ÷¡£CSS¹¥»÷ͨ¹ýÔÚURLÀï²åÈëscript±êÇ©£¬È»ºó ÓÕµ¼ÐÅÈÎËüÃǵÄÓû§µã»÷ËüÃÇ£¬È·±£¶ñÒâJavascript´ú ÂëÔÚÊܺ¦È˵ĻúÆ÷ÉÏÔËÐС£ÕâЩ¹¥»÷ÀûÓÃÁËÓû§ºÍ·þÎñÆ÷Ö®¼äµÄÐÅÈιØÏµ£¬ÊÂʵÉÏ·þÎñÆ÷ûÓжÔÊäÈë¡¢Êä³ö½øÐмì²â£¬´Ó¶øÎ´¾Ü¾øjavascript´úÂë¡£
ÒÀ Àµlevel of paranoia×éÖ¯µÄÄÜÁ¦£¬ÎÒÃÇÒѾ±àдÁ˶àÖÖ¼ì²âÏàͬ¹¥»÷µÄ¹æÔò¡£Èç¹ûÄãÏ£Íû¼ì²â¸÷ÖÖ¿ÉÄܵÄSQL×¢Èë¹¥»÷£¬ÄÇôÄãÐèÒª¼òµ¥µÄÁô ÒâÈκÎÏÖÐеÄSQL meta-characters£¬Èçµ¥ÒýºÅ£¬·ÖºÅºÍË«ÖØÆÆÕۺš£Í¬ÑùµÄÒ»¸ö¼«¶Ë¼ì²âCSS¹¥»÷µÄ·½·¨£¬Ö»Òª¼òµ¥µØÌá·ÀHTML±ê¼ÇµÄ ½ÇÀ¨ºÅ¡£µ«ÕâÑù»á¼ì²â ³öºÜ¶à´íÎó¡£ÎªÁ˱ÜÃâÕâЩ£¬ ......
¾ßÌåҪעÒâµÄ£º
1.Ó¦¾¡Á¿±ÜÃâÔÚ where ×Ó¾äÖжÔ×ֶνøÐÐ null ÖµÅжϣ¬·ñÔò½«µ¼ÖÂÒýÇæ·ÅÆúʹÓÃË÷Òý¶ø½øÐÐÈ«±íɨÃ裬È磺
select id from t where num is null
¿ÉÒÔÔÚnumÉÏÉèÖÃĬÈÏÖµ0£¬È·±£±íÖÐnumÁÐûÓÐnullÖµ£¬È»ºóÕâÑù²éѯ£º
select id from t where num=0
2.Ó¦¾¡Á¿±ÜÃâÔÚ where ×Ó¾äÖÐʹÓÃ!=»ò<>²Ù×÷·û£¬·ñÔò½«ÒýÇæ·ÅÆúʹÓÃË÷Òý¶ø½øÐÐÈ«±íɨÃè¡£ÓÅ»¯Æ÷½«ÎÞ·¨Í¨¹ýË÷ÒýÀ´È·¶¨½«ÒªÃüÖеÄÐÐÊý,Òò´ËÐèÒªËÑË÷¸Ã±íµÄËùÓÐÐС£
3.Ó¦¾¡Á¿±ÜÃâÔÚ where ×Ó¾äÖÐʹÓà or À´Á¬½ÓÌõ¼þ£¬·ñÔò½«µ¼ÖÂÒýÇæ·ÅÆúʹÓÃË÷Òý¶ø½øÐÐÈ«±íɨÃ裬È磺
select id from t where num=10 or num=20
¿ÉÒÔÕâÑù²éѯ£º
select id from t where num=10
union all
select id from t where num=20
4.in ºÍ not in Ò²ÒªÉ÷Óã¬ÒòΪIN»áʹϵͳÎÞ·¨Ê¹ÓÃË÷Òý,¶øÖ»ÄÜÖ±½ÓËÑË÷±íÖеÄÊý¾Ý¡£È磺
select id from t where num in(1,2,3)
¶ÔÓÚÁ¬ÐøµÄÊýÖµ£¬ÄÜÓà between ¾Í²»ÒªÓà in ÁË£º
select id from t where ......