±¾ÕÂÖ÷ÒªÃèÐðLinuxºËÐĶÔÎļþϵͳµÄÖ§³Ö, ÐéÄâÎļþϵͳ£¨VFS£©ÒÔ¼°LinuxºËÐĶÔʵ¼ÊÎļþϵͳµÄÖ§³Ö¡£
LinuxºÍUnix²¢²»Ê¹ÓÃÉ豸±êÖ¾·û£¨ÈçÉ豸ºÅ»òÇý¶¯Æ÷Ãû³Æ£©À´·ÃÎʶÀÁ¢Îļþϵͳ£¬¶øÊÇͨ¹ýÒ»¸ö½«Õû¸öÎļþϵͳ±íʾ³Éµ¥Ò»ÊµÌåµÄ²ã´ÎÊ÷½á¹¹À´·ÃÎÊËü¡£Linuxÿ°²×°(mount)Ò»¸öÎļþϵͳʱ¶¼»áÆä¼ÓÈëµ½Îļþϵͳ²ã´ÎÊ÷ÖС£²»¹ÜÊÇÎļþϵͳÊôÓÚʲôÀàÐÍ£¬¶¼±»Á¬½Óµ½Ò»¸öĿ¼ÉÏÇÒ´ËÎļþϵͳÉϵÄÎļþ½«È¡´ú´ËĿ¼ÖÐÒÑ´æÔÚµÄÎļþ¡£Õâ¸öĿ¼±»³ÆÎª°²×°µã»òÕß°²×°Ä¿Â¼¡£µ±Ð¶ÔØ´ËÎļþϵͳʱÕâ¸ö°²×°Ä¿Â¼ÖÐÔÓеÄÎļþ½«ÔٴγöÏÖ¡£
µ±´ÅÅ̳õʼ»¯Ê±£¨Ê¹ÓÃfdisk£©£¬´ÅÅÌÖн«Ìí¼ÓÒ»¸öÃèÐðÎïÀí´ÅÅÌÂß¼¹¹³ÉµÄ·ÖÇø½á¹¹¡£Ã¿¸ö·ÖÇø¿ÉÒÔÓµÓÐÒ»¸ö¶ÀÁ¢ÎļþϵͳÈçEXT2¡£Îļþϵͳ½«Îļþ×éÖ¯³É°üº¬Ä¿Â¼£¬ÈíÁ¬½ÓµÈ´æÔÚÓÚÎïÀí¿éÉ豸ÖеÄÂß¼²ã´Î½á¹¹¡£°üº¬ÎļþϵͳµÄÉ豸½Ð¿éÉ豸¡£LinuxÎļþϵͳÈÏΪÕâЩ¿éÉ豸ÊǼòµ¥µÄÏßÐԿ鼯ºÏ£¬Ëü²¢²»¹ØÐÄ»òÀí½âµ×²ãµÄÎïÀí´ÅÅ̽ṹ¡£Õâ¸ö¹¤×÷ÓÉ¿éÉ豸Çý¶¯À´Íê³É£¬ÓÉËü½«¶Ôij¸öÌØ¶¨¿éµÄÇëÇóÓ³Éäµ½ÕýÈ·µÄÉ豸ÉÏÈ¥£»´Ë¿éËùÔÚÓ²Å̵ĶÔÓ¦´ÅµÀ¡¢ÉÈÇø¼°ÖùÃæÊý¶¼±»±£´æÆðÀ´¡£²»¹ÜÄĸöÉ豸³ÖÓÐÕâ¸ö¿é£¬Îļþϵͳ¶¼±ØÐëʹÓÃÏàͬµÄ·½Ê½À´Ñ°ÕÒ²¢²Ù×ݴ˿顣LinuxÎļþϵͳ²»¹Ü£¨ÖÁÉÙ¶ÔϵͳÓû§À´Ëµ£©ÏµÍ³ÖÐÓÐÄÄЩ²»Í¬µÄ¿ØÖÆÆ÷¿ØÖÆ×ÅÄÄЩ²»Í¬µÄÎïÀí½éÖÊÇÒÕâЩÎïÀí½éÖÊÉÏÓм¸¸ö²»Í¬µÄÎļþϵͳ¡£ÎļþϵͳÉõÖÁ»¹¿ÉÒÔ²»ÔÚ±¾µØÏµÍ³¶øÔÚͨ¹ýÍøÂçÁ¬½ÓµÄÔ¶³ÌÓ²ÅÌÉÏ¡£ÉèÓÐÒ»¸ö¸ùĿ¼ÄÚÈÝÈçϵÄSCSIÓ²ÅÌ£º
A E boot etc lib opt tmp usr C F cdrom fd proc root var sbin D bin dev home mnt lost+found
´Ëʱ²»¹ÜÊÇÓû§»¹ÊdzÌÐò¶¼ÎÞÐèÖªµÀËûÃÇÏÖÔÚ²Ù×ݵÄÕâЩÎļþÖеÄ/Cʵ¼ÊÉÏÊÇλÓÚϵͳµÚÒ»¸öIDEÓ²ÅÌÉϲ¢ÒѰ²×°VFATÎļþϵͳ¡£ÔÚ´ËÀýÖÐ/E±íʾϵͳÖеڶþ¸öIDE¿ØÖÆÆ÷ÉϵÄÖ÷IDEÓ²ÅÌ¡£ÖÁÓÚµÚÒ»¸öIDE¿ØÖÆÆ÷ÊÇPCI¿ØÖÆÆ÷ºÍµÚ¶þ¸öÔòÊÇ¿ØÖÆIDE CDROMµÄISA¿ØÖÆÆ÷Î޹ؽôÒª¡£µ±Ê¹ÓÃmodemͨ¹ýPPPÍøÂçÐÒéÀ´²¦ÈëÍøÂçʱ,¿ÉÒÔ½«Alpha AXP LinuxÎļþϵͳ°²×°µ½/mnt/remoteĿ¼Ï¡£
ÎļþϵͳÖеÄÎļþÊÇÊý¾ÝµÄ¼¯ºÏ£»°üº¬±¾ÕÂÄÚÈݵÄÎļþÊÇÒ»¸öÃû½Ðfilesystems.texµÄASCIIÎļþ¡£Îļþϵͳ²»½ö°üº¬×ÅÎļþÖеÄÊý¾Ý¶øÇÒ»¹ÓÐÎļþϵͳµÄ½á¹¹¡£ËùÓÐLinuxÓû§ºÍ³ÌÐò¿´µ½µÄÎļþ¡¢Ä¿Â¼¡¢ÈíÁ¬½Ó¼°Îļþ±£»¤ÐÅÏ¢µÈ¶¼´æ´¢ÔÚÆäÖС£´ËÍâÎļþϵͳÖбØÐë°üº¬°²È«ÐÅÏ¢ÒԱ㱣³Ö²Ù×÷ϵͳµÄ»ù±¾ÍêÕûÐÔ¡£Ã»ÈËÔ¸ÒâʹÓÃÒ»¸ö¶¯²»¶¯¾Í¶ªÊ§Êý¾ÝºÍÎļþµÄ²Ù×÷ϵͳ¡£
Linux×îÔçµÄÎļþϵͳÊÇMinix£¬ËüÊÜÏÞÉõ´óÇÒÐÔÄܵÍÏ¡£ÆäÎļþÃû×²»Äܳ¬¹ý14¸ö×Ö·û£¨ËäÈ»±È8.3 ÎļþÃûÒªºÃ£©ÇÒ×î´óÎļþ´óСΪ64M×Ö½Ú¡£64M×Ö½Ú¿´ÉÏÈ¥ºÜ´ó,µ«Êµ¼ÊÉÏÒ»¸öÖеȵÄÊý¾Ý¿â½«³¬¹ýÕâ¸ö³ß´ç¡£ µÚÒ»¸öרÃÅΪLinuxÉè¼ÆµÄÎļþϵͳ±»³ÆÎªÀ©Õ¹Îļþϵͳ£¨Extended File System£©»òEXT¡£Ëü³öÏÖÓÚ1992ÄêËÄÔ£¬ËäÈ»Äܹ»½â¾öһЩÎÊÌ⵫ÐÔÄÜÒÀ¾É²»ºÃ¡£1993ÄêÀ©Õ¹ÎļþϵͳµÚ¶þ°æ»òEXT2±»Éè¼Æ³öÀ´²¢Ìí¼Óµ½LinuxÖС£ËüÊDZ¾Õ½«ÏêϸÌÖÂÛµÄÎļþϵͳ¡£
½«EXTÎļþϵͳÌí¼ÓÈëLinux²úÉúÁËÖØ´óÓ°Ï졣ÿ¸öʵ¼ÊÎļþϵͳ´Ó²Ù×÷ϵͳºÍϵͳ·þÎñÖзÖÀë³öÀ´£¬ËüÃÇÖ®¼äͨ¹ýÒ»¸ö½Ó¿Ú²ã£ºÐéÄâÎļþϵͳ»òVFSÀ´Í¨Ñ¶¡£
VFSʹµÃLinux¿ÉÒÔÖ§³Ö¶à¸ö²»Í¬µÄÎļþϵͳ£¬Ã¿¸ö±íʾһ¸öVFSµÄͨÓýӿڡ£ÓÉÓÚÈí¼þ½«LinuxÎļþϵͳµÄËùÓÐϸ½Ú½øÐÐÁËת»», ËùÒÔLinuxºËÐĵįäËü²¿·Ö¼°ÏµÍ³ÖÐÔËÐеijÌÐò½«¿´µ½Í³Ò»µÄÎļþϵͳ¡£ LinuxµÄÐéÄâÎļþϵͳÔÊÐíÓû§Í¬Ê±ÄÜ͸Ã÷µØ°²×°Ðí¶à²»Í¬µÄÎļþϵͳ¡£
ÐéÄâÎļþϵͳµÄÉè¼ÆÄ¿±êÊÇΪLinuxÓû§Ìṩ¿ìËÙÇÒ¸ßЧµÄÎļþ·ÃÎÊ·þÎñ¡£Í¬Ê±Ëü±ØÐë±£Ö¤Îļþ¼°ÆäÊý¾ÝµÄÕýÈ·ÐÔ¡£ÕâÁ½¸öÄ¿±êÏ໥¼ä¿ÉÄÜ´æÔÚ³åÍ»¡£µ±°²×°Ò»¸öÎļþϵͳ²¢Ê¹ÓÃʱ, Linux VFSΪÆä»º´æÏà¹ØÐÅÏ¢¡£´Ë»º´æÖÐÊý¾ÝÔÚ´´½¨¡¢Ð´ÈëºÍɾ³ýÎļþÓëĿ¼ʱÈç¹û±»Ð޸ģ¬Ôò±ØÐë½÷É÷µØ¸üÐÂÎļþϵͳÖжÔÓ¦ÄÚÈÝ¡£ Èç¹ûÄܹ»ÔÚÔËÐкËÐÄÄÚ¿´µ½ÎļþϵͳµÄÊý¾Ý½á¹¹, ÄÇô¾Í¿ÉÒÔ¿´µ½ÄÇЩÕý±»Îļþϵͳ¶ÁдµÄÊý¾Ý¿é¡£ÃèÐðÎļþÓëĿ¼µÄÊý¾Ý½á¹¹±»²»¶ÏµÄ´´½¨Óëɾ³ý¶øÉ豸Çý¶¯½«²»Í£µØ¶ÁÈ¡ÓëдÈëÊý¾Ý¡£ÕâЩ»º´æÖÐ×îÖØÒªµÄÊÇBuffer Cache£¬Ëü±»¼¯³Éµ½¶ÀÁ¢Îļþϵͳ·ÃÎʵײã¿éÉ豸µÄÀý³ÌÖС£µ±½øÐÐ¿é´æÈ¡Ê±Êý¾Ý¿éÊ×ÏȽ«±»·ÅÈëBuffer CacheÀï²¢¸ù¾ÝÆä״̬±£´æÔÚ¸÷¸ö¶ÓÁÐÖС£´ËBuffer Cache²»½ö»º´æÊý¾Ý¶øÇÒ°ïÖú¹ÜÀí¿éÉ豸Çý¶¯ÖеÄÒì²½½Ó¿Ú¡£
µÚ¶þ´úÀ©Õ¹ÎļþϵͳÓÉRey CardÉè¼Æ£¬ÆäÄ¿±êÊÇΪLinuxÌṩһ¸öÇ¿´óµÄ¿ÉÀ©Õ¹Îļþϵͳ¡£ËüͬʱҲÊÇLinux½çÖÐÉè¼Æ×î³É¹¦µÄÎļþϵͳ¡£
ÏóºÜ¶àÎļþϵͳһÑù, EXT2½¨Á¢ÔÚÊý¾Ý±»±£´æÔÚÊý¾Ý¿éÖеÄÎļþÄÚÕâ¸öǰÌáÏ¡£ÕâЩÊý¾Ý¿é³¤¶ÈÏàµÈÇÒÕâ¸ö³¤¶È¿ÉÒԱ仯£¬Ä³¸öEXT2ÎļþϵͳµÄ¿é´óСÔÚ´´½¨£¨Ê¹ÓÃmke2fs£©Ê±ÉèÖᣠÿ¸öÎļþµÄ´óСºÍ¸ÕºÃ´óÓÚËüµÄ¿é´óСÕýÊý±¶ÏàµÈ¡£Èç¹û¿é´óСΪ1024×Ö½Ú¶øÒ»¸ö1025×Ö½Ú³¤µÄÎļþ½«Õ¼¾ÝÁ½¸ö1024×Ö½Ú´óСµÄ¿é¡£ÕâÑùÄã²»µÃ²»À˷Ѳ¶àÒ»°ãµÄ¿Õ¼ä¡£ÎÒÃÇͨ³£ÐèÒªÔÚCPUµÄÄÚ´æÀûÓÃÂʺʹÅÅ̿ռäʹÓÃÉϽøÐÐÕÛÖС£¶ø´ó¶àÊý²Ù×÷ϵͳ£¬°üÀ¨LinuxÔÚÄÚ£¬ÎªÁ˼õÉÙCPUµÄ¹¤×÷¸ºÔضø±»ÆÈÑ¡ÔñÏà¶Ô½ÏµÍµÄ´ÅÅ̿ռäÀûÓÃÂÊ¡£²¢²»ÊÇÎļþÖÐÿ¸ö¿é¶¼°üº¬Êý¾Ý£¬ÆäÖÐÓÐЩ¿é±»ÓÃÀ´°üº¬ÃèÐð´ËÎļþϵͳ½á¹¹µÄÐÅÏ¢¡£EXT2ͨ¹ýÒ»¸öinode½á¹¹À´ÃèÐðÎļþϵͳÖÐÎļþ²¢È·¶¨´ËÎļþϵͳµÄÍØÆË½á¹¹¡£ inode½á¹¹ÃèÐðÎļþÖÐÊý¾ÝÕ¼¾ÝÄĸö¿éÒÔ¼°ÎļþµÄ´æÈ¡È¨ÏÞ¡¢ÎļþÐÞ¸Äʱ¼ä¼°ÎļþÀàÐÍ¡£EXT2ÎļþϵͳÖеÄÿ¸öÎļþÓÃÒ»¸öinodeÀ´±íʾÇÒÿ¸öinodeÓÐΨһµÄ±àºÅ¡£ÎļþϵͳÖÐËùÓеÄinode¶¼±»±£´æÔÚinode±íÖС£ EXT2Ŀ¼½öÊÇÒ»¸ö°üº¬Ö¸ÏòÆäĿ¼Èë¿ÚÖ¸ÕëµÄÌØÊâÎļþ£¨Ò²ÓÃinode±íʾ£©¡£
ͼ9.1¸ø³öÁËÕ¼ÓÃһϵÁÐÊý¾Ý¿éµÄEXT2ÎļþϵͳµÄ²¼¾Ö¡£¶ÔÎļþϵͳ¶øÑÔÎļþ½öÊÇһϵÁпɶÁдµÄÊý¾Ý¿é¡£Îļþϵͳ²¢²»ÐèÒªÁ˽âÊý¾Ý¿éÓ¦¸Ã·ÅÖõ½ÎïÀí½éÖÊÉÏʲôλÖã¬ÕâЩ¶¼ÊÇÉ豸Çý¶¯µÄÈÎÎñ¡£ÎÞÂÛºÎʱֻҪÎļþϵͳÐèÒª´Ó°üº¬ËüµÄ¿éÉ豸ÖжÁÈ¡ÐÅÏ¢»òÊý¾Ý£¬Ëü½«ÇëÇóµ×²ãµÄÉ豸Çý¶¯¶Áȡһ¸ö»ù±¾¿é´óСÕûÊý±¶µÄÊý¾Ý¿é¡£EXT2Îļþϵͳ½«ËüËùʹÓõÄÂß¼·ÖÇø»®·Ö³ÉÊý¾Ý¿é×顣ÿ¸öÊý¾Ý¿é×齫ÄÇЩ¶ÔÎļþϵͳÍêÕûÐÔ×îÖØÒªµÄÐÅÏ¢¸´ÖƳöÀ´, ͬʱ½«Êµ¼ÊÎļþºÍĿ¼¿´×÷ÐÅÏ¢ÓëÊý¾Ý¿é¡£ÎªÁË·¢ÉúÔÖÄÑÐÔʼþʱÎļþϵͳµÄÐÞ¸´£¬ÕâЩ¸´ÖƷdz£ÓбØÒª¡£ÒÔÏÂÒ»½Ú½«×ÅÖØÃèÐðÿ¸öÊý¾Ý¿é×éµÄÄÚÈÝ¡£
ÔÚEXT2ÎļþϵͳÖÐinodeÊÇ»ù±¾¿é£»ÎļþϵͳÖеÄÿ¸öÎļþÓëĿ¼ÓÉΨһµÄinodeÀ´ÃèÐð¡£Ã¿¸öÊý¾Ý¿é×éµÄEXT2 inode±»±£´æÔÚinode±íÖÐ, ͬʱ»¹ÓÐÒ»¸öλͼ±»ÏµÍ³ÓÃÀ´¸ú×ÙÒÑ·ÖÅäºÍδ·ÖÅäµÄinode¡£Í¼ 9.2¸ø³öÁËEXT2 inodeµÄ¸ñʽ£¬Ëü°üº¬ÒÔϼ¸¸öÓò£º
EXT2 inode»¹¿ÉÒÔÃèÐðÌØÊâÉ豸Îļþ¡£ËäÈ»ËüÃDz»ÊÇÕæÕýµÄÎļþ, µ«¿ÉÒÔͨ¹ýËüÃÇ·ÃÎÊÉ豸¡£ËùÓÐÄÇЩλÓÚ/devÖеÄÉ豸Îļþ¿ÉÓÃÀ´´æÈ¡LinuxÉ豸¡£ÀýÈçmount³ÌÐò¿É°ÑÉ豸Îļþ×÷Ϊ²ÎÊý¡£
³¬¿éÖаüº¬ÁËÃèÐðÎļþϵͳ»ù±¾³ß´çºÍÐÎ̬µÄÐÅÏ¢¡£Îļþϵͳ¹ÜÀíÆ÷ÀûÓÃËüÃÇÀ´Ê¹ÓúÍά»¤Îļþϵͳ¡£ ͨ³£°²×°Îļþϵͳʱֻ¶ÁÈ¡Êý¾Ý¿é×é0Öеij¬¿é£¬µ«ÊÇΪÁË·ÀÖ¹Îļþϵͳ±»ÆÆ»µ, ÿ¸öÊý¾Ý¿é×é¶¼°üº¬Á˸´ÖÆ¿½±´¡£³¬¿é°üº¬ÈçÏÂÐÅÏ¢£º
ÿ¸öÊý¾Ý¿é×é¶¼ÓµÓÐÒ»¸öÃèÐðËü½á¹¹¡£Ï󳬿éÒ»Ñù£¬ËùÓÐÊý¾Ý¿é×éÖеÄ×éÃèÐð·û±»¸´ÖƵ½Ã¿¸öÊý¾Ý¿é×éÖÐÒÔ·ÀÎļþϵͳ±ÀÀ£¡£Ã¿¸ö×éÃèÐð·û°üº¬ÒÔÏÂÐÅÏ¢£º
×éÃèÐð·û·ÅÖÃÔÚÒ»ÆðÐγÉÁË×éÃèÐð·û±í¡£Ã¿¸öÊý¾Ý¿é×éÔÚ³¬¿é¿½±´ºó°üº¬Õû¸ö×éÃèÐð·û±í¡£EXT2Îļþϵͳ½öʹÓõÚÒ»¸ö¿½±´£¨ÔÚÊý¾Ý¿é×é0ÖУ©¡£ÆäËü¿½±´¶¼Ï󳬿鿽±´Ò»ÑùÓÃÀ´·ÀÖ¹Ö÷¿½±´±»ÆÆ»µ¡£
ÔÚEXT2ÎļþϵͳÖÐĿ¼ÊÇÓÃÀ´´´½¨ºÍ°üº¬ÎļþϵͳÖÐÎļþ´æÈ¡Â·¾¶µÄÌØÊâÎļþ¡£Í¼9.3¸ø³öÁËÄÚ´æÖеÄĿ¼Èë¿Ú²¼¾Ö¡£
Ŀ¼ÎļþÊÇÒ»×éĿ¼Èë¿ÚµÄÁ´±í£¬ËüÃǰüº¬ÒÔÏÂÐÅÏ¢£º
ÿ¸öĿ¼µÄǰÁ½¸öÈë¿Ú×ÜÊÇ"."ºÍ".."¡£ËüÃÇ·Ö±ð±íʾµ±Ç°Ä¿Â¼ºÍ¸¸Ä¿Â¼¡£
ÎÒÃÇËùÐèÒªµÄµÚÒ»¸öinodeÊǸùÎļþϵͳµÄinode£¬Ëü±»´æ·ÅÔÚÎļþϵͳµÄ³¬¿éÖС£Îª¶Áȡij¸öEXT2 inode, ÎÒÃDZØÐëÔÚÊʵ±Êý¾Ý¿é×éµÄinode±íÖнøÐÐËÑѰ¡£Èç¹û¸ùinodeºÅΪ42ÔòÎÒÃÇÐèÒªÊý¾Ý¿é×é0 inode±íµÄµÚ42¸öinode¡£´Ë¸ùinode¶ÔÓ¦ÓÚÒ»¸öEXT2Ŀ¼£¬¼´¸ùinodeµÄmodeÓò½«ËüÃèÐð³ÉĿ¼ÇÒÆäÊý¾Ý¿é°üº¬EXT2Ŀ¼Èë¿Ú¡£homeĿ¼ÊÇÐí¶àĿ¼µÄÈë¿Úͬʱ´ËĿ¼¸øÎÒÃÇÌṩÁË´óÁ¿ÃèÐð/homeĿ¼µÄinode¡£ÎÒÃDZØÐë¶ÁÈ¡´ËĿ¼ÒÔÕÒµ½ruslingĿ¼Èë¿Ú£¬´ËÈë¿ÚÓÖÌṩÁËÐí¶àÃèÐð/home/ruslingĿ¼µÄinode¡£×îºó¶ÁÈ¡ÓÉ/home/ruslingĿ¼ÃèÐðµÄinodeÖ¸ÏòµÄĿ¼Èë¿ÚÒÔÕÒ³ö.cshrcÎļþµÄinodeºÅ²¢´ÓÖÐÈ¡µÃ°üº¬ÔÚÎļþÖÐÐÅÏ¢µÄÊý¾Ý¿é¡£
µ±½ø³Ì×¼±¸Ð´Ä³Îļþʱ, LinuxÎļþϵͳÊ×Ïȼì²éÊý¾ÝÊÇ·ñÒѾ³¬³öÁËÎļþ×îºóÒ»¸ö±»·ÖÅäµÄ¿é¿Õ¼ä¡£Èç¹ûÊÇÔò±ØÐëΪ´ËÎļþ·ÖÅäÒ»¸öÐÂÊý¾Ý¿é¡£½ø³Ì½«Ò»Ö±µÈ´ýµ½´Ë·ÖÅäÍê³É£»È»ºó½«ÆäÓàÊý¾ÝдÈë´ËÎļþ¡£EXT2¿é·ÖÅäÀý³ÌËù×÷µÄµÚÒ»¼þÊÂÊǶԴËÎļþϵͳµÄEXT2³¬¿é¼ÓËø¡£ÕâÊÇÒòΪ¿é·ÖÅäºÍ»ØÊÕ½«µ¼Ö³¬¿éÖÐijЩÓòµÄ¸Ä±ä£¬LinuxÎļþϵͳ²»ÄÜÔÚͬһʱ¿ÌΪ¶à¸ö½ø³Ì½øÐдËÀà·þÎñ¡£Èç¹ûÁíÍâÒ»¸ö½ø³ÌÐèÒª·ÖÅä¸ü¶àµÄÊý¾Ý¿éʱËü±ØÐëµÈµ½´Ë½ø³ÌÍê³É·ÖÅä²Ù×÷Ϊֹ¡£ ÔÚ³¬¿éÉϵȴýµÄ½ø³Ì½«±»¹ÒÆðÖ±µ½³¬¿éµÄ¿ØÖÆÈ¨±»Æäµ±Ç°Ê¹ÓÃÕßÊÍ·Å¡£¶Ô³¬¿éµÄ·ÃÎÊ×ñÑÏÈÀ´ÏÈ·þÎñÔÔò£¬Ò»µ©½ø³ÌÈ¡µÃÁ˳¬¿éµÄ¿ØÖÆÔòËü±ØÐë±£³Öµ½²Ù×÷½áÊøÎªÖ¹¡£Èç¹ûϵͳÖпÕÏп鲻¶àÔò´Ë·ÖÅäµÄ½«Ê§°Ü£¬½ø³Ì»áÊͷŶÔÎļþϵͳ³¬¿éµÄ¿ØÖÆ¡£
Èç¹ûEXT2Îļþϵͳ±»Éè³ÉÔ¤ÏÈ·ÖÅäÊý¾Ý¿éÔòÎÒÃÇ¿ÉÒÔ´ÓÖÐÈ¡µÃÒ»¸ö¡£Ô¤ÏÈ·ÖÅä¿éʵ¼ÊÉϲ¢²»´æÔÚ£¬ËüÃǽö½ö°üº¬ÔÚÒÑ·ÖÅä¿éµÄλͼÖС£ÎÒÃÇÊÔͼΪ֮·ÖÅäÐÂÊý¾Ý¿éÎļþËù¶ÔÓ¦µÄVFS inode°üº¬Á½¸öEXT2ÌØÊâÓò£ºprealloc_blockºÍprealloc_count£¬ËüÃÇ·Ö±ð´ú±íµÚÒ»¸öÔ¤ÏÈ·ÖÅäÊý¾Ý¿éµÄ¿éºÅÒÔ¼°¸÷×ÔµÄÊýÄ¿¡£Èç¹ûûÓÐʹÓÃÔ¤ÏÈ·ÖÅä¿é»ò¿éÔ¤ÏÈ·ÖÅäÊý¾Ý¿é²ßÂÔ£¬ÔòEXT2Îļþϵͳ±ØÐë·ÖÅäÒ»¸öп顣ËüÊ×Ïȼì²é´ËÎļþ×îºóÒ»¸ö¿éºóµÄÊý¾Ý¿éÊÇ·ñ¿ÕÏС£´ÓÂß¼ÉÏÀ´ËµÕâÊÇÈÃÆä˳Ðò·ÃÎʸü¿ìµÄ×îÓÐЧ¿é·ÖÅä²ßÂÔ¡£Èç¹û´Ë¿éÒѱ»Ê¹ÓÃÔòËü»áÔÚÀíÏë¿éÖÜΧ64¸ö¿éÖÐÑ¡ÔñÒ»¸ö¡£Õâ¸ö¿éËäÈ»²»ÊÇ×îÀíÏ뵫ºÍ´ËÎļþµÄÆäËüÊý¾Ý¿é¶¼Î»ÓÚͬһ¸öÊý¾Ý¿é×éÖС£
Èç¹û´Ë¿é»¹ÊDz»¿ÕÏÐÔò½ø³Ì½«ÔÚËùÓÐÆäËüÊý¾Ý¿é×éÖÐËÑѰ£¬Ö±µ½ÕÒµ½Ò»¿ÕÏп顣¿é·ÖÅä´úÂ뽫ÔÚij¸öÊý¾Ý¿é×éÖÐѰÕÒÒ»¸öÓÉ8¸ö¿ÕÏÐÊý¾Ý¿é×é³ÉµÄ´Ø¡£Èç¹ûÕÒ²»µ½ÄÇôËü½«È¡¸üСµÄ³ß´ç¡£Èç¹ûʹÓÃÁË¿éÔ¤ÏÈ·ÖÅäÔòËü½«¸üÐÂÏàÓ¦µÄprealloc_blockºÍprealloc_count¡£
ÕÒµ½¿ÕÏпéºó¿é·ÖÅä´úÂ뽫¸üÐÂÊý¾Ý¿é×éÖеÄλͼ²¢ÔÚbuffer cacheÖÐΪËü·ÖÅäÒ»¸öÊý¾Ý»º´æ¡£Õâ¸öÊý¾Ý»º´æÓÉÎļþϵͳ֧³ÅÉ豸µÄ±êÖ¾·ûÒÔ¼°ÒÑ·ÖÅä¿éµÄ¿éºÅÀ´±êÖ¾¡£»º´æÖеÄÊý¾Ý±»ÖÃ0ÇÒ»º´æ±»±ê¼Ç³ÉdirtyÒÔÏÔʾÆäÄÚÈÝ»¹Ã»ÓÐдÈëÎïÀí´ÅÅÌ¡£×îºó³¬¿éÒ²±»±ê¼ÇΪdirtyÒÔ±íʾËüÒѱ»¸üв¢½âËøÁË¡£Èç¹ûÓнø³ÌÔڵȴýÕâ¸ö³¬¿éÔò¶ÓÁÐÖеĵÚÒ»¸ö½ø³Ì½«µÃµ½ÔËÐв¢È¡µÃ¶Ô³¬¿éµÄ¶ÀÕ¼¿ØÖÆ¡£Èç¹ûÊý¾Ý¿é±»ÌîÂúÔò½ø³ÌµÄÊý¾Ý±»Ð´ÈëÐÂÊý¾Ý¿éÖУ¬ÒÔÉϵÄÕû¸ö¹ý³Ì½«Öظ´ÇÒÁíÒ»¸öÊý¾Ý¿é±»·ÖÅä¡£
ͼ9.4¸ø³öÁËLinuxºËÐÄÖÐÐéÄâÎļþϵͳºÍʵ¼ÊÎļþϵͳ¼äµÄ¹ØÏµ¡£´ËÐéÄâÎļþϵͳ±ØÐëÄܹ»¹ÜÀíÔÚÈκÎʱ¿Ìmountµ½ÏµÍ³µÄ²»Í¬Îļþϵͳ¡£Ëüͨ¹ýά»¤Ò»¸öÃèÐðÕû¸öÐéÄâÎļþϵͳºÍʵ¼ÊÒѰ²×°ÎļþϵͳµÄ½á¹¹À´Íê³ÉÕâ¸ö¹¤×÷¡£
ÈÝÒ×ÈÃÈË»ìÏýµÄÊÇVFSʹÓÃÁ˺ÍEXT2ÎļþϵͳÀàËÆµÄ·½Ê½£º³¬¿éºÍinodeÀ´ÃèÐðÎļþϵͳ¡£ÏóEXT2 inodeÒ»Ñù VFS inodeÃèÐðϵͳÖеÄÎļþºÍĿ¼ÒÔ¼°VFSÖеÄÄÚÈݺÍÍØÆË½á¹¹¡£´ÓÏÖÔÚ¿ªÊ¼ÎÒ½«ÓÃVFS inodeºÍVFS³¬¿éÀ´½«ËüÃǺÍEXT2 inodeºÍ³¬¿é½øÐÐÇø·Ö¡£
Îļþϵͳ³õʼ»¯Ê±½«Æä×ÔÉí×¢²áµ½VFSÖС£Ëü·¢ÉúÔÚϵͳÆô¶¯ºÍ²Ù×÷ϵͳ³õʼ»¯Ê±¡£ÕâЩʵ¼ÊÎļþϵͳ¿ÉÒÔ¹¹Ôìµ½ºËÐÄÖÐÒ²¿ÉÒÔÉè¼Æ³É¿É¼ÓÔØÄ£¿é¡£Îļþϵͳģ¿é¿ÉÒÔÔÚϵͳÐèҪʱ½øÐмÓÔØ£¬ÀýÈçVFAT¾Í±»ÊµÏÖ³ÉÒ»¸öºËÐÄÄ£¿é£¬µ±mount VFATÎļþϵͳʱËü½«±»¼ÓÔØ¡£mountÒ»¸ö»ùÓÚ¿éÉ豸ÇÒ°üº¬¸ùÎļþϵͳµÄÎļþϵͳʱ£¬VFS±ØÐë¶ÁÈ¡Æä³¬¿é¡£Ã¿¸öÎļþϵͳÀàÐ͵ij¬¿é¶ÁÈ¡Àý³Ì±ØÐëÁ˽âÎļþϵͳµÄÍØÆË½á¹¹²¢½«ÕâЩÐÅÏ¢Ó³Éäµ½VFS³¬¿é½á¹¹ÖС£VFSÔÚϵͳÖб£´æ×ÅÒ»×éÒѰ²×°ÎļþϵͳµÄÁ´±í¼°ÆäVFS³¬¿é¡£Ã¿¸öVFS ³¬¿é°üº¬Ò»Ð©ÐÅÏ¢ÒÔ¼°Ò»¸öÖ´ÐÐÌØ¶¨¹¦Äܵĺ¯ÊýÖ¸Õë¡£ÀýÈç±íʾһ¸öÒѰ²×°EXT2ÎļþϵͳµÄ³¬¿é°üº¬Ò»¸öÖ¸ÏòEXT2Ïà¹Øinode¶ÁÀý³ÌµÄÖ¸Õë¡£Õâ¸öEXT2 inode¶ÁÀý³ÌÏóËùÓÐÎļþϵͳÏà¹Ø¶ÁÀý³ÌÒ»ÑùÌî³äÁËVFS inodeÖеÄÓò¡£Ã¿¸öVFS³¬¿é°üº¬´ËÎļþϵͳÖеÚÒ»¸öVFS inodeµÄÖ¸Õë¡£¶ÔÓÚ¸ùÎļþϵͳ´Ëinode±íʾµÄÊÇ"/"Ŀ¼¡£ÕâÖÖÐÅÏ¢Ó³É䷽ʽ¶ÔEXT2Îļþϵͳ·Ç³£ÓÐЧµ«ÊÇ¶ÔÆäËüÎļþϵͳҪÉԲ
ϵͳÖнø³Ì·ÃÎÊĿ¼ºÍÎļþʱ½«Ê¹ÓÃϵͳµ÷ÓñéÀúϵͳµÄVFS inode¡£
ÀýÈç¼üÈëls»òcatÃüÁîÔò»áÒýÆðÐéÄâÎļþϵͳ¶Ô±íʾ´ËÎļþϵͳµÄVFS inodeµÄËÑѰ¡£ÓÉÓÚϵͳÖÐÿ¸öÎļþÓëĿ¼¶¼Ê¹ÓÃÒ»¸öVFS inodeÀ´±íʾ£¬ËùÒÔÐí¶àinode»á±»Öظ´·ÃÎÊ¡£ÕâЩinode±»±£´æÔÚinode cacheÖÐÒÔ¼Ó¿ì·ÃÎÊËÙ¶È¡£Èç¹ûij¸öinode²»ÔÚinode cacheÖÐÔò±ØÐëµ÷ÓÃÒ»¸öÎļþϵͳÏà¹ØÀý³ÌÀ´¶ÁÈ¡´Ëinode¡£¶ÔÕâ¸öinode µÄ¶Á½«°Ñ´ËËü·Åµ½inode cacheÖÐÒÔ±¸ÏÂÒ»´Î·ÃÎÊ¡£²»¾³£Ê¹ÓõÄVFS inode½«»á´ÓcacheÖÐÒÆ³ö¡£
ËùÓÐLinuxÎļþϵͳʹÓÃÒ»¸öͨÓÃbuffer cacheÀ´»º³åÀ´×ԵײãÉ豸µÄÊý¾ÝÒÔ±ã¼ÓËÙ¶Ô°üº¬´ËÎļþϵͳµÄÎïÀí É豸µÄ´æÈ¡¡£
Õâ¸öbuffer cacheÓëÎļþϵͳÎ޹ز¢±»¼¯³Éµ½LinuxºËÐÄ·ÖÅäÓë¶ÁдÊý¾Ý»º´æµÄ»úÖÆÖС£ÈÃLinuxÎļþϵͳ¶ÀÁ¢Óڵײã½éÖʺÍÉ豸Çý¶¯ºÃ´¦ºÜ¶à¡£ËùÓеĿé½á¹¹É豸½«Æä×ÔÉí×¢²áµ½LinuxºËÐÄÖв¢Ìṩ»ùÓÚ¿éµÄÒ»ÖÂÐÔÒì²½½Ó¿Ú¡£ÏóSCSIÉ豸ÕâÖÖÏà¶Ô¸´ÔӵĿéÉ豸ҲÊÇÈç´Ë¡£µ±Êµ¼ÊÎļþϵͳ´Óµ×²ãÎïÀí´ÅÅ̶ÁÈ¡Êý¾Ýʱ£¬¿éÉ豸Çý¶¯½«´ÓËüÃÇËù¿ØÖƵÄÉ豸ÖжÁÈ¡ÎïÀí¿é¡£buffer cacheÒ²±»¼¯³Éµ½ÁË¿éÉ豸½Ó¿ÚÖС£ µ±Îļþϵͳ¶ÁÈ¡Êý¾Ý¿éʱËüÃǽ«±»±£´æÔÚÓÉËùÓÐÎļþϵͳºÍLinuxºËÐĹ²ÏíµÄÈ«¾Öbuffer cacheÖС£ÕâЩbufferÓÉÆä¿éºÅºÍ¶ÁÈ¡É豸µÄÉ豸ºÅÀ´±íʾ¡£ËùÒÔµ±Ä³¸öÊý¾Ý¿é±»Æµ·±Ê¹ÓÃÔòËüºÜ¿ÉÄÜÄÜ´Óbuffer cache¶ø²»ÊÇ´ÅÅÌÖжÁÈ¡³öÀ´£¬ºóÕßÏÔÈ»½«»¨·Ñ¸ü³¤µÄʱ¼ä¡£ÓÐЩÉ豸֧³Öͨ¹ýÔ¤²â½«ÏÂÒ»´Î¿ÉÄÜʹÓõÄÊý¾ÝÌáǰ¶ÁÈ¡³öÀ´¡£
VFS»¹Ö§³ÖÒ»ÖÖĿ¼cacheÒÔ±ã¶Ô¾³£Ê¹ÓõÄĿ¼¶ÔÓ¦µÄinode½øÐпìËÙ²éÕÒ¡£ÎÒÃÇ¿ÉÒÔ×öÒ»¸öÕâÑùµÄʵÑ飬Ê×ÏÈÎÒÃǶÔÒ»¸ö×î½üûÓÐÖ´ÐйýÁÐĿ¼²Ù×÷µÄĿ¼½øÐÐÁÐĿ¼²Ù×÷¡£µÚÒ»´ÎÁÐĿ¼ʱÄã¿ÉÄÜ·¢ÏÖ»áÓн϶̵ÄÍ£¶Ùµ«µÚ¶þ´Î²Ù×÷ʱ½á¹û»áÁ¢¿Ì³öÏÖ¡£Ä¿Â¼cache²»´æ´¢Ä¿Â¼±¾ÉíµÄinode£»ÕâЩӦ¸ÃÔÚinode cacheÖУ¬Ä¿Â¼cache ½ö½ö±£´æÈ«Ä¿Â¼ÃûºÍÆäinodeºÅÖ®¼äµÄÓ³Éä¹ØÏµ¡£
ÿ¸öÒѰ²×°µÄÎļþϵͳÓÉÒ»¸öVFS³¬¿é±íʾ£»Ëü°üº¬ÈçÏÂÐÅÏ¢£º
ºÍEXT2ÎļþϵͳÏàͬ£¬VFSÖеÄÿ¸öÎļþ¡¢Ä¿Â¼µÈ¶¼ÓÃÇÒÖ»ÓÃÒ»¸öVFS inode±íʾ¡£Ã¿¸öVFS inodeÖеÄÐÅϢͨ¹ýÎļþϵͳÏà¹ØÀý³Ì´Óµ×²ãÎļþϵͳÖеõ½¡£VFS inode½ö´æÔÚÓÚºËÐÄÄÚ´æ²¢ÇÒ±£´æÖ»Òª¶ÔϵͳÓÐÓã¬ËüÃǾͻᱻ±£´æÔÚÔÚVFS inode cacheÖС£Ã¿¸öVFS inode°üº¬ÏÂÁÐÓò£º
µ±ÖØÐ½¨Á¢LinuxºËÐÄʱ°²×°³ÌÐò»áѯÎÊÊÇ·ñÐèÒªËùÓпÉÖ§³ÖµÄÎļþϵͳ¡£ºËÐÄÖØ½¨Ê±ÎļþϵͳÆô¶¯´úÂë°üº¬ÁËËùÓÐÄÇЩ±àÈëºËÐĵÄÎļþϵͳµÄ³õʼ»¯Àý³Ì¡£
LinuxÎļþϵͳ¿É¹¹Ôì³ÉÄ£¿é, ´ËʱËüÃÇ»á½öÔÚÐèҪʱ¼ÓÔØ»òÕßʹÓÃinsmodÀ´ÔØÈë¡£µ±Îļþϵͳģ¿é±»¼ÓÔØÊ±, Ëü½«ÏòºËÐÄ×¢²á²¢ÔÚÐ¶ÔØÊ±³·³ý×¢²á¡£Ã¿¸öÎļþϵͳµÄ³õʼ»¯Àý³Ì»¹½«ÏòÐéÄâÎļþϵͳע²á£¬ËüÓÃÒ»¸ö°üº¬ÎļþϵͳÃû³ÆºÍÖ¸ÏòÆäVFS³¬¿é¶ÁÀý³ÌµÄÖ¸ÕëµÄfile_system_type½á¹¹±íʾ¡£Ã¿¸öfile_system_type½á¹¹°üº¬ÏÂÁÐÐÅÏ¢£º
Äã¿ÉÒÔͨ¹ý²éÔÄ/proc/filesystems¿ÉÕÒ³öÒÑ×¢²áµÄÎļþϵͳ£¬È磺
ext2 nodev proc iso9660
µ±³¬¼¶Óû§ÊÔͼ°²×°Ò»¸öÎļþϵͳʱ£¬LinuxºËÐÄÊ×ÏÈʹϵͳµ÷ÓÃÖеIJÎÊýÓÐЧ»¯¡£¾¡¹Ümount³ÌÐò»á×öһЩ»ù±¾µÄ¼ì²é, µ«ÊÇËü²¢²»ÖªµÀºËÐĹ¹ÔìʱÒѾ֧³ÖÄÇЩÎļþϵͳ,ͬʱÄÇЩ½¨ÒéµÄ°²×°µãµÄÈ·´æÔÚ¡£¿´ÈçϵÄÒ»¸ömountÃüÁ
$ mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
mountÃüÁ´«µÝÈý¸ö²ÎÊý¸øºËÐÄ£ºÎļþϵͳÃû£¬°üº¬ÎļþϵͳµÄÎïÀí¿éÉ豸ÒÔ¼°´ËÐÂÎļþϵͳҪ°²×°µ½µÄÒÑ´æÔÚµÄĿ¼Ãû¡£
ÐéÄâÎļþϵͳÊ×ÏȱØÐë×öµÄÊÇÕÒµ½´ËÎļþϵͳ¡£Ëü½«Í¨¹ýÓÉÁ´Ö¸Õëfile_systemsÖ¸ÏòµÄfile_system_type½á ¹¹À´ÔÚËùÓÐÒÑÖªÎļþϵͳÖÐËÑѰ¡£
Èç¹ûÕÒµ½ÁËÒ»¸öÏàÆ¥ÅäµÄÎļþϵͳÃû,ÄÇôËü¾ÍÖªµÀºËÐÄÖ§³Ö´ËÎļþϵͳ²¢¿ÉµÃµ½¶ÁÈ¡´ËÎļþϵͳ³¬¿éÏà¹ØÀý³ÌµÄÖ¸Õë¡£Èç¹ûÕÒ²»µ½,µ«ÎļþϵͳʹÓÃÁ˿ɶ¯Ì¬¼ÓÔØºËÐÄÄ£¿é,Ôò²Ù×÷ÈԿɼÌÐø¡£´ËʱºËÐĽ«ÇëÇóºËÐĺǫ́½ø³Ì¼ÓÔØÏàÓ¦µÄÎļþϵͳģ¿é¡£
½ÓÏÂÀ´Èç¹ûÓÉmount´«µÝµÄÎïÀíÉ豸»¹Ã»Óа²×°, Ôò±ØÐëÕÒµ½ÐÂÎļþϵͳ½«Òª°²×°µ½µÄÄǸöĿ¼µÄVFS inode¡£ Õâ¸öVFS inode¿ÉÄÜÔÚinode cacheÖÐÒ²¿ÉÄÜÔÚÖ§³ÅÕâ¸ö°²×°µãËùÔÚÎļþϵͳµÄ¿éÉ豸ÖС£Ò»µ©ÕÒµ½Õâ¸öinodeÔò½«¶ÔËü½øÐмì²éÒÔÈ·¶¨ÔÚ´ËĿ¼ÖÐÊÇ·ñÒѾ°²×°ÁËÆäËüÀàÐ͵ÄÎļþϵͳ¡£¶à¸öÎļþϵͳ²»ÄÜʹÓÃÏàͬĿ¼×÷Ϊ°²×°µã¡£
´ËʱVFS°²×°´úÂë±ØÐë·ÖÅäÒ»¸öVFS³¬¿é²¢½«°²×°ÐÅÏ¢´«µÝµ½´ËÎļþϵͳµÄ³¬¿é¶ÁÀý³ÌÖС£ÏµÍ³ÖÐËùÓеÄVFS ³¬¿é¶¼±»±£´æÔÚÓÉsuper_block½á¹¹¹¹³ÉµÄsuper_blocksÊý×éÖÐ, ²¢ÇÒ¶ÔÓ¦´Ë°²×°Ó¦ÓÐÒ»¸öÕâÖֽṹ¡£³¬¿é¶Á Àý³Ì½«»ùÓÚÕâЩ´ÓÎïÀíÉ豸ÖжÁÈ¡µÄÐÅÏ¢À´Ìî³äÕâЩVFS³¬¿éÓò¡£¶ÔÓÚEXT2Îļþϵͳ´ËÐÅÏ¢µÄת»¯¹ý³ÌÊ®·Ö ¼ò±ã£¬½öÐèÒª¶ÁÈ¡EXT2³¬¿é²¢Ìî³äVFS³¬¿é¡£µ«ÆäËüÎļþϵͳÈçMS-DOSÎļþϵͳ¾Í²»ÄÇôÈÝÒ×ÁË¡£²»¹ÜÄÄÖÖÎļþϵͳ£¬¶ÔVFS³¬¿éµÄÌî³äÒâζ×ÅÎļþϵͳ±ØÐë´ÓÖ§³ÖËüµÄ¿éÉ豸ÖжÁÈ¡ÃèÐðËüµÄËùÓÐÐÅÏ¢¡£Èç¹û¿éÉ豸Çý¶¯²»ÄÜ´ÓÖжÁÈ¡»ò²»°üº¬ÕâÖÖÀàÐÍÎļþϵͳÔòmountÃüÁî»áʧ°Ü¡£
ÿ¸öÎļþϵͳÓÃÒ»¸övfsmount½á¹¹À´ÃèÐð¡£Èçͼ9.6Ëùʾ¡£ËüÃDZ»ÅÅÈëÓÉvfsmntlistÖ¸ÏòµÄµÄÁ´±íÖС£
ÁíÍâÒ»¸öÖ¸Õ룺vfsmnttailÖ¸ÏòÁ´±íµÄ×îºóÒ»¸öÈë¿Ú, ͬʱmru_vfsmntÖ¸ÕëÖ¸Ïò×î½üʹÓÃ×î¶àµÄÎļþϵͳ¡£ ÿ¸övfsmount½á¹¹ÖÐÓÉÒÔϲ¿·Ö×é³É£º°üº¬´ËÎļþϵͳµÄ¿éÉ豸µÄÉ豸ºÅ£¬´ËÎļþϵͳ°²×°µÄĿ¼ÒÔ¼°Îļþ ϵͳ°²×°Ê±·ÖÅäµÄVFS³¬¿éÖ¸Õë¡£VFS³¬¿éÖ¸ÏòÕâÖÖÀàÐÍÎļþϵͳºÍ´ËÎļþϵͳ¸ùinodeµÄfile_system_type½á¹¹¡£Ò»µ©´ËÎļþϵͳ±»¼ÓÔØ, Õâ¸öinode½«Ò»Ö±×¤ÁôÔÚVFS inod cacheÖС£
ΪÁËÔÚÐéÄâÎļþϵͳÖÐÕÒµ½Ä³¸öÎļþµÄVFS inode£¬VFS±ØÐëÒÀ´Î½âÎö´ËÎļþÃû×ÖÖеļä½ÓĿ¼ֱµ½ÕÒµ½´ËVFS inode¡£Ã¿´ÎĿ¼²éÕÒ°üÀ¨Ò»¸ö¶Ô°üº¬ÔÚ±íʾ¸¸Ä¿Â¼VFS inodeÖеIJéÕÒº¯ÊýµÄµ÷Óá£ÓÉÓÚÎÒÃÇ×ÜÊÇÈÃÿ¸öÎļþϵͳµÄ¸ù¿ÉÓò¢ÇÒÓÉ´ËϵͳµÄVFS ³¬¿éÖ¸ÏòËü£¬ËùÒÔÕâÊÇÒ»¸ö¿ÉÐз½°¸¡£Ã¿´ÎÔÚʵ¼ÊÎļþϵͳÖÐѰÕÒinode ʱ£¬Îļþϵͳ½«ÔÚĿ¼cacheÖÐѰÕÒÏàӦĿ¼¡£Èç¹ûÔÚĿ¼cacheÖÐÎÞÏàÓ¦Èë¿ÚÔòÎļþϵͳ±ØÐë´Óµ×²ãÎļþϵͳ»òinode cacheÖÐÈ¡µÃ´ËVFS inode¡£
Èç¹ûÒѰ²×°ÎļþϵͳÖÐÓÐЩÎļþ»¹ÔÚ±»ÏµÍ³Ê¹ÓÃÔò²»ÄÜÐ¶ÔØ´ËÎļþϵͳ¡£ÀýÈçÓнø³ÌʹÓÃ/mnt/cdrom»òÆä×ÓĿ¼ʱ½«²»ÄÜÐ¶ÔØ´ËÎļþϵͳ¡£Èç¹û½«ÒªÐ¶ÔصÄÎļþϵͳÖÐÓÐЩÎļþ»¹ÔÚ±»Ê¹Óã¬ÄÇôÔÚVFS inode cacheÖÐÓÐÓëÆä¶ÔÓ¦µÄVFS inode¡£Í¨¹ýÔÚinodeÁ´±íÖвéÕÒ´ËÎļþϵͳռÓÃÉ豸µÄinodeÀ´Íê³É´Ë¹¤×÷¡£¶ÔÓ¦´ËÒѰ²×°ÎļþϵͳµÄVFS³¬¿éΪdirty£¬±íʾËüÒѱ»Ð޸ĹýËùÒÔ±ØÐëд»Øµ½´ÅÅ̵ÄÎļþϵͳÖС£Ò»µ©Ð´Èë´ÅÅÌ,VFS³¬¿éÕ¼ÓõÄÄڴ潫¹é»¹µ½ºËÐĵĿÕÏÐÄÚ´æ³ØÖС£×îºó¶ÔÓ¦µÄvfsmount½á¹¹½«´ÓvfsmntlistÖÐÊÍ·Å¡£
²Ù×ÝÒѰ²×°Îļþϵͳʱ£¬ËüÃǵÄVFS inode½«±»Á¬Ðø¶Áд¡£ÐéÄâÎļþϵͳͨ¹ýά»¤Ò»¸öinode cacheÀ´¼ÓËÙ¶ÔËùÓÐÒѰ²×°ÎļþϵͳµÄ·ÃÎÊ¡£Ã¿´ÎVFS inode¶¼¿É´Óinode cacheÖжÁÈ¡³öÀ´ÒÔ¼ÓËÙ¶ÔÎïÀíÉ豸µÄ·ÃÎÊ¡£
VFS inode cacheÒÔÉ¢ÁбíÐÎʽʵÏÖ£¬ÆäÈë¿ÚʱָÏò¾ßÓÐÏàͬɢÁÐÖµµÄVFS inodeÁ´±í¡£Ã¿¸öinodeµÄÉ¢ÁÐÖµ¿Éͨ¹ý°üº¬´ËÎļþϵͳµÄµ×²ãÎïÀíÉ豸±êÖ¾·ûºÍinodeºÅ¼ÆËã³öÀ´¡£Ã¿µ±ÐéÄâÎļþϵͳ·ÃÎÊÒ»¸öinodeʱ,ϵͳ½«Ê×ÏÈÔÚVFS inode cacheÖвéÕÒ¡£ÎªÁËÔÚcacheÖÐѰÕÒinode£¬ÏµÍ³ÏȼÆËã³öÆäÉ¢ÁÐֵȻºó½«Æä×÷ΪinodeÉ¢ÁбíµÄË÷Òý¡£ÕâÑù½«µÃµ½Ö¸ÏòһϵÁÐÏàͬɢÁÐÖµµÄinodeÁ´±í¡£È»ºóÒÀ´Î¶Áȡÿ¸öinodeÖ±µ½ÕÒµ½ÄǸö¾ßÓÐÏàͬinodeºÅÒÔ¼°É豸±êÖ¾·ûµÄinodeΪֹ¡£
Èç¹ûÔÚcacheÖÐÕÒµ½ÁË´ËinodeÔòËüµÄcountÖµµÝÔöÒÔ±íʾÓû§Ôö¼ÓÁËÒ»¸ö,ͬʱÎļþ²Ù×÷½«¼ÌÐø½øÐС£·ñÔò±ØÐëÕÒµ½Ò»¸ö¿ÕÏÐVFS inodeÒÔ±ãÎļþϵͳÄÜ´ÓÄÚ´æÖжÁÈ¡´Ëinode¡£VFSÓÐÐí¶àÖÖÑ¡ÔñÀ´È¡µÃ¿ÕÏÐinode¡£Èç¹ûϵͳ¿ÉÒÔ·ÖÅä¶à¸öVFS inodeÔòËü½«°´Èçϲ½Öè½øÐУºÊ×ÏÈ·ÖÅäºËÐÄÒ³Ãæ²¢½«Æä´òËé³ÉеĿÕÏÐinode²¢½«Æä·ÅÈëinodeÁ´±íÖС£ÏµÍ³ËùÓеÄVFS inode¶¼±»·Åµ½ÓÉfirst_inodeÖ¸ÏòµÄÁ´±íºÍinodeÉ¢ÁбíÖС£Èç¹ûϵͳÒѾӵÓÐËùÓÐinode, ÔòËü±ØÐëÕÒµ½±ãÓÚÖØÐÂʹÓõÄinode¡£ÄÇЩinode×îºÃcount¼ÇÊýΪ0£»ÒòΪÕâÖÖinodeûÓÐËÔÚʹÓ᣺ÜÖØÒªµÄVFS inode£¬ÈçÎļþϵͳµÄ¸ùinode£¬Æäcount Óò×ÜÊÇ´óÓÚ0£¬ËùÒÔËüËùʹÓõÄinodeÊDz»Äܱ»ÖØÐÂʹÓõġ£Ò»µ©ÕÒµ½¿ÉÖØÓÃinodeÔòÓ¦Çå³ýÖ®: ÆäVFS inode¿ÉÄÜΪdirty,±ØÐëҪдÈëµ½ÎļþϵͳÖлòÕßÐèÒª¼ÓËø£¬´Ëʱϵͳ±ØÐëµÈµ½½âËøÊ±²ÅÄܼÌÐøÔËÐС£
ÕÒµ½ÐµÄVFS inodeºó±ØÐëµ÷ÓÃÎļþϵͳÏà¹ØÀý³ÌʹÓôӵײãʵ¼ÊÎļþϵͳÖжÁ³öµÄÄÚÈÝÌî³äËü¡£ÔÚÌî³ä¹ý³Ì ÖУ¬´ËÐÂVFS inodeµÄcount¼ÇÊýΪ1²¢±»¼ÓËøÒÔÅųâÆäËü½ø³Ì¶ÔËüµÄʹÓÃÖ±µ½´Ëinode°üº¬ÓÐЧÐÅϢΪֹ¡£
ΪÁËÈ¡µÃÕæÕýÐèÒªµÄVFS inode£¬Îļþϵͳ¿ÉÄÜÐèÒª´æÈ¡¼¸ÀàÆäËüinode¡£ÎÒÃǶÁȡһ¸öĿ¼ʱËäȻֻÐèÒª×îºóÒ»¼¶Ä¿Â¼µ«ÊÇËùÓеÄÖмäĿ¼Ҳ±»¶ÁÁ˳öÀ´¡£ÓÉÓÚʹÓÃÁËVFS inode cache£¬½ÏÉÙʹÓõÄinode½«±»¶ªÆú¶ø½Ï¶àʹÓõÄinode½«±£´æÔÚcacheÖС£
ΪÁ˼ÓËÙ¶Ô³£ÓÃĿ¼µÄ·ÃÎÊ£¬VFSά»¤×ÅÒ»¸öĿ¼Èë¿Úcache¡£
µ±ÔÚʵ¼ÊÎļþϵͳѰÕÒĿ¼ʱ£¬ÓйشËĿ¼µÄϸ½Ú½«±»´æÈëĿ¼cacheÖС£µ±ÔÙ´ÎѰÕÒ´ËĿ¼ʱ£¬ÀýÈçÔÚ´ËĿ¼ÖÐÁÐÎļþÃû»ò´ò¿ªÎļþ£¬ÔòÕâЩÐÅÏ¢¾Í¿ÉÒÔÔÚĿ¼cacheÖÐÕÒµ½¡£ÔÚʵ¼ÊʵÏÖÖÐÖ»ÓжÌĿ¼Èë¿Ú£¨×î¶à15¸ö×Ö ·û£©±»»º´æ£¬ÕâÊÇÒòΪÄÇЩ½Ï¶ÌĿ¼ÃûµÄĿ¼ÕýÊÇʹÓÃ×îÆµ·±µÄ¡£ÀýÈç/usr/X11R6/binÕâ¸ö¶ÌĿ¼¾³£±»X serverËùʹÓá£
Ŀ¼cacheÒ²ÓÉÉ¢Áбí×é³É£¬Ã¿¸öÈë¿ÚÖ¸Ïò¾ßÓÐÏàͬɢÁÐÖµµÄĿ¼cacheÈË¿ÚÁ´±í¡£É¢Áк¯ÊýʹÓðüº¬´ËÎļþϵͳµÄÉ豸ºÅÒÔ¼°Ä¿Â¼Ãû³ÆÀ´¼ÆËãÔÚ´ËÉ¢ÁбíÖÐµÄÆ«ÒÆÖµ»òÕßË÷ÒýÖµ, ÕâÑùÄܺܿìÕÒµ½±»»º´æµÄĿ¼¡£ Èç¹ûÔÚcacheÖеÄËÑѰÏûºÄµÄʱ¼äÌ«³¤»òÕßÉõÖÁûÓÐÕÒµ½ÔòʹÓôËcacheÓô¦²»´ó¡£
ΪÁ˱£Ö¤cacheµÄÓÐЧÐԺͼ°Ê±¸üУ¬VFS±£´æ×ÅÒ»¸ö×î½ü×îÉÙʹÓã¨LRU£©µÄĿ¼cacheÈË¿ÚÁ´±í¡£µ±Ê״βéÕÒ´ËĿ¼ʱÆäĿ¼Èë¿Ú±»Ê״ηÅÈëcacheÖв¢Ìí¼Óµ½µÚÒ»¼¶LRUÁ´±íµÄβ²¿¡£ÔÚÒѾ³äÂúµÄcache ÖÐËü´úÌæÎ»ÓÚLRUÁ´±í×îǰ¶ËµÄÏÖ´æÈë¿Ú¡£´ËĿ¼Èë¿Ú±»ÔÙ´ÎʹÓÃʱËü½«±»·Åµ½µÚ¶þ¼¶LRU cacheÁ´±íµÄ×îºó¡£´ËʱÐèÒª½«Î»ÓÚµÚ¶þ¼¶LRU cacheÁ´±íµÄ×îǰ¶ËµÄÄǸöÌæ»»µô¡£Èë¿ÚÔÚÁ´±íǰ¶ËµÄΨһÔÒòÊÇËüÃÇÒѾºÜ¾Ãû±»·ÃÎʹýÁË¡£Èç¹û±»·ÃÎʹýÄÇôËüÃǽ«Î»ÓÚ´ËÁ´±íµÄβ²¿¸½½ü¡£Î»ÓÚµÚ¶þ¼¶LRU cacheÁ´±íÖеÄÈë¿ÚÒª±ÈλÓÚµÚÒ»¼¶LRU cacheÁ´±íÖеİ²È«Ò»Ð©¡£
²Ù×ÝÒѰ²×°Îļþϵͳ½«²úÉú´óÁ¿¶Ô´Ë¿éÉ豸µÄ¶ÁдÇëÇó¡£ÕâЩ¿é¶ÁдÇëÇó¶¼ÊÇͨ¹ý±ê×¼ºËÐÄÀý³Ìµ÷ÓÃÒÔbuffer_head½á¹¹ÐÎʽ´«µÝµ½É豸Çý¶¯ÖС£ËüÃÇÌṩÁËÉ豸Çý¶¯ËùÐèµÄËùÓÐÐÅÏ¢£º±íʾÉ豸µÄÉ豸±êÖ¾·ûÒÔ¼°ÇëÇóµÄ¿éºÅ¡£ËùÓпéÉ豸¶¼±»¿´³ÉÏàͬ¿é´óСµÄÏßÐԿ鼯ºÏ¡£ÎªÁ˼ÓËÙ¶ÔÎïÀí¿éÉ豸µÄ·ÃÎÊ£¬Linux ʹÓÃÁËÒ»¸ö¿ébuffer cache¡£ÏµÍ³ÖÐÈ«²¿µÄ¿é»º³å£¬°üÀ¨ÄÇЩûʹÓùýµÄлº³å¶¼±£´æÔÚ´Ëbuffer cacheÖС£Õâ¸öcache±»¶à¸öÎïÀí¿éÉ豸¹²Ïí£»ÈκÎʱ¿Ì´ËcacheÖж¼ÓÐÐí¶àÊôÓÚ²»Í¬ÏµÍ³¿éÉ豸ÇÒ״̬²»Í¬µÄ¿é»º³å¡£Èç¹ûÓÐЧÊý¾Ý¿ÉÒÔ´Óbuffer cacheÖÐÕÒµ½Ôò½«½ÚÊ¡´óÁ¿·ÃÎÊÎïÀíÉ豸µÄʱ¼ä¡£ÈκζԿéÉ豸¶ÁдµÄ¿é»º³å¶¼±»·ÅÈë´ËcacheÖС£ËæÊ±¼äµÄ±ä»¯ÓÐЩ¿é»º³å¿ÉÄܽ«»á±»´ËcacheÖÐɾ³ýÒÔΪ¸üÐèÒªËüµÄ»º³åÌÚ³ö¿Õ¼ä£¬Èç¹ûËü±»Æµ·±Ê¹ÓÃÔò¿ÉÒÔÒ»Ö±±£´æÔÚ´ËcacheÖС£
´ËcacheÖеĿ黺³åÓÉÉ豸±êÖ¾·ûÒÔ¼°»º³å¶ÔÓ¦µÄ¿éºÅÀ´Î¨Ò»µÄ±íʾ¡£ËüÓÉÁ½¸ö¹¦Äܲ¿·Ö×é³É¡£ÆäÒ»ÊÇ¿ÕÏп黺³åÁ´±í¡£ËüΪÿ¸ö¿ÉÖ§³ÖµÄ¿é´óСÌṩÁËÒ»¸öÁ´±í²¢ÇÒϵͳÖеĿÕÏп黺³åÔÚ´´½¨»òÕß±»¶ªÆúʱ¶¼±»ÅÅÈë´ËÁ´±íÖС£µ±Ç°¿ÉÖ§³ÖµÄ¿é´óСΪ512¡¢1024¡¢2048¡¢4096Óë8192×Ö½Ú¡£Æä¶þÊÇcache×ÔÉí¡£ËüÊÇÓÃÒ»×éÖ¸Ïò¾ßÓÐÏàͬɢÁÐË÷ÒýÖµµÄ»º³åÁ´µÄÉ¢ÁÐ±í¡£Õâ¸öÉ¢ÁÐË÷Òýֵͨ¹ýÆä×ÔÉíµÄÉ豸±êÖ¾·ûÓëÊý¾Ý¿éÉ豸µÄ¿éºÅÀ´²úÉú¡£Í¼9.7¸ø³öÁËÒ»¸ö´øÓÐһЩÈë¿ÚµÄÉ¢ÁÐ±í¡£¿é»º³åҪôÔÚ¿ÕÏÐÁ´±íÖÐҪôÔÚ´Ëbuffer cacheÖС£Èç¹ûÔÚbuffer cacheÖÐÔòËüÃǰ´ÕÕ×î½ü×îÉÙʹÓã¨LRU£©Á´±íÀ´ÅÅÁС£ ¶ÔÓÚÿÖÖ»º³åÀàÐͶ¼ÓÐÒ»¸öLRUÁ´±í£¬ÏµÍ³Ê¹ÓÃËüÃÇÀ´¶ÔijÖÖ»º³å½øÐвÙ×÷£¬È罫´øÐÂÊý¾ÝµÄ»º³åдÈëµ½´ÅÅÌÉÏ¡£»º³åµÄÀàÐͱíʾÆäµ±Ç°×´Ì¬£¬LinuxÏÖÔÚÖ§³ÖÒÔϼ¯ÖÐÀàÐÍ£º
µ±ÎļþϵͳÐèÒª´ÓÆäµ×²ãÎïÀíÉ豸¶Áȡһ¸ö»º³å¿éʱ£¬Ëü½«Ê×ÏÈÔÚbuffer cacheÀïѰÕÒ¡£Èç¹ûÔÚ´Ëbuffer cacheÖÐÕÒ²»µ½ÔòËü½«´ÓÊʵ±´óСµÄ¿ÕÏÐÁ´±íÖÐÈ¡µÃÒ»¸öclean״̬µÄ½Úµã, ͬʱ½«Ð»º³åÌí¼Óµ½buffer cache ÖÐÈ¥¡£Èç¹ûËùÐèµÄ»º³åλÓÚbuffer cacheÖУ¬ÄÇôËü¿ÉÄÜÒѾ»òûÓиüС£Èç¹ûûÓб»¸üлòÕßËüΪпéÔòÎļþϵͳ±ØÐëÇëÇóÏàÓ¦µÄÊý¾ÝÇý¶¯´Ó´ÅÅÌÖжÁÈ¡¸ÃÊý¾Ý¿é¡£
ΪÁËÈôËbuffer cacheÔËÐиü¼ÓÓÐЧ²¢ÇÒÔÚʹÓôËbuffer cacheµÄ¿éÉ豸֮¼äºÏÀíµÄ·ÖÅäcacheÈë¿Ú£¬ÏµÍ³±ØÐë¶ÔÆä½øÐÐά»¤¡£LinuxʹÓÃbdflushºËÐĺǫ́½øÐÐÀ´¶Ô´ËcacheÖ´ÐÐÐí¶àËöË鹤×÷,µ«ÓÐʱ×÷ΪʹÓÃcache µÄ½á¹¹×Ô¶¯½øÐС£
bdflushÊǶԹý¶àµÄdirty»º³åϵͳÌṩ¶¯Ì¬ÏìÓ¦µÄ¼òµ¥ºËÐĺǫ́½ø³Ì£»ÕâЩ»º³å¿éÖаüº¬±ØÐ뱻дÈëµ½Ó²ÅÌÉϵÄÊý¾Ý¡£ËüÔÚϵͳÆô¶¯Ê±×÷Ϊһ¸öºËÐÄÏß³ÌÔËÐУ¬ÆäÃû×Ö½Ð"kflushd"¡£Äã¿ÉÒÔʹÓÃpsÃüÁî¿´µ½´Ëϵͳ½ø³Ì¡£Í¨³£Çé¿öÏ´˽ø³ÌÒ»Ö±ÔÚ˯ÃßÖ±µ½ÏµÍ³ÖеÄdirty»º³åÊýÄ¿Ôö´óµ½Ò»¶¨ÊýÄ¿¡£µ±·ÖÅäÓ붪Æú»º³åʱ,ϵͳÖÐdirty»º³åµÄÊýÄ¿½«×öÒ»¸öͳ¼Æ¡£Èç¹ûÆäÊýÄ¿³¬¹ýij¸öÊýÖµÔò»½ÐÑbdflush½ø³Ì¡£È±Ê¡µÄ·§ÖµÎª60%£¬ µ«ÊÇÈç¹ûϵͳ¼±Ð軺³åÔòÈκÎʱ¿Ì¶¼¿ÉÄÜ»½ÐÑbdflush¡£Ê¹ÓÃupdateÃüÁî¿ÉÒÔ¿´µ½ºÍ¸Ä±äÕâ¸öÊýÖµ¡£
# update -d bdflush version 1.4 0: 60 Max fraction of LRU list to examine for dirty blocks 1: 500 Max number of dirty blocks to write each time bdflush activated 2: 64 Num of clean buffers to be loaded onto free list by refill_freelist 3: 256 Dirty block threshold for activating bdflush in refill_freelist 4: 15 Percentage of cache to scan for free clusters 5: 3000 Time for data buffers to age before flushing 6: 500 Time for non-data (dir, bitmap, etc) buffers to age before flushing 7: 1884 Time buffer cache load average constant 8: 2 LAV ratio (used to determine threshold for buffer fratricide).
µ«ÓÐÊý¾ÝдÈ뻺³åʹ֮±ä³Édirtyʱ£¬ËùÓеÄdirty»º³å±»Á¬½Óµ½Ò»¸öBUF_DIRTY LRUÁ´±íÖУ¬bdflush»á½«Êʵ±ÊýÄ¿µÄ»º³å¿éдµ½´ÅÅÌÉÏ¡£Õâ¸öÊýÖµµÄȱʡֵΪ500¡£
updateÃüÁî²»½ö½öÊÇÒ»¸öÃüÁËü»¹ÊÇÒ»¸öºǫ́½ø³Ì¡£µ±×÷Ϊ³¬¼¶Óû§ÔËÐÐʱ£¨ÔÚϵͳ³õʼ»¯Ê±£©Ëü½«ÖÜÆÚÐÔµ÷ÓÃϵͳ·þÎñÀý³Ì½«ÀϵÄdirty»º³å³åË¢µ½´ÅÅÌÉÏÈ¥¡£ËüËùÍê³ÉµÄÕâ¸ö¹¤×÷ÓëbdflushÀàËÆ¡£µ±Ò»¸ödirty»º³åÍê³É´Ë²Ù×÷ºó, Ëü½«°Ñ±¾Ó¦Ð´Èëµ½¸÷×Ô´ÅÅÌÉϵÄʱ¼ä±ê¼Çµ½ÆäÖС£updateÿ´ÎÔËÐÐʱËü½«ÔÚϵͳµÄËùÓÐdirty»º³åÖвéÕÒÄÇЩ³åˢʱ¼äÒѹýÆÚµÄ¡£ÕâЩ¹ýÆÚ»º³å¶¼±»Ð´Èëµ½´ÅÅÌ¡£
/procÎļþÏµÍ³ÕæÕýÏÔʾÁËLinuxÐéÄâÎļþϵͳµÄÄÜÁ¦¡£ÊÂʵÉÏËü²¢²»´æÔÚ-²»¹Üʱ/procĿ¼»¹ÊÇÆä×ÓĿ¼ºÍÎļþ¶¼²»ÕæÕýµÄ´æÔÚ¡£µ«ÊÇÎÒÃÇÊÇÈçºÎÄܹ»Ö´ÐÐcat /proc/devicesÃüÁîµÄ£¿/procÎļþϵͳÏóÒ»¸öÕæÕýµÄÎÄ ¼þϵͳһÑù½«ÏòÐéÄâÎļþϵͳע²á¡£È»¶øµ±ÓжÔ/procÖеÄÎļþºÍĿ¼µÄÇëÇó·¢Éúʱ, VFSϵͳ½«´ÓºËÐÄÖеÄÊý¾ÝÖÐÁÙʱ¹¹ÔìÕâЩÎļþºÍĿ¼¡£ÀýÈçºËÐĵÄ/proc/devicesÎļþÊÇ´ÓÃèÐðÆäÉ豸µÄÄÚºËÊý¾Ý½á¹¹ÖвúÉú³öÀ´¡£/procÎļþϵͳÌṩ¸øÓû§Ò»¸öºËÐÄÄÚ²¿¹¤×÷µÄ¿É¶Á´°¿Ú¡£¼¸¸öLinux×Óϵͳ£¬ÈçÔÚmodulesÒ»ÕÂÃèÐðµÄLinuxºËÐÄÄ£¿é¶¼ÔÚ/procÎļþϵͳÖд´½¨Èë¿Ú¡£
ºÍËùÓÐUnix°æ±¾Ò»ÑùLinux½«Ó²¼þÉ豸¿´³ÉÌØÊâµÄÎļþ¡£Èç/dev/null±íʾһ¸ö¿ÕÉ豸¡£É豸Îļþ²»Ê¹ÓÃÎļþ ϵͳÖеÄÈκÎÊý¾Ý¿Õ¼ä£¬Ëü½ö½öÊǶÔÉ豸Çý¶¯µÄ·ÃÎÊÈë¿Úµã¡£EXT2ÎļþϵͳºÍLinux VFS¶¼½«É豸ÎļþʵÏÖ³ÉÌØÊâµÄinodeÀàÐÍ¡£ÓÐÁ½ÖÖÀàÐ͵ÄÉ豸Îļþ£º×Ö·ûÓë¿éÉè±¸ÌØÊâÎļþ¡£ÔÚºËÐÄÄÚ²¿É豸Çý¶¯ÊµÏÖÁËÀàËÆÎļþµÄ²Ù×÷¹ý³Ì£ºÎÒÃÇ¿ÉÒÔ¶ÔËüÖ´Ðдò¿ª¡¢¹Ø±ÕµÈ¹¤×÷¡£×Ö·ûÉ豸ÔÊÐíÒÔ×Ö·ûģʽ½øÐÐI/O²Ù×÷¶ø¿éÉ豸µÄI/O²Ù×÷ÐèҪͨ¹ýbuffer cache¡£µ±¶ÔÒ»¸öÉ豸Îļþ·¢³öµÄI/OÇëÇ󽫱»´«µÝµ½ÏàÓ¦µÄÉ豸Çý¶¯¡£³£³£ÕâÖÖÉ豸Îļþ²¢²»ÊÇÒ»¸öÕæÕýµÄÉ豸Çý¶¯¶ø½ö½öÊÇÒ»¸öαÉ豸Çý¶¯£¬ÈçSCSIÉ豸Çý¶¯²ã¡£É豸Îļþͨ¹ý±íʾÉ豸ÀàÐ͵ÄÖ÷ÀàÐͱêÖ¾·ûºÍ±íʾµ¥Ôª»òÖ÷ÀàÐÍʵÀýµÄ´ÓÀàÐÍÀ´ÒýÓá£ÀýÈçÔÚϵͳÖеÚÒ»¸öIDE¿ØÖÆÆ÷ÉϵÄIDEÓ²Å̵ÄÖ÷É豸ºÅΪ3¶øÆäµÚÒ»¸ö·ÖÇøµÄ´Ó±êÖ¾·ûΪ1¡£ËùÒÔÖ´ÐÐls -l /dev/hda1½«ÓÐÈçϽá¹û£º
$ brw-rw---- 1 root disk 3, 1 Nov 24 15:09 /dev/hda1
ÔÚºËÐÄÄÚ²¿Ã¿¸öÉ豸ÓÉΨһµÄkdev_t½á¹¹À´±íʾ£¬Æä³¤¶ÈΪÁ½×Ö½Ú£¬Ê××Ö½Ú°üº¬´ÓÉ豸ºÅ¶øÎ²×Ö½Ú°üº¬Ö÷É豸ºÅ¡£ ÉÏÀýÖеĺËÐÄIDEÉ豸Ϊ0x0301¡£±íʾ¿é»òÕß×Ö·ûÉ豸µÄEXT2 inodeÔÚÆäµÚÒ»¸öÖ±½Ó¿éÖ¸Õë°üº¬ÁËÉ豸µÄÖ÷´ÓÉ豸ºÅ¡£µ±VFS¶ÁÈ¡Ëüʱ£¬±íʾËüµÄVFS inode½á¹¹µÄi_rdevÓò±»ÉèÖóÉÏàÓ¦µÄÉ豸±êÖ¾·û¡£