Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linuxÉ豸Çý¶¯ IO Port

      1. I/O Port
¡¡¡¡ºÍÓ²¼þ´ò½»µÀÀë²»¿ªI/O Port£¬ÀϵÄISAÉ豸¾­³£ÊÇÕ¼ÓÃʵ¼ÊµÄI/O¶Ë¿Ú£¬ÔÚlinuxÏ£¬²Ù×÷ϵͳûÓжÔI/O¿ÚÆÁ±Î£¬Ò²¾ÍÊÇ˵£¬ÈκÎÇý¶¯³ÌÐò¶¼¿É¶ÔÈÎÒâµÄI/O¿Ú²Ù×÷£¬ÕâÑù¾ÍºÜÈÝÒ×ÒýÆð»ìÂÒ¡£Ã¿¸öÇý¶¯³ÌÐòÓ¦¸Ã×Ô¼º±ÜÃâÎóÓö˿ڡ£ 
¡¡¡¡ÓÐÁ½¸öÖØÒªµÄkernelº¯Êý¿ÉÒÔ±£Ö¤Çý¶¯³ÌÐò×öµ½ÕâÒ»µã¡£ 
¡¡¡¡1£©check_region(int io_port£¬ int off_set) 
¡¡¡¡Õâ¸öº¯Êý²ì¿´ÏµÍ³µÄI/O±í£¬¿´ÊÇ·ñÓбðµÄÇý¶¯³ÌÐòÕ¼ÓÃijһ¶ÎI/O¿Ú¡£ 
¡¡¡¡²ÎÊý1£ºI/O¶Ë¿ÚµÄ»ùµØÖ·£¬ 
¡¡¡¡²ÎÊý2£ºI/O¶Ë¿ÚÕ¼Óõķ¶Î§¡£ 
¡¡¡¡·µ»ØÖµ£º0 Ã»ÓÐÕ¼Ó㬠·Ç0£¬ÒѾ­±»Õ¼Óᣠ
¡¡¡¡2£©request_region(int io_port£¬ int off_set£¬char *devname) 
¡¡¡¡Èç¹ûÕâ¶ÎI/O¶Ë¿ÚûÓб»Õ¼Óã¬ÔÚÎÒÃǵÄÇý¶¯³ÌÐòÖоͿÉÒÔʹÓÃËü¡£ÔÚʹÓÃ֮ǰ£¬±ØÐëÏòϵͳµÇ¼Ç£¬ÒÔ·ÀÖ¹±»ÆäËû³ÌÐòÕ¼ÓᣵǼǺó£¬ÔÚ/proc/ioportsÎļþÖпÉÒÔ¿´µ½ÄãµÇ¼ÇµÄI/O¿Ú¡£ 
¡¡¡¡²ÎÊý1£ºio¶Ë¿ÚµÄ»ùµØÖ·¡£ 
¡¡¡¡²ÎÊý2£ºio¶Ë¿ÚÕ¼Óõķ¶Î§¡£ 
¡¡¡¡²ÎÊý3£ºÊ¹ÓÃÕâ¶ÎioµØÖ·µÄÉ豸Ãû¡£ 
¡¡¡¡ÔÚ¶ÔI/O¿ÚµÇ¼Çºó£¬¾Í¿ÉÒÔ·ÅÐĵØÓÃinb()£¬ outb()Ö®ÀàµÄº¯À´·ÃÎÊÁË¡£ 
ÔÚһЩpciÉ豸ÖУ¬I/O¶Ë¿Ú±»Ó³Éäµ½Ò»¶ÎÄÚ´æÖÐÈ¥£¬Òª·ÃÎÊÕâЩ¶Ë¿Ú¾ÍÏ൱ÓÚ·ÃÎÊÒ»¶ÎÄÚ´æ¡£¾­³£ÐԵģ¬ÎÒÃÇÒª»ñµÃÒ»¿éÄÚ´æµÄÎïÀíµØÖ·¡£
 
¡¡¡¡2.ÄÚ´æ²Ù×÷ 
¡¡¡¡ÔÚÉ豸Çý¶¯³ÌÐòÖж¯Ì¬¿ª±ÙÄڴ棬²»ÊÇÓÃmalloc£¬¶øÊÇkmalloc£¬»òÕßÓÃget_free_pagesÖ±½ÓÉêÇëÒ³¡£ÊÍ·ÅÄÚ´æÓõÄÊÇkfree£¬»òfree_pages¡£ Çë×¢Ò⣬kmallocµÈº¯Êý·µ»ØµÄÊÇÎïÀíµØÖ·£¡ 
¡¡¡¡×¢Ò⣬kmalloc×î´óÖ»ÄÜ¿ª±Ù128k-16£¬16¸ö×Ö½ÚÊDZ»Ò³ÃèÊö·û½á¹¹Õ¼ÓÃÁË¡£ 
¡¡¡¡ÄÚ´æÓ³ÉäµÄI/O¿Ú£¬¼Ä´æÆ÷»òÕßÊÇÓ²¼þÉ豸µÄRAM(ÈçÏÔ´æ)Ò»°ãÕ¼ÓÃF0000000ÒÔÉϵĵØÖ·¿Õ¼ä¡£ÔÚÇý¶¯³ÌÐòÖв»ÄÜÖ±½Ó·ÃÎÊ£¬ÒªÍ¨¹ýkernelº¯Êývremap»ñµÃÖØÐÂÓ³ÉäÒÔºóµÄµØÖ·¡£ 
¡¡¡¡ÁíÍ⣬ºÜ¶àÓ²¼þÐèÒªÒ»¿é±È½Ï´óµÄÁ¬ÐøÄÚ´æÓÃ×÷DMA´«ËÍ¡£Õâ¿é³ÌÐòÐèҪһֱפÁôÔÚÄڴ棬²»Äܱ»½»»»µ½ÎļþÖÐÈ¥¡£µ«ÊÇkmalloc×î¶àÖ»ÄÜ¿ª±Ù128kµÄÄÚ´æ¡£ 
¡¡¡¡Õâ¿ÉÒÔͨ¹ýÎþÉüһЩϵͳÄÚ´æµÄ·½·¨À´½â¾ö¡£ 
 
http://huxiongwei.spaces.eepw.com.cn/articles/article/item/74756
 


Ïà¹ØÎĵµ£º

ÕÆÎÕLinux±à³ÌµÄ10¸ö²½Öè

×ölinux cÓïÑÔ¿ª·¢ÓÐһСÕó×ÓÁË£¬ÔÚÕâ±ß×Ô¼º×ܽáÁËЩÐĵã¬ÏàÐÅÄÜÈò»¶®µÃLinux±à³ÌµÄÈËÂýÂý²½ÈëLinuxµîÌá£ÓÐÈκβ»¶Ô»ò²»×¼È·Ö®´¦»¶Ó­ÌÖÂÛ¡£
1. °²×° linux ²Ù×÷ϵͳ
¼ÈȻҪѧϰlinuxϵÄcÓïÑÔ¿ª·¢£¬ÄÇô°²×°¸ölinux²Ù×÷ϵͳÊDZØÐëµÄ¡£½¨Òé°²×°Ubuntu£¬ÕâÊÇÎÒĿǰ¼û¹ý½çÃæ×îÓѺõÄlinux²Ù×÷ϵͳÁË¡£¹ØÓÚÈçºÎʹÓÃUbuntuÒ ......

linuxÔ´Âë±Ê¼Ç

Õⲿ·ÖÄÜÓñ¾×ÅÏë¼Ç¾Í¾Í¼Ç£¬Ïë²»ÆðÀ´¾Í²»¼ÇµÄÔ­Ôò¡£Í¬ÊdzöÓÚÁ·Ï°Ó¢ÎĵÄÄ¿µÄ£¬²¿·Ö²»ÖØÒªÄÚÈݼƻ®ÓÃÓ¢ÎÄ¡£
ÊÂÏÈ˵Ã÷ÎÒ¶ÁµÄÊÇlinux1.0£¬ÕâÀï¿ÉÒÔ¼¸ºõ²»ÓÃÔõô¿´µ½lock ǰ׺£¬¶¼Êǵ¥cpu£¬Í¬Ê±ÓÐÒýµ¼³ÌÐò¡£ Ê×ÏÈ˵Ã÷cpuΪʲô»áÔËתÆðÀ´£º
1£ºcpuÉϵçºó»á´Óijһ¸öµØÖ·¿ªÊ¼Ë³ÐòÖ´ÐгÌÐò£¬µ±È»´ËʱÊÇʵģʽ£¨Èç¹ûÎÊʲôÊÇʵģ ......

LinuxÓÎ˵ÕߵĹâÈÙʹÃü






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
    ÎÒÃÇ˵¾ä´ó°×»°£¬Ëùν“ÓÎ˵Õß”£¨
lobbist
£¬
lobber
£©¾ÍÊǹŴúµÄ“說¿Í”£¬Ö»ÊÇÈËÃÇÆ½ÈÕ²»ºÃÒâ˼Õâô˵¶øÒÑ¡£µ±½ñ£¬¸ÊÔ¸×öÒ»Ãû
Linux
ÓÎ˵ÕßÊǺܹâÈÙµÄÊÂÇé¡£´Ë»°µ±Õ棿 ......

linux»·¾³±äÁ¿ÉèÖÃ×ܽá(×ªÔØ)

1¡¢×ܽᱳ¾°
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not
found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²
ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾°¸Àý»ùÓÚRedHat ......

ÐéÄâ»úÏÂlinuxÉÏÍø

Ô­Àí£ºÊ¹ÓÃWindowsϵÄÁ¬½Ó×÷ÎªÍø¹Ø¡£Linux×÷Ϊһ¸öÐéÄâµÄ¿Í»§¶Ëͨ¹ýÕâ¸öWindowsϵÄÁ¬½ÓÁ¬ÉÏÍø¡£ 1¡¢ÉèÖÃWindowsϵı¾µØÁ¬½Ó´ðÓ¦VMwareµÄÐéÄâÍø¿¨À´¹²ÏíÉÏÍø¡£(ºÜÖØÒª£¡) 2¡¢ÉèÖÃWindowsϵÄVMware²úÉúµÄÐéÄâÍø¿¨1¡£½«ÆäIPÉèÖÃΪ192.168.0.1¡£×ÓÍøÑÚÂëΪ255.255.255.0¡£ 3¡¢ÉèÖÃVMwareµÄÍø¿¨ÎªHost-only 4¡¢Æô¶¯L ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ