14Àå. ¸®´ª½º Ä¿³Î ¼Ò½º (The Linux Kernel Sources)

ÀÌ ÀåÀº ƯÁ¤ Ä¿³Î ÇÔ¼ö¸¦ ã±â À§Çؼ­ ¸®´ª½º Ä¿³Î ¼Ò½º ¾îµð¼­ºÎÅÍ ½ÃÀÛÇØ¾ß ÇÏ´ÂÁö ÀÌ ¾ß±âÇÑ´Ù.

ÀÌ Ã¥Àº C ¾ð¾î¿¡ ´ëÇÑ Áö½ÄÀ» ¿ä±¸ÇÏÁö´Â ¾ÊÁö¸¸ ¸®´ª½º Ä¿³ÎÀÇ µ¿ÀÛÀ» º¸´Ù Àß ÀÌÇØÇÏ·Á ¸é ¸®´ª½º Ä¿³ÎÀÇ ¼Ò½º¸¦ °¡Áö°í ÀÖ´Â °ÍÀÌ ÁÁ´Ù. ´Ù½Ã ¸»Çϸé, Ä¿³ÎÀÇ ¼Ò½º ÇÁ·Î±×·¥Àº ¸® ´ª½º ¿î¿µÃ¼Á¦¸¦ ½Éµµ±í°Ô ÀÌÇØÇϴµ¥ ÀÖ¾î È¿°úÀûÀÎ ±³ÀçÀÌ´Ù. ÀÌ ÀåÀº Ä¿³Î ¼Ò½º Àü¹Ý¿¡ ´ëÇØ °³°ýÇÑ´Ù. Áï Ä¿³Î ¼Ò½º°¡ ¾î¶»°Ô ¹è¿­µÇ¾î ÀÖ´ÂÁö, ƯÁ¤ Äڵ带 ãÀ¸·Á¸é ¾îµð¼­ ½ÃÀÛ ÇØ¾ß ÇÏ´ÂÁö ¼³¸íÇÑ´Ù.


¾îµð¼­ ¸®´ª½º Ä¿³Î ¼Ò½º¸¦ ¾òÀ» ¼ö Àִ°¡

ÁÖ¿ä ¸®´ª½º ¹èÆ÷Æǵé(Craftworks, Debian, Slackware, Red Hat µî)Àº ¸ðµÎ ¸®´ª½º Ä¿³Î ¼Ò½º¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÀϹÝÀûÀ¸·Î »ç¿ëÀÚÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ ¸®´ª½º Ä¿³ÎÀº ÀÌ ¼Ò ½º Äڵ带 ÄÄÆÄÀÏÇÏ¿© »ý¼ºÇÑ °ÍÀÌ´Ù. ¸®´ª½ºÀÇ ¼º°Ý»ó, ¼Ò½ºµéÀÌ °è¼Ó º¯°æµÇ¹Ç·Î »ç¿ëÀÚÀÇ ½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ °ÍÀº Á¶±Ý ¿¾³¯ °ÍÀÌ µÇ°í ¸¸´Ù. ÃֽŠ¹öÀüÀÇ ¼Ò½º ÇÁ·Î±×·¥Àº ºÎ·Ï B¿¡ ¼­ ¾ð±ÞµÈ À¥ ½ÎÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. À̵éÀº ftp://ftp.cs.helsinki.fi°ú À̸¦ ±× ¸²ÀÚó·³ º¹»çÇÏ´Â ´Ù¸¥ À¥ ½ÎÀÌÆ®¿¡¼­ µé¾î ÀÖ´Ù. Çï½ÌÅ°ÀÇ À¥ ½ÎÀÌÆ®°¡ °¡Àå ÃֽŠ¹öÀüÀÇ ¼Ò½º¸¦ °¡Áö°í ÀÖÀ¸¸ç, MIT³ª Sunsite¿Í °°Àº ½ÎÀÌÆ®µé·Î ºñ±³Àû ÃֽŠ¹öÀüÀÇ ¼Ò½º¸¦ Á¦°ø ÇÑ´Ù.

À¥ ½ÎÀÌÆ®¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù°í ÇÏ´õ¶óµµ, ¸¹Àº º¥´õµéÀÌ ÁÖ¿ä À¥ ½ÎÀÌÆ®¿¡ ÀÖ´Â ³»¿ëµéÀ» CD ROM ÇüÅ·Π¸Å¿ì Àú·ÅÇÑ °¡°ÝÀ¸·Î Á¦°øÇÏ°í ÀÖÀ¸¹Ç·Î, À̸¦ ÀÌ¿ëÇÏ¸é µÉ °ÍÀÌ´Ù. 1³â¿¡ ³×¹ø ȤÀº ¸Å´Þ Á¤±âÀûÀ¸·Î ¾÷±×·¹À̵åÆÇÀ» Á¦°øÇØÁÖ´Â ±¸µ¶ ¼­ºñ½ºµµ ÀÖ´Ù. Áö¿ªº° ¸®´ª½º À¯Àú ±×·ìµµ ¼Ò½º¸¦ ±¸Çϴµ¥ À¯¿ëÇÑ °÷ÀÌ´Ù1.

¸®´ª½º Ä¿³ÎÀÇ ¹öÀü ÇüÅ´ ¸Å¿ì ´Ü¼øÇÏ´Ù. ¦¼ö ¹öÀü Ä¿³Î(¿¹¸¦ µéÀÚ¸é 2.0.30)Àº ¾ÈÁ¤Àû ÀÌ°í ¹ßÇ¥µÈ ¹öÀüÀÌ°í, Ȧ¼ö ¹öÀü Ä¿³Î(¿¹¸¦ µéÀÚ¸é 2.1.42)Àº ¸ðµÎ °³¹ß¿ë Ä¿³ÎÀÌ´Ù. º»Ã¥ Àº ¾ÈÁ¤ÀûÀÎ 2.0.30 ¼Ò½º Æ®¸®¸¦ ±â¹ÝÀ¸·Î ÇÏ°í ÀÖ´Ù. °³¹ß¿ë Ä¿³ÎÀº ÃֽŠ±â´ÉµéÀ» ¸ðµÎ Æ÷ ÇÔÇÏ°í ÀÖÀ¸¸ç ¶ÇÇÑ ÃֽŠµå¶óÀ̹öµéµµ ¸ðµÎ Áö¿øÇÑ´Ù. °³¹ß Ä¿³ÎÀº ºÒ¾ÈÁ¤ÇÒ ¼öµµ ÀÖ°í, ÀÌ ´Â »ç¿ëÀÚ°¡ ¹Ù¶óÁö ¾Ê´Â °ÍÀÌ°ÚÁö¸¸, ÃֽŠĿ³ÎÀ» »ç¿ëÇغ¸´Â °ÍÀº ¸®´ª½º °øµ¿Ã¼¿¡ ÀÖ¾î Áß¿äÇÑ ÀÏÀÌ´Ù. ±×·¡¾ß Àüü °øµ¿Ã¼¸¦ À§ÇØ Å×½ºÆ®¸¦ ÇÒ ¼ö ÀÖ´Ù. ½ÇÁ¦ Á¦Ç°À¸·Î ³ª¿Â Ä¿³Î ÀÌ ¾Æ´Ñ °ÍÀ» ½áº¸·Á°í ÇÒ ¶§ ½Ã½ºÅÛ Àüü¸¦ ¹é¾÷Çصδ °ÍÀÌ ÁÁ´Ù´Â °ÍÀ» ±â¾ïÇϱ⠹ٶõ´Ù.

Ä¿³Î ¼Ò½º¿¡¼­ ¹Ù²ï °ÍµéÀº ÆÐÄ¡(patch) ÆÄÀÏ·Î ¹èÆ÷µÈ´Ù. patch ÇÁ·Î±×·¥Àº ¼Ò½º ÆÄÀϵ鿡 ÆíÁýµÈ °ÍµéÀ» Àû¿ëÇϴµ¥ »ç¿ëµÈ´Ù. µû¶ó¼­, ¿¹¸¦ µé¾î 2.0.29 Ä¿³Î ¼Ò½º¸¦ °¡Áö°í ÀÖ°í, ÀÌ ¸¦ 2.0.30 ¼Ò½º·Î ¹Ù²Ù°í ½Í´Ù¸é, 2.0.30 ÆÐÄ¡ ÆÄÀÏÀ» ±¸Çؼ­ ÆÐÄ¡¸¦ ¼Ò½º Æ®¸®¿¡ Àû¿ëÇÏ¸é µÈ ´Ù.

$ cd /usr/src/inux
$ patch -p1 < patch-2.0.30

ÀÌ´Â Àüü ¼Ò½º Æ®¸®¸¦ º¹»çÇÒ ÇÊ¿ä°¡ ¾ø¾î, ´À¸° Á÷·Ä ¿¬°áÀ» ÅëÇÏ´Â °æ¿ì ´õ¿í À¯¿ëÇÏ´Ù. Ä¿³Î ÆÐÄ¡¸¦ ±¸Çϱâ ÁÁÀº °÷Àº(°ø½ÄÀûÀÌ´ø ºñ°ø½ÄÀûÀÌ´ø) http://www.linuxhq.com À¥ »çÀÌÆ®ÀÌ´Ù2.


Ä¿³Î ¼Ò½º´Â ¾î¶»°Ô ¹è¿­µÇ¾î Àִ°¡

¼Ò½º Æ®¸®ÀÇ ½ÃÀÛÀÎ /usr/src/linux¿¡¼­ º¸¸é ¿©·¯°³ÀÇ µð·ºÅ丮°¡ ÀÖ´Ù.

arch arch ¼­ºêµð·ºÅ丮´Â ¸ðµç ¾ÆÅ°ÅØÃÄ¿¡ Á¾¼ÓÀûÀÎ Ä¿³Î Äڵ带 Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¿©±â¿¡´Â ¼­ºêµð·ºÅ丮°¡ ´õ Àִµ¥, °¢°¢ Áö¿øÇÏ´Â ¾ÆÅ°ÅØÃĺ°·Î ÀÖ´Ù. ¿¹¸¦ µé¾î i386, alpha°°Àº À̸§ÀÇ ¼­ºêµð·ºÅ丮°¡ Á¸ÀçÇÑ´Ù.

include include ¼­ºêµð·ºÅ丮´Â Ä¿³Î Äڵ带 ºôµåÇϴµ¥ ÇÊ¿äÇÑ ¸ðµç ÀÎŬ·çµå(include) ÆÄ ÀϵéÀÇ ´ëºÎºÐÀ» °¡Áö°í ÀÖ´Ù. ¿©±â¿¡´Â Áö¿øÇÏ´Â ¾ÆÅ°ÅØÃĺ°·Î Çϳª¾¿ ¼­ºêµð·ºÅ丮°¡ ÀÖ ´Ù. /include/asm ¼­ºêµð·ºÅ丮´Â ÇöÀç ¾ÆÅ°ÅØÃÄ¿¡ ÇÊ¿äÇÑ ½ÇÁ¦ µð·ºÅ丮·Î (¿¹¸¦ µé¾î, include/asm-i386) ¼ÒÇÁÆ® ¸µÅ©µÇ¾î ÀÖ´Ù. ¾ÆÅ°ÅØÃĸ¦ ´Ù¸¥ °ÍÀ¸·Î ¹Ù²Ù·Á¸é Ä¿³Î makefileÀ» ¼öÁ¤ÇÏ°í ¸®´ª½º Ä¿³Î ȯ°æ¼³Á¤ ÇÁ·Î±×·¥À¸·Î µ¹¾Æ¿Í¾ß ÇÑ´Ù.

init ÀÌ µð·ºÅ丮´Â Ä¿³ÎÀÇ ÃʱâÈ­ Äڵ带 °¡Áö°í ÀÖÀ¸¸ç, Ä¿³ÎÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö º¸±â ½ÃÀÛÇϱ⿡ ÁÁÀº °÷ÀÌ´Ù.

mm ÀÌ µð·ºÅ丮´Â ¸ðµç ¸Þ¸ð¸® °ü¸® Äڵ带 °¡Áö°í ÀÖ´Ù. ¾ÆÅ°ÅØÃÄ Á¾¼ÓÀûÀÎ ¸Þ¸ð¸® °ü¸® ÄÚµå´Â arch/*/mm/ ¾Æ·¡¿¡ ÀÖ´Ù. ¿¹¸¦ µé¾î, arch/i386/mm/fault.c °°Àº °÷¿¡ ÀÖ´Ù.

drivers ¸ðµç ½Ã½ºÅÛÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö´Â ÀÌ µð·ºÅ丮¿¡ ÀÖ´Ù. À̵éÀº µð¹ÙÀ̽º µå¶óÀ̹ö ÀÇ À¯Çüº°·Î Á»´õ ¼¼ºÐÈ­ µÇ¸é. ¿¹¸¦ µé¾î ºí·° µð¹ÙÀ̽º µå¶óÀ̹ö´Â block¿¡ ÀÖ´Ù.

ipc ÀÌ µð·ºÅ丮´Â Ä¿³ÎÀÇ ÇÁ·Î¼¼½º°£ Åë½Å Äڵ带 °¡Áö°í ÀÖ´Ù.

modules ÀÌ´Â ´Ü¼øÈ÷ ºôµåµÈ ¸ðµâÀ» ÀúÀåÇϱâ À§ÇÑ µð·ºÅ丮ÀÌ´Ù.

fs ¸ðµç ÆÄÀÏ ½Ã½ºÅÛ Äڵ带 °¡Áö°í ÀÖ´Ù. ÆÄÀÏ ½Ã½ºÅÛº°·Î Çϳª¾¿ µð·ºÅ丮°¡ ¼¼ºÐÈ­µÈ´Ù. ¿¹¸¦ µé¾î vfat, ext2 °°Àº ¼­ºêµð·ºÅ丮°¡ ÀÖ´Ù.

kernel ¸ÞÀÎ Ä¿³Î Äڵ尡 µé¾î ÀÖ´Ù. ¾ÆÅ°ÅØÃÄ Á¾¼ÓÀûÀÎ Ä¿³Î ÄÚµå´Â arch/*/kernel¿¡ ÀÖ´Ù.

net Ä¿³ÎÀÇ ³×Æ®¿öÅ· Äڵ尡 µé¾î ÀÖ´Ù.

lib ÀÌ µð·ºÅ丮´Â Ä¿³ÎÀÇ ¶óÀ̺귯¸® Äڵ带 °¡Áö°í ÀÖ´Ù. ¾ÆÅ°ÅØÃÄ Á¾¼ÓÀûÀÎ ¶óÀ̺귯¸® ÄÚµå´Â arch/*/lib/¿¡ ÀÖ´Ù.

scripts ÀÌ µð·ºÅ丮´Â Ä¿³ÎÀ» ¼³Á¤Çϴµ¥ »ç¿ëµÇ´Â ½ºÅ©¸³Æ®(¿¹¸¦ µé¾î awk³ª tlk ½ºÅ©¸³ Æ®)¸¦ °¡Áö°í ÀÖ´Ù.


¾îµð¼­ºÎÅÍ º¸±â ½ÃÀÛÇÒ °ÍÀÌ°¡

¸®´ª½º Ä¿³Îó·³ ¹æ´ëÇÏ°í º¹ÇÕÀûÀÎ ÇÁ·Î±×·¥Àº µé¿©´Ùº¸±â¿¡ À§¾ÐÀûÀÏ ¼ö ÀÖ´Ù. ÀÌ´Â ½Ç·Î µÈ Ä¿´Ù¶õ °øó·³ ³¡ÀÌ º¸ÀÌÁö ¾Ê´Â °ÍÀ̱⵵ ÇÏ´Ù. Ä¿³ÎÀÇ ÇÑ ºÎºÐÀ» º¸´Ù º¸¸é °ü·ÃµÈ ´Ù ¸¥ ¿©·¯ ÆÄÀϵéÀ» º¸°ÔµÇ°í, ¿À·¡Áö ¾Ê¾Æ ¹«¾ùÀ» ãÀ¸·Á°í Çß´ÂÁö Àؾî¹ö¸®°Ô µÈ´Ù. ´ÙÀ½ ÀÛ Àº ÀåµéÀº ¾î¶² ÁÖÁ¦¸¦ º¸·Á ÇÒ¶§ ¼Ò½º Æ®¸®ÀÇ ¾îµð¸¦ º¸´Â°Ô ÁÁÀºÁö ÈùÆ®¸¦ Á¦°øÇÒ °ÍÀÌ´Ù.

½Ã½ºÅÛ ½ÃÀÛ°ú ÃʱâÈ­

ÀÎÅÚ ±â¹Ý ½Ã½ºÅÛ¿¡¼­, Ä¿³ÎÀº loadlin.exe³ª LILO°¡ ¸®´ª½º Ä¿³ÎÀ» ¸Þ¸ð¸®·Î ÀоîµéÀÎ ÈÄ Ä¿³Î¿¡ Á¦¾î±ÇÀ» ³Ñ°ÜÁÜÀ¸·Î½á ½ÃÀÛÇÑ´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇؼ­´Â arch/i386/kernel/- head.S¸¦ º¸±â ¹Ù¶õ´Ù. head.S´Â ¾ÆÅ°ÅØÃÄ Á¾¼ÓÀûÀÎ ¼Â¾÷À» ÇÑ ÈÄ init/main.c¿¡ ÀÖ ´Â main() ·çƾÀ¸·Î Á¡ÇÁÇÑ´Ù.

¸Þ¸ð¸® °ü¸®

ÀÌ ÄÚµå´Â ´ëºÎºÐ mm¿¡ ÀÖÁö¸¸, ¾ÆÅ°ÅØÃÄ Á¾¼ÓÀûÀÎ ÄÚµå´Â arch/*/mm¿¡ ÀÖ´Ù. ÆäÀÌÁö Æú Æ® ó¸® ÄÚµå´Â mm/memory.c¿¡ ÀÖ°í, ¸Þ¸ð¸® ¸ÅÇΰú ÆäÀÌÁö ij½Ã ÄÚµå´Â mm/filemap.c ¿¡ ÀÖ´Ù. ¹öÆÛ Ä³½Ã´Â mm/buffer.c¿¡, ½º¿Ò ij½Ã´Â mm/swap_state.c¿Í mm/- swapfile.c¿¡ ±¸ÇöµÇ¾î ÀÖ´Ù.

Ä¿³Î

»ó´ëÀûÀ¸·Î ÀϹÝÀûÀÎ ÄÚµå´Â kernel¿¡ ÀÖ°í, ¾ÆÅ°ÅØÃÄ Á¾¼ÓÀûÀÎ ÄÚµå´Â arch/*/kernel ¿¡ ÀÖ´Ù. ½ºÄÉÁì·¯´Â kernel/sched.c¿¡ ÀÖ°í, fork ÄÚµå´Â kernel/fork.c¿¡ ÀÖ´Ù. ÇÏ¹Ý ºÎ Çڵ鷯 ÄÚµå´Â include/linux/interrupt.h¿¡ ÀÖ´Ù. task_struct ÀڷᱸÁ¶´Â include/linux/sched.h¿¡¼­ ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.

PCI

PCI À¯»ç µå¶óÀ̹ö´Â drivers/pci/pci.c¿¡ ÀÖ°í, ½Ã½ºÅÛ ¹üÀ§ÀÇ Á¤ÀǵéÀº include/- linux/pci.h¿¡ µÇ¾î ÀÖ´Ù. °¢ ¾ÆÅ°ÅØÃĵéÀº ƯÁ¤ PCI BIOS Äڵ带 °¡Áö°í Àִµ¥, ¾ËÆÄÀÇ PCI BIOS ÄÚµå´Â arch/alpha/kernel/bios32.c¿¡ ÀÖ´Ù.

ÇÁ·Î¼¼½º°£ Åë½Å

ÀÌ°ÍÀº ¸ðµÎ ipc¿¡ µé¾î ÀÖ´Ù. ¸ðµç ½Ã½ºÅÛ V IPC ¿ÀºêÁ§Æ®µéÀº ipc_perm ÀڷᱸÁ¶¿¡ µé ¾î ÀÖ°í, include/linux/ipc.h¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. ½Ã½ºÅÛ V ¸Þ½ÃÁöµéÀº ipc/msg.c¿¡, °øÀ¯ ¸Þ¸ð¸®´Â ipc/shm.c¿¡, ¼¼¸¶Æ÷¾î´Â ipc/sem.c¿¡ ±¸ÇöµÇ¾î ÀÖ´Ù. ÆÄÀÌÇÁ´Â ipc/pipe.c¿¡ ±¸ÇöµÇ¾î ÀÖ´Ù.

ÀÎÅÍ·´Æ® ó¸®

Ä¿³ÎÀÇ ÀÎÅÍ·´Æ® ó¸® ÄÚµå´Â ´ëºÎºÐ ¸ðµÎ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­ (¶§¶§·Î Ç÷§Æû) Á¾¼ÓÀûÀÌ´Ù. ÀÎÅÚÀÇ ÀÎÅÍ·´Æ® ó¸® ÄÚµå´Â arch/i386/kernel/irq.c¿¡ ÀÖ°í, Á¤ÀÇ´Â include/asm- i386/irq.h¿¡ µÇ¾î ÀÖ´Ù.

µð¹ÙÀ̽º µå¶óÀ̹ö

¸®´ª½º Ä¿³Î ¼Ò½º ÄÚµåÀÇ ´ëºÎºÐÀº µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ ÀÖ´Ù. ¸ðµç ¸®´ª½º µð¹ÙÀ̽º µå¶ó À̹ö ¼Ò½º´Â drivers¿¡ ÀÖÁö¸¸, À̵éÀº ÀåÄ¡ À¯Çü¿¡ µû¶ó ¼¼ºÐÈ­ µÈ´Ù. /block ºí·° µð¹ÙÀ̽º µå¶óÀ̹ö. ¿¹¸¦ µé¾î IDE µð¹ÙÀ̽º µå¶óÀ̹ö´Â ide.c¿¡ ÀÖ´Ù. ¸ðµç ÀåÄ¡°¡ ¾î¶»°Ô ÆÄÀÏ ½Ã½ºÅÛÀ» °¡Áú ¼ö ÀÖÀ¸¸ç, ¾î¶»°Ô ÃʱâÈ­µÇ´ÂÁö º¸°í ½Í´Ù¸é drivers/block/genhd.c¿¡ ÀÖ´Â device_setup()À» º¸±â ¹Ù¶õ´Ù. ÀÌ´Â ÇÏµå µð½ºÅ©¸¸ ÃʱâÈ­ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ³×Æ®¿÷À» nfs ÆÄÀÏ ½Ã½ºÅÛ¿¡ ¸¶¿îÆ®ÇÏ·Á°í ÇÑ´Ù¸é ³×Æ®¿÷µµ Ãʱâ È­ÇÑ´Ù. ºí·° ÀåÄ¡¿¡´Â IDE¿Í SCSI ±â¹Ý ÀåÄ¡°¡ Æ÷ÇԵȴÙ.

/char ttys, ½Ã¸®¾ó Æ÷Æ®³ª ¸¶¿ì½º°°Àº ¹®ÀÚ ±â¹Ý ÀåÄ¡µéÀ» º¼ ¼ö ÀÖ´Ù.

/cdrom ¸®´ª½ºÀÇ ¸ðµç CDROM Äڵ尡 µé¾î ÀÖ´Ù. Ưº°ÇÑ CDROM ÀåÄ¡(Soundblaster CDROM °°Àº)µµ ¿©±â¼­ ãÀ» ¼ö ÀÖ´Ù. IDE CDROM µå¶óÀ̹ö´Â drivers/block¿¡ ÀÖ´Â ide-cd.c¿¡ ÀÖ°í, SCSI CDROM µå¶óÀ̹ö´Â drivers/scsi¿¡ ÀÖ´Â scsi.c¿¡ ÀÖ´Ù´Â Á¡ ¿¡ ÁÖÀÇÇϱ⠹ٶõ´Ù.

/pci ¿©±â¿¡´Â PCI À¯»ç µå¶óÀ̹öÀÇ ¼Ò½º°¡ ÀÖ´Ù. PCI ¼­ºê½Ã½ºÅÛÀÌ ¾î¶»°Ô ¸ÅÇεǰí ÃʱâÈ­ µÇ´ÂÁö º¸±â ÁÁÀº °÷ÀÌ´Ù. ¾ËÆÄ AXP PCI È®Á¤ ÄÚµå´Â arch/alpha/kernel/bios32.c¿¡ ÀÖ°í, ÀÌ´Â º¼¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Ù.

/scsi ¸ðµç SCSI ÄÚµå¿Í ÇÔ²² ¸®´ª½º°¡ Áö¿øÇÏ´Â ¸ðµç SCSI ÀåÄ¡µéÀÇ µå¶óÀ̹ö°¡ ÀÖ´Â °÷ÀÌ ´Ù.

/net ³×Æ®¿÷ ÀåÄ¡ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ º¼ ¼ö ÀÖ´Â °÷ÀÌ´Ù. DECChip 21040 PCI ÀÌ´õ³Ý µå¶ó À̹ö´Â tulip.c¿¡ ÀÖ´Ù.

/sound ¸ðµç »ç¿îµå Ä«µå µå¶óÀ̹ö°¡ ÀÖ´Â °÷ÀÌ´Ù.

ÆÄÀÏ ½Ã½ºÅÛ

EXT2 ÆÄÀÏ ½Ã½ºÅÛ ¼Ò½º´Â fs/ext2/ µð·ºÅ丮¿¡ ÀÖ°í ÀڷᱸÁ¶´Â include/linux/- ext2_fs.h, ext2_fs_i.h, ext2_fs_sb.h¿¡ Á¤ÀǵǾî ÀÖ´Ù. °¡»ó ÆÄÀÏ ½Ã½ºÅÛ ÀڷᱸÁ¶ ´Â include/linux/fs.h¿¡ Á¤ÀǵǾî ÀÖ°í, ÄÚµå´Â fs/*¿¡ ÀÖ´Ù. ¹öÆÛ Ä³½Ã¿Í update Ä¿³Î µ¥¸óÀº fs/buffer.c¿¡ ±¸ÇöµÇ¾î ÀÖ´Ù.

³×Æ®¿÷

³×Æ®¿öÅ· ÄÚµå´Â net¿¡ ÀÖ°í, ÀÎŬ·çµå(include) ÆÄÀϵéÀÇ ´ëºÎºÐÀº include/net¿¡ ÀÖ´Ù. BSD ¼ÒÄÏ ÄÚµå´Â net/socket.c¿¡ ÀÖ°í, IP ¹öÀü 4 INET ¼ÒÄÏ ÄÚµå´Â inet/ipv4/- af_inet.c¿¡ ÀÖ´Ù. ÀϹÝÀûÀÎ ÇÁ·ÎÅäÄÝ Áö¿ø ÄÚµå´Â (sk_buff ó¸® ·çƾµµ Æ÷ÇÔÇÏ¿©) net/core/¿¡, TCP/IP ³×Æ®¿öÅ· ÄÚµå´Â net/ipv4/¿¡ ÀÖ´Ù. ³×Æ®¿öÅ© µð¹ÙÀ̽º µå¶óÀ̹ö´Â drivers/net¿¡ ÀÖ´Ù.

¸ðµâ

Ä¿³Î ¸ðµâ ÄÚµå´Â ÀϺκÐÀº Ä¿³Î¿¡, ÀϺκÐÀº modules ÆÐÅ°Áö¿¡ ÀÖ´Ù. Ä¿³Î ÄÚµå´Â ¸ðµÎ kernel/modules.c¿¡ ÀÖ°í, ÀڷᱸÁ¶¿Í Ä¿³Î µ¥¸ó kerneld ¸Þ½ÃÁö´Â include/- linux/module.h¿Í include/linux/kerneld.h¿¡ ÀÖ´Ù. ELF ¿ÀºêÁ§Æ® ÆÄÀÏÀÇ ±¸Á¶´Â include/linux/elf.h¿¡¼­ º¼ ¼ö ÀÖ´Ù.

¹ø¿ª : ÀÌÈ£, ÀÌ´ëÇö, ±èÁø¼®, ½É¸¶·Î
Á¤¸® : ÀÌÈ£


¿ªÁÖ 1) ±¹³»¿¡¼­´Â ÄÄÇ»ÅÍ ÀâÁö ºÎ·ÏÀÇ Çüŵµ Å« ºñÁßÀ» Â÷ÁöÇÏ°í ÀÖ´Ù. (½É¸¶·Î)

¿ªÁÖ 2) ÀÎÅÍ³Ý ÁÖ¼ÒÀÇ ¼ÒÀ¯±Ç ¹®Á¦·Î http://www.kernelnotes.comÀÌ ´õ ÀÎÁ¤¹Þ°í ÀÖ ´Ù. http://www.linuxhq.comÀº °»½Å ºóµµ°¡ ´õ ´Ê´Ù. (½É¸¶·Î)