Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 ÄÚºËÌåϵ¼ò½é¡¾×ª¡¿

1.Linux Äں˼ò½é ÏÖÔÚÈÃÎÒÃÇ´ÓÒ»¸ö±È½Ï¸ßµÄ¸ß¶ÈÀ´ÉóÊÓһϠGNU/Linux ²Ù×÷ϵͳµÄÌåϵ½á¹¹¡£Äú¿ÉÒÔ´ÓÁ½¸ö²ã´ÎÉÏÀ´¿¼ÂDzÙ×÷ϵͳ£¬Èçͼ 1 Ëùʾ¡£ ͼ 1. GNU/Linux ²Ù×÷ϵͳµÄ»ù±¾Ìåϵ½á¹¹ ×îÉÏÃæÊÇÓû§£¨»òÓ¦ÓóÌÐò£©¿Õ¼ä¡£ÕâÊÇÓû§Ó¦ÓóÌÐòÖ´Ðеĵط½¡£Óû§¿Õ¼äÖ®ÏÂÊÇÄں˿ռ䣬Linux ÄÚºËÕýÊÇλÓÚÕâÀï¡£ GNU C Lib ......

linuxÔ´Âë±Ê¼Ç

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

LinuxÍøÇŵÄʵÏÖ·ÖÎö

±¾ÎÄ·ÖÎöÁËlinux 2.4.xÄں˵ÄÍøÇŵÄʵÏÖ·½·¨£¬²¢ÇÒÃèÊöÁËÈçºÎʹÓÃ2.4ÖеÄÍøÇÅ¡£ÍøÇÅ£¬ÀàËÆÓÚÖÐ¼ÌÆ÷£¬Á¬½Ó¾ÖÓòÍøÖÐÁ½¸ö»òÕß¶à¸öÍø¶Î¡£ËüÓëÖÐ¼ÌÆ÷µÄ²»Í¬Ö®´¦¾ÍÔÚÓÚËüÄܹ»½âÎöËüÊÕ·¢µÄÊý¾Ý£¬¶ÁȡĿ±êµØÖ·ÐÅÏ¢£¨MAC£©£¬²¢¾ö¶¨ÊÇ·ñÏòËùÁ¬½ÓÍøÂçµÄÆäËûÍø¶Îת·¢Êý¾Ý°ü¡£ÎªÁËÄܹ»¾ö²ßÏòÄǸöÍø¶Î·¢ËÍÊý¾Ý°ü£¬ÍøÇÅѧϰ½ÓÊÕµ½Êý¾Ý°üµÄÔ ......

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

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

ǶÈëʽLinuxϳ£ÓõĽ»²æ±àÒë·½·¨


ÒªÔÚǶÈëʽLinuxÏÂʹÓö¯Ì¬ÓïÑÔ£¬Ê×ÏÈÒª½â¾öµÄÊÇÓïÑÔ½âÊÍÆ÷»òÖ´ÐÐÒýÇæµÄ½»²æ±àÒëÎÊÌâ¡£
½»²æ±àÒëͨ³£ÓÐÒÔϼ¸ÖÖ;¾¶£º
1. Ö±½Óͨ¹ý½»²æ±àÒ빤¾ß£¬ÊÖ¹¤ÅäÖý»²æ±àÒë¡£½»²æ±àÒ빤¾ß¿ÉÒÔÀûÓÃÕâ¸ö½Å±¾À´×Ô¶¯Éú³É£º
http://kegel.com/crosstool/
´Ë·½·¨µÄºÃ´¦ÊǼò±ã¿ì½Ý£¬Ò»µ©crosstool×öºÃÒÔºó£¬ÐèҪʲô°üÖ±½Ó±àÒë¼´¿É£¬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ