½âÎö Linux ÖÐµÄ VFS Îļþϵͳ»úÖÆ
1. ÕªÒª
±¾ÎIJûÊö Linux ÖеÄÎļþϵͳ²¿·Ö£¬Ô´´úÂëÀ´×Ô»ùÓÚ IA32 µÄ 2.4.20 Äںˡ£×ÜÌåÉÏ˵ Linux
ϵÄÎļþϵͳÖ÷Òª¿É·ÖΪÈý´ó¿é£ºÒ»ÊÇÉϲãµÄÎļþϵͳµÄϵͳµ÷Ó㬶þÊÇÐéÄâÎļþϵͳ VFS(Virtual Filesystem
Switch)£¬ÈýÊǹÒÔØµ½ VFS Öеĸ÷ʵ¼ÊÎļþϵͳ£¬ÀýÈç ext2£¬jffs µÈ¡£±¾ÎIJàÖØÓÚͨ¹ý¾ßÌåµÄ´úÂë·ÖÎöÀ´½âÊÍ Linux ÄÚºËÖÐ
VFS µÄÄÚÔÚ»úÖÆ£¬ÔÚÕâ¹ý³ÌÖлáÉæ¼°µ½ÉϲãÎļþϵͳµ÷ÓúÍϲãʵ¼ÊÎļþϵͳµÄÈçºÎ¹ÒÔØ¡£ÎÄÕÂÊÔͼ´ÓÒ»¸ö±È½Ï¸ßµÄ½Ç¶ÈÀ´½âÊÍ Linux Ï嵀 VFS
Îļþϵͳ»úÖÆ£¬ËùÒÔÔÚÐðÊöÖиü²àÖØÓÚÕû¸öÄ£¿éµÄÖ÷ÂöÂ磬¶ø²»¾ÐÄàÓÚϸ½Ú£¬Í¬Ê±ÅäÓÐÈô¸ÉÕŲåͼ£¬ÒÔ°ïÖú¶ÁÕßÀí½â¡£
Ïà¶ÔÀ´Ëµ£¬VFS
²¿·ÖµÄ´úÂë±È½Ï·±Ëö¸´ÔÓ£¬Ï£Íû¶ÁÕßÔÚÔĶÁÍê±¾ÎÄÖ®ºó£¬ÄÜ¶Ô Linux Ï嵀 VFS
ÕûÌåÔË×÷»úÖÆÓиöÇå³þµÄÀí½â¡£½¨Òé¶ÁÕßÔÚÔĶÁ±¾ÎÄǰ£¬Ïȳ¢ÊÔ×Å×Ô¼ºÔĶÁÒ»ÏÂÎļþϵͳµÄÔ´´úÂ룬ÒԱ㽨Á¢Æð Linux
ÏÂÎļþϵͳ×î»ù±¾µÄ¸ÅÄ±ÈÈçÖÁÉÙÓ¦ÊìϤ super block, dentry, inode£¬vfsmount
µÈÊý¾Ý½á¹¹Ëù±íʾµÄÒâÒ壬ÕâÑùÔÙÀ´ÔĶÁ±¾ÎÄÒÔ±ã¼ÓÉîÀí½â¡£
2. VFS ¸ÅÊö
VFS ÊÇÒ»ÖÖÈí¼þ»úÖÆ£¬Ò²Ðí³ÆËüΪ Linux
µÄÎļþϵͳ¹ÜÀíÕ߸üÈ·Çе㣬ÓëËüÏà¹ØµÄÊý¾Ý½á¹¹Ö»´æÔÚÓÚÎïÀíÄÚ´æµ±ÖС£ËùÒÔÔÚÿ´Îϵͳ³õʼ»¯ÆÚ¼ä£¬Linux ¶¼Ê×ÏÈÒªÔÚÄÚ´æµ±Öй¹ÔìÒ»¿Ã VFS
µÄĿ¼Ê÷(ÔÚ Linux µÄÔ´´úÂëÀï³ÆÖ®Îª namespace)£¬Êµ¼ÊÉϱãÊÇÔÚÄÚ´æÖн¨Á¢ÏàÓ¦µÄÊý¾Ý½á¹¹¡£VFS Ŀ¼Ê÷ÔÚ Linux
µÄÎļþϵͳģ¿éÖÐÊǸöºÜÖØÒªµÄ¸ÅÄϣÍû¶ÁÕß²»Òª½«ÆäÓëʵ¼ÊÎļþϵͳĿ¼Ê÷»ìÏý£¬ÔÚ±ÊÕß¿´À´£¬VFS
Öеĸ÷Ŀ¼ÆäÖ÷ÒªÓÃ;ÊÇÓÃÀ´Ìṩʵ¼ÊÎļþϵͳµÄ¹ÒÔØµã£¬µ±È»ÔÚ VFS
ÖÐÒ²»áÉæ¼°µ½Îļþ¼¶µÄ²Ù×÷£¬±¾ÎIJ»²ûÊöÕâÖÖÇé¿ö¡£ÏÂÎÄÌᵽĿ¼Ê÷»òĿ¼£¬Èç¹û²»Ìرð˵Ã÷£¬¾ùÖ¸ VFS µÄĿ¼Ê÷»òĿ¼¡£Í¼ 1
ÊÇÒ»ÖÖ¿ÉÄܵÄĿ¼Ê÷ÔÚÄÚ´æÖеÄÓ°Ïñ£º
ͼ 1£ºVFS Ŀ¼Ê÷½á¹¹
3. ÎļþϵͳµÄ×¢²á
ÕâÀïµÄÎļþϵͳÊÇÖ¸¿ÉÄܻᱻ¹ÒÔØµ½Ä¿Â¼Ê÷Öеĸ÷¸öʵ¼ÊÎļþϵͳ£¬Ëùνʵ¼ÊÎļþϵͳ£¬¼´ÊÇÖ¸VFS
ÖеÄʵ¼Ê²Ù×÷×îÖÕҪͨ¹ýËüÃÇÀ´Íê³É¶øÒÑ£¬²¢²»Òâζ×ÅËüÃÇÒ»¶¨Òª´æÔÚÓÚijÖÖÌØ¶¨µÄ´æ´¢É豸ÉÏ¡£±ÈÈçÔÚ±ÊÕßµÄ Linux »úÆ÷ϾÍ×¢²áÓÐ
"rootfs"¡¢"proc"¡¢"ext2"¡¢"sockfs" µÈÊ®¼¸ÖÖÎļþϵͳ¡£
3.1 Êý¾Ý½á¹¹
ÔÚ Linux Ô´´úÂëÖУ¬Ã¿ÖÖʵ¼ÊµÄÎļþϵͳÓÃÒÔϵÄÊý¾Ý½á¹¹±íʾ£º
struct file_system_type {
const char *name;
int fs_flags;
struct super_block *(*read_super) (struct super_bloc
Ïà¹ØÎĵµ£º
1¡¢ÏµÍ³Ê±ÖÓ(System Clock)ÓëʵʱʱÖÓ(Real Time Clock)
ʵʱʱÖÓÖ¸µÄÊÇÓ²¼þʱÖÓ£¬¶øÏµÍ³Ê±ÖÓÖ¸µÄÊÇÈí¼þʱÖÓ£¬´æÔÚÓÚLinuxϵͳ֮ÖС£µ±ÏµÍ³Æô¶¯Ê±£¬Linux»á´ÓÓ²¼þ¶Áȡʱ¼ä×öΪϵͳʱ¼ä£¬Ö®ºó±ãÒ»Ö±²ÉÓÃϵͳʱ¼ä¡£LinuxÃüÁîdate¿ÉÒÔÓÃÀ´ÉèÖÃϵͳʱÖÓ£¬¶øhwclock»òÕßclockÔòÓÃÀ´ÉèÖÃʵʱʱÖÓ£¬¼´Ó²¼þʱÖÓ¡£
2¡¢Ê±ÖÓÆµÂÊ
µ¥ ......
±¾ÎľÍÓû§ÔÚ×°linuxµÄ¹ý³ÌÖУ¬ËùÓöµ½µÄlinux·ÖÇøÎÊÌâÀ´ÏêϸµØ½éÉÜһϣ¬ÕâÀïÒÔred hat linux7.1ΪÀý¡£
Ê×ÏÈÎÒÃÇÒª¶ÔÓ²ÅÌ·ÖÇøµÄ»ù±¾¸ÅÄî½øÐÐһЩ³õ²½µÄÁ˽⣬ӲÅ̵ķÖÇøÖ÷Òª·ÖΪ»ù±¾·ÖÇø£¨primary partion£©ºÍÀ©³ä·ÖÇø(extension partion)Á½ÖÖ£¬»ù±¾·ÖÇøºÍÀ©³ä·ÖÇøµÄÊýĿ֮ºÍ²»ÄÜ´óÓÚËĸö¡£ÇÒ»ù±¾·ÖÇø¿ÉÒÔÂíÉϱ»Ê¹Óõ«² ......
ƽ»¬Ç¨ÒƵļ¼Çɺͼ¼Êõ
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16"
heig ......
ÏÂÃæÊÇÄÚºËÔ´Âë·ÖÎö¹ý³ÌÖÐÓöµ½µÄÎÊÌâÏà¹ØÎÄÕµĽâÊÍ¡£
1. ¶Ôcontainer_ofµÄÀí½â
Õë¶ÔÄÚºËÖÐÓйØÓÚlistµÄÌØÊâʵÏÖ£¬ÔÚ±éÀúÁ´±í¸÷ÔªËØµÄʱºò£¬ÎªÁË»ñÈ¡Æä³ÉÔ±ÖµÓõ½ÁËcontainer_ofºê£¬ÉÏÃæÎļþÊǹØÓڸúêʵÏÖµÄÏêϸ½âÊÍ¡£
--------²»¶Ï¸üÐÂ------- ......
°²×°Sqlite
Ê×ÏÈÊÇÏÂÔØsqlite-3.3.8.tar.gz¡£
1¡¢½âѹsqlite-3.3.8.tar.gz£ºtar –xzvf sqlite-3.3.8.tar.gz,µÃµ½sqlite-3.3.8µÄÎļþ¡£
2¡¢ÔÚsqlite-3.3.8ͬһĿ¼Ï´´½¨sqliteÎļþ£ºmkdir sqlite
3¡¢Cd sqlite
4¡¢Ö´ÐÐconfigureÉú³É°²×°³ÌÐò
5¡¢ ../sqlite-3.3.8/configure --prefix=/home/work/zd ......