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¶ÓÁÐÖеÄÿһ¸öÇëÇó¡£
¿éÉ豸Çý¶¯³ÌÐòºÍ×Ö·û
Ïà¹ØÎĵµ£º
ÎÒÃÇͨ³£°ÑһЩ¹«Óú¯ÊýÖÆ×÷³Éº¯Êý¿â£¬¹©ÆäËü³ÌÐòʹÓá£
º¯Êý¿â·ÖΪ¾²Ì¬¿âºÍ¶¯Ì¬¿âÁ½ÖÖ¡£
¾²Ì¬¿âÔÚ³ÌÐò±àÒëʱ»á±»Á¬½Óµ½Ä¿±ê´úÂëÖУ¬³ÌÐòÔËÐÐʱ½«²»ÔÙÐèÒª¸Ã¾²Ì¬¿â¡£
¶¯Ì¬¿âÔÚ³ÌÐò±àÒëʱ²¢²»»á±»Á¬½Óµ½Ä¿±ê´úÂëÖУ¬¶øÊÇÔÚ³ÌÐòÔËÐÐÊDzű»ÔØÈ룬Òò´ËÔÚ³ÌÐòÔËÐÐʱ»¹ÐèÒª¶¯Ì¬¿â´æÔÚ¡£
±¾ÎÄÖ÷Ҫͨ¹ý¾ÙÀýÀ´ËµÃ÷ÔÚLinuxÖÐÈçº ......
http://hi.baidu.com/vsgp/blog/item/0daae64589a3852fcffca3e7.html
1¡¢°²×°vsftpd
ÖÕ¶ËÊäÈ룺sudo apt-get install vsftpd
°²×°ÁËÖ®ºó»áÔÚ/home/Ͻ¨Á¢Ò»¸öftpĿ¼¡£ÕâʱºòÄã¿ÉÒÔÊÔ×Å·ÃÎÊÏÂftp://IPµØÖ·¡£Ó¦¸Ã¿ÉÒÔ¿´µ½Ò»¸ö¿Õ°×ÄÚÈݵÄftp¿Õ¼ä¡£
ÆôÓãºsudo /etc/init.d/vsftpd start
Í£Óãºsudo /etc/init.d/ ......
Ò»²½Ò»Ñ§LinuxÓëWindows ¹²ÏíÎļþSamba £¨v0.2b£©
×÷Õߣº±±ÄÏÄϱ±£¬ÕýÔÚÔö¼ÓÖÐ... ... ÐèÒªÄúµÄ²ÎÓ룻
À´×Ô£ºLinuxSir.Org
¼ò½é£º±¾ÎÄÖ»Êǽ²Ò»½²ÎÒÃÇ×î³£ÓõÄLinuxÓëWindows¹²ÏíÎļþ£¬Ö÷ÒªÊÇΪÐÂÊÖָһָ·¡£ÈçºÎ½¨Á¢×î¼òµ¥µÄSamba·þÎñÆ÷£¬²¢½²ÊöÓöµ½ÎÊÌâÓ¦¸Ã´ÓºÎ´¦Ñ°ÕÒ½â¾ö·½°¸£»ÕýÔÚ¸üÐÂÖ®ÖУ¬Ï£ÍûÄúµÄ²Î¼Ó ... ... л ......
ÔÚLinuxÀïÃæÒ»ÇнÔÎļþ£¬´ÓÎļþѧÆðÀ´£¬×î³£¼ûµÄÃüÁî¾ÍÊDz鿴ÎļþºÍËÑË÷Îļþ¡£
ÏÂÃæ¼òµ¥µÄ×ܽáÏÂÕ⼸¸öÃüÁ
²é¿´Îļþ(cat,tac,more,less,head,tail,od)
cat:
cat [file]
²é¿´ÎļþµÄÄÚÈÝ¡£È«³ÌʽconcatenateµÄÒâ˼£¬½«ÎļþÄÚÈÝÁ¬ÐøÊä³öµ½ÆÁÄ»ÉÏ¡£µÚÒ»Ðе½×îºóÒ»ÐÐÏÔʾ¡£
tac:
tac [file]
ºÍcat¸ÕºÃÏà·´ ÊÇ´Ó ......
LinuxÄÚºËÖÐÓÃÓÚͬ²½µÄ¼¸ÖÖ»úÖÆ¼¯ÖÐÆðÀ´·ÖÎö£¬Ç¿µ÷ÁËËüÃÇÖ®¼äÔÚʵÏÖºÍʹÓÃÉϵIJ»Í¬¡£
¡¡¡¡Í¬²½Í¨³£ÊÇΪÁË´ïµ½¶àÏß³ÌÐͬµÄÄ¿µÄ¶øÉè¼ÆµÄÒ»ÖÖ»úÖÆ£¬Í¨³£°üº¬Òì²½ÐźŻúÖÆºÍ»¥³â»úÖÆ×÷ΪÆäʵÏֵĵײ㡣ÔÚLinux 2.4ÄÚºËÖÐÒ²ÓÐÏàÓ¦µÄ¼¼ÊõʵÏÖ£¬°üÀ¨ÐźÅÁ¿¡¢×ÔÐýËø¡¢Ô×Ó²Ù×÷ºÍµÈ´ý¶ÓÁУ¬ÆäÖÐÔ×Ó²Ù×÷ºÍµÈ´ý¶ÓÁÐÓÖÊÇʵÏÖÐźÅÁ¿µÄ ......