· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Kernel24_Intro-KLDP

You are not allowed to 'backlinks'


Ä¿³Î 2.4 Intro

Ä¿³Î 2.4 Intro

Á¤¿ø¿µ suni00@kernel.pe.kr

v0.2, 2000³â 8¿ù 30ÀÏ
°³¹ßÄ¿³Î 2.4.0-tset ¹öÀüÀ» ÄÄÆÄÀÏÇϱâÀ§ÇÑ ±âº»ÀûÀÎ ¹è°æÁö½Ä°ú ÀϹÝÀû »ç¾çÀÇ PC¿¡¼­ÀÇ ÄÄÆÄÀÏ ¿É¼Ç¹× ¹æ¹ý ±×¸®°í Ä¿³Î 2.4 ¿¡¼­ ¹«¾ùÀÌ ´Þ¶óÁ³´ÂÁö¸¦ ´Ù·é´Ù. (ÀÌ ±ÛÀ» ¾²´Â ÇöÀç °¡Àå ÃֽŠ°³¹ß Ä¿³ÎÀÎ 2.4.0-test7À» ±âÁØÀ¸·Î ÀÌ·ÐÀûÀÎ¸é º¸´Ü ½ÇÁ¦·Î ¾î¶»°Ô ÇؾßÇÏ´ÂÁö¿¡ ÁßÁ¡À» µÎ¾ú´Ù.)

1. ¹è°æÁö½Ä

1.1 Ä¿³ÎÀ̶õ?

Ä¿³ÎÀ̶õ ¿î¿µÃ¼Á¦(Operating System)¿¡¼­ °¡Àå ÇÙ½ÉÀûÀÎ ¿ªÇÒÀÎ ÀÚ¿ø (¸Þ¸ð¸®, ÇÁ·Î¼¼¼­µî)À» °ü¸®ÇÏ¸ç ½Ã½ºÅÛÀÌ ¿øÈ°È÷ µ¹¾Æ°¥ ¼ö ÀÖµµ·Ï Á¦¾îÇØ ÁØ´Ù. ÇöÀç ¿ì¸®°¡ ¸®´ª½º(OS)¶ó°í Çϴ°͵µ ½ÇÁ¦ÀûÀ¸·Ð ¸®´ª½º¶õ ¿î¿µÃ¼Á¦ÀÇ Ä¿³Î À̸§À» ¸»Çϴ°ÍÀε¥ ÀÌ°ÍÀÌ È®ÀåµÈ Àǹ̷Π»ç¿ëµÇ¾î ÇöÀçÀÇ '¸®´ª½º'¶õ OS¸¦ ÁöĪÇÏ°Ôµµ µÈ°ÍÀÌ´Ù. ±×·¯¹Ç·Î Linux = kernelÀ̶õ µî½ÄÀÌ ¼º¸³ÇÑ´Ù.

1.2 Ä¿³ÎÀº ¾îµð¼­ ±¸Çϳª?

¿ì¼±ÀûÀ¸·Î ¾ÈÁ¤ ¹öÀü°ú °¡Àå ÃֽŠ°³¹ß¹öÀüÀ» ¿øÇÑ´Ù¸é http://kernel.pe.kr ·Î Á¢¼ÓÇÏ¸é µÈ´Ù. ±× ÀÌ¿Ü¿¡´Â ´ÙÀ½ ¹Ì·¯ »çÀÌÆ®¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù.

1.3 ÃֽŠĿ³Î ¹öÀüÀº ¾î¶»°Ô ¾Ë¾Æº¸³ª?

SHELL¿¡¼­ finger @finger.kernel.org ¸í·ÉÀ¸·Î ÃֽŠĿ³Î¹öÀüÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ÇöÀç ÃֽŹöÀüÀº ´ÙÀ½°ú °°´Ù.

  • stable version : 2.2.16
  • beta version : 2.4.0-test7
  • prepatch version : 2.4.0-test8/pre1
Ä¿³ÎÀº stable version(¾ÈÁ¤¹öÀü)°ú beta version(°³¹ß¹öÀü)À¸·Î ³ª´©´Âµ¥ ÀÌ 
µÎ ¹öÀüÀÇ Â÷ÀÌ´Â minor number°¡ ¦¼öÀÌ³Ä È¦¼öÀ̳ķΠ±¸ºÐÇÑ´Ù.
(minor number¶õ Ä¿³Î 2.2.16ÀÌ ÀÖ´Ù¸é °¡¿îµ¥ ¼öÀÎ 2°¡ minor numberÀÌ°í
Á¦ÀÏ ¾ÕÀÇ 2´Â major number ÀÌ´Ù. ¸¶Âù°¡Áö·Î 2.3.99¿¡¼± major´Â 2ÀÌ°í minor´Â
3ÀÌ´Ù.)
±×·¸´Ù¸é 2.4.0-test ¹öÀüµéÀº minor number°¡ ¦¼öÀε¥ ¿Ö °³¹ß¹öÀüÀ̶ó°í Çϳª?
±× ÀÌÀ¯´Â 2.3.99ÀÇ ÆÐÄ¡¹öÀüµéÀÌ ÀÌÁ¦ °ÅÀÇ 2.4 ¾ÈÁ¤¹öÀü¿¡ °¡±î¿öÁ³´Ù´Â Àǹ̷Î
Linus°¡ 2.4.0-test¶ó À̸§ ºÙÀΰÍÀÌ´Ù.

1.4 Ä¿³Î ÄÄÆÄÀÏ ¹æ¹ý(Ä¿³Î 2.4.0-test7)

¿©·¯ °¡Áö ¹æ¹ýµéÀÌ ÀÖÁö¸¸ ÀúÀåµÈ Ä¿³Î¿É¼Ç¼³Á¤ ÆÄÀÏÀÌ ÀÖ´Ù¸é oldconfig¸¦ ÀúÀåµÈ ÆÄÀÏÀÌ ¾ø´Ù¸é menuconfig¸¦ ÃßõÇÑ´Ù.

  1. make oldconfig ¶Ç´Â make menucofig
    make oldconfig¸¦ ÇϱâÀ§Çؼ± ´ÙÀ½°ú °°Àº ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.
    ¿¹Àü¿¡ ¼³Á¤ÇÑ Ä¿³Î¿É¼ÇÀÌ kernel.config ¶õ À̸§À¸·Î ÀúÀåµÇ¾îÀÖ´Ù¸é 
    ÀÌ ÆÄÀÏÀ» »õ ¹öÀüÀÇ Ä¿³ÎÀÌ ÀÖ´Â /usr/src/linux µð·ºÅ丮¿¡ .config¶õ À̸§À¸·Î 
    Ä«ÇÇÇÑ´Ù.
    # cp kernel.config /usr/src/linux/.config
    À§¿Í°°ÀÌ ÇÑÈÄ make oldconfig¸¦ ½ÇÇàÇÏ¸é ¿¹Àü ¿É¼ÇÀ» ±×´ë·Î Àû¿ë½ÃÄÑÁÖ¸ç
    Ȥ½Ã³ª »õ·Î¿î ¿É¼ÇÀÌ ÀÖ´Ù¸é È­¸é¿¡ º¸¿©ÁÖ¸ç ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
    
  2. make dep
  3. make clean
  4. make bzlilo
    make bzlilo¶õ ´ÙÀ½°ú °°Àº ¸í·ÉµéÀ» ¼øÂ÷ÀûÀ¸·Î ½ÇÇàÇÑ°Í°ú °°´Ù.
    # make bzImage
    # cp /usr/src/linux/arch/i386/boot/bzImage /vmlinuz
    # /sbin/lilo
    
  5. mv /vmlinuz /boot/vmlinuz-2.4.0-test7
  6. mv /System.map /boot/System-2.4.0-test7
  7. vi /etc/lilo.conf
    ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº È­¸éÀ» º¼ ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=50
    default=linux
    
    image=/boot/vmlinuz-2.4.0-test7  ---> »õ·Î »ý¼ºÇÑ Ä¿³ÎÀ̹ÌÁö¸¦ linux¶õ ·¹À̺í
            label=linux                   ·Î ºÎÆÃÇÒ ¼ö ÀÖµµ·Ï ÇϱâÀ§ÇØ 
            read-only
            root=/dev/hda1
    
    image=/boot/vmlinuz-2.2.16      ---> ¿¹Àü Ä¿³ÎÀÌ 2.2.16À̶ó°í °¡Á¤ÇßÀ»¶§ 
            label=old                    old¶õ ·¹À̺í·Î Á¤ÀÇÇÑ´Ù.
            read-only
            root=/dev/hda1
    
  8. /sbin/lilo

1.5 ¸ðµâ ÄÄÆÄÀÏ ¹æ¹ý

¸ðµâÀÌ »ý¼ºµÇ´Â µð·ºÅ丮´Â '/lib/modules/2.4.0-test7'ÀÌ°í ¸¸¾à ÇöÀç Ä¿³ÎÀÇ ¸ðµâÀ» ´Ù½Ã »ý¼ºÇÏ·Á°í ÇÑ´Ù¸é ÇöÀç Ä¿³ÎÀÇ ¸ðµâ µð·ºÅ丮¸¦ Áö¿ì°í ´Ù½Ã ÄÄÆÄÀÏ Çϱ⠹ٶõ´Ù. (Ä¿³Î 2.4.0-test ¹öÀü¿¡¼­´Â ¸ðµâÀÇ µð·ºÅ丮±¸Á¶°¡ ¸¹ÀÌ ¹Ù²î¾ú´Ù.)

  1. make modules
  2. make modules_install

2. Ä¿³Î 2.4.0-test ¹öÀü

2.1 ÇÊ¿äÇÑ ÆÐÅ°Áö

RedHat ±â¹Ý 6.1ÀÌ»óÀÇ ¹èÆ÷ÆÇÀ̶ó¸é modutils¸¸ ¾÷±×·¹À̵å ÇÏ¸é µÉ°ÍÀÌ´Ù. (modutils¸¦ ¾÷Çϴµ¥ glibc¹öÀüÀÌ ³·´Ù¸é glibcµµ ¾÷ÇØ¾ß ÇÑ´Ù. glibc´Â ·ÎÄÉÀÏ°ú timezone, ¿©·¯ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇؼ­ ÀÇÁ¸¼º ¹®Á¦¿¡ ¸¹Àº ¿µÇâÀ» ³¢Ä¡¹Ç·Î ¾÷±×·¹À̵å Çϴµ¥ ÁÖÀǸ¦ ÇÊ¿ä·Î ÇÑ´Ù. rpm ¹öÀüÀÌ ³·´Ù¸é rpmµµ ¾÷ÇØ¾ß ÇÑ´Ù.) 2.4.0-test Ä¿³ÎÀ» »ç¿ëÇϱâÀ§Çؼ­ ´ÙÀ½ »çÇ×À» È®ÀÎÇ϶ó.

          ÆÐÅ°Áö ¸í                ¹öÀü                    È®Àιæ¹ý
        o  Gnu C                2.7.2.3            # gcc --version
        o  Gnu make             3.77               # make --version
        o  binutils             2.9.1.0.22         # ld -v
        o  util-linux           2.10o              # kbdrate -v
        o  modutils             2.3.13             # insmod -V
        o  e2fsprogs            1.18               # /sbin/tune2fs --version
        o  pcmcia-cs            3.1.19             # cardmgr -V
        o  PPP                  2.4.0              # pppd --version
        o  isdn4k-utils         3.1beta7           # isdnctrl 2>&1|grep version

2.2 Ä¿³Î 2.4¿¡¼­ ´Þ¶óÁø°Í°ú »õ·Î¿î °Íµé

  • Bogo Mips°¡ µÎ ¹è·Î ¿Ã¶ó°£´Ù.(AMD-K6 ¿Í È®ÀÎ ¸øÇÑ Processor Á¦¿Ü)
    $ cat /proc/cpuinfo ¸¦ Çغ¸¸é È®ÀÎÇÒ ¼ö ÀÖ´Ù.
    Bogo(bogos : °¡Â¥)À̹ǷΠ½Å·ÚÇÒ¼ø ¾øÁö¸¸ ±âºÐ¸¸Àº ÁÁÁö¾ÊÀº°¡?
    
  • modutils ¾÷±×·¹À̵å½Ã ¹Ù²î´Â °Íµé
    ¸¸¾à modutils ¹öÀüÀÌ ¾Õ¿¡¼­ ¸í½ÃÇÑ ¹öÀüº¸´Ù ³·Àºµ¥ ¸ðµâ ÄÄÆÄÀÏÀ» ÇÑ´Ù¸é
    ¿¡·¯°¡ ³­´Ù. ²À modutils¸¦ ¾÷ ÇØ¾ß ¸ðµâ ÄÄÆÄÀÏÀ» ÇÒ ¼ö ÀÖ´Ù.
    modutils¸¦ ¾÷ÇÏ¸é ¿¹ÀüÀÇ /etc/conf.modules°¡ /etc/modules.conf·Î ¹Ù²î°í
    USB ¸ðµâµµ ÀÚµ¿·ÎµùÀÌ °¡´ÉÇÏ¸ç ¸¹Àº ¿¹¾à¾î¸¦ Áö¿øÇÑ´Ù.
    
    ´ÙÀ½ ftp »çÀÌÆ®¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù.
    ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.3/
    
  • ¸ðµâÀÌ À§Ä¡ÇÑ /lib/modules/2.4.0-test7 µð·ºÅ丮 ±¸Á¶
    Ä¿³Î 2.4.0-test6 ÀÌ»óÀÇ ¹öÀüºÎÅÍ ¸ðµâµéÀÌ À§Ä¡ÇÏ´Â '/lib/modules/Ä¿³Î¹öÀü' ÀÇ 
    µð·ºÅ丮 ±¸Á¶°¡ ´õ ¼¼ºÐÈ­ µÇ°í ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ¹Ù²î¾ú´Ù.
    ÇöÀç ÇÊÀÚÀÇ µð·ºÅ丮 ±¸Á¶ÀÌ´Ù.
    
    [kernel@suni00/lib/modules/2.4.0-test7]$ ls -l
    
    lrwxrwxrwx  1 root  root    26 Sep  4 17:09 build -> /usr/src/linux-2.4.0-test7/
    drwxr-xr-x  6 root  root  1024 Sep  4 17:09 kernel/
    -rw-r--r--  1 root  root  1340 Sep  5 20:33 modules.dep
    -rw-r--r--  1 root  root  3235 Sep  5 20:33 modules.pcimap
    drwxr-xr-x  2 root  root  1024 Sep  4 17:09 pcmcia/
    
    À§ÀÇ kernel µð·ºÅ丮¿¡ µé¾î°¡º¸¸é ´ÙÀ½°ú °°ÀÌ ¼¼ºÐÈ­ µÇ¾îÀÖ´Ù.
    [kernel@suni00/lib/modules/2.4.0-test7/kernel]$ ls -l
    
    drwxr-xr-x   3 root     root         1024 Sep  4 17:09 arch/
    drwxr-xr-x   8 root     root         1024 Sep  4 17:10 drivers/
    drwxr-xr-x   9 root     root         1024 Sep  4 17:09 fs/
    drwxr-xr-x   4 root     root         1024 Sep  4 17:09 net/
    
    drivers µð·ºÅ丮 ±¸Á¶¸¦ º¸¸é ¿¹Àü ¸ðµâµéÀÇ µð·ºÅ丮 ±¸Á¶°¡ ¿©±â·Î ¿Å°Ü ¿ÔÀ½À»
    ¾Ë ¼ö ÀÖ´Ù. 
    [kernel@suni00/lib/modules/2.4.0-test7/kernel/drivers]$ ls -l
    
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 block/
    drwxr-xr-x   3 root     root         1024 Sep  4 17:09 char/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 ide/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 net/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 sound/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:10 video/
    
  • UID,GID bit°¡ 16bit¿¡¼­ 32bit·Î ¹Ù²î¾ú´Ù.
    2^16Àº 65536À̹ǷΠ»ç¿ëÀÚ¸¦ 65536¸í ±îÁö ¸¸µé¼ö ÀÖÁö¸¸ Ä¿³Î 2.4¿¡¼­´Â 
    2^32 Áï 4294967296¸íÀ» ¸¸µé¼ö ÀÖ´Ù.(½Ã½ºÅÛ ÄÝÀÇ º¯°æµµ ÇÊ¿ä·Î Çϸç
    Çö½ÇÀûÀ¸·Î ÀÌ·¸°Ô ¸¹Àº À¯Àú¸¦ ÇÑ ¼­¹ö¿¡ µÐ´Ù´Â°ÍÀº ¹«¸®ÀÌ´Ù.)
    
  • »ý¼º°¡´ÉÇÑ ÇÁ·Î¼¼½ºÀÇ ¼öÀÇ Á¦ÇÑÀÌ ¾ø¾îÁ³´Ù.
    2.2.x Ä¿³ÎÀÇ ¼Ò½º¸¦ º¸¸é include/linux/tasks.h¿¡¼­ NR_TASKSÀÇ °³¼ö°¡ 512·Î
    Á¤ÀǵǾî ÀÖ´Ù. 512ÀÌ»óÀÇ ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á¸é ÀÌ °ªÀ» °íÃÄ 
    ÁÖ¾î¾ß Çߴµ¥ x86 machine¿¡¼­´Â GDT(Global Descriptor Table)ÀÇ Á¦ÇѶ§¹®¿¡ 
    4092±îÁö ¹Û¿¡ ÇÒ ¼ö ¾øµµ·Ï µÇ¾îÀÖ¾ú´Ù.
    2.4.0-test ¹öÀü¿¡¼­´Â task ÀڷᱸÁ¶°¡ µ¿ÀûÀ¸·Î ÇÒ´çµÇ¾î NR_TASKS °ªÀÌ
    ¾ø¾îÁ³°í ¸Þ¸ð¸®ÀÇ ÇѰ踸ÀÌ À¯ÀÏÇÑ Á¦¾àÀ¸·Î µû¸¥´Ù.
    
  • °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇϱâÀ§ÇØ /var/shm(¶Ç´Â /dev/shm)À» ¸¶¿îÆ® ÇؾßÇÑ´Ù.
    Ä¿³Î 2.3 °³¹ß¹öÀüÀ» óÀ½ ÄÄÆÄÀÏÇÏ°í ºÎÆÃÇßÀ»¶§ Á¦ÀÏ Ã³À½ Á÷¸éÇß´ø ¹®Á¦Àε¥
    System V °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸øÇؼ­ ºÎÆýà ÀÚµ¿À¸·Î ¶ß´Â ¾ÆÆÄÄ¡ µ¥¸óÀÌ
    ¶ßÁö ¸øÇÏ´Â ¹®Á¦¿Í ¿©·¯ ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ»¶§ °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸øÇØ
    ¿¡·¯°¡ ³ª´Â ¹®Á¦°¡ ¹ß»ýÇß¾ú´Ù. 2.4-test ¹öÀüÀ» ¾²±âÀ§Çؼ± ²À ÇØÁà¾ß ÇÏ´Â
    ºÎºÐÀÌ´Ù.
    
    # mkdir /var/shm
    
    # vi /etc/fstab
    none            /var/shm           shm         defaults        0 0
    
  • ipchains°¡ iptables·Î ¹Ù²î¾ú´Ù.
    menuconfig ¿É¼Ç¿¡¼­ Networking options  ---> [*] Network packet filtering
    (replaces ipchains) ¸¦ ¼±ÅÃÇÏ°í IP: Netfilter Configuration  --->
    <M> ipchains (2.2-style) support ¸¦ ¼±ÅÃÇϸé Ä¿³Î 2.2.x ¿Í °°Àº 
    ¹æ½ÄÀ¸·Î ¾µ ¼ö ÀÖ´Ù.
    
  • Magic SysRq key ÀÇ º¯È­
    Magic SysRq key¶õ ½Ã½ºÅÛÀÇ Á¦¾î°¡ ºÒ°¡´ÉÇÑ »óÅÂ(ÀϹÝÀûÀ¸·Î '´Ù¿î'µÇ¾ú´Ù°íÇÑ´Ù.)
    ¿¡¼­µµ Á¦¾î¸¦ °¡´ÉÇÏ°Ô ÇØÁֹǷΠĿ³Î ÄÄÆÄÀϽà Kernel hacking  --->
    [*] Magic SysRq key¸¦ üũÇØÁÖÀÚ.
    
    2.4.0-test °³¹ß Ä¿³Î¿¡¼­ Magic SysRq key¸¦ »ç¿ëÇÒ·Á¸é ´ÙÀ½°ú °°ÀÌ 
    /proc/sys/kernel/sysrq °ªÀ» 1·Î ¸¸µé¾î¾ß ÇÑ´Ù.
    
    # echo 1 > /proc/sys/kernel/sysrq
    
    Å° Á¶ÇÕ
         Alt+SysRq+R       use Raw keyboard events
         Alt+SysRq+K       kill current VT in use
         Alt+SysRq+E       tErminate all running processes (except init)
         Alt+SysRq+I       kIll all processes (except init)
         Alt+SysRq+L       kilL all processes (including init)
         Alt+SysRq+B       reBoot
         Alt+SysRq+S       Sync all drives
         Alt+SysRq+U       Umount all filesystems
         Alt+SysRq+O       turn the machine Off
         Alt+SysRq+P       dump Processor's registers
         Alt+SysRq+T       dump current Tasks
         Alt+SysRq+M       dump some Memory info
         Alt+SysRq+[0-9]   set kernel log level and redirect it to console
    
         x86 ¸Ó½Å¿¡¼­´Â Alt¸¦ ´©¸¥»óÅ¿¡¼­ Print Screen(Sys Rq)Å°¸¦ ´©¸£°í 
         °¢ ¾ËÆĺªÅ°¸¦ ´©¸£¸é Àû¿ëµÈ´Ù.     
    
    ¸¸¾à ½Ã½ºÅÛÀÌ ´Ù¿î µÇ¾ú´Ù¸é °°Àº ´ÙÀ½°ú ¼ø¼­ÀÇ Á¶ÇÕÀ¸·Î ½Ã½ºÅÛ¿¡ ¼Õ»óÀ» 
    ÁÖÁö¾Ê°í ¾ÈÀüÇÏ°Ô ÀçºÎÆà ÇÒ ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    
    Alt+SysRq+S : ¹öÆÛ¿¡ÀÖ´Â °ÍµéÀ» µð½ºÅ©·Î sync(µ¿±âÈ­)½ÃŲ´Ù.
    Alt+SysRq+E : init ÇÁ·Î¼¼½º¸¦ Á¦¿ÜÇÑ ¸ðµç ÇÁ·Î¼¼½º¸¦ Á¾·á½ÃŲ´Ù.
    Alt+SysRq+U : ÆÄÀÏ ½Ã½ºÅÛÀ» unmount ½ÃŲ´Ù.
    Alt+SysRq+B : ½Ã½ºÅÛ ÀçºÎÆÃ
    
  • Codepage 949 (UnifiedHangul) Áö¿ø(Ä¿³Î 2.4.0-test5ºÎÅÍ Áö¿øÇÏ¸ç ¾ÈÁ¤¹öÀüÀº 2.2.16¿¡¼­ Áö¿øÇÑ´Ù.)
    ¸®´ª½º¿¡¼­ À©µµ ÆÄƼ¼Ç(vfat)À» ¸¶¿îÆ® ÇßÀ»¶§ ÇѱÛÀÌ '????'ÀÌ·±½ÄÀ¸·Î 
    º¸ÀÌ´Â ¹®Á¦¸¦ ÇØ°áÇØ ÁØ´Ù.
    
  • Devfs(Device Filesystem)
    devfs¶õ /proc¿Í °°Àº °¡»ó ÆÄÀϽýºÅÛÀ¸·Î Richard Gooch¿¡ ÀÇÇØ ÀÛ¾÷µÇ¾ú´Ù.
    devfs¸¦ »ç¿ëÇÒ·Á¸é ´ÙÀ½°ú °°Àº °úÁ¤À» °ÅÃľßÇϸç devfs¸¦ ¾²Áö ¾Ê¾Æµµ 2.4.0-test 
    Ä¿³ÎÀ» »ç¿ëÇϴµ¥ »ó°üÀº ¾ø´Ù.
    devfs¸¦ »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é devfs´Â ¸Þ¸ð¸®»ó¿¡ Á¸ÀçÇÏ´Â °¡»ó ÆÄÀϽýºÅÛÀ̹ǷΠ¸¸¾à 
    /dev ¿¡ Ư¼öÇÑ ¸ñÀûÀÇ µð¹ÙÀ̽º ÆÄÀÏ ¶Ç´Â µð·ºÅ丮¸¦ »ý¼ºÇß´Ù¸é ÀçºÎÆýà /dev 
    µð·ºÅ丮¿¡ ¸¸µé¾ú´ø°ÍÀÌ »ç¶óÁú°ÍÀ̹ǷΠÀç ÀÛ¼ºÇØÁà¾ß ÇÑ´Ù.
    ºÎÆÃÇÒ¶§¸¶´Ù mknod ¸í·ÉÀ¸·Î ÇÊ¿äÇÑ µð¹ÙÀ̽º¸¦ ´Ù½Ã ¸¸µå´Â°Í º¸´Ü ¼Ð ½ºÅ©¸³Æ®¸¦
    ÀÛ¼ºÇϴ°ÍÀÌ Æí¸®ÇÒ °ÍÀÌ´Ù.
    ¿¹¸¦µé¾î X-4.0ÀÌ»óÀÇ NVdirver¸¦ ¾´´Ù¸é /dev µð·ºÅ丮¿¡ nvidia0, nvidia1, nvidia2, 
    nvidia3, nvidiactl°ú °°Àº ij¸¯ÅÍ µð¹ÙÀ̽º ÆÄÀÏÀÌ ¸¸µé¾îÁ® ÀÖ¾î¾ß X¸¦ ¶ç¿ï¼ö
    ÀÖÀ¸¹Ç·Î ºÎÆýà ¸¸µé¾îÁú¼ö ÀÖµµ·Ï ¼Ð ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù¸é ¾à°£ÀÇ ¼ö°í¸¦
    ´ú ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î devfs¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    
    1. Ä¿³Î ÄÄÆÄÀÏ ¿É¼Ç¿¡¼­ ´ÙÀ½ »çÇ×À» üũÇÑ´Ù.
       Code maturity level options  --->
           [*] Prompt for development and/or incomplete code/drivers
    
       File systems  ---> 
           [*] /dev file system support (EXPERIMENTAL)
           [*]   Automatically mount at boot
           [*]   Debug devfs
    
    
    2. devfsd ¼Ò½º ÆÄÀÏÀ» ±¸ÇÑ´Ù.
       http://www.atnf.csiro.au/~rgooch/linux/ ¿¡¼­ devfsd-v1.3.10.tar.gz ÀÌ»óÀÇ 
       ¹öÀüÀ» ´Ù¿î ¹Þ¾Æ ´ÙÀ½ ÀÛ¾÷À» ÇÑ´Ù.
       # tar xvvzf devfsd-v1.3.10.tar.gz     -> Àû´çÇÑ µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ǭ´Ù.
       # make                                -> ÄÄÆÄÀÏÇؼ­ devfsd¶õ ÆÄÀÏÀ» ¾ò´Â´Ù.
       # mv devfsd /sbin/                    -> /sbin µð·ºÅ丮·Î ¿Å±ä´Ù. 
       # cp modules.devfs /etc/              -> modules.devfs¿Í devfsd.conf¸¦
       # cp devfsd.conf /etc/                   /etc µð·ºÅ丮·Î ¿Å±ä´Ù.
    
    
    3. /etc/rc.d/rc.sysinit ½ºÅ©¸³Æ®¿¡ ´ÙÀ½ ºÎºÐÀ» Ãß°¡ÇÑ´Ù.
       # Mount /proc (done here so volume labels can work with fsck)
       action "Starting devfsd" /sbin/devfsd /dev           <--- À̺κÐÀ» Ãß°¡ÇÑ´Ù.
       action "Mounting proc filesystem" mount -n -t proc /proc /proc
    
    
    4. /etc/securetty ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.
       1
       2
       3
       4                          # tty1 ÀÌ·±½ÄÀ¸·Î µÇ¾îÀÖ´Â°Í ¸ðµÎ tty¸¦ »« 
       5                          # ¼ýÀںκи¸ ³²µµ·Ï ÇØÁØ´Ù. 
       6
       7
       8
    
    
    5. /etc/security/console.perms ¿¡¼­ ´ÙÀ½°ú °°ÀÌ ¹Ù²ãÁØ´Ù.
       <console>=tty[0-9][0-9]* :[0-9]\.[0-9] :[0-9] À» ÁÖ¼®Ã³¸®ÇÏ´øÁö »èÁ¦ÇÏ°í
       <console>=tty[0-9][0-9]* [0-9][0-9]* :[0-9]\.[0-9] :[0-9] À¸·Î ¹Ù²ãÁØ´Ù.
    
    
    6. /etc/lilo.conf ¿¡ ´ÙÀ½À» Ãß°¡
       append = "devfs=mount"
    
       devfs¸¦ ¾²Áö ¾Ê°Ú´Ù¸é append = "devfs=nomount" ÇÏ¸é µÈ´Ù.
    

2.3 Ä¿³Î ¿É¼Ç ¼³Á¤

ÀϹÝÀûÀÎ µ¥½ºÅ©Å¾ PC»ç¾ç(1 CPU, No SCSI)¿¡¼­ ÇÊ¿ä·Î ÇÏ´Â Ä¿³Î¿É¼ÇµéÀ» ¼³¸íÇÏ¸ç ±×´ÙÁö Çʿ伺ÀÌ ¾ø´Â ¿É¼ÇµéÀº Á¦¿Ü½ÃÄ×´Ù.

Code maturity level options --->

  • [*] Prompt for development and/or incomplete code/drivers - °³¹ß ¼öÁØÀÇ ¿É¼Çµéµµ ¼±Åð¡´ÉÇÏ°Ô ÇØÁØ´Ù.

Loadable module support --->

  • [*] Enable loadable module support - ¸ðµâÀ» »ç¿ëÇÒ¼ö ÀÖ°Ô ÇØÁÜ.
  • [*] Kernel module loader - Ä¿³ÎÀÌ ¾Ë¾Æ¼­ ¸ðµâÀ» ¿Ã·ÁÁØ´Ù.

Processor type and features --->

  • (Pentium-Pro/Celeron/Pentium-II) Processor family
    • (X) Pentium-Pro/Celeron/Pentium-II - Å×½ºÆ® PC°¡ Pentium IIÀ̹ǷΠ... ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±ÅÃÇÑ´Ù.
  • [*] MTRR (Memory Type Range Register) support - ÇÁ·Î¼¼¼­°¡ ¸Þ¸ð¸® ¿µ¿ª Á¢±ÙÀ» Á¦¾îÇÒ¼ö ÀÖÀ½. ±×·¡ÇÈÀÇ ¾²±â ¼Óµµ Çâ»ó

General setup --->

  • [*] Networking support - ³×Æ®¿öÅ· Áö¿ø
  • [*] PCI support - PCI Áö¿ø
  • (Any) PCI access mode - Ä¿³ÎÀÌ Á÷Á¢ ¾×¼¼½º ½Ãµµ
  • [*] System V IPC - System V IPC¸¦ Áö¿øÇÏ°Ô ÇÔ, Shared Memoryµµ ¿©±â¼­ Áö¿øÇÑ´Ù.
  • [*] BSD Process Accounting - ÇÁ·Î¼¼½º Á¤º¸¸¦ ÆÄÀÏ¿¡ ÀúÀå
  • [*] Sysctl support - ƯÁ¤ Ä¿³ÎÀÇ ÆĶó¹ÌÅÍ¿Í º¯¼öµéÀ» µ¿ÀûÀ¸·Î º¯°æ½Ãų¼ö ÀÖµµ·Ï ÇÔ
  • (ELF) Kernel core (/proc/kcore) format - ELF core Æ÷¸Ë
  • <*> Kernel support for a.out binaries - a.out ¹ÙÀ̳ʸ® Áö¿ø
  • <*> Kernel support for ELF binaries - ELF ¹ÙÀ̳ʸ® Áö¿ø

Plug and Play configuration --->

  • <*> Plug and Play support - Plug and Play Áö¿ø

Block devices --->

  • <*> Normal PC floppy disk support - Ç÷ÎÇÇ µå¶óÀ̹ö ÀåÄ¡ Áö¿ø
  • <M> Loopback device support - ÇÑ ÆÄÀÏÀ» ÇϳªÀÇ ÆÄÀÏ ½Ã½ºÅÛó·³ ÀÎ½Ä ½ÃÅ´

Networking options --->

  • <*> Packet socket - ³×Æ®¿÷ µð¹ÙÀ̽º¿ÍÀÇ Á÷Á¢Åë½ÅÀ» ÇÏ°Ô ÇØÁØ´Ù.
    • <*> Packet socket: mmapped IO - ´õ ºü¸¥ Åë½ÅÀ» ÇÒ ¼öÀÖ°Ô ÇÑ´Ù.
  • <*> Unix domain sockets
  • [*] TCP/IP networking - TCP/IP ³×Æ®¿öÅ· Áö¿ø
    • [*] IP: TCP syncookie support (disabled per default) - ¼­ºñ½º °ÅºÎ °ø°ÝÀ» ¹ÞÀ»¶§ ´ëóÇØÁÜ

ATA/IDE/MFM/RLL support --->

  • <*> ATA/IDE/MFM/RLL support
  • IDE, ATA and ATAPI Block devices --->
    • <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support - IDE¸¦ »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
      • <*> Include IDE/ATA-2 DISK support - Çϵåµð½ºÅ© »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • <*> Include IDE/ATAPI CDROM support - CD-ROM »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • <M> Include IDE/ATAPI FLOPPY support - ZIP µå¶óÀ̺êµîÀ» »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • --- IDE chipset support/bugfixes
      • <*> Generic PCI IDE chipset support - PCI ¹æ½ÄÀÇ IDE Áö¿ø
        • <*> Sharing PCI IDE interrupts support - IRQ °øÀ¯ Áö¿ø
        • <*> Generic PCI bus-master DMA support - DMA Áö¿ø
          • <*> Use PCI DMA by default when available - VIA VP2 Ĩ¼ÂÀ» »ç¿ëÇÑ´Ù¸é Àý´ë ¼±ÅÃÇÏÁö ¸»°Í
        • <*> HPT366 chipset support - Ultra DMA 66 Áö¿ø

Network device support --->

  • [*] Network device support
  • Ethernet (10 or 100Mbit) --->
    • [*] Ethernet (10 or 100Mbit) - ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±Åà (RealTek 8139µîÀ» ¾´´Ù¸é [*]EISA, VLB, PCI and on board controllers¸¦ ¼±ÅÃÇϸé ÇϺΠ¸ñ·ÏÀÌ ³ª¿Â´Ù.)

Character devices --->

  • [*] Virtual terminal - °¡»ó Å͹̳ΠÁö¿ø
    • [*] Support for console on virtual terminal - °¡»óÅ͹̳ÎÀ» ½Ã½ºÅÛ ÄַܼΠ¾µ¼öÀÖ°Ô ÇØÁØ´Ù.
  • [*] Unix98 PTY support - Unix98 °¡»óÅ͹̳ΠÁö¿ø
    • [*] (256) Maximum number of Unix98 PTYs in use (0-2048) Unix98 PTY °³¼öÀÇ ÃÖ´ë°ª
  • Mice --->
    • <*> Mouse Support (not serial and bus mice)
      • [*] PS/2 mouse (aka "auxiliary device") support - PS/2 ¸¶¿ì½º Áö¿ø
  • <M> /dev/agpgart (AGP Support) - AGP Áö¿ø (ÇϺθ޴ºÁß ÀÚ½ÅÀÇ º¸µå¿¡ ¸Â´Â°Å ¼±ÅÃ)

File systems --->

  • <*> Kernel automounter support - ¿ø°Ý ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÚµ¿À¸·Î ¸¶¿îÆ® ÇØÁØ´Ù.(NFSµîÀ» »ç¿ëÇÒ¶§) NÀ»¼±ÅÃÇصµ »ó°ü¾ø´Ù.
  • <M> DOS FAT fs support - FAT ±â¹ÝÀÇ ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • <M> MSDOS fs support - MSDOS ÆÄƼ¼Ç ¸¶¿îÆ® Áö¿ø
    • <M> VFAT (Windows-95) fs support - À©µµÁî ÆÄƼ¼Ç Áö¿ø
  • <M> ISO 9660 CDROM file system support - CD-ROM ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • [*] Microsoft Joliet CDROM extensions - Joliet CDROMÀ» ÀÐÀ» ¼ö ÀÖ°Ô ÇÑ´Ù.
  • [*] /proc file system support - ÇÁ·Î¼¼½º¸¦ À§ÇÑ °¡»ó ÆÄÀÏ ½Ã½ºÅÛ
  • [*] /dev/pts file system for Unix98 PTYs - À§¿¡¼­ [*] Unix98 PTY support ¸¦ ¼±ÅÃÇß´Ù¸é ¼±ÅÃÇØ¾ß ÇÑ´Ù.
  • <*> Second extended fs support - ÇöÀç ¸®´ª½º ÆÄÀÏ ½Ã½ºÅÛ
  • Network File Systems --->
    • <M> NFS file system support - ³×Æ®¿÷ ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • <M> SMB file system support (to mount Windows shares etc.) - À©µµÁîÀÇ ³×Æ®¿÷ ±â´ÉµéÀ» °øÀ¯ÇÒ¼ö ÀÖ°Ô ÇØÁØ´Ù.
  • Native Language Support --->
    • Default NLS Option: "cp949" - µðÆúÆ®·Î ÇѱÛÀÌ ¼±Åõǵµ·Ï ÇÑ´Ù.
    • <*> Codepage 437 (United States, Canada)
    • <*> Codepage 949 (UnifiedHangul) - À©µµÆÄƼ¼ÇÀ» ¸¶¿îÆ® ÇßÀ»¶§ ÇѱÛÀ» º¼¼öÀÖµµ·Ï ÇØÁØ´Ù.
    • <*> NLS ISO 8859-1 (Latin 1; Western European Languages)

Console drivers --->

  • [*] VGA text console - VGA Ç¥ÁØ µð½ºÇ÷¹À̸¦ ÅëÇØ ÅؽºÆ® ¸ðµå¿¡¼­ »ç¿ë°¡´ÉÇÏ°Ô ÇÑ´Ù.

Sound ---> ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±ÅÃÇÑ´Ù

Kernel hacking --->

  • [*] Magic SysRq key - ½Ã½ºÅÛÀÌ ´Ù¿îµÇ´õ¶óµµ Á¦¾îÇÒ ¼öÀÖµµ·Ï ÇØÁØ´Ù.

2.4 Å×½ºÆ® PC »ç¾ç

Ä¿³Î ÄÄÆÄÀÏÀ» ÇÒ·Á¸é ¾î´ÀÁ¤µµ ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ °üÇÑ Çϵå¿þ¾îÀû Áö½ÄÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¡ÇÈ Ä«µå, ºñµð¿À Ä«µå, »ç¿îµå Ä«µå, ³×Æ®¿÷ Ä«µåµîÀº Ä¿³Î ÄÄÆÄÀϽà °¢°¢¿¡ ¸Â´Â°ÍÀ» ¼±ÅÃÇÏ°í ¾ÕÀÇ ¿É¼ÇÀ» Âü°íÇÑ´Ù¸é ¹«¸®¾øÀÌ ÄÄÆÄÀÏ °¡´ÉÇÒ°ÍÀÌ´Ù.

  • CPU : Intel Pentium II 350 (Deschutes)
  • Memory : 128MB
  • Main Board : MS-6119 Á¡ÆÛ
    MS-6119 Award Bios ¹öÀüÀÌ 2.9ÀÌ»óÀÌ ¾Æ´Ï¶ó¸é ¸Þ¸ð¸®¸¦ 64MB ¹Û¿¡ 
    ÀνÄÇÏÁö ¸øÇÏ´Â ¹®Á¦°¡ ÀÖÀ¸¹Ç·Î ¹ÙÀÌ¿À½º¸¦ ¾÷µ¥ÀÌÆ® ÇÏ´øÁö 
    /etc/lilo.conf¿¡ append="mem=128M" ÀÌ·¸°Ô Ãß°¡ÇØ¾ß ÇÑ´Ù.
    
  • Hard Disk : QUANTUM FIREBALL 8.4GB
  • CD-ROM : SAMSUNG 40x
  • Network : 3Com PCI 3c905b
  • Video : RIVA TNT (16MB)
  • Sound : SoundBlaster 64PCI (es1370À¸·Î ÀâÀ¸¸é µÈ´Ù.)

3. ±× ¹ÛÀÇ °Íµé

´ÙÀ½Àº Ä¿³Î ÇÁ·ÎÁ§Æ® ȨÀ¸·Î ¹®ÀÇÇÑ Áú¹®µéÁß ¸î°¡Áö¸¦ Ãß·Áº¸¾Ò´Ù. Á¤¸» Àâ´ÙÇÑ °ÍÀ̶ó ¼Ò°³Çϱ⠺βô·¯¿î°Íµµ ÀÖ°í ¾Ë¾ÆµÎ¸é À¯¿ëÇÑ °ÍµµÀÖÀ¸´Ï Âü°íÇϱ⠹ٶõ´Ù.

3.1 Ä¿³Î ¼Ò½ºÀÇ Å©±â´Â ¾ó¸¶³ª µÇ³ª?

Ãʱ⠸®´ª½º Ä¿³Î 0.01ÀÇ Å©±â°¡ 470KB¹Û¿¡ µÇÁö ¾Ê¾Ò´Âµ¥ ÇöÀç ÃֽŠ°³¹ß Ä¿³Î 2.4.0-test5ÀÇ Å©±â´Â 103MB³ª µÈ´Ù. ³î¶øÁö ¾ÊÀº°¡?

3.2 ¿Ö Ä¿³Î À̹ÌÁö¸¦ ¾ÐÃàÇϴ°¡?

¿ì¸®´Â Ä¿³Î ÄÄÆÄÀÏÀ» ÇÒ ¶§ make zImage, make bzImage ÀÌ·± ½ÄÀ¸·Î Ä¿³Î À̹ÌÁö¸¦ ¾ÐÃàÇÑ´Ù.( make zlilo, zdisk, bzlilo ¸ðµÎ ¸¶Âù°¡Áö...) ¾Æ¹«·± Àǹ® ¾øÀÌ ¹«ÀǽÄÀûÀ¸·Î ´ç¿¬È÷ ÀÌ·¸°Ô ¾²°í ÀÖ´Ù.

¿©±â¿¡´Â ¾à°£ÀÇ ¹è°æÁö½ÄÀÌ ÇÊ¿äÇѵ¥ °£·«È÷ ¼³¸íÇÏ°Ú´Ù.

¿ì¸®°¡ ÈçÈ÷ ¾Æ´Â ¸ÅŲÅä½ÃÀÇ M68°è¿­ processor´Â 8bitȯ°æ¿¡¼­ 32bitȯ°æÀ¸·Î ¹ßÀüµÇ¾úÁö¸¸ ÀÎÅÚÀÇ 8086°è¿­Àº DOSÀÇ ´ëÁß¼º ¶§¹®¿¡ ¹Ù·Î 32bit ȯ°æÀ¸·Î °¡Áö ¸øÇÏ°í 16bit ȯ°æÀ» °¡Áö°Ô µÇ¾ú´Ù. ´ëÁßÀûÀ¸·Î ¸¹ÀÌ ¾²ÀÌ°í ÀÖ´Â DOS¸¦ °è¼Ó ¾µ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ­¿´´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯ ¶§¹®¿¡ ¸®¾ó¸ðµå, º¸È£¸ðµå, °¡»ó86¸ðµå°¡ »ý°å´Ù.

¸®¾ó¸ðµå, º¸È£¸ðµå, °¡»ó86¸ðµå ¸ðµÎ ¼¼±×¸ÕÆ®·¹Áö½ºÅÍ¿Í ¿ÀÇÁ¼Â ·¹Áö½ºÅ͸¦ ÀÌ¿ëÇÏ¿© ÁÖ¼Ò¸¦ ÁöÁ¤Çϴµ¥ ÀÌµé ·¹Áö½ºÅÍÀÇ »ç¿ë¹æ¹ýÀÌ ´Ù¸£´Ù.

¸®¾ó¸ðµå´Â ¼¼±×¸ÕÆ®x10h + ¿ÀÇÁ¼ÂÀ¸·Î ÁÖ¼Ò¸¦ ¸¸µå´Âµ¥ 16bit¿¡¼­ ¼¼±×¸ÕÆ®¿Í ¿ÀÇÁ¼ÂÀÇ ÃÖ´ë °ªÀº FFFFÀÌ´Ù. ±×·¯¹Ç·Î ÃÖ´ë·Î ÁöÁ¤ÇÒ¼ö ÀÖ´Â ÁÖ¼Ò´Â FFFF0 + FFFF°¡ µÈ´Ù. ÀÌ°É °è»êÇϸé 1MB + 64KB°¡ µÈ´Ù.

º¸È£¸ðµå¿¡¼± ÁÖ¼ÒÁöÁ¤ ¹æ½ÄÀÌ ¸®¾ó¸ðµå¿Í´Â ¸¹ÀÌ ´Ù¸£¸ç ÆäÀÌ¡ µîÀ» ÀÌ¿ëÇÏ¿© 32bit ¸ðµÎ ÁÖ¼Ò °ªÀ» ¸¸µé ¼ö ÀÖÀ¸¹Ç·Î ÀÌ·ÐÀûÀ¸·Ð 4GBÀÇ ¸Þ¸ð¸®¸¦ ÀÌ¿ëÇÒ ¼öÀÖÀ¸¸ç °¡»ó86¸ðµå ¶ÇÇÑ ¼±ÇüÁÖ¼Ò¸¦ ¸¸µé¾î³»´Â °úÁ¤¸¸ ´Ù¸£¹Ç·Î ±âº» ¸ÅÄ¿´ÏÁòÀº º¸È£¸ðµå¿Í °°´Ù. (º¸È£¸ðµå¿Í °¡»ó86¸ðµåÀÇ ÁÖ¼Ò »ý¼º ¹ýÀº »ý·«ÇÑ´Ù.)

ÇÁ·Î±×·¥Àº code ºÎºÐ°ú dataºÎºÐÀ¸·Î ³ª´©¾îÁö´Âµ¥ ¸®¾ó¸ðµå¿¡¼­ ÇÁ·Î±×·¥ÀÇ codeºÎºÐÀº ¹Ýµå½Ã À§ ÃÖ´ë ÁÖ¼Ò ÁöÁ¤¿µ¿ª ³»¿¡ ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ¸®¾ó¸ðµå¿¡¼­´Â ¿©·¯ °³ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡ ¿Ã¶ó¿Í¼­ ¼öÇàµÉ ¼ö ¾øÀ¸¸ç (¸¸¾à ¿©·¯ °³ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡¼­ ¼öÇàµÈ´Ù¸é ´Ù¸¥ ÇÁ·Î±×·¥¿µ¿ªÀ» ħ¹ü ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.) interrupt¸¦ ÀÌ¿ëÇÏ´Â RAM»óÁÖ ÇÁ·Î±×·¥¸¸ÀÌ ¸Þ¸ð¸®¸¦ °°ÀÌ Â÷ÁöÇÒ ¼ö ÀÖ´Ù.

À§¿¡¼­ ¼³¸íÇÑ ¸®¾ó¸ðµåÀÇ ¾à 1MBÁ¤µµÀÇ ¿µ¿ª Áß Coventional Memory°¡ 640KB¸¦ Â÷ÁöÇÏ°í ³ª¸ÓÁö´Â ºñµð¿À·¥ À̳ª ±âŸ µð¹ÙÀ̽º°¡ Â÷ÁöÇÑ´Ù.

±×·¯¹Ç·Î Ä¿³Î À̹ÌÁö´Â Coventional Memory Áï 640KB³»¿¡ µé¾î°¡¾ß ÇϹǷΠĿ³Î À̹ÌÁöÀÇ Å©±â°¡ 640KBº¸³ª ÀÛ¾Æ¾ß ÇÑ´Ù. Ä¿³Î À̹ÌÁöÀÇ ¾ÐÃàÀ¸·Î ÀÌ·¯ÇÑ Á¦¾àÀ» ºÎºÐÀûÀ¸·Î ±Øº¹ÇÏ¿´À¸³ª 640KBÀÇ ÀϺδ ¿©·¯ °¡Áö ¹öÆÛ(DMA buffer)³ª ƯÁ¤ ÁÖ¼Ò°¡ ½Ã½ºÅÛ¿¡ ¿¹¾àµÇ¾î ÀÖÀ¸¹Ç·Î 640KBº¸´Ù ´õ ÀÛÀº Å©±âÀÇ Ä¿³ÎÀÌ ¿ä±¸µÈ´Ù. ÀÌ·¯ÇÑ ¹®Á¦ÀÇ ´ë¾ÈÀ¸·Î Ä¿³ÎÀ» Extended Memory¿¡ ÀûÀçÇÏ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¼ ¼ö ÀÖ´Ù. Extended Memory ¿µ¿ª¿¡ ÀÚÀ¯·ÎÀÌ ÀûÀçÇϱâ À§Çؼ­´Â º¸È£¸ðµå¸¦ »ç¿ëÇؾßÇϴµ¥ º¸È£¸ðµå¿¡¼­´Â BIOS¿Í °°ÀÌ ½Ã½ºÅÛÀÌ ¿ÏÀüÈ÷ ÁغñµÇ±â ÀüÀÇ ±âº»ÀûÀÎ ±â´ÉµéÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÀÌ·² °æ¿ì µð½ºÅ©¸¦ ¾×¼¼½ºÇÏ´Â ÀÚüÀûÀÎ ÇÔ¼ö¸¦ ÁغñÇÏ¿© Ä¿³ÎÀ» Extended Memory ¿¡ ÀûÀçÇϰųª ¾Æ´Ï¸é Ä¿³ÎÀ» ÁÙÀÌ´Â ¼ö¹Û¿¡ ¾ø´Â °ÍÀÌ´Ù.

3.3 LILO¿¡¼­ ÃÖ´ë Ä¿³Î À̹ÌÁö °³¼ö

¿©±â¿¡ ´ëÇؼ± ÀüÇô ¸ð¸£°í ÀÖ¾ú´Âµ¥ ¾î´À ³¯ 2.4.0-test1-ac18 ¹öÀüÀ» ´õ´õ¿í ÃÖÀûÈ­Çϱâ À§ÇØ Ä¿³Î ÄÄÆÄÀÏÀ» ÇÏ°í lilo.conf¿¡ À̹ÌÁö¸¦ µî·Ï½ÃÅ°°í lilo¶õ ¸í·ÉÀ¸·Î Ä¿³Î À̹ÌÁö¸¦ writeÇϴµ¥ ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡ ³ª¿Ô´Ù.

     Only 19 image names can be defined
±×¶§±îÁö ³ªÀÇ lilo.conf¿¡´Â 19°³ÀÇ Ä¿³Î À̹ÌÁö°¡ Á¤ÀǵǾîÀÖ¾ú´Âµ¥ Çϳª ´õ Ãß°¡Çؼ­ 20°³ °¡ µÇÀÚ À§¿Í °°Àº ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ °ÍÀ̾ú´Ù. Ä¿³Î À̹ÌÁö¸¦ 20°³ ÀÌ»ó µî·Ï(?)ÇÏÁö ¾Ê¾Ò´Ù¸é ¾Æ¸¶ ¸ô¶úÀ» °ÍÀÌ´Ù.

3.4 ½º¿ÒÆÄÀϵµ Àִµ¥ ½º¿Ò ÆÄƼ¼ÇÀ» ¾²´ÂÀÌÀ¯?

°á·ÐÀûÀ¸·Ð ¼Óµµ ¶§¹®ÀÌ´Ù. ½º¿ÒÆÄÀÏÀ» ¾´´Ù¸é ÆÄÀÏ¿¡ Á¢±ÙÇϱâÀ§ÇØ VFS¿Í ÆÄÀÏ ½Ã½ºÅÛ µå¶óÀ̹ö ±×¸®°í ÆÄÀÏÁ¤º¸¸¦ ´ã°íÀÖ´Â ¿©·¯ °¡Áö¸¦ Àоî¿À°í ¾µ¶§µµ ÀÏ¹Ý ÆÄÀÏÀÌ writing µÇ´Â °æ·Î¸¦ °ÅÄ¥ °ÍÀÌ´Ù. ½º¿Ò ÆÄƼ¼Ç¿¡¼­´Â À§ÀÇ °úÁ¤¾øÀÌ Æ¯Á¤ ºí·°¿¡ ¹Ù·Î Á¢±ÞÇÒ ¼ö ÀÖÀ¸¹Ç·Î ºÒ ÇÊ¿äÇÑ ¿À¹öÇìµå°¡ ¹ß»ýÇÏÁö ¾Ê¾Æ ¼Óµµ°¡ ´õ ºü¸£±â ¶§¹®ÀÌ´Ù.

3.5 ¼­ºê µð·ºÅ丮¸¦ 60000°³ ÀÌ»ó ¸¸µé°í ½Í´Ù.

ÇöÀç ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛÀº ext2ÀÌ´Ù. (SuSE´Â Reiser ÆÄÀϽýºÅÛÀÌ´Ù.) ext2¶õ Second Extended File SystemÀÇ ¾à¾îÀ̸ç Ãʱ⠸®´ª½º ÆÄÀÏ ½Ã½ºÅÛÀ̾ú´ø MINIX¿¡¼­´Â ÃÖ´ë ÆÄÀÏÀ̸§ 14¹®ÀÚ, ÃÖ´ë ÆÄƼ¼Ç 64MB¹Û¿¡ µÇÁö ¾Ê¾Ò°í ÀÌ·± ¿©·¯ °¡Áö ¹®Á¦·Î ÆÄÀÏ ½Ã½ºÅÛÀÌ ¿À´Ã³¯ÀÇ ext2±îÁö ¹ßÀüÇÏ¿´´Ù. ext2¿¡¼­´Â 255¹®ÀÚÀÇ ÆÄÀϸí, ÃÖ´ë 2GBÀÇ ÆÄÀÏ, 4TBÀÇ µð½ºÅ© ¿ë·®À» Áö¿øÇÏ¸ç ¼­ºêµð·ºÅ丮´Â Å×½ºÆ®Çغ»°á°ú 32000°³±îÁö¸¸ ¸¸µé¾îÁ³´Ù. ´ÙÀ½À» Âü°íÇ϶ó.


#!/bin/sh
count=70000
i=1
while [ $i -lt $count ]
do
  mkdir $i && echo "$i"
  i=$(($i+1))
done

À§´Â ¼­ºê µð·ºÅ丮¸¦ ¸¸µé¾îÁÖ´Â shell scriptÀÌ¸ç ¼­ºê µð·ºÅ丮 À̸§Àº 1¹øºÎÅÍ count·Î ÁöÁ¤ÇÑ °ª¸¸Å­ ¸¸µé¾î ÁØ´Ù.

  • ext2 ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ¼­ºê µð·ºÅ丮 »ý¼º
    Ä¿³Î ¹öÀü : 2.2.14-5.0
    
    $ ls -l 
    drwxrwxr-x  32000 suni00   suni00     475136  7¿ù 12 15:41 tmp/
    
    $du -sh
    128M    .
    
    µð·ºÅ丮 ¸µÅ©ÀÇ inode ¶§¹®¿¡ ./¿Í ../¸¦ Æ÷ÇÔÇÏ¿© 32000 ±îÁö ¹Û¿¡ »ý¼ºµÇÁö 
    ¾Ê´Â°É ¾Ë ¼ö ÀÖ´Ù.
    ¶Ç ext2ÀÇ ºí·° »çÀÌÁî´Â 4KBÀ̹ǷΠ»ý¼ºµð·ºÅ丮µéÀÇ ÃÑ ¿ë·®ÀÌ 128MB³ª
    Â÷ÁöÇÏ¿´½À´Ï´Ù.
    
  • Reiser ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ¼­ºê µð·ºÅ丮 »ý¼º
    Ä¿³Î ¹öÀü : 2.2.16°ú 2.4.0-test1-ac18
    
    $ls -l
    drwxrwxr-x 64535 suni00   suni00    1548888 Jul 12 15:48 tmp/
    
    $du -sh
    30M    .
    
    À§¿¡¼­ º¸´Ù½ÃÇÇ 64535°³°¡ »ý¼ºµÇ¾ú°í µð·ºÅ丮µéÀÇ ¿ë·®Àº ext2º¸´Ù ÈξÀ ÀûÀº 
    30MB ¹Û¿¡ Â÷ÁöÇÏÁö ¾Ê´Â°É ¾Ë ¼ö ÀÖ´Ù.
    (Reiser ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ºó µð·ºÅ丮ÀÇ »çÀÌÁî´Â 48Byte¸¦ Â÷ÁöÇß´Ù.)
    

µð·ºÅ丮 ¸µÅ©°¡ µÑ ´Ù 2Byte ¹üÀ§±îÁö Ç¥ÇöÇÒ ¼ö ÀÖ´Â °Í °°Àºµ¥ ÆÄÀÏ ½Ã½ºÅÛ¿¡ µû¶ó À§¿Í °°Àº Â÷ÀÌ°¡ ³µ´Ù.

3.6 Reiser ÆÄÀϽýºÅÛ ¸¸µé±â

ÇöÀç ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛÀÎ ext2´Â ½Å·Ú¼º, Ãæµ¹ º¹±¸ µîÀÇ ¹®Á¦°¡ Àִµ¥ ÀÌ·± ºÎºÐµéÀ» ÇØ°á ÇÒ ¼ö ÀÖ´Â °ÍÀÌ Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀÌ´Ù. Reiser ÆÄÀÏ ½Ã½ºÅÛ ¶ÇÇÑ ÀÌ·± Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÀÏÁ¾À¸·Î ÀÌ¹Ì SuSE¿¡¼­´Â ±âº» ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î Reiser¸¦ ¼±ÅÃÇÏ°í ÀÖ´Ù. ¸ÓÁö¾Ê¾Æ ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛµµ Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î ¹Ù²ð °ÍÀÌ´Ù.

  1. ÆÐÄ¡ÆÄÀÏ ¹Þ¾Æ¿À±â
    
    
    http://devlinux.com/projects/reiserfs/ ¶Ç´Â 
    http://kernel.pe.kr/data.php ¿¡¼­ ÀÚ½ÅÀÇ ¹öÀü¿¡ ¸Â´Â ÆÐÄ¡¸¦ ¹Þ¾Æ¿Â´Ù.
  2. ÆÐÄ¡¸¦ Àû¿ë½ÃŲ´Ù.(/usr/src/linux ¿¡¼­ ÆÐÄ¡ÇÑ´Ù.)
    # patch -p1 < ÆÐÄ¡ÆÄÀϸí (¾ÐÃàÀ» Ç®¾úÀ»¶§)
    ¶Ç´Â 
    # gzip -cd ÆÐÄ¡ÆÄÀϸí.gz | patch -p1
    
  3. Ä¿³Î¿É¼Ç ¼±ÅÃ
    Code maturity level options  --->
       [*] Prompt for development and/or incomplete code/drivers ¸¦ ¼±ÅÃÇÏ°í
    File systems  ---> <*> Reiserfs support ¼±ÅÃÇÑ´Ù.
    
  4. Ä¿³Î ÄÄÆÄÀÏ¹× ¸ðµâ ÄÄÆÄÀÏ, lilo Á¤º¸µµ °íÃÄÁØ´Ù.
  5. ReiserFS À¯Æ¿ ÄÄÆÄÀÏ(mkreiserfsÀ» ¸¸µé±âÀ§ÇØ)
    # cd /usr/src/linux/fs/reiserfs/utils/
    # make
    # make install
    
  6. ReiserFS°¡ Àû¿ëµÈ Ä¿³Î À̹ÌÁö·Î ÀçºÎÆÃÇÑ´Ù.
  7. ReiserFS ¸¸µé±â
    (/dev/hdb1 ¿¡ ¸¸µç´Ù°í °¡Á¤ÇÏ¸ç ±âÁ¸ ext2 ÆÄÀϽýºÅÛÀÇ
     µ¥ÀÌÅÍ´Â Áö¿öÁö¹Ç·Î ¹é¾÷ÇÏ´øÁö ¾Æ´Ô »õ Çϵ带 ´Þ¾Ò´Ù°í °¡Á¤ÇÑ´Ù.)
    
    # umount /dev/hdb1 (mount µÇ¾îÀÖÁö ¾Ê´Ù¸é ÀÌ°Ç ÇÊ¿ä¾ø´Ù.)
    # mkreiserfs /dev/hdb1
    # mount /dev/hdb1 /TEST(mount ½Ãų µð·ºÅ丮´Â °¢ÀÚ ¾Ë¾Æ¼­..)
    
  8. /etc/fstab ¼öÁ¤Çϱâ
    /dev/hdb1            /TEST             reiserfs    defaults        1 2
    ext2¸¦ reiserfs·Î ¹Ù²Ù¸é µÈ´Ù.
    
  9. È®ÀÎÇϱâ
    $ mount
    ...
    /dev/hdb1 on /TEST type reiserfs (rw)
    ...
    À§¿Í °°ÀÌ reiserfs ¶ó°í ³ª¿À¸é ¼º°ø
    

Reiser ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé°í ¸¶¿îÆ® ½ÃÅ°¸é ±âº»À¸·Î 32MBÀÇ ¿ë·®À» Àâ¾Æ¸Ô´Â´Ù. ÀÌ °ø°£¿¡´Ù°¡ ÀÚüÀûÀÎ Á¤º¸¸¦ ±â·ÏÇϹǷΠReiser ÆÄÀÏ ½Ã½ºÅÛÀ» À§Çؼ± ÃÖ¼Ò 32MBÀÌ»óÀÇ ÆÄƼ¼ÇÀ» ÇÊ¿ä·Î ÇÑ´Ù.(³ªÀÇ /boot ÆÄƼ¼ÇÀº 16MB¿©¼­ reiserfs¸¦ Àû¿ë½ÃÅ°Áö ¸øÇÏ¿´´Ù.)

3.7 Ä¿³Î 2.4.0-test¹öÀü¿¡¼­ X 4.0À» ¾²°í½Í´Ù.(RIVA TNT)

ÇöÀç nVidia¿¡¼­ ³ª¿À´Â X 4.0 µå¶óÀ̹öµéÀº Ä¿³Î 2.2.xÀÇ ¾ÈÁ¤¹öÀü¿¡¸¸ Àû¿ëµÈ´Ù. °³¹ß¹öÀü¿¡ Àû¿ë½Ãų·Á¸é http://www.darkrock.co.uk/nv/¿¡¼­ NVIDIA_kernel-0.9-2.3.x.tar.gz¸¦ ¹Þ¾Æ ÄÄÆÄÀÏ ÇؾßÇÑ´Ù.(Å×½ºÆ®Çغ» °á°ú Ä¿³Î 2.4.0-test1-ac18±îÁö¸¸ Àû¿ëµÈ´Ù.)

3.8 Ä¿³Î ¹öÀüÀ» ¾î¶»°Ô ¹Ù²Ù´Â°¡?

¾î¶² Çб³ÀÇ Àü»ê°ü·Ã °ú¸ñ ¸®Æ÷Æ®ÀÎÁö ÀÌ·± Áú¹®À» ¸¹ÀÌ ¹Þ¾Ò´Ù. Ä¿³Î ¹öÀü¸¸À» °¡Â¥·Î ¹Ù²Ü·Á´Â ÀÌÀ¯¸¦ ¸ð¸£°Ú´Ù.


# vi /usr/src/linux/Makefile

        VERSION = 2
        PATCHLEVEL = 4
        SUBLEVEL = 0
        EXTRAVERSION = -test1-ac18


# vi /usr/src/linux/include/linux/version.h

        #define UTS_RELEASE "2.4.0-test1-ac18"
        #define LINUX_VERSION_CODE 132096
        #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

À§ÀÇ Makefile¿¡¼­ ¹öÀü Á¤º¸¸¦ °íÃÆ´Ù¸é ÄÄÆÄÀÏÇÒ¶§ version.h´Â ÀÚµ¿À¸·Î ¹Ù²ï´Ù.

ÀÌ µÎ ÆÄÀϵéÀ» ¿øÇÏ´Â ¹öÀüÀ¸·Î ¹Ù²Ù°í ÄÄÆÄÀÏ ÇÏ¸é µÈ´Ù. À߸ø ¹Ù²Ù¾î¼­ Ä¿³Î ¹öÀüÀÌ ¸ÂÁö ¾ÊÀ» °æ¿ì System.map¿¡¼­ ¹öÀüÀÌ Æ²¸®´Ù°í ¸Þ¼¼Áö¸¦ º¸³¾ °ÍÀÌ´Ù. ±×·² °æ¿ì ÇØ´ç Ä¿³Î À̹ÌÁöÀÇ System.mapÀ» ¾ø¾Ö¹ö·Áµµ ¹«°üÇÏ´Ù. (System.mapÀÌ ¾ø´Ù¸é ¾îµð¼­ ¹®Á¦°¡ ¹ß»ýÇß´ÂÁö ¾Ë ¼ö ¾øÀ» °ÍÀÌ´Ù.)

3.9 CPUÀÇ Á¤º¸¸¦ ¹Ù²Ù°í ½Í´Ù, Bogo Mips¸¦ ³ôÀÌ°í ½Í´Ù

ÀÌ°Ç ±×³É ³»°¡ ÇÏ°í ½Í¾î¼­ ÇغôÙ.

# vi /usr/src/linux/arch/i386/kernel/setup.c
        $ cat /proc/cpuinfo Á¤º¸¸¦ °íÃÄÁØ´Ù.

# vi /usr/src/linux/init/main.c
        $ dmesg ÀÇ º¸°í ¹Ó½º¸¦ °íÃÄÁØ´Ù.
À§ µÎ ÆÄÀÏÀ» ¿øÇÏ´Â ´ë·Î °íÄ¡¸é µÈ´Ù. ¾à°£ÀÇ C ÇÁ·Î±×·¡¹Ö¸¸ ÇÒ ¼ö ÀÖ´Ù¸é ½±°Ô ¿øÇϴ´ë·Î ¹Ù²Ü ¼ö ÀÖÀ»°ÍÀÌ´Ù.

3.10 KERNEL32.DLL¿¡¼­ À߸øµÈ ¿¬»ê¼öÇà!?

À§¿Í °°Àº Áú¹®À» ÇϽô ºÐµéÀÌ °¡²û °è½Åµ¥ MS-WINDOWS Ä¿³ÎÀ» ¾î¶»°Ô ¼Õº¼ ¼ö Àְڴ°¡? (°Ë»ö¿£Áø¿¡¼­ kernel·Î °Ë»öÇؼ­ Ä¿³Î ÇÁ·ÎÁ§Æ® ȨÀ¸·Î µé¾î¿Ô´Ù´õ±º¿ä.) ¼ºÀÇ´Â ´ë´ÜÇϳª ´ÜÁö ¼Õ»ó ¾ÈµÈ ´Ù¸¥ KERNEL32.DLLÀ» Ä«ÇÇÇ϶ó°í ÇÒ ¼ö¹Û¿¡...




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-10-06 18:17:04
Processing time 0.0021 sec