Interrupt in Linux£¨Ó²¼þƪ£©—— APIC2
1.2.2 LAPIC
ÊÕµ½À´×ÔIOAPICµÄÖжÏÏûÏ¢ºó£¬LAPIC»á½«¸ÃÖжϽ»ÓÉCPU´¦Àí¡£ºÍIOAPIC±È½Ï£¬LAPIC¾ßÓиü¶àµÄ¼Ä´æÆ÷ÒÔ¼°¸ü¸´ÔӵĻúÖÆ¡£µ«¶ÔÓÚ´¦ÀíÀ´×ÔIOAPICµÄÖжÏÏûÏ¢£¬×îÖØÒªµÄ¼Ä´æÆ÷»¹ÊÇIRR¡¢ISRÒÔ¼°EOI¡£
ͼ1-4ÏÔʾÁËx86ƽ̨ÉÏ£¬IRRºÍISRµÄ¸ñʽ£º
ͼ1-4 IRR¡¢ISR¹¹³É
ÓëPICÖеÄIRR¡¢ISR²»Í¬µÄÊÇ£¬LAPICµÄISR¡¢IRR¾ùΪ256bit¼Ä´æÆ÷£¬¶ÔÓ¦x86ƽ̨ÉϵÄ256¸öÖжÏvector£¬ÆäÖÐ0~15Ϊ¼Ü¹¹Ô¤Áô¡£
u IRR£º¹¦ÄܺÍPICµÄÀàËÆ£¬´ú±íLAPICÒѽÓÊÕÖжϣ¬µ«»¹Î´½»CPU´¦Àí¡£
u ISR£º¹¦ÄܺÍPICÀàËÆ£¬´ú±íCPUÒÑ¿ªÊ¼´¦ÀíÖжϣ¬µ«»¹Î´Íê³É¡£ÓëPICÓÐËù²»Í¬µÄÊÇ£¬µ±CPUÕýÔÚ´¦ÀíijÖжÏʱ£¬Í¬ÀàÐÍÖжÏÈç¹û·¢Éú£¬ÏàÓ¦µÄIRR bit»áÔÙ´ÎÖÃÒ»£¨PICģʽÏ£¬Í¬ÀàÐ͵ÄÖжϱ»ÆÁ±Î£©£»Èç¹ûijÖжϱ»pendingÔÚIRRÖУ¬Í¬ÀàÐ͵ÄÖжϷ¢Éú£¬ÔòISRÖÐÏàÓ¦µÄbit±»ÖÃÒ»¡£Õâ˵Ã÷ÔÚAPICϵͳÖУ¬Í¬Ò»ÀàÐÍÖжÏ×î¶à¿ÉÒÔ±»¼ÆÊýÁ½´Î£¨Ï벻ͨʲôÒâ˼£¿Ï벻ͨ¾ÍÁªÏëÒ»ÏÂLinux¿ÉÐÅÐźţ©¡£³¬¹ýÁ½´Îʱ£¬²»Í¬¼Ü¹¹´¦Àí²»Ò»Ñù¡£¶ÔÓÚPentiumϵÁÐCPUºÍP6¼Ü¹¹£¬ÖжÏÏûÏ¢±»LAPIC¾Ü¾ø£»¶ÔÓÚPentium4ºÍXeonϵÁУ¬ÐÂÀ´µÄÖжϺÍIRRÖжÔÓ¦µÄbitÖØµþ¡£
±ÊÕߣºÉÏͼ»¹ÓиöTMR¼Ä´æÆ÷£¬¼´Trigger Mode Register£¬ÓÃÓÚ±íʾµ±Ç°ÕýÔÚ´¦ÀíÖжϵĴ¥·¢Ä£Ê½¡£1Ϊlevel£¬0Ϊedge¡£¶ÔÓÚlevel´¥·¢µÄÖжϣ¬µ±Èí¼þдEOIʱ£¬»á±»¹ã²¥µ½ËùÓÐIOAPIC£¬ÏûÏ¢Öк¬ÓÐÖжϵÄvector£¬IOAPICÊÕµ½ºó¼ì²é×Ô¼ºµÄPRT±í£¬°ÑÏàÓ¦RTEµÄRemote IRRλÇåÁã¡£
¶ÔÓÚIRR£¬x86 spec˵£º“µ±CPU×¼±¸´¦ÀíÖжÏʱ£¬IRRÖÐ×î¸ßÓÅÏȼ¶µÄbit±»ÇåÁ㣬ISRÖжÔÓ¦bit±»ÖÃÒ»”¡£ÕâÑù˵²»ÄÜËã´í£¬µ«ÖÁÉÙ²»×¼È·¡£¸ù¾Ý¡¶Multi-Processor Computer System With Interrupt Controllers Providing Remote Reading¡·Ò»ÎÄÖÐAPICµÄʵÏÖ£¬Ö»ÓжÔÓÚedge´¥·¢µÄÖжϣ¬ISR¶ÔÓ¦bitÖÃһʱIRRÏàÓ¦ bit²ÅÇåÁã¡£¶ÔÓÚlevel´¥·¢£¬IRRÖеÄbit±£Áôµ½Èí¼þдEOI£¬LAPICÊÕµ½IOAPIC·¢³öµÄLevel-deassertÏûÏ¢ºó²ÅÇåÁã¡£
Èç¹ûÄã×Ðϸ¿´ÁËÇ°Ãæ¹ØÓÚRemote IRRµÄ½éÉÜ£¬´Ëʱһ¶¨»á²úÉúÒ»¸öÒÉÎÊ¡£ÕâÀï˵ͬÀàÐÍÖжϷ¢ÉúÁ½´Î£¬»áͬʱPendingÔÚISRºÍIRRµÄ¶ÔÓ¦bitÖС£ÎÊÌâÊÇ£¬Ç°ÃæRemote IRRµÄÒì»òÂß¼±£Ö¤ÁËÔÚдEOIǰ£¬ÐµÄÖжϲ»»á·¢¹ýÀ´°¡£¿ºÇºÇ£¬»òÐíÄãÏëµ½´ð°¸ÁË£¬ÕâÖÖpendingÁ½´ÎµÄ»úÖÆ£¬Ö»¶Ôedge´¥·¢ÖжÏÓÐЧ¡£
ÓëPICÒ»Ñù£¬LAPICͬÑùÐèÒªÈí¼þдEOIÀ´Öª»áÖжϴ¦ÀíµÄÍê³É£¬²»Í¬µÄÊÇ£¬LAPICÖеÄEOIÊÇÒ»¸ö32bit¼Ä
Ïà¹ØÎĵµ£º
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
LinuxÏÂÓÃBusy BoxÖÆ×÷RamdiskÈ«¹ý³Ì
1 ½¨Á¢¸ùÎļþϵͳ½á¹¹
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin tmp usr var
#chmod 1777 tmp
#mk ......
·find path -option [ -print ] [ -exec -ok command ] {} \;
#-print ½«²éÕÒµ½µÄÎļþÊä³öµ½±ê×¼Êä³ö
#-exec command {} \; -----½«²éµ½µÄÎļþÖ´ÐÐcommand²Ù×÷,{} ºÍ \;Ö®¼äÓпոñ
#-ok ºÍ-execÏàͬ£¬Ö»²»¹ýÔÚ²Ù×÷ǰҪѯ ......
ÔÚ³¬¼¶Óû§ÏÂÏÔʾLinuxϵͳÖÐÕýÔÚÔËÐеÄÈ«²¿½ø³Ì£¬Ó¦Ê¹ÓõÄÃüÁî¼°²ÎÊýÊÇ ps -aux ¡£
Linux psÃüÁîÏê½â£º
1)ps a ÏÔʾÏÖÐÐÖÕ¶Ë»úϵÄËùÓгÌÐò,°üÀ¨ÆäËûÓû§µÄ³ÌÐò.
2)ps -A ÏÔʾËùÓгÌÐò.
3)ps c Áгö³ÌÐòʱ,ÏÔʾÿ¸ö³ÌÐòÕæÕýµÄÖ¸ÁîÃû³Æ,¶ø²»°üº¬Â·¾¶,²ÎÊý»ò³ ......
aishen944-163.com
תÌùÇë×¢Ã÷³ö´¦£¬Ð»Ð»£¡£¡
Æäʵ͸Ã÷ÌùͼµÄÔÀí¾ÍÊǽøÐÐxorÔËË㣬
»ù±¾¹«Ê½£ºA xor A = 0 A xor 0 = A A xor A xor B = B
¼ÙÈçÏÖÔÚÓÐÁ½ÕÅͼƬ£¬Ò»ÕÅÊÇÎÒÃÇÒª¶ÔÆä½øÐÐÌùͼµÄͼƬA£¬ ÁíÍâÒ»ÕÅÊÇÒª±»ÌùͼµÄͼƬB
1£¬ ¸´ÖÆÍ¼Æ¬BµÄÒ»·Ý¿½±´ÎªC
2£¬ ½«CÖÐÖ¸¶¨ ......
ѧϰӦ¸ÃÊÇÒ»¸öÏȰÑÎÊÌâ¼òµ¥»¯£¬ÔÚ°ÑÎÊÌ⸴ÔÓ»¯µÄ¹ý³Ì¡£Ò»¿ªÊ¼¾Í×ÅÊÖ´¦Àí¸´ÔÓµÄÎÊÌ⣬ÄÑÃâÈà ÈËÓÐÐľªµ¨²ü£¬×½½ó¼ûÖâµÄ¸Ð¾õ¡£¶ÁLinuxÍø¿¨Çý¶¯Ò²ÊÇÒ»Ñù¡£Ädz¤³¤µÄÔ´Âë¼ÐÔÓ×ÅÄÇЩÎÒÃÇİÉúµÄ±äÁ¿ºÍ·ûºÅ£¬Íû¶øÉúη±ãÊÇÀíËùµ±È»µÄÁË¡£²»Òªµ£ÐÄ£¬ÊÂÇé ×ÜÓнâ¾öµÄ°ì·¨£¬ÏȰÑһЩÎÒÃǹܲ»×ŵĴúÂëÇиî³öÈ¥£¬ÁôϱØÐëµÄ²¿·Ö£¬°Ñ¿ò¼ÜÕ ......