Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux ÐéÄâÎļþϵͳ¸Å¹Û

Linux ÐéÄâÎļþϵͳ¸Å¹Û
×÷Õß Richard Gooch <rgooch@atnf.cs.iro.au>
·­Òë albcamus <albcamus@gmail.com>
×îºó¸üÐÂ:2007 Äê 6 Ô 24 ÈÕ
°æȨ:1999, Richard Gooch
°æȨ:2005, Pekka Enberg
±¾ÎļþÒÔ GPLv2 Ðí¿É·¢·Å
[·­Òë˵Ã÷:Richard Gooch µÄÕâ·Ý Overview of the Linux Virtual File System λÓÚÄÚºË
Ô´´úÂëµÄ Documentation/filesystems/ÏÂ, ÎļþÃûÊÇ vfs.txt¡£ ¸ÃÎĵµÔÚ Understanding
the Linux Kernel Öб»ÍƼö, ÎÒÊÇ´Ó 2.6.16 ¹Ù·½ÄÚºËÖп½±´³öÀ´·­ÒëµÄ¡£ ×Ô¼ºÖªµÀˮƽ
²î, Àí½âºÍ±í´ï¶¼²»µ½Î», ËùÒÔ»¹Êǽ¨Òé¿´Ô­ÎÄ:( ]
½éÉÜ
====
ÐéÄâÎļþϵͳ(Ò²±»³Æ×öÐéÄâÎļþϵͳÇл»)ÊÇÄÚºËÖÐΪӦÓóÌÐòÌṩÎļþϵͳ½Ó¿ÚµÄÒ»¸öÈí¼þ²ã¡£
ͬʱ, ËüҲΪ²»Í¬µÄÎļþϵͳ¹²´æ, ÌṩÁËÒ»ÖÖ³éÏó¡£
open(2),stat(2),read(2),write(2),chmod(2)µÈVFSϵͳµ÷ÓÃ, ÊÇÔÚ½ø³ÌÉÏÏÂÎÄÖб»
µ÷Óõġ£ ÎļþËøµÄÃèÊöÔÚ Documnetation/filesystems/LockingÖС£
Ŀ¼Ï´æ(dcache)
-----------------
VFSʵÏÖÁËÖîÈç open(2),stat(2),chmod(2)µÈϵͳµ÷Óᣠ·¾¶Ãû×÷Ϊ²ÎÊý´«µÝ¸øÕâЩϵͳ
µ÷ÓÃ, È»ºóVFSʹÓ÷¾¶Ãû, ÔÚĿ¼Ï´æ(Ò²½Ð dentry cache »ò dcache)ÖвéÕÒÏàÓ¦µÄÄ¿
¼Ïî(dentry)¡£ ͨ¹ýĿ¼Ï´æ, ·¾¶Ãû(ÎļþÃû)ÄÜѸËÙµÃת»»³ÉÏàÓ¦µÄĿ¼Ïî¡£ Ŀ¼ÏîÖ»´æ
ÔÚÓÚÄÚ´æÖÐ, ²»»á±£´æµ½´ÅÅÌÉÏ:ËüÃÇ´æÔÚµÄÒâÒåÔÚÓÚÐÔÄÜ¡£
Ŀ¼Ï´æ(dcache)Ö¼ÔÚά»¤Õû¸öÎļþ¿Õ¼äµÄÒ»¸öÊÓͼ¡£ µ«´ó¶àÊý¼ÆËã»úÎÞ·¨½«ÎļþϵͳµÄÕû
¸öĿ¼½á¹¹»º´æÔÚÄÚ´æÖÐ, Òò´ËÓÐЩÎļþûÓб»»º´æ¡£ ΪÁË°Ñ·¾¶Ãû½âÎö³ÉÏàӦĿ¼Ïî(dentry),
VFSµÃÒ»²½²½µÄ½«Â·¾¶Ãû·Ö½â£¬´´½¨Ä¿Â¼Ïî(dentry)£¬¶ÁÈ¡ÏàÓ¦µÄInode¡£ Õâ¸ö¹ý³ÌÊÇͨ¹ý
InodeÖеIJéÕÒ·½·¨×öµ½µÄ¡£
Inode ¶ÔÏó
---------
Ò»¸öĿ¼Ïî £¨dentry£© ͨ³£°üº¬Ö¸Ïò inode µÄÖ¸Õë¡£ InodeÊÇÎļþϵͳÖеĶÔÏó, ÖîÈç³£¹æÎļþ,
Ŀ¼£¬ ¹ÜµÀ(FIFO) ºÍÆäËûµÄÎļþϵͳ¶ÔÏó¡£ ËüÃÇҪô±£´æÔÚÓÚ´ÅÅÌÉÏ(¿éÉ豸ÉϵÄÎļþϵͳ), Ҫô
´æÔÚÓÚÄÚ´æÖÐ(αÎļþϵͳ)¡£ µ±ÐèҪʱ, ÔÚ´ÅÅÌÉ쵀 inode»á±»¶ÁÈ¡µ½ÄÚ´æÖÐ; ¶ÔinodeµÄÐÞ¸ÄÒ²»á
д»Øµ½´ÅÅÌÉÏ¡£ Ò»¸ö Inode¿ÉÒÔ±»¶à¸öĿ¼Ïî(dentry)Ö¸Ïò(ÀýÈçÓ²Á´½Ó¾ÍÊÇÕâÑù)¡£
²éÕÒÒ»¸öÎļþµÄInode, VFSÐèÒªµ÷ÓÃËüµÄ¸¸Ä¿Â¼¶ÔÓ¦InodeµÄlookup()·½·¨¡£ ¸Ã·½·¨ÓÉInodeËùÔÚ
µÄÎļþϵͳʵÏÖÀ´¶¨Òå¡£ Ò»µ© VFSÕÒµ½ÁËdentry(Òò´ËÒ²¾ÍÖªµÀÁËinode


Ïà¹ØÎĵµ£º

[תÌû]LinuxÇý¶¯¿ª·¢Ñ§Ï°µÄһЩ±ØÒª²½Öè

 1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......

LinuxÄں˵ķ¢Õ¹

µ¼¶Á£ºÓÖÊÇM. Tim Jones µÄÎÄÕ£¬ËûÔÚ×Î×β»¾ëµØ¹Ø×¢×ÅÄÚºËÖÐÿһÏîеļ¼Êõ£¬²¢ÒÔ´ó¼ÒÒ×ÓÚÀí½âµÄ·½Ê½³ÊÏÖÔÚ¶ÁÕßÃæÇ°¡£
Linux Äں˵ķ¢Õ¹
½éÉÜ 2.6.28 ºÍ 2.6.29 °æ±¾ÖеÄÐÂÌØÐÔ
¼¶±ð£º Öм¶
M. Tim Jones, ¹ËÎʹ¤³Ìʦ, Emulex
Corp.
ÉúÃüµÄ±ØÈ»²»½ö°üÀ¨ËÀÍöºÍÄÉË°£¬»¹°üÀ¨ GNU/Linux® ²Ù×÷ϵͳµÄ·¢Õ¹£¬×îÐ ......

linuxѧϰÃüÁî

linuxÃüÁîÊÇÔÚbash»·¾³ÏÂÔËÐУ¬×î³£ÓõÄShellºÍÃüÁîÏÂÃæ×öÏÂ×ܽá
1.ls ÏÔʾµ±Ç°Ä¿Â¼ÏµÄÎļþºÍĿ¼
ͨ³£´îÅä²ÎÊýL £¬ÍêÕûÏÔʾÎļþºÍĿ¼£¬È¨ÏÞ£¬Ê±¼ä¡¢¹éÊô
´îÅäA£¬ÏÔʾ “.” µÄĿ¼ºÍÎļþ
2. cat ²é¿´ÎļþÄÚÈÝ
ͨ³£´îÅäÖض¨Ïò·ûºÅ> £¬> ÊÇ°ÑÒ»¸öÎļþµÄÄÚÈݼÓÔص½ÁíÍâÒ»¸öÎļþÄÚÈÝÀïÈ¥ Àý£º cat 1.tx ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ