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

½âÎö 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


Ïà¹ØÎĵµ£º

linux C ¶ÁȡĿ¼Îļþ²¢Í³¼ÆÎļþÊý

#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <errno.h>
#include <string.h>
#define MAX 1024
int get_file_count(char *root)
{
 DIR *dir;
 struct dirent * ptr;
 int total = 0;
 char path[MAX];
 dir = opendir(root ......

Linux·ÂMacÖ®Linux KDE Macish


ÎÒÊÇ KDE Fans¡£ËùÒÔ£¬¿ÉÄÜÒÔÏ»á³öÏַdz£Ö÷¹ÛµÄ¹Ûµã¡£µ«ÊÇ£¬ÎÒ³ÐÈÏÎÒ²»¼«¶Ë~
Linux ϵÄÎÄÕÂÒ»´ó¶Ñ¶¼ÊÇ GNOME ÏÂÄ£·Â Mac£¬µ«ÊÇÔõÑùÄ£·Â¶¼¸Ð¾õ²»Í¬£¬±Ï¾¹²»Í¬¾ÍÊDz»Í¬~
²»È粻ҪһζµØ³­ÁË~ ÏàËÆÒ²¿ÉÒÔ°¡~ ÕâÑù¼ÈÓÐÌØÉ«ÓÖÓÐÃÀ¸Ð~
³ýÁË GNOME Ï嵀 Mac4Lin »¹Óкܲ»´íµÄ Elemetary¡£ÕâÁ½¸ö¶¼Êdz£¼ûµÄ GNOME ·Â Mac µÄ ......

Unix/Linux ϵͳ×Ô¶¯»¯¹ÜÀí: ÄÚ´æ¹ÜÀíƪ

2009 Äê 10 ÔÂ 29 ÈÕ
±¾ÎÄÊÇ Unix/Linux ϵͳ¹ÜÀí×Ô¶¯»¯ÏµÁÐÖеÄһƪÎÄÕ£¬Ö÷Òª½éÉÜÁËÄÚ´æ¹ÜÀíËùÉæ¼°µÄÃüÁ²¢Í¨¹ý±àд×Ô¶¯»¯½Å±¾ÊµÏÖÁËÄÚ´æ¹ÜÀíÓë¼à¿ØµÄ×Ô¶¯»¯
ÄÚ´æÊÇ Unix/Linux ÄÚºËËù¹ÜÀíµÄ×îΪÖØÒªµÄ×ÊÔ´Ö®Ò»£¬ÄÚ´æ¹ÜÀíÊÇϵͳ¹ÜÀíÖзdz£ÖØÒªÒ²ÊÇ×ÔӵĵIJ¿·Ö¡£ÏµÍ³¹ÜÀíÔ±ÐèÒªÕÆÎÕÄÚ´æ¹ÜÀíµÄ»ù±¾¹¤×÷Ô­ÀíÒÔ¼°Ê¹Óú ......

Unix/Linux ϵͳ×Ô¶¯»¯¹ÜÀí: ´ÅÅ̹ÜÀíƪ

2009 Äê 7 ÔÂ 30 ÈÕ
±¾ÎÄÊÇ Unix/Linux ϵͳ¹ÜÀí×Ô¶¯»¯ÏµÁÐÖеÄһƪ£¬Ö÷Òª½²ÊöÈçºÎʵÏÖ×Ô¶¯»¯¼à¿Ø´ÅÅÌ¿Õ¼ä״̬²¢¼°Ê±Í¨ÖªÏµÍ³¹ÜÀíÔ±²ÉÈ¡ÏàÓ¦´ëÊ©¡£
ÔÚ Unix/Linux ϵͳµÄÈÕ³£¹ÜÀí¹¤×÷ÖУ¬ÏµÍ³¹ÜÀíÔ±¿ÉÄÜ»áÓöµ½Òò´ÅÅÌ¿Õ¼äºÄ¾¡¶øµ¼Ö¶ªÊ§Êý¾Ý£¬»òÕßϵͳ±ÀÀ£µÈ¡£ÕâЩÑÏÖصÄʹʼ«´óµÄÓ°ÏìÁ˹¤×÷ЧÂÊ¡£Òò´Ë£¬¹ØעϵͳµÄ´ÅÅÌʹ ......

ÔÚlinuxÏ°²×°Sqlite

°²×°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 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ