ÉîÈëÀí½âLinuxµÄϵͳµ÷ÓÃ
Ò»¡¢ ʲôÊÇϵͳµ÷ÓÃ
ÔÚLinuxµÄÊÀ½çÀÎÒÃǾ³£»áÓöµ½ÏµÍ³µ÷ÓÃÕâÒ»ÊõÓËùνϵͳµ÷Ó㬾ÍÊÇÄÚºËÌṩµÄ¡¢¹¦ÄÜÊ®·ÖÇ¿´óµÄһϵÁеĺ¯Êý¡£ÕâЩϵͳµ÷ÓÃÊÇÔÚÄÚºËÖÐʵÏֵģ¬ÔÙͨ¹ýÒ»¶¨µÄ·½Ê½°Ñϵͳµ÷ÓøøÓû§£¬Ò»°ã¶¼Í¨¹ýÃÅ(gate)ÏÝÈë(trap)ʵÏÖ¡£ÏµÍ³µ÷ÓÃÊÇÓû§³ÌÐòºÍÄں˽»»¥µÄ½Ó¿Ú¡£
¶þ¡¢ ϵͳµ÷ÓõÄ×÷ÓÃ
ϵͳµ÷ÓÃÔÚLinuxϵͳÖз¢»Óמ޴óµÄ×÷Óã¬Èç¹ûûÓÐϵͳµ÷Óã¬ÄÇôӦÓóÌÐò¾ÍʧȥÁËÄں˵ÄÖ§³Ö¡£
ÎÒÃÇÔÚ±à³ÌʱÓõ½µÄºÜ¶àº¯Êý£¬Èçfork¡¢openµÈÕâЩº¯Êý×îÖÕ¶¼ÊÇÔÚϵͳµ÷ÓÃÀïʵÏֵ쬱ÈÈç˵ÎÒÃÇÓÐÕâÑùÒ»¸ö³ÌÐò£º
ÕâÀïÎÒÃÇÓõ½ÁËÁ½¸öº¯Êý£¬¼´forkºÍexit,ÕâÁ½º¯Êý¶¼ÊÇglibcÖеĺ¯Êý£¬µ«ÊÇÈç¹ûÎÒÃǸú×Ùº¯ÊýµÄÖ´Ðйý³Ì£¬¿´¿´glibc¶ÔforkºÍexitº¯ÊýµÄʵÏ־ͿÉÒÔ·¢ÏÖÔÚglibcµÄʵÏÖ´úÂëÀï¶¼ÊDzÉÓÃÈíÖжϵķ½Ê½ÏÝÈëµ½ÄÚºËÖÐÔÙͨ¹ýϵͳµ÷ÓÃʵÏÖº¯ÊýµÄ¹¦Äܵġ£¾ßÌå¹ý³ÌÎÒÃÇÔÚϵͳµ÷ÓõÄʵÏÖ¹ý³Ì»áÏêϸµÄ½²µ½¡£
Óɴ˿ɼû£¬ÏµÍ³µ÷ÓÃÊÇÓû§½Ó¿ÚÔÚÄÚºËÖеÄʵÏÖ£¬Èç¹ûûÓÐϵͳµ÷Óã¬Óû§¾Í²»ÄÜÀûÓÃÄںˡ£
Èý¡¢ ϵͳµ÷ÓõÄÏÖʵ¼°µ÷Óùý³Ì
Ïêϸ½²Êöϵͳµ÷ÓõÄ֮ǰҲ½²Ò»ÏÂLinuxϵͳµÄһЩ±£»¤»úÖÆ¡£
LinuxϵͳÔÚCPUµÄ±£»¤Ä£Ê½ÏÂÌṩÁËËĸöÌØÈ¨¼¶±ð£¬Ä¿Ç°Äں˶¼Ö»Óõ½ÁËÆäÖеÄÁ½¸öÌØÈ¨¼¶±ð£¬·Ö±ðΪ“ÌØÈ¨¼¶0”ºÍ“ÌØÈ¨¼¶3”,¼¶±ð0Ò²¾ÍÊÇÎÒÃÇͨ³£Ëù½²µÄÄÚºËģʽ£¬¼¶±ð3Ò²¾ÍÊÇÎÒÃÇͨ³£Ëù½²µÄÓû§Ä£Ê½¡£»®·ÖÕâÁ½¸ö¼¶±ðÖ÷ÒªÊǶÔϵͳÌṩ±£»¤¡£ÄÚºËģʽ¿ÉÒÔÖ´ÐÐÒ»Ð©ÌØÈ¨Ö¸ÁîºÍ½øÈëÓû§Ä£Ê½£¬¶øÓû§Ä£Ê½Ôò²»ÄÜ¡£
ÕâÀïÌØ±ðÌá³öµÄÊÇ£¬ÄÚºËģʽÓëÓû§Ä£Ê½·Ö±ðʹÓÃ×Ô¼ºµÄ¶ÑÕ»£¬µ±·¢ÉúģʽÇл»µÄʱºòͬʱҪ½øÐжÑÕ»µÄÇл»¡£
ÿ¸ö½ø³Ì¶¼ÓÐ×Ô¼ºµÄµØÖ·¿Õ¼ä£¨Ò²³ÆÎª½ø³Ì¿Õ¼ä£©£¬½ø³ÌµÄµØÖ·¿Õ¼äÒ²·ÖΪÁ½²¿·Ö£ºÓû§¿Õ¼äºÍϵͳ¿Õ¼ä£¬ÔÚÓû§Ä£Ê½ÏÂÖ»ÄÜ·ÃÎʽø³ÌµÄÓû§¿Õ¼ä£¬ÔÚÄÚºËģʽÏÂÔò¿ÉÒÔ·ÃÎʽø³ÌµÄÈ«²¿µØÖ·¿Õ¼ä£¬Õâ¸öµØÖ·¿Õ¼äÀïµÄµØÖ·ÊÇÒ»¸öÂß¼µØÖ·£¬Í¨¹ýϵͳ¶ÎÃæÊ½µÄ¹ÜÀí»úÖÆ£¬·ÃÎʵÄʵ¼ÊÄÚ´æÒª×ö¶þ¼¶µØÖ·×ª»»£¬¼´£ºÂß¼µØÖ·?ÏßÐÔµØÖ·?ÎïÀíµØÖ·¡£
ϵͳµ÷ÓöÔÓÚÄÚºËÀ´Ëµ¾ÍÏ൱ÓÚº¯Êý£¬ÎÒÃÇÊǹؼüÎÊÌâÊÇ´ÓÓû§Ä£Ê½µ½ÄÚºËģʽµÄת»»¡¢¶ÑÕ»µÄÇл»ÒÔ¼°²ÎÊýµÄ´«µÝ¡£
ÏÂÃæ½«½áºÏÄÚºËÔ´´úÂë¶ÔÕâЩ¹ý³Ì½øÐзÖÎö£¬ÒÔÏ·ÖÎö»·¾³ÎªFC2,kernel 2.6.5
ÏÂÃæÊÇÄÚºËÔ´´úÂëÀïarch/i386/kernel/entry.SµÄÒ»¶Î´úÂë¡£
&nbs
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
:::::::Linux ϵÄһЩ³£ÓÃÃüÁî
# uname -a # ²é¿´ÄÚºË/²Ù×÷ϵͳ/CPUÐÅÏ¢
# head -n 1 /etc/issue # ²é¿´²Ù×÷ϵͳ°æ±¾
# cat /proc/cpuinfo # ²é¿´CPUÐÅÏ¢
# hostname # ²é¿´¼ÆËã»úÃû
# lspci -tv # ÁгöËùÓÐPCIÉ豸
# lsusb -tv # ÁгöËùÓÐUSBÉ豸
# lsmod # Áгö¼ÓÔØµÄÄÚºËÄ£¿é
# env # ²é¿´»·¾³±äÁ¿
×ÊÔ´ ......
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<net/if.h>
static char *bad_interface_names[] = {
"lo:",
"lo",
&n ......
×÷Õߣº
±±ÄÏÄϱ±£¬ÕýÔÚÔö¼ÓÖÐ... ... ÐèÒªÄúµÄ²ÎÓ룻
À´×Ô£º
LinuxSir.Org
¼ò½é£º
±¾ÎÄÖ»Êǽ²Ò»½²ÎÒÃÇ×î³£ÓõÄLinuxÓëWindows¹²ÏíÎļþ£¬Ö÷ÒªÊÇΪÐÂÊÖָһָ·¡£ÈçºÎ½¨Á¢×î¼òµ¥µÄSamba·þÎñÆ÷£¬²¢½²ÊöÓöµ½ÎÊÌâÓ¦¸Ã´ÓºÎ´¦Ñ°ÕÒ½â¾ö·½°¸£»ÕýÔÚ¸üÐÂÖ®ÖУ¬Ï£ÍûÄúµÄ²Î¼Ó ... ... лл£»
Ŀ¼
0.1 ²é¿´Îļþ ......
»ùÓÚI/O RegionµÄ²Ù×÷º¯Êý__XXX_region()£¬LinuxÔÚÍ·Îļþinclude/linux/ioport.hÖж¨ÒåÁËÈý¸ö¶ÔI/OÄÚ´æ×ÊÔ´½øÐвÙ×÷µÄºê£º
¡¡¡¡¢Ùrequest_mem_region()ºê£¬ÇëÇó·ÖÅäÖ¸¶¨µÄI/OÄÚ´æ×ÊÔ´¡£
¡¡¡¡¢Úcheck_ mem_region()ºê£¬¼ì²éÖ¸¶¨µÄI/OÄÚ´æ×ÊÔ´ÊÇ·ñÒѱ»Õ¼Óá£
¡¡¡¡¢Ûrelease_ mem_region()ºê£¬ÊÍ·ÅÖ¸¶¨µÄI/OÄÚ´æ×ÊÔ ......