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)
Ïà¹ØÎĵµ£º
public class Test {
public static void main(String aa[]) {
if (System.getProperty("os.name").equals("Linux")) {
System.out.println("linux");
} else if (System.getProperty("os.name").equals("Windows XP")) {
System.out.println("win ......
Ò»¡¢»¨Éú¿ÇFor Linux°²×°²½Öè
¡¡¡¡ÏÂÔØÊʺÏÄúµÄunix/linux°æ±¾µÄ°²×°°üÎļþ,ʹÓÃrootÉí·Ý½âѹËõ°²×°°ü
¡¡¡¡# tar -zvxf phlinux-1.0-install.redhat.9.0.tar.gz
¡¡¡¡°²×°°üÎļþ½«½âѹËõÖÁphlinux_installĿ¼ÖÐ
¡¡¡¡# cd phlinux_install
¡¡¡¡Ö´Ðа²×°½Å±¾
¡¡¡¡# ./install.sh
¡¡¡¡Ö´Ðа²×°½Å±¾ºó,½«×Ô¶¯ÒÔ»¥¶¯ÅäÖÃÄ ......
²é¿´ÏµÍ³µÄ´ÅÅÌÐÅÏ¢£º
fdisk -l
[root@localhost home]# fdisk -l
Disk /dev/hda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 979 7759395 ......
ǶÈëʽlinux»ù´¡ÖªÊ¶´ó¸Ù
ÆäʵÕâ¶Îʱ¼ä·Ç³£µÄ棬æµ½Á¬×ö·¹³ÔµÄʱ¼ä¶¼Ã»ÓÐÁË¡£µ«ÊǽñÌìÎÒÌØÒâ³é¿Õ£¬À´¸ø¹Ø×¢ÎÒµÄÅóÓÑÃÇÒ»µãµã½»´ú¡££¨ÒòΪ½ñÌì·¢ÏÖ¹Ø×¢µÄÈË»¹Âù¶àµÄ£¬ÓеãÊܳèÈô¾ª°¡£¡¹þ¹þ....£©ÈçÌâÎÒÔÝʱֻÄܸø´ó¼ÒһЩ´ó¸Ù£¬ºÜÏêϸµÄѧϰ¹ý³ÌÒªµÈ´ó¸Å°ë¸öÔµÄʱ¼ä£¬ÎÒÓÐÁË¿ÕÏÐʱ¼ä²ÅÄÜ ......
Îĵµ´´½¨ÈÕÆÚ£º2010-02-18
01 // P173: 2.±à³ÌÌâ (5)ÊäÈëÒ»¸ö×Ö·û´®£¬Í³¼ÆÓ¢ÎÄ×Öĸ¡¢¿Õ¸ñ¡¢Êý×ÖºÍÆäËû×Ö·ûµÄ¸öÊý¡£
02
03 // The beginning of C program: test06-05.c.
04  ......