¹ØÓÚ 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 sup
Ïà¹ØÎĵµ£º
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
linux ĬÈÏcli (command line interface)·Ö±æÂÊÒ»°ã¶¼±È½ÏС£¬ÏÔʾµÄ×ÖÌåºÜ´ó£¬²»Ì«ÃÀ¹Û£¬ÓÐʱ»¹Ó°Ïì½á¹ûµÄÏÔʾ£¨ÀýÈç³öÏÖkernel panic£©¡£ËùÒÔÓбØÒª¸Ä±äÒ»ÏÂcliµÄ·Ö±æÂÊ¡£
¼ÆËã»úÏÔʾÁìÓòËùÓõķֱæÂʵĸÅÄîÒ»°ãÊÇָÿӢ´ç¿ÉÏÔʾµÄÏñËØÊý£¬ÒòΪ´¹Ö±·Ö½â¶ÈÓëˮƽ·Ö½â¶ÈÒ»°ã²»Í¬£¬ËùÒÔ·Ö±æÂÊÒ»°ãÓÃvertical resolution X h ......
1.×ÔÆô¶¯£º
ÔÚ/etc/inittabÎļþÖÐÉèÖãº
# Default runlevel. (Do not set to 0 or 6)
id:5:initdefault:
2.×Ö·ûÖÕ¶ËģʽÏÂÆô¶¯x-windows:
startx ......
1. Ïà¹Øº¯Êý & ......
ÎÒÒѾ°ëÄêûÓÐʹÓÃWindowsµÄ·½Ê½¹¤×÷ÁË¡£Linux¸ßЧµÄÍê³ÉÁËÎÒËùÓеŤ×÷¡£
GNU/Linux²»ÊÇÿ¸öÈ˶¼ÏëÓõġ£Èç¹ûÄãÖ»ÐèÒª´¦ÀíÒ»°ãµÄÊÂÎñ£¬´òÓÎÏ·£¬ÄÇôÄã²»ÐèÒªÁ˽âÏÂÃæÕâЩÁË¡£
ÎÒ²»ÊÇÒ»¸ö¿ñÈȵÄ×ÔÓÉÈí¼þ·Ý×Ó£¬ËäÈ»ÎÒºÜϲ»¶×ÔÓÉÈí¼þ¡£ÕâÆªÎÄÕÂÒ²²»ÊÇÓÃÀ´ÍÆÐÐ×ÔÓÉÈí¼þÔ˶¯µÄ£¬ËäÈ»ÎÒ¾õµÃ×ÔÓÉÈí¼þÔ˶¯ÊǷdz£ºÃµÄ¡£
ÕâÆª ......