Ò».²é¿´ËùÓÐÓ²Å̵Äuuid
ls -all /dev/disk/by-uuid
longseakerµÄʵÀý
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 05434a61-8a78-4ee5- a5db-6a49079b9e3d -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 07D8-0104 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 18201249-998a-4bb1-a8ca-8e249f8c46a8 -> ../../sda7
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 621CA7621CA73049 -> ../../sda2
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 9bfda689-81e8-465b-9943-c8a89f1770b8 -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 AEBC0AA1BC0A63E5 -> ../../sda3
¶þ´´½¨¹ÒÔØµã
sudo mkdir /media/winC;sudo mkdir /media/winD;sudo mkdir /media/DATA
27±à¼fstab
*´ò¿ªfstabÎĵµ
sudo gedit /etc/fstab
ʵÀý£¨ÕâÊÇlonseakerÉèÖÃǰµÄfstabÎĵµ£©
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# Entry for /dev/sda6 :
UUID=9bfda689-81e8-465b-9943-c8a89f1770b8 / ext3 relatime,errors=remount-ro 0 1
......
ÔÚLINUX»·¾³¿ª·¢Çý¶¯³ÌÐò£¬Ê×ÏÈҪ̽²âµ½ÐÂÓ²¼þ£¬½ÓÏÂÀ´¾ÍÊÇ¿ª·¢Çý¶¯³ÌÐò¡£
³£ÓÃÃüÁîÕûÀíÈçÏ£º
ÓÃÓ²¼þ¼ì²â³ÌÐòkudzu̽²âÐÂÓ²¼þ£ºservice kudzu start ( or restart)
²é¿´CPUÐÅÏ¢£ºcat /proc/cpuinfo
²é¿´°å¿¨ÐÅÏ¢£ºcat /proc/pci
²é¿´PCIÐÅÏ¢£ºlspci (Ïà±Ècat /proc/pci¸üÖ±¹Û£©
²é¿´ÄÚ´æÐÅÏ¢£ºcat /proc/meminfo
²é¿´USBÉ豸£ºcat /proc/bus/usb/devices
²é¿´¼üÅ̺ÍÊó±ê:cat /proc/bus/input/devices
²é¿´ÏµÍ³Ó²ÅÌÐÅÏ¢ºÍʹÓÃÇé¿ö£ºfdisk & disk - l & df
²é¿´¸÷É豸µÄÖжÏÇëÇó(IRQ):cat /proc/interrupts
²é¿´ÏµÍ³Ìåϵ½á¹¹£ºuname –a
dmidecode²é¿´Ó²¼þÐÅÏ¢£¬°üÀ¨bios¡¢cpu¡¢ÄÚ´æµÈÐÅÏ¢
dmesg | more ²é¿´Ó²¼þÐÅÏ¢
¶ÔÓÚ“/proc”ÖÐÎļþ¿ÉʹÓÃÎļþ²é¿´ÃüÁîä¯ÀÀÆäÄÚÈÝ£¬ÎļþÖаüº¬ÏµÍ³Ìض¨ÐÅÏ¢£º
Cpuinfo Ö÷»úCPUÐÅÏ¢
Dma Ö÷»úDMAͨµÀÐÅÏ¢
Filesystems ÎļþϵͳÐÅÏ¢
Interrupts Ö÷»úÖжÏÐÅÏ¢
Io ......
¸÷sectionµÄλÖ÷ֲ¼¿´Äں˵ÄÁ´½Ó½Å±¾
D:\KIDE\target\kernel-version\cgel3.0\linux\include\asm-generic\vmlinux.lds.h
D:\KIDE\target\kernel-version\cgel3.0\linux\arch\powerpc\kernel\vmlinux.lds.S
Kernel¾µÏñÆðʼµØÖ·KERNELBASE = 0xc000 0000£¬ÕâÒâζ×ÅÄں˴úÂëºÍÄÚºËÈ«¾Ö±äÁ¿µÈµÄµØÖ·¿Õ¼äÔÚ3g-4gµÄµØ·½£¬
¶øKernelʵ¼Ê±»boot½âѹµ½ramµÄ0µØÖ·´¦¡£ÕâÒâζ×ÅÔÚÄÚºËûÓпªÆômmu£¬½«×Ô¼ºÓ³Éäµ½3g¿ªÊ¼µÄµØÖ·¿Õ¼äǰ£¬ËùÓзÃÎʵĺ¯ÊýµØÖ·¡¢È«¾Ö±äÁ¿¶¼Òª¼õÈ¥0xc0000000Õâ¸öÆ«ÒÆÁ¿¡£
bootÌø×ªµã£¬kernelÈë¿Úº¯Êý_startËùÔÚÎļþ
D:\KIDE\target\kernel-version\cgel3.0\linux\arch\powerpc\kernel\head_32.S
Á´½Ó½Å±¾µÄÆðʼ·ûºÅ_stext¾ÍÊÇ´ÓÕâ¸öÎļþ¿ªÊ¼£¬¸÷ÀàÒì³£´¦ÀíÈë¿ÚÒ²ÔÚÕâ¸öÎļþÀï¡£
±£´æboot´«¹ýÀ´µÄr3,r4µ½r31ºÍr30,¸ør24¸³0;
r3:±âƽÉ豸Ê÷Ê×µØÖ·£¬ÎïÀíµØÖ·¡£
r4ÖÐÊÇʲô£¿¿ÉÄÜÊDZ»boot½âѹµÄÊ×µØÖ·£¬603ºÃÏñûÓõ½¡£
r24¸ÉʲôµÄ£¿¶àºË³õʼ»¯Ê¹Ó㬷ŵÄÊǺ˵ıàºÅ
Ö´ÐÐearly_init£º
early_initλÓÚ.init.text¶Î£¬ÕâÊÇÒ»¸öcÓïÑԵĺ¯Êý£¬¶ÑÕ»Ö¸Õër1δ¼ûµ½ÔÚ֮ǰµÄ´úÂëÖÐÖ¸¶¨£¬Ó¦¸ÃÊÇÑÓÓõÄbootÌø¹ýÀ´Ê±Ê¹ÓõÄÖµ¡£
reloc_offsetÕâ¸öº¯Êý±È½ÏÇÉÃʹÓÃÒ ......
ÔÚ½øÈëÕýÎÄǰÏÈ¿´Ò»ÏÂÎÒÔÚÍøÉÏ¿´µ½µÄÌû×Ó£º
ÎÊ£ºatomic_set(v,i)µÄ¶¨ÒåÊÇÕâÑùµÄ:
#define atomic_set(v,i) v->counter=i
µ«ÊÇ£¬ÔÚi386Ìåϵ½á¹¹ÖУ¬²»ÄÜÖ±½Ó°ÑÒ»¸öÄÚ´æ²Ù×÷Êýͨ¹ýÒ»ÌõmovÖ¸Áî´æµ½ÁíÒ»¸öÄÚ´æ²Ù×÷ÊýÖУ¬
±ÈÈçÒª°Ñint32ÀàÐ͵ıäÁ¿ i ÉèÖÃ³É j£¬±ØÐë¾¹ýÁ½ÌõÖ¸Áî:
mov eax,j
mov i,eax
Èç¹ûÕâÑùÀí½âÕýÈ·µÄ»°£¬ÄÇatomic_setÈçºÎ±£Ö¤Ô×ÓÐÔ£¿
»Ø¸´1£ºatomic_set(v,i) ÖеÄv±ØÐëÊÇatomic_t;
typedef struct { volatile int counter; } atomic_t;
"±ÈÈçÒª°Ñint32ÀàÐ͵ıäÁ¿ i ÉèÖÃ³É j£¬±ØÐë¾¹ýÁ½ÌõÖ¸Áî:
mov eax,j //jÊDz»Òª½ôµÄ
mov i,eax //ÐèÒª±£»¤µÄÊÇi
"
volatile ±£Ö¤Ö±½Ó¶Ô counterÄÚ´æÎ»ÖòÙ×÷,´Ó¶ø±£Ö¤Ô×ÓÐÔ.
Ò»¼ºÖ®¼û,²»±£Ö¤ÕýÈ·
»Ø¸´2£ºÎÒ¶®ÁË£¬ÕâÀïµÄ i ÊǾֲ¿µÄ£¬²»»áÓй²Ïí³åÍ»£¬Ö»ÓÐ v ²ÅÊǹ²Ïí·ÃÎʵġ£
¶àл£¡
¹ØÓÚÕýÈ·ÐÔÎÒ»¹ÊDz»ÄÜÈ·¶¨
Ò»¡¢ÒýÑÔ
ÔÚÏÖ´ú²Ù×÷ϵͳÀͬһʱ¼ä¿ÉÄÜÓжà¸öÄÚºËÖ´ÐÐÁ÷ÔÚÖ´ÐУ¬Òò´ËÄÚºËÆäʵÏó¶à½ø³Ì¶àÏ̱߳à³ÌÒ»ÑùÒ²ÐèҪһЩͬ²½»úÖÆÀ´Í¬²½¸÷Ö´Ðе¥Ôª¶Ô¹²ÏíÊý¾ÝµÄ·ÃÎÊ¡£ÓÈÆäÊÇÔÚ¶à´¦ÀíÆ÷ϵͳÉÏ£¬¸üÐèҪһЩͬ²½»úÖÆÀ´Í¬²½²»Í¬´¦ÀíÆ÷ÉϵÄÖ´Ðе¥Ôª¶Ô¹²ÏíµÄÊý¾ÝµÄ·ÃÎÊ¡£
......
googleÔõÑùʹÓÃlinux£¨Äںˣ©
½ñÄêµÄlinuxÄں˿ª·¢´ó»áÉÏ£¬googleµÄ¿ª·¢ÈËÔ±Ò²ÉĮ̈×öÁËÃûΪ“how google use linux"µÄÑݽ²¡£ÎÒ¶·µ¨·Òë×¢½âÒ»·¬——À¨ºÅÄÚΪע½â£¬»¶Ó¶ÁÕ߸«Õý¡£
£¨Ç°Ã漸¶Î½²google¶Ôlinux kernel´úÂëµÄ¹ÜÀí¼°¸ú½ø£¬Æ«Ï¸Ë飬²»·ÒëÁË£©
ÔÚgoogleΪlinux¼ÓÈëµÄ´úÂëÖУ¬3/4ÊǶÔÄں˺ËÐĵĸ͝£¬É豸Çý¶¯´úÂëÖ»ÊÇÆäÖÐÏà¶Ô½ÏСµÄÒ»²¿·Ö¡£
£¨linux·¢Õ¹µ½ÏÖÔÚÕâ¸ö½×¶Î£¬ÐèÒª¼ÓÈëµÄеÄÉ豸Çý¶¯ÒѾԽÀ´Ô½ÉÙÁË£©
Èç¹ûgoogleÒªÓëlinuxÉçÇøµÄºÏ×÷¿ª·¢£¬Äǽ«ÃæÁÙһϵÁÐÎÊÌâ¡£¸úÉÏlinux´úÂëµÄÖ÷¸ÉÌ«ÄÑ——ËüµÄ´úÂë¸üеÄÌ«¿ìÁË¡£ÔÚÒ»¸ö´óÐÍÏîÄ¿ À¿ª·¢Õß¶Ô²¹¶¡µÄÌá½»¡¢ÖظÄȷʵÊǸöÎÊÌâ¡£Alan Cox¶Ô´ËµÄ»Ø´ðÊ®·Ö¼òµ¥£ºÈË×ÜÊÇ̰µÃÎÞÑáµÄ£¬µ«ÓÐʱºò¾ÍÓ¦¸Ã¼òµ¥µÄ¶ÔËûÃÇ˵”²»“¡£
£¨Alan CoxÊÇlinux kernelµÄ¶þºÅ¹¦³¼£¬ÏÖÒѼÓÈëIntel¹«Ë¾¡£ÎÒ¾õµÃIntelÕâÑùµÄCPU¹«Ë¾ºÜÊʺÏÄں˿ª·¢Õߣ©
ÔÚCPUµ÷¶ÈÉÏ£¬google·¢ÏÖÏë¸ÄÓÃеÄcfs£¨“ÍêÈ«¹«Æ½µ÷¶È”£¬ÓÉCon KolivasyÔÚ2.6.23ÖмÓÈëÄںˣ©·Ç³£Âé·³¡£ÓÉÓÚÌ«Âé·³£¬google²»µÃ²»µ¹»ØÈ¥°ÑO(1) sheduler£¨2.6.23ǰÄÚºËʹÓõĵ÷¶ÈËã·¨£¬ÏëÖªµÀÕâ¶Î¾ßÌåµÄÀúÊ·£¬¿ÉÒԲο¼Áíһƪ ......
Ê×ÏÈ,·þÎñÆ÷GCCÒªÓÐ,²»È»Ê²Ã´¶¼²»ÄÜ×ö.Äܹ»ÓÃgcc -vÀ´²é¿´ÊÇ·ñ°²×°ÁËGCC,
#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit
--host=i386-redhat-linux
Thread model: posix gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)
ÓÐÒÔÉÏÀàËÆÐÅϢ˵Ã÷ÒÑÓÐGCC, ¼ÙÈçÄúûÓÐ,ÇëÏÈÄð²×°¹âÅÌ×°ºÃËû
Çë×îºÃµ½¹ÙÍøÏÂÔØÒÔÏÂÈκεĶ«Î÷: httpd-2.0.55.tar.gz MySQL-client-5.0.16-0.i386.rpm MySQL-server-5.0.16-0.i386.rpm MySQL-devel-5.0.16-0.i386.rpm php-5.1.1.tar.gz
ZendOptimizer-2.5.3-linux-glibc21-i386.tar.gz
gd-2.0.28.tar.gz libxml2-2.6.11.tar.gz zlib-1.2.1.tar.gz jpegsrc.v6b.tar.gz libpng-1.2.5.tar.gz
xpm-3.4k-2.i386.rpm gd-devel-1.8.4-11.i386.rpm
¿ÉÄÜÄúµÄµçÄÔÎÞÐèÕâô¶à.µ«×îºÃ¶¼ÏÂÔØ°É.
µ«ÊÇ,¿ÉÄÜÄú¿´µ½ÕâÌù×ÓµÄʱºò»áÓÐÒÔÉÏÈí¼þеİ汾ÏÂÔØÁË.¿´×Űì°É.
Ò»¡¢Èç¹ûÄãÔÀ´ÊDzÉÓÃrpm°ü°² ......