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

Linux device driver 3 ±Ê¼Ç Ö® ÄÚ´æÓ³Éä

½ñÌì×Ô¼ºÑ§Ï° LinuxÉ豸Çý¶¯³ÌÐò µÚÈý°æ µÚ15Õ ÄÚ´æÓ³ÉäºÍDMA. ¸Ð¾õÓеã³ÔÁ¦¡£Ö÷ÒªÊǶÔÄÚ´æÓ³ÉäºÜ¶àÊõÓïºÍ¸ÅÄî²»ÊǺÜÇå³þ£¬Àí½âÆðÀ´Óеã·Ñ¾¢¡£
ºóÀ´½áºÏÓ¢ÎÄÔ­°æ£¬¾²ÏÂÐÄÀ´×Ðϸѧϰ£¬²ÅËãÊÇÓÐÁËÒ»µã½øÕ¹¡£
ÏÖÔÚÔÚÕâÀï×öÒ»¸ö±Ê¼Ç£¬ÒÔ±¸ÒÔºó¸´Ï°Óá£
µÍ¶ËÄÚ´æºÍ¸ß¶ËÄÚ´æ
ÊéÖеÄͼ15-1ÓеãÎóµ¼ÈË¡£Í¼Öн« ÄÚºËÐéÄâµØÖ· ºÍ ÄÚºËÂß¼­µØÖ· ·Ö¿ªÁË¡£ÆäʵӦ¸ÃÊDz¢ÔÚÒ»ÆðµÄ¡£
ÄÚºËÐéÄâµØÖ· ÊÇ ÄÚºËÂß¼­µØÖ· µÄÒ»¸ö³¬¼¯¡£ ËùÓеÄÄÚºËÂß¼­µØÖ·¶¼ÊÇÄÚºËÐéÄâµØÖ·¡£ µ«ÄÚºËÐéÄâµØÖ·²»Ò»¶¨ÊÇÄÚºËÂß¼­µØÖ·¡£
ÔÚ32λϵͳÖУ¬ÓÃ32λ×î´óÄܱíʾ4GÄÚ´æ¡£Õâ4G¾ÍÐγÉÁËÐéÄâµØÖ·µÄ·¶Î§¡£Äں˽«Õâ4G×öÁËÒ»¸ö»®·Ö¡£
Ò»°ã½«3G»®¸øÓû§¿Õ¼ä£¬1G»®¸øÄں˿ռ䡣Õâ1G¾ÍÊÇËùνµÄÄں˵ØÖ·¿Õ¼ä¡£Ò²¾ÍÊÇ1GÄÚºËÐéÄâµØÖ·¡££¨×¢ÒâÇ°ÃæËµÁË£¬ÄÚºËÐéÄâµØÖ·ÊÇÄÚºËÂß¼­µØÖ·µÄ³¬¼¯£©
ÄÚºËÖ»ÄÜ·ÃÎÊÕâ1GµÄÄں˵ØÖ·¿Õ¼ä¡£¶ÔËùÓÐÎïÀíÄÚ´æµÄ·ÃÎÊ£¬¶¼±ØÐëÓ³Éäµ½Õâ1GÄں˵ØÖ·¿Õ¼ä¡£
ÔÚÕâ1GÄں˵ØÖ·¿Õ¼äÖУ¬ÓÐÒ»²¿·ÖµØÖ·ÊÇÓëÎïÀíµØÖ·¾ßÓÐÒ»Ò»¶ÔÓ¦¹ØÏµµÄ£¬ËûÃÇÖ®¼äÖ»²»¹ýÊDzîÁËÒ»¸ö¹Ì¶¨µÄÆ«ÒÆÁ¿¡£
Õⲿ·ÖµØÖ·¾ÍÊÇÄÚºËÂß¼­µØÖ·ÁË¡£Ò²¾ÍÊÇ˵ÄÚºËÂß¼­µØÖ·ÓëÎïÀíÄÚ´æµÄÓ³ÉäÊÇÏßÐԵġ£
¶øÓëÄÚºËÂß¼­µØÖ·¶ÔÓ¦µÄÎïÀíÄڴ棬»òÕß˵ͨ¹ýÄÚºËÂß¼­µØÖ·Ó³Éäµ½ÎïÀíÄڴ棬¾ÍÊÇËùνµÄµÍ¶ËÄÚ´æ¡£
Ç°ÃæËµÁË£¬Äں˵ØÖ·¿Õ¼äÖ»ÓÐ1G£¬ÄÇÆäÖеÄÄÚºËÂß¼­µØÖ··¶Î§Ò»¶¨»áÂÔСÓÚ1G¡£ÄÇÔÚÅäÖÃÁ˺ܴóÄÚ´æµÄϵͳÖУ¨³¬¹ý1G£©£¬Óв¿·ÖÄÚ´æ¾Í¿Ï¶¨ÎÞ·¨Í¨¹ýÄÚºËÂß¼­µØÖ·À´Ö±½ÓÓ³Éä¡£
Õⲿ·ÖÎÞ·¨Í¨¹ýÄÚºËÂß¼­µØÖ·À´Ö±½ÓÓ³ÉäµÄÄÚ´æ¾ÍÊÇ ¸ß¶ËÄÚ´æ¡£
ÄÚºËÖ»ÄÜͨ¹ý×Ô¼ºµÄ1GµÄÄں˵ØÖ·¿Õ¼äÀ´·ÃÎÊÄÚ´æ¡£ÄÇÒª·ÃÎÊÕâЩ¸ß¶ËÄڴ棬¾Í±ØÐë½øÐбØÒªµÄÓ³Éä¡£°Ñ¸ß¶ËÄÚ´æÓ³Éäµ½Äں˵ØÖ·¿Õ¼ä·¶Î§ÄÚ¡£
ÒýÓÃLinux device driver Ò»Êé µÚÈý°æ µÚ15Õ ÖÐ kmap() º¯ÊýµÄ½éÉÜ£º
¶ÔÓڸ߶ËÄڴ棬kmapÔÚרÓõÄÄں˵ØÖ·¿Õ¼ä´´½¨ÌØÊâµÄÓ³Éä¡£¶Ô¸ÃÖÖÓ³ÉäµÄÊýÁ¿ÊÇÓÐÏ޵ġ£
Ò²¼´ÊÇ˵£¬ÄÚºËÔÚÄں˵ØÖ·¿Õ¼ä£¨1G£©Öл®·Ö³öÒ»²¿·Ö£¬×¨ÃÅÓÃÀ´Ó³Éä¸ß¶ËÄÚ´æ¡£
µÈÓÚ˵£¬Õⲿ·ÖÄں˵ØÖ·¿Õ¼äµÄµØÖ·ÊÇËùÓи߶ËÄÚ´æ¹²ÏíµÄ¡£ÒªÓõÄʱºò£¬Í¨¹ýkmap½øÐÐÓ³É䣬ÓÃÍêÁË£¬Í¨¹ýkunmap·µ»¹¡£
ÄÚ´æÓ³Éä ºÍ page struct
Ìáµ½page£¬Ïëµ½µÄÓ¦¸ÃÊÇÎïÀíÄÚ´æ¡£¿ÉÒÔ°ÑpageÀí½â³ÉÎïÀíÄÚ´æµÄÒ»¸öµ¥Î»¡£Äں˲»ÊÇÒÔ×Ö½ÚΪµ¥Î»À´¹ÜÀíÄÚ´æµÄ£¬¶øÊÇÒÔҳΪµ¥Î»À´¹ÜÀíÄÚ´æµÄ¡£
ËùÓеÄpage£¬¶¼ÊÇÖ¸ÎïÀíÄÚ´æ¡£
ÒòΪÄں˵ØÖ·¿Õ¼äÎÞ·¨Ö±½Ó±íʾËùÓеÄÎïÀíÄڴ棬ËùÒÔ½öͨ¹ýÒ»¸öÄÚ´æµØÖ·ÎÞ·¨´ú±íÒ»¸ö


Ïà¹ØÎĵµ£º

Linux²Ù×÷ϵͳµÄConfigure²ÎÊý½âÊÍ˵Ã÷

Linux»·¾³ÏµÄÈí¼þ°²×°£¬²¢²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇ飻Èç¹ûͨ¹ýÔ´´úÂë±àÒëºóÔÚ°²×°£¬µ±È»ÊÂÇé¾Í¸üΪ¸´ÔÓһЩ£»ÏÖÔÚ°²×°¸÷ÖÖÈí¼þµÄ½Ì³Ì¶¼·Ç³£ÆÕ±é£»µ«Íò±ä²»ÀëÆäÖУ¬¶Ô»ù´¡ÖªÊ¶µÄÔúÊµÕÆÎÕ£¬°²×°¸÷ÖÖÈí¼þµÄÎÊÌâ¾ÍÓ­Èжø½âÁË¡£Configure½Å±¾ÅäÖù¤¾ß¾ÍÊÇ»ù´¡Ö®Ò»£¬ËüÊÇautoconfµÄ¹¤¾ßµÄ»ù±¾Ó¦Óá£
ÓëһЩ¼¼ÇÉÏà±È£¬ConfigureÏԵûù´ ......

linux 2.6 kernel epoll

http://hi.baidu.com/j_fo/blog/item/a43fa60fa6e2f4eaab6457d5.html
Linux2.6ÄÚºËepoll½éÉÜ
2008-11-05 16:35
http://blog.csdn.net/rstevens/archive/2007/10/30/1858067.aspx
http://hi.baidu.com/jmlover/blog/item/24c28b131e6b48d7f7039ee6.html
http://hi.baidu.com/jmlover/blog/item/e64df724f12926348744f9 ......

linux tasklet 3

http://hi.baidu.com/styl_007/blog/item/82b833f475036ce67609d7b6.html
Öжϴ¦ÀíµÄtasklet£¨Ð¡ÈÎÎñ£©»úÖÆ£­²»¹ýÈç´Ë
2009-08-10 18:30
ÖжϷþÎñ³ÌÐòÒ»°ã¶¼ÊÇÔÚÖжÏÇëÇ󹨱յÄÌõ¼þÏÂÖ´ÐеÄ
,
ÒÔ±ÜÃâǶÌ×¶øÊ¹ÖжϿØÖƸ´ÔÓ»¯¡£µ«ÊÇ£¬ÖжÏÊÇÒ»¸öËæ»úʼþ£¬ËüËæÊ±»áµ½À´£¬Èç¹û¹ØÖжϵÄʱ¼äÌ«³¤£¬
CPU
¾Í²»Äܼ°Ê±ÏìÓ¦Æä ......

linux ÐźŴ¦Àí µÄѧϰ

      linuxϵͳÖжÔÐźŵĴ¦ÀíÖ÷ÒªÊÇsignal ºÍsigactionº¯ÊýÀ´Íê³É£¬pauseÓÃÀ´ÏìÓ¦ÈκÎÐźţ¬µ«²»×öÈκδ¦Àí¡£
      1¡£signalº¯Êý
¸Ãº¯ÊýÓÃÀ´ÉèÖýø³ÌÔÚ½Óµ½Ðźŵ͝×÷¡£¿ÉÒÔ man signal²é¿´¾ßÌåÓ÷¨£¬ÏÖÔÚ¶ÔÆäÓ÷¨ÑÝʾ£¬
SIGKILL SIGSTOPÊDz»Äܱ»²¶×½ºÍºöÂÔµÄÐź ......

Linux¼üÅÌÇý¶¯·¶Àý

¼üÅÌÔÚËùÓеÄÇý¶¯Ö®ÖÐ×îΪ¼òµ¥µÄÒ»ÖÖ£¬µ«ËüÈ´°üº¬ÁËÇý¶¯µÄ»ù±¾¿ò¼Ü£¬¶ÔÒÔºó¼ÌÐøÉîÈëѧϰÆäËû¸´ÔÓµÄÇý¶¯´óÓÐñÔÒæ£¬ÒÔϱãΪÄãÖð²½ÆÊÎöÇý¶¯µÄ¿ª·¢¡£²ÉÓõÄÊDzéѯ·½Ê½¡£×ªÔØÇë×¢Ã÷³ö´¦£ºqiangren.blog.edu.cn 
Ò».ÄÚºËÄ£¿éµÄ×¢²áºÍ³·Ïú
ÔÚ¼ÓÔØÄ£¿éµÄʱºò£¬Ê×ÏÈÔËÐеÄÊÇÄÚºËÄ£¿éµÄ×¢²áº¯Êý¡£ËüµÄ¹¦ÄܰüÀ¨ÄÚºË×¢²áÉ豸ÒÔ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ