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£¬¶¼ÊÇÖ¸ÎïÀíÄÚ´æ¡£
ÒòΪÄں˵ØÖ·¿Õ¼äÎÞ·¨Ö±½Ó±íʾËùÓеÄÎïÀíÄڴ棬ËùÒÔ½öͨ¹ýÒ»¸öÄÚ´æµØÖ·ÎÞ·¨´ú±íÒ»¸ö
Ïà¹ØÎĵµ£º
[¸ßÐÔÄܼ¼Êõ] Linux2.6ÄÚºËepoll½éÉÜ(0.1°æ±¾)
ת×Ô£º http://mechgouki.blogdriver.com/mechgouki/601157.html
[×÷Õß]£ºëøêÅ,2005/3/30,0.1°æ±¾
[°æÈ¨ÉùÃ÷]£º´ËÎĵµ×ñÑGNU×ÔÓÉÎĵµÐí¿ÉÖ¤(GNU Free Documentation License).ÈκÎÈË¿ÉÒÔ×ÔÓɸ´ÖÆ,·Ö·¢,ÐÞ¸Ä,²»¹ýÈç¹û·½±ã,Çë×¢Ã÷³ö´¦ºÍ×÷Õß:)
(1)µ¼ÑÔ£º
Ê×ÏÈ£¬ÎÒÇ¿ÁÒ½¨Òé ......
http://hi.baidu.com/j_fo/blog/item/55f4014f1a226937aec3ab01.html
Linux Kernel Thread µÄÌÖÂÛ
2007-05-14 11:45
kernel thread
Gearheads Written by Sreekrishnan Venkateswaran
Thursday, 15 September 2005
Threads are programming abstractions used in concurrent processing. A ke ......
http://www.cublog.cn/u/2108/showart_223258.html
LinuxÄÚºËÊý¾Ý°ü´¦ÀíÁ÷³Ì£Êý¾Ý°ü½ÓÊÕ
ÓëÆä˵ÕâÆªÎÄÕ·ÖÎöÁËÍø¿¨Çý¶¯ÖÐÖÐÊý¾Ý°üµÄ½ÓÊÕ£¬»¹²»Èç˵ÊÇÒÔe100ΪÀý£¬¶ÔÍø¿¨Çý¶¯±àдµÄÒ»¸ö˵Ã÷¡£
µ±È»£¬¶ÔÊý¾Ý°üµÄ½ÓÊÕ˵µÄºÜÇå³þ¡£
×ªÔØ
Êý¾Ý°üµÄ½ÓÊÕ
×÷Õߣºkendo
Kernel£º2.6.12
Ò»¡¢´ÓÍø¿¨ËµÆð
Õâ²¢·ÇÊÇÒ»¸öÍø¿¨Ç ......
µÚÒ»²½£¬ÎÒÃÇÔÚLinuxϵͳÏ£¬ÐÞ¸Ä/etc/X11/xdm/XaccessÎļþ£¬ÕÒµ½ÏÂÃæµÄÓï¾ä£º
# * #any host can get a login window
È¥µô×îÇ°ÃæµÄ#ºÅ£¬³ÉΪ
* #any host can get a login window
µÚ¶þ²½£¬ÎÒÃÇÐÞ¸Ä/etc/X11/gdm/gdm.confÎļþ£¬ÕÒµ½ÏÂÃæµÄÓï¾ä£º
[xdmcp]
Enable£½false
½«ÆäÖеÄEn ......
´óÖÂÃüÁîÈçÏ£º
tar xvfj lichuanhua.tar.bz2
tar xvfz lichuanhua.tar.gz
tar xvfz lichuanhua.tgz
tar xvf lichuanhua.tar
unzip & ......