linuxÄÚºËÎļþϵͳ£¨×ªÔØ£©
1.
¸ÅÊö
¸ù¾ÝÒÔǰѧϰÄÚºËÔ´ÂëµÄ¾Ñ飬ÔÚѧϰÎļþϵͳʵÏÖ֮ǰ£¬ÎÒ´ó¸Å¶¨Á˸öÄ¿±ê£º
1
¡¢
½¨Á¢Ò»¸öÇåÎúµÄÈ«¾Ö¸ÅÄΪ½«À´ÐèÒªÑо¿´úÂëϸ½Ú´òϼáʵ»ù´¡¡£
2
¡¢
Ö»Ñо¿ÐéÄâÎļþϵͳ VFS
µÄʵÏÖ£¬²»Ñо¿¾ßÌåÎļþϵͳ¡£
ΪʲôѡÔñ Linux 2.4.30
£¿ÒòΪ¿ÉÒԲο¼¡¶Linux
Ô´ÂëÇé¾°·ÖÎö¡·Ò»Ê飬¼õÉÙѧϰÄѶȡ£
1.1.
»ù±¾¸ÅÄî
1¡¢
Ò»¿é´ÅÅÌ£¨¿éÉ豸£©£¬Ê×ÏÈÒª°´ÕÕijÖÖÎļþϵͳ£¨Èç NTFS
£©¸ñʽ½øÐиñʽ»¯£¬È»ºó²ÅÄÜÔÚÆäÉϽøÐд´½¨Ä¿Â¼¡¢±£´æÎļþµÈ²Ù×÷¡£
ÔÚ Linux
ÖУ¬ÓГ°²×°”ÎļþϵͳºÍ“Ð¶ÔØ”ÎļþϵͳµÄ¸ÅÄî¡£
Ò»¿é¾¹ý¸ñʽ»¯µÄ“¿éÉ豸”£¨²»¹ÜÊǸոոñʽ»¯ÍêµÄ£¬Ã»Óд´½¨ÈκÎÃû¼ºÍÎļþ£»»¹ÊÇÒѾ´´½¨ÁËĿ¼ºÍÎļþ£©£¬Ö»ÓÐÏȱ»“°²×°”£¬²ÅÄÜÈÚÈë Linux
µÄÎļþϵͳÖУ¬Óû§²Å¿ÉÒÔÔÚËüÉÏÃæ½øÐÐÕý³£µÄÎļþ²Ù×÷¡£
2
¡¢
Linux
°ÑĿ¼»òÆÕͨÎļþ£¬Í³Ò»¿´³É“Ŀ¼½Úµã”¡£Í¨³£Ò»¸ö“Ŀ¼½Úµã”¾ßÓÐÁ½¸öÖØÒªÊôÐÔ£ºÃû³ÆÒÔ¼°´ÅÅÌÉÏʵ¼Ê¶ÔÓ¦µÄÊý¾Ý¡£±¾ÎÄÖУ¬“Ŀ¼½Úµã”ÓÐʱ¼ò³ÆÎª“½Úµã”
“·ûºÅÁ´½Ó”ÊÇÒ»ÖÖÌØÊâµÄĿ¼½Úµã£¬ËüÖ»ÓÐÒ»¸öÃû³Æ£¬Ã»ÓÐʵ¼ÊÊý¾Ý¡£Õâ¸öÃû³ÆÖ¸ÏòÒ»¸öʵ¼ÊµÄĿ¼½Úµã¡£
3
¡¢
“½Ó¿Ú½á¹¹”£ºÔÚ Äں˴úÂëÖУ¬¾³£¿ÉÒÔ¿´µ½Ò»Öֽṹ£¬Æä³ÉԱȫ²¿ÊǺ¯ÊýÖ¸Õ룬ÀýÈ磺
struct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
int (*readdir) (struct file *, void *, filldir_t);
unsigned int (*poll) (struct file *, struct poll_table_struct *);
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
int (*mmap) (struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
int (*flush) (struct file *);
int (*release) (struct inode *, struct file *);
int (*fsync)
Ïà¹ØÎĵµ£º
Ò»¡¢»¨Éú¿ÇFor Linux°²×°²½Öè
¡¡¡¡ÏÂÔØÊʺÏÄúµÄunix/linux°æ±¾µÄ°²×°°üÎļþ,ʹÓÃrootÉí·Ý½âѹËõ°²×°°ü
¡¡¡¡# tar -zvxf phlinux-1.0-install.redhat.9.0.tar.gz
¡¡¡¡°²×°°üÎļþ½«½âѹËõÖÁphlinux_installĿ¼ÖÐ
¡¡¡¡# cd phlinux_install
¡¡¡¡Ö´Ðа²×°½Å±¾
¡¡¡¡# ./install.sh
¡¡¡¡Ö´Ðа²×°½Å±¾ºó,½«×Ô¶¯ÒÔ»¥¶¯ÅäÖÃÄ ......
linuxѧϰָÄÏÕë(ѧϰ·½·¨Ì¸Ö®¶þ)
Ö¸ÄÏÕë, linux, ѧϰ
һ.ΪʲôҪѧlinux?
µ±È»×îÖØÒªÊǰ®ºÃºÍÐËȤ£¡Èç¹ûÄãÕâÖÖ±ØÒªÑ§£¬»òÕ߸ù±¾²»Ï²»¶£¬Çë²»ÒªÀË·Ñʱ¼ä£¬ÄãѧҲѧ²»ºÃ£¡
¶þ.Æð²½
ÄãÓ¦¸ÃΪ×Ô¼º´´ÔìÒ»¸öѧϰlinuxµÄ»·¾³--ÔÚµçÄÔÉÏ×°Ò»¸ölinux»òunix
ÎÊÌâ1£º°æ±¾µÄÑ¡Ôñ
±±ÃÀÓÃredhat,Å·ÖÞÓÃSuSE,×ÀÃæmandrake ......
¿ªÊ¼ÔÚlinuxÏÂ×öcÓïÑÔ¿ª·¢
±¾ÆªÎÄÕÂÖ¼ÔÚ½éÉÜÈçºÎ¿ªÊ¼ÔÚlinuxÏÂÃæ½øÐÐCÓïÑÔ³ÌÐòÉè¼Æ£¬ÒÔ¼°ÈçºÎʹÓóÌÐòÉè¼Æ¼°µ÷ÊÔ¹¤¾ß½øÐбàдC³ÌÐò¡£Ñ§»áʹÓÃgcc¼°gdbµÈ¹¤¾ß½øÐÐlinuxϵÄc±àдºÍµ÷ÊÔ¡£
ÔÚ¿ªÊ¼Ö®Ç°£¬Ê×ÏÈҪ˵Ã÷µÄÊÇ£¬linux¿ª·¢³ÌÐò×îÖ÷ÒªµÄ±à¼Æ÷ÊÇvi/vim±à¼Æ÷£¬µ±È»»¹ÓÐemacs,gedit£¬Ö»ÊÇvi/vimµÄÓû§ÊµÔÚÊÇѹµ¹ÐԵĶàÊ ......
ÔÚÖ´ÐÐmake menuconfig ÃüÁî½øÐÐÄÚºËÅäÖÃʱ£¬Êä³öÏÂÃæµÄ³ö´íÐÅÏ¢£º
yyh:~/clfs/sources/linux-2.6.17.13$ make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}- menuconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/split-include
HOSTCC scripts/basic/docproc
HOSTCC scripts/kconfig/conf.o
HOSTCC scri ......
kernel.shmall = 268435456
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_tw_buckets = 5000
net.ip ......