LinuxÉ豸 £¨×ª£©
5.3.2 É豸ÀàÐÍ·ÖÀà
×ÝÀÀlinux/driversĿ¼£¬´ó¸Å»¹ÓÐ35¸öÒÔÉϵÄ×ÓĿ¼£¬Ã¿¸ö×ÓĿ¼»ù±¾ÉϾʹú±íÁËÒ»ÖÖÉ豸Çý¶¯£¬ÓÐatm¡¢block¡¢char¡¢misc¡¢input¡¢net¡¢usb¡¢sound¡¢videoµÈ¡£ÕâÀïÖ»ÃèÊöÔÚǶÈëʽϵͳÀïÃæÓõÃ×îΪ¹ã·ºµÄ3ÖÖÉ豸¡£
1£®×Ö·ûÉ豸£¨char device£©
×Ö·ûÉ豸ÊÇLinux×î¼òµ¥µÄÉ豸£¬¿ÉÒÔÏñÎļþÒ»Ñù·ÃÎÊ¡£³õʼ»¯×Ö·ûÉ豸ʱ£¬ËüµÄÉ豸Çý¶¯³ÌÐòÏòLinuxµÇ¼Ç£¬²¢ÔÚ×Ö·ûÉ豸ÏòÁ¿±íÖÐÔö¼ÓÒ»¸ödevice_structÊý¾Ý½á¹¹ÌõÄ¿£¬Õâ¸öÉ豸µÄÖ÷É豸±êʶ·ûÓÃ×öÕâ¸öÏòÁ¿±íµÄË÷Òý¡£Ò»¸öÉ豸µÄÖ÷É豸±êʶ·ûÊǹ̶¨µÄ¡£chrdevsÏòÁ¿±íÖеÄÿһ¸öÌõÄ¿£¬Ò»¸ödevice_structÊý¾Ý½á¹¹£¬°üÀ¨Á½¸öÔªËØ£ºÒ»¸öµÇ¼ÇÉ豸Çý¶¯³ÌÐòÃû³ÆµÄÖ¸ÕëºÍÒ»¸öÖ¸ÏòÒ»×éÎļþ²Ù×÷µÄÖ¸Õë¡£¿ÉÒԲο¼µÄ´úÂëÊÇinclude/linux/ major.h¡£
Ò»°ãÀ´ËµÏñÊó±ê¡¢´®¿Ú¡¢¼üÅ̵ÈÉ豸¶¼ÊôÓÚ×Ö·ûÉ豸¡£
2£®¿éÉ豸£¨block device£©
¿éÉ豸ÊÇÎļþϵͳµÄÎïÖÊ»ù´¡£¬ËüÒ²¿ÉÒÔÏñÎļþÒ»Ñù±»·ÃÎÊ¡£LinuxÓÃblkdevsÏòÁ¿±íά»¤ÒѾµÇ¼ÇµÄ¿éÉ豸Îļþ¡£ËüÏñchrdevsÏòÁ¿±íÒ»Ñù£¬Ê¹ÓÃÉ豸µÄÖ÷É豸ºÅ×÷ΪË÷Òý¡£ËüµÄÌõĿҲÊÇdevice_structÊý¾Ý½á¹¹¡£Óë×Ö·ûÉ豸²»Í¬µÄÊÇ£¬¿éÉ豸·ÖΪSCSIÀàºÍIDEÀà¡£ÏòLinuxÄں˵ǼDz¢ÏòºËÐÄÌṩÎļþ²Ù×÷¡£Ò»ÖÖ¿éÉ豸ÀàµÄÉ豸Çý¶¯³ÌÐòÏòÕâÖÖÀàÌṩºÍÀàÏà¹ØµÄ½Ó¿Ú¡£¿ÉÒԲο¼µÄ´úÂëÊÇfs/devices.c¡£
ÿһ¸ö¿éÉ豸Çý¶¯³ÌÐò±ØÐëÌṩÆÕͨµÄÎļþ²Ù×÷½Ó¿ÚºÍ¶ÔÓÚbuffer cacheµÄ½Ó¿Ú¡£Ã¿Ò»¸ö¿éÉ豸Çý¶¯³ÌÐòÌî³äblk_devÏòÁ¿±íÖеÄblk_dev_structÊý¾Ý½á¹¹¡£´ËÏòÁ¿±íµÄË÷ÒýÊÇÉ豸µÄÖ÷É豸ºÅ¡£ÆäÖÐblk_dev_structÊý¾Ý½á¹¹°üÀ¨Ò»¸öÇëÇóÀý³ÌµÄµØÖ·ºÍÒ»¸öÖ¸Õ룬ָÏòÒ»¸örequestÊý¾Ý½á¹¹µÄÁÐ±í£¬Ã¿Ò»¸ö¶¼±í´ïbuffer cacheÏòÉ豸¶Á/дһ¿éÊý¾ÝµÄÒ»¸öÇëÇó¡£
¿ÉÒԲο¼µÄÔ´´úÂëÊÇdrivers/block/ll_rw_blk.cºÍinclude/linux/blkdev.h¡£
µ±buffer cache´ÓÒ»¸öÒѵǼǵÄÉ豸¶Á/дһ¿éÊý¾Ý£¬»òÕßÏ£Íû¶Á¡¢Ð´Ò»¿éÊý¾Ýµ½ÆäËûλÖÃʱ£¬¾ÍÔÚblk_dev_structÖÐÔö¼ÓÒ»¸örequestÊý¾Ý½á¹¹¡£Ã¿¸örequestÊý¾Ý½á¹¹¶¼ÓÐÒ»¸öÖ¸ÏòÒ»¸ö»ò¶à¸öbuffer_headÊý¾Ý½á¹¹µÄÖ¸Õ룬ÿһ¸ö¶¼ÊǶÁ/дһ¿éÊý¾ÝµÄÇëÇó¡£Èç¹ûbuffer_headÊý¾Ý½á¹¹±»Ëø¶¨£¨buffer_cache£©£¬¿ÉÄÜ»áÓÐÒ»¸ö½ø³ÌÔڵȴýÕâ¸ö»º³åÇøµÄ×èÈû½ø³ÌÍê³É¡£Ã¿Ò»¸örequestÊý¾Ý½á¹¹¶¼ÊÇ´Óall_request±íÖзÖÅäµÄ¡£Èç¹ûrequestÔö¼Óµ½¿ÕµÄrequestÁбíÖУ¬¾Íµ÷ÓÃÇý¶¯³ÌÐòµÄrequestº¯Êý´¦ÀíÕâ¸örequest¶ÓÁУ¬·ñÔòÇý¶¯³ÌÐòÖ»ÊǼòµ¥µØ´¦Àírequest¶ÓÁÐÖеÄÿһ¸öÇëÇó¡£
¿éÉ豸Çý¶¯³ÌÐòºÍ×Ö·û
Ïà¹ØÎĵµ£º
1.ʲôÊÇ¿â
ÔÚwindowsƽ̨ºÍlinuxƽ̨϶¼´óÁ¿´æÔÚ×ſ⡣
±¾ÖÊÉÏÀ´Ëµ¿âÊÇÒ»ÖÖ¿ÉÖ´ÐдúÂëµÄ¶þ½øÖÆÐÎʽ£¬¿ÉÒÔ±»²Ù×÷ÏµÍ³ÔØÈëÄÚ´æÖ´ÐС£
ÓÉÓÚwindowsºÍlinuxµÄ±¾Öʲ»Í¬£¬Òò´Ë¶þÕß¿âµÄ¶þ½øÖÆÊDz»¼æÈݵġ£
±¾ÎĽöÏÞÓÚ½éÉÜlinuxϵĿ⡣
2.¿âµÄÖÖÀà
linuxϵĿâÓÐÁ½ÖÖ£º¾²Ì¬¿âºÍ¹²Ïí¿â£¨¶¯Ì¬¿â£©¡£
¶þÕߵIJ»Í¬µãÔÚÓÚ´úÂë ......
×¢Òâ×Ô¼ºµÄÄں˰汾 ÓÚ jdk °æ±¾ÎÊÌâ £»»¹ÓÐ ¾ÍÊÇ Òª½âѹµ½ /usr/javaĿ¼Ï ºÜÖØÒª£¬Òª²»È»µÈ×ųԿàÍ·£»
Ò»¡¢ÏÂÔØJDK
×Ô¼ºÏÂÔØ°É£¬²½Öè²»ÓÃдÁ˰ɣ»ÎÒÏÂÔØµÄÊÇjdk
-1_6_0_11-linux-i586.bin
¶þ¡¢°²×°
(1)ÔÚusrÏÂн¨Ò»¸öjavaÎļþ¼Ð
#mkdir /usr/java
(2)ÎÒÓõÄWinSCP½«JDK
Îļþ·ÅÈ ......
Ò»²½Ò»Ñ§LinuxÓëWindows ¹²ÏíÎļþSamba £¨v0.2b£©
×÷Õߣº±±ÄÏÄϱ±£¬ÕýÔÚÔö¼ÓÖÐ... ... ÐèÒªÄúµÄ²ÎÓ룻
À´×Ô£ºLinuxSir.Org
¼ò½é£º±¾ÎÄÖ»Êǽ²Ò»½²ÎÒÃÇ×î³£ÓõÄLinuxÓëWindows¹²ÏíÎļþ£¬Ö÷ÒªÊÇΪÐÂÊÖָһָ·¡£ÈçºÎ½¨Á¢×î¼òµ¥µÄSamba·þÎñÆ÷£¬²¢½²ÊöÓöµ½ÎÊÌâÓ¦¸Ã´ÓºÎ´¦Ñ°ÕÒ½â¾ö·½°¸£»ÕýÔÚ¸üÐÂÖ®ÖУ¬Ï£ÍûÄúµÄ²Î¼Ó ... ... л ......
LinuxÄÚºËÖÐÓÃÓÚͬ²½µÄ¼¸ÖÖ»úÖÆ¼¯ÖÐÆðÀ´·ÖÎö£¬Ç¿µ÷ÁËËüÃÇÖ®¼äÔÚʵÏÖºÍʹÓÃÉϵIJ»Í¬¡£
¡¡¡¡Í¬²½Í¨³£ÊÇΪÁË´ïµ½¶àÏß³ÌÐͬµÄÄ¿µÄ¶øÉè¼ÆµÄÒ»ÖÖ»úÖÆ£¬Í¨³£°üº¬Òì²½ÐźŻúÖÆºÍ»¥³â»úÖÆ×÷ΪÆäʵÏֵĵײ㡣ÔÚLinux 2.4ÄÚºËÖÐÒ²ÓÐÏàÓ¦µÄ¼¼ÊõʵÏÖ£¬°üÀ¨ÐźÅÁ¿¡¢×ÔÐýËø¡¢Ô×Ó²Ù×÷ºÍµÈ´ý¶ÓÁУ¬ÆäÖÐÔ×Ó²Ù×÷ºÍµÈ´ý¶ÓÁÐÓÖÊÇʵÏÖÐźÅÁ¿µÄ ......