linuxÎļþϵͳÌåϵ½á¹¹ ºÍ ÐéÄâÎļþϵͳ(VFS)
ͼ 1. Linux Îļþϵͳ×é¼þµÄÌåϵ½á¹¹
Óû§¿Õ¼ä°üº¬Ò»Ð©Ó¦ÓóÌÐò£¨ÀýÈ磬ÎļþϵͳµÄʹÓÃÕߣ©ºÍ GNU C ¿â£¨glibc£©£¬ËüÃÇΪÎļþϵͳµ÷Ó㨴ò¿ª¡¢¶ÁÈ¡¡¢Ð´ºÍ¹Ø±Õ£©ÌṩÓû§½Ó¿Ú¡£ÏµÍ³µ÷ÓýӿڵÄ×÷ÓþÍÏñÊǽ»»»Æ÷£¬Ëü½«ÏµÍ³µ÷ÓôÓÓû§¿Õ¼ä·¢Ë͵½Äں˿ռäÖеÄÊʵ±¶Ëµã¡£
VFS ÊǵײãÎļþϵͳµÄÖ÷Òª½Ó¿Ú¡£Õâ¸ö×é¼þµ¼³öÒ»×é½Ó¿Ú£¬È»ºó½«ËüÃdzéÏ󵽸÷¸öÎļþϵͳ£¬¸÷¸öÎļþϵͳµÄÐÐΪ¿ÉÄܲîÒìºÜ´ó¡£ÓÐÁ½¸öÕë¶ÔÎļþϵͳ¶ÔÏóµÄ»º´æ£¨inode ºÍ dentry£©¡£ËüÃÇ»º´æ×î½üʹÓùýµÄÎļþϵͳ¶ÔÏó¡£
ÿ¸öÎļþϵͳʵÏÖ£¨±ÈÈç ext2¡¢JFS µÈµÈ£©µ¼³öÒ»×éͨÓýӿڣ¬¹© VFS ʹÓ᣻º³åÇø»º´æ»á»º´æÎļþϵͳºÍÏà¹Ø¿éÉ豸֮¼äµÄÇëÇó¡£ÀýÈ磬¶Ôµ×²ãÉ豸Çý¶¯³ÌÐòµÄ¶ÁдÇëÇó»áͨ¹ý»º³åÇø»º´æÀ´´«µÝ¡£Õâ¾ÍÔÊÐíÔÚÆäÖлº´æÇëÇ󣬼õÉÙ·ÃÎÊÎïÀíÉ豸µÄ´ÎÊý£¬¼Ó¿ì·ÃÎÊËÙ¶È¡£ÒÔ×î½üʹÓã¨LRU£©ÁбíµÄÐÎʽ¹ÜÀí»º³åÇø»º´æ¡£×¢Ò⣬¿ÉÒÔʹÓà sync ÃüÁ»º³åÇø»º´æÖеÄÇëÇó·¢Ë͵½´æ´¢Ã½Ì壨ÆÈʹËùÓÐδдµÄÊý¾Ý·¢Ë͵½É豸Çý¶¯³ÌÐò£¬½ø¶ø·¢Ë͵½´æ´¢É豸£©¡£
ʲôÊÇ¿éÉ豸£¿
¿éÉ豸¾ÍÊÇÒԿ飨±ÈÈç´ÅÅÌÉÈÇø£©Îªµ¥Î»ÊÕ·¢Êý¾ÝµÄÉ豸£¬ËüÃÇÖ§³Ö»º³åºÍËæ»ú·ÃÎÊ£¨²»±ØË³Ðò¶ÁÈ¡¿é£¬¶øÊÇ¿ÉÒÔÔÚÈκÎʱºò·ÃÎÊÈκο飩µÈÌØÐÔ¡£¿éÉ豸°üÀ¨Ó²ÅÌ¡¢CD-ROM ºÍ RAM ÅÌ¡£Óë¿éÉ豸Ïà¶ÔµÄÊÇ×Ö·ûÉ豸£¬×Ö·ûÉ豸ûÓпÉÒÔ½øÐÐÎïÀíѰַµÄýÌå¡£×Ö·ûÉ豸°üÀ¨´®Ðж˿ںʹŴøÉ豸£¬Ö»ÄÜÖð×Ö·ûµØ¶ÁÈ¡ÕâЩÉ豸ÖеÄÊý¾Ý¡£
Õâ¾ÍÊÇ VFS ºÍÎļþϵͳ×é¼þµÄ¸ß²ãÇé¿ö¡£ÏÖÔÚ£¬ÌÖÂÛʵÏÖÕâ¸ö×ÓϵͳµÄÖ÷Òª½á¹¹¡£
Ö÷Òª½á¹¹
Linux ÒÔÒ»×éͨÓöÔÏóµÄ½Ç¶È¿´´ýËùÓÐÎļþϵͳ¡£ÕâЩ¶ÔÏóÊdz¬¼¶¿é£¨superblock£©¡¢inode¡¢dentry ºÍÎļþ¡£³¬¼¶¿éÔÚÿ¸öÎļþϵͳµÄ¸ùÉÏ£¬³¬¼¶¿éÃèÊöºÍά»¤ÎļþϵͳµÄ״̬¡£ÎļþϵͳÖйÜÀíµÄÿ¸ö¶ÔÏó£¨Îļþ»òĿ¼£©ÔÚ Linux ÖбíʾΪһ¸ö inode¡£inode °üº¬¹ÜÀíÎļþϵͳÖеĶÔÏóËùÐèµÄËùÓÐÔªÊý¾Ý£¨°üÀ¨¿ÉÒÔÔÚ¶ÔÏóÉÏÖ´ÐеIJÙ×÷£©¡£ÁíÒ»×é½á¹¹³ÆÎª dentry£¬ËüÃÇÓÃÀ´ÊµÏÖÃû³ÆºÍ inode Ö®¼äµÄÓ³É䣬ÓÐÒ»¸öĿ¼»º´æÓÃÀ´±£´æ×î½üʹÓÃµÄ dentry¡£dentry »¹Î¬»¤Ä¿Â¼ºÍÎļþÖ®¼äµÄ¹ØÏµ£¬´Ó¶øÖ§³ÖÔÚÎļþϵͳÖÐÒÆ¶¯¡£×îºó£¬VFS Îļþ±íʾһ¸ö´ò¿ªµÄÎļþ£¨±£´æ´ò¿ªµÄÎļþµÄ״̬£¬±ÈÈçÐ´Æ«ÒÆÁ¿µÈµÈ£©¡£
ÐéÄâÎļþϵͳ²ã
VFS ×÷ΪÎļþϵͳ½Ó¿ÚµÄ¸ù²ã¡£VFS ¼Ç¼µ±Ç°Ö§³ÖµÄÎļþϵͳÒÔ¼°µ±Ç°¹Ò×°µÄÎļþϵͳ¡£
¿ÉÒÔʹÓÃÒ»×é×¢²áº¯ÊýÔÚ Linux Öж¯Ì¬µØÌí¼Ó»òɾ³ýÎļþϵͳ¡£Äں˱£´æµ±Ç°Ö§³ÖµÄÎļþϵͳµÄÁÐ±í£¬¿ÉÒÔͨ¹
Ïà¹ØÎĵµ£º
²éѯÈí¼þÍêÕûÃû³Æ
¸ñʽ£ºrpm -qa ²¿·ÖÎļþÃû
ÀýÈ磺shell>rpm -qa firefox
firefox-3.0.5-l.e15.centos
»áÁгö»ðºüä¯ÀÀÆ÷µÄÈ«³Æ¡£Ò»°ã°²×°°ü¶¼»á°üº¬°æ±¾ºÅ¡£
²éѯÈí¼þ°²×°Ä¿Â¼
¸ñʽ£ºrpm -ql ÍêÕûÈí¼þÃû
ÀýÈ磺rpm -ql firefox-3.0.5-l.e15.centos
°²×°rpm°ü
¸ñʽ£ºrpm -ivh Èí¼þ°ü
ÀýÈ磺rpm -ivh firefox-3 ......
/etc/services
InternetÍøÂç·þÎñÎļþ£¬¼ÇÂ¼ÍøÂç·þÎñÃûºÍËüÃǶÔӦʹÓõĶ˿ںż°ÐÒé¡£ÎļþÖеÄÿһÐжÔÓ¦Ò»ÖÖ·þÎñ£¬ËüÓÉ4¸ö×Ö¶Î×é³É£¬ÖмäÓÃTAB»ò¿Õ¸ñ·Ö¸ô£¬·Ö±ð±íʾ“·þÎñÃû³Æ”¡¢“ʹÓö˿ڔ¡¢“ÐÒéÃû³Æ”ÒÔ¼°“±ðÃû”¡£ÏÂÃæÊÇÕâ¸öÎļþµÄ½ÚÑ¡ÄÚÈÝ¡£
tcpmux 1/tcp ......
Linux Kernelѧϰ±Ê¼Ç
Table of Contents
1. ´æ´¢Æ÷Ѱַ
2. É豸Çý¶¯³ÌÐò¿ª·¢
3. ×Ö·ûÉ豸Çý¶¯³ÌÐò
3.1. É豸ºÅ
3.2. É豸ºÅµÄ·ÖÅäºÍÊÍ·Å
3.3. ÖØÒªµÄÊý¾Ý½á¹¹
3.4. ¶ÁºÍд
4. PCIÉ豸
5. Äں˳õʼ»¯ÓÅ»¯ºê
6. ·ÃÎÊÄں˲ÎÊýµÄ½Ó¿Ú
7. Äں˳õʼ»¯Ñ¡Ïî
8. ÄÚºËÄ£¿é±à³Ì
8.1. ÈëÃÅ
8.2. Ϊģ¿éÌí¼Ó ......
c++¿âÎļþÖеķûºÅµÄº¬Ò壺
ËùÓеķûºÅ¶¼ÊÇÒÔÏ»®Ïß¼ÓÉÏ´óд×ÖĸҲ¾ÍÊÇ"_Z"¿ªÍ·£¬¶ÔÓÚÔÚ ÀàÀï»òÕßÃüÃû¿Õ¼äÖеķûºÅ£¬ºóÃæ½ô¸ú"N"£¬È»ºóÊǸ÷¸öÃüÃû¿Õ¼äºÍÀàµÄÃû×Ö£¬Ã¿¸öÃû×ÖǰÊÇÃû×Ö×Ö·û´®µÄ³¤¶È£¬ËæºóÊÇ´óд×Öĸ"E"£¬¶ÔÓÚÒ»¸öº¯Êý£¬ËûµÄ²ÎÊýÁÐ±í¶¼ÔÚEºóÃæ£¬ ......