LinuxÒ³¿ò¹ÜÀí
ÔÚÇ°ÃæµÄ²©ÎÄÀÎÒÃǽ²½âÁË»ùÓÚ80x86ÌåϵµÄLinuxÄں˷ֶκͷÖÒ³»úÖÆ£¬²¢ÏêϸµØÌÖÂÛÁËLinuxµÄÄÚ´æ²¼¾Ö¡£ÓÐÁËÕâЩ»ù±¾¸ÅÄîÒÔºó£¬ÎÒÃǾÍÀ´ÏêϸÌÖÂÛÄÚºËÈçºÎ¶¯Ì¬µØ¹ÜÀíÄÇЩ¿ÉÓõÄÄÚ´æ¿Õ¼ä¡£
¶ÔÓÚ80386ÕâÖÖ32λµÄ´¦ÀíÆ÷½á¹¹£¬Linux²ÉÓÃ4KBÒ³¿ò´óС×÷Ϊ±ê×¼µÄÄÚ´æ·ÖÅäµ¥Ôª¡£Äں˱ØÐë¼Ç¼ÿ¸öÒ³¿òµÄµ±Ç°×´Ì¬£¬ÀýÈç£¬Çø·ÖÄÄЩҳ¿ò°üº¬µÄÊÇÊôÓÚ½ø³ÌµÄÒ³£¬¶øÄÄЩҳ¿ò°üº¬µÄÊÇÄں˴úÂë»òÄÚºËÊý¾Ý¡£Äں˻¹±ØÐëÄܹ»È·¶¨¶¯Ì¬ÄÚ´æÖеÄÒ³¿òÊÇ·ñ¿ÕÏУ¬Èç¹û¶¯Ì¬ÄÚ´æÖеÄÒ³¿ò²»°üº¬ÓÐÓõÄÊý¾Ý£¬ÄÇôÕâ¸öÒ³¿ò¾ÍÊÇ¿ÕÏеġ£ÔÚÒÔÏÂÇé¿öÏÂÒ³¿òÊDz»¿ÕÏеģº°üº¬Óû§Ì¬½ø³ÌµÄÊý¾Ý¡¢Ä³¸öÈí¼þ¸ßËÙ»º´æµÄÊý¾Ý¡¢¶¯Ì¬·ÖÅäµÄÄÚºËÊý¾Ý½á¹¹¡¢É豸Çý¶¯³ÌÐò»º³åµÄÊý¾Ý¡¢ÄÚºËÄ£¿éµÄ´úÂëµÈµÈ¡£
ÄÚºËÓÃÊý¾Ý½á¹¹pageÃèÊöÒ»¸öÒ³¿òµÄ״̬ÐÅÏ¢£¬ËùÓеÄÒ³ÃèÊö·û´æ·ÅÔÚÈ«¾Ömem_mapÊý×éÖУ¬ÆäÊý×éµÄϱêΪҳ¿òºÅ£¨pfn£©¡£ÒòΪÿ¸öÃèÊö·û³¤¶ÈΪ32×Ö½Ú£¬ËùÒÔmem_mapËùÐèÒªµÄ¿Õ¼äÂÔСÓÚÕû¸öRAMµÄ1%¡£
ÄÇôһ¸öÒ³ÃèÊö·ûÔõÑùÓëÒ»¸öÕ¼¾Ý4kµÄÒ³¿òÏàÁªÏµ£¨Ó³É䣩Ĩ£¿ÓÐÁËmem_mapÊý×飬Õâ¸öÎÊÌâ¾ÍºÜ¼òµ¥ÁË¡£ÒòΪÈç¹ûÖªµÀÁËpageÊý¾ÝµÄµØÖ·pd£¬ÓÃpdÈ¥¼õÈ¥mem_map¾ÍµÃµ½ÁËpdµÄÒ³¿òºÅpfn¡£ÄÇôÕâ¸öÎïÀíÒ³µÄÎïÀíµØÖ·ÊÇphysAddr = pfn << PAGE_SHIFT ¡£
ÔÚµÃÖª¸ÃÎïÀíÒ³µÄÎïÀíµØÖ·ÊÇphysAddrºó£¬¾Í¿ÉÒÔÊÓphysAddrµÄ´óСµÃµ½ËüµÄÐéÄâµØÖ·£º
1.physAddr < 896M ¶ÔÓ¦ÐéÄâµØÖ·ÊÇ physAddr + PAGE_OFFSET (PAGE_OFFSET=3G)
2.physAddr >= 896M ¶ÔÓ¦ÐéÄâµØÖ·²»ÊǾ²Ì¬Ó³ÉäµÄ£¬Í¨¹ýÄں˵ĸ߶ËÐéÄâµØÖ·Ó³ÉäµÃµ½Ò»¸öÐéÄâµØÖ·¡£
Ôڵõ½¸ÃÒ³µÄÐéÄâµØÖ·Ö®ºó£¬Äں˾ͿÉÒÔÕý³£·ÃÎÊÕâ¸öÎïÀíÒ³ÁË¡£
ÄÚºËÌṩһ¸övirt_to_page(addr)ºêÀ´²úÉúÏßÐÔµØÖ·addr¶ÔÓ¦µÄÒ³ÃèÊö·ûµØÖ·¡£pfn_to_page(pfn)ºê²úÉúÓëÒ³¿òºÅpfn¶ÔÓ¦µÄÒ³ÃèÊö·ûµØÖ·¡£Ïà·´£¬Ò²Ìṩpage_to_pfn(pg)ºêÀ´²úÉúÒ³ÃèÊö·û¶ÔÓ¦µÄÒ³µÄÒ³¿òºÅpfn¡£×¢Ò⣬Õë¶Ô80x86½á¹¹£¬ÉÏÊöºê²¢²»ÊÇÖ±½Óͨ¹ýmen_mapÊý×éÀ´È·¶¨Ò³¿òºÅµÄ£¬¶øÊÇͨ¹ýÄÚ´æ¹ÜÀíÇøµÄzone_mem_mapÀ´È·¶¨µÄ£¬²»¹ýÔÀíÊÇÒ»ÑùµÄ£º
#define page_to_pfn(pg) \
({ \
struct page *__page = pg; \
struct zone *__zone = page_zone(__page); \
(unsigned long)(__page - __zone->zone_mem_map)
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
linuxÓÐ×Ô¼ºÒ»Ì×ÍêÕûµÄÆô¶¯Ìåϵ£¬×¥×¡ÁËlinuxÆô¶¯µÄÂöÂ磬linuxµÄÆô¶¯¹ý³Ì½«²»ÔÙÉñÃØ¡£
±¾ÎÄÖмÙÉèinittabÖÐÉèÖõÄinit treeΪ£º
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
&nbs ......
ת×Ôhttp://blog.chinaunix.net/u3/105004/showart_2088056.html
Êý¾Ý½ÓÊÕ
Íø¿¨Çý¶¯µÄÊý¾Ý½ÓÊÕ£¬Êµ¼ÊÉÏÊÇÒ»¸öÉú²úÕß/Ïû·ÑÕßÄ£ÐÍ¡£ºËÐÄÊÇÊäÈë¶ÓÁУ¨È«¾ÖµÄ£¬»òÕßÍø¿¨Ë½Óеģ©¡£Íø¿¨ÊÕµ½Êý¾Ýʱ£¬´¥·¢Öжϡ£ÔÚÖжÏÖ´ÐÐÀý³ÌÖУ¬°Ñskb¹ÒÈëÊäÈë¶ÓÁУ¬²¢³ö·¢ÈíÖжϡ£ÉÔºóµÄij¸öʱ¿Ì£¬µ±ÈíÖжÏÖ´ÐÐʱ£¬ÔٴӸöÓÁÐÖаÑskbÈ¡ÏÂÀ´£¬Í ......
ÔÚÉÏһƪ²©ÎÄÀÎÒÃÇÒѾ¿´µ½LinuxÈçºÎÓÐЧµØÀûÓÃ80x86µÄ·Ö¶ÎºÍ·ÖÒ³Ó²¼þµ¥Ôª°ÑÂß¼µØÖ·×ª»»ÎªÏßÐÔµØÖ·£¬ÔÚÓÉÏßÐÔµØÖ·×ª»»µ½ÎïÀíµØÖ·¡£ÄÇôÎÒÃǵÄÓ¦ÓóÌÐòÈçºÎʹÓÃÕâЩÂß¼µØÖ·£¬Õû¸öÄÚ´æµÄµØÖ·²¼¾ÖÓÖÊÇÔõÑùµÄ£¿´òÒ»¸ö±È·½£¬ÄÚ´æ¾ÍÏñÒ»×ù³ÇÊУ¬¶ø¾ÓסÔÚÕâ¸ö³ÇÊÐÀïµÄÊÐÃñ¾ÍÏñÊǸ÷¸ö½ø³Ì£¬Ò»¸öÊÐÃñ³ÔºÈÀÈö˯£¬µ±È»¾ÍµÃÓÃÓÚ&l ......