¿î¿µÃ¼Á¦ÀÇ ¸ñÀûÁß Çϳª´Â ½Ã½ºÅÛÀÇ Çϵå¿þ¾î ÀåÄ¡º°·Î ´Ù¸¥ Ư¡À» »ç¿ëÀڷκÎÅÍ °¨Ãß´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î °¡»ó ÆÄÀÏ ½Ã½ºÅÛ(Virtual File System)Àº ÆÄÀÏ ½Ã½ºÅÛÀÌ ¾î¶² ¹°¸®Àû ÀåÄ¡ ¿¡ µé¾úÀÖµç »ó°ü¾øÀÌ, ¸¶¿îÆ®µÈ ÆÄÀÏ ½Ã½ºÅÛµéÀ» ÀÏ°üµÈ ¸ð½ÀÀ¸·Î º¸¿©ÁØ´Ù. ÀÌ Àå¿¡¼´Â ¸®´ª½º Ä¿³ÎÀÌ ½Ã½ºÅÛ¿¡ ÀÖ´Â ¹°¸®ÀûÀÎ ÀåÄ¡¸¦ ¾î¶»°Ô °ü¸®ÇÏ´ÂÁö »ìÆ캸±â·Î ÇÑ´Ù.
CPU°¡ ½Ã½ºÅÛ¿¡ ÀÖ´Â Áö´ÉÀ» °¡Áø À¯ÀÏÇÑ ÀåÄ¡´Â ¾Æ´Ï´Ù. CPU ¸»°íµµ ¸ðµç ¹°¸®Àû ÀåÄ¡µé Àº Áö´ÉÀÌ ÀÖ´Â ÀڽŸ¸ÀÇ Çϵå¿þ¾î ÄÁÆ®·Ñ·¯¸¦ °¡Áö°í ÀÖ´Ù. Å°º¸µå, ¸¶¿ì½º, Á÷·ÄÆ÷Æ®´Â SuperIO ĨÀÌ Á¦¾îÇÏ°í, IDE Çϵåµð½ºÅ©´Â IDE ÄÁÆ®·Ñ·¯°¡, SCSI µð½ºÅ©´Â SCSI ÄÁÆ®·Ñ·¯°¡ Á¦¾îÇÑ´Ù. ¸ðµç Çϵå¿þ¾î ÄÁÆ®·Ñ·¯´Â °¢ÀÚÀÇ °íÀ¯ÇÑ Á¦¾î/»óÅ ·¹Áö½ºÅÍ(Control and Status Registers, CSRs)¸¦ °¡Áö¸ç, ÀÌ°ÍÀº ÀåÄ¡µé¸¶´Ù ´Ù¸£´Ù. Adaptec 2940 SCSI ÄÁÆ®·Ñ·¯ÀÇ CSRs°ú NCR 810 SCSI ÄÁÆ®·Ñ·¯ÀÇ CSRs´Â ¿ÏÀüÈ÷ ´Ù¸¥´Ù. CSRs´Â ÀåÄ¡¸¦ ½ÃÀÛÇÏ°í ¸ØÃß°í, ÃʱâÈ ÇÏ¸ç ¹®Á¦°¡ ¹ß»ýÇßÀ» ¶§ À̸¦ Áø´ÜÇϴµ¥ ÀÌ¿ëµÈ´Ù. ¸ðµç ÀÀ¿ëÇÁ·Î±×·¥¿¡ Çϵå¿þ¾î¸¦ °ü¸® ÇÏ´Â Äڵ带 ³ÖÁö ¾ÊÀ¸¸ç, ¸®´ª½º Ä¿³Î¸¸ ±× Äڵ带 °¡Áö°í ÀÖ´Ù. Çϵå¿þ¾î ÄÁÆ®·Ñ·¯¸¦ ´Ù·ç °í °ü¸®ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ µð¹ÙÀ̽º µå¶óÀ̹ö¶ó°í ÇÑ´Ù. ¸®´ª½º Ä¿³Î µð¹ÙÀ̽º µå¶óÀ̹ö´Â ±Ùº»ÀûÀ¸·Î Ư±ÇÃþ¿¡¼ ½ÇÇàµÇ°í, ¸Þ¸ð¸®¿¡ »óÁÖÇϸç, Àú±Þ Çϵå¿þ¾î ó¸® ·çƾÀ» °¡Áø °øÀ¯ ¶óÀ̺귯¸®ÀÌ´Ù. ¸®´ª½º¿¡ ÀÖ´Â µð¹ÙÀ̽º µå¶óÀ̹ö´Â ÀÚ½ÅÀÌ °ü¸®ÇÏ´Â ÀåÄ¡µéÀÇ Æ¯¼ºµéÀ» ó¸®ÇÑ´Ù.
À¯´Ð½ºÀÇ ±âº»ÀûÀΠƯ¡ ÁßÀÇ Çϳª´Â ÀåÄ¡¸¦ ´Ù·ç´Â °ÍÀ» Ãß»óÈÇÑ´Ù´Â °ÍÀÌ´Ù. ¸ðµç ÇÏµå ¿þ¾î ÀåÄ¡µéÀº º¸Åë ÆÄÀÏó·³ º¸À̸ç, ÆÄÀÏÀ» ´Ù·ç´Â µ¥ ¾²À̴ ǥÁØ ½Ã½ºÅÛ ÄÝ°ú ¶È°°Àº ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ¿°í, ´Ý°í, Àаí, ¾µ ¼ö ÀÖ´Ù1. ½Ã½ºÅÛÀÇ ¸ðµç ÀåÄ¡´Â ÀåÄ¡ Ư¼ö ÆÄÀÏ (device special file)·Î Ç¥½Ã°¡ µÈ´Ù. ¿¹¸¦ µé¾î, ½Ã½ºÅÛ¿¡ Àִ ù¹ø° IDE µð½ºÅ©´Â /dev/hda·Î ³ªÅ¸³½´Ù. ºí·° (µð½ºÅ©) ÀåÄ¡(block device)³ª ¹®ÀÚ ÀåÄ¡(character device)¸¦ ³ªÅ¸ ³»´Â ÀåÄ¡ Ư¼ö ÆÄÀÏÀº mknod ¸í·ÉÀ¸·Î ¸¸µé¾îÁö¸ç, ¸ÞÀÌÀú¿Í ¸¶ÀÌ³Ê ÀåÄ¡ ¹øÈ£·Î ÀåÄ¡¸¦ ³ªÅ¸³½´Ù. ³×Æ®¿÷ ÀåÄ¡µéµµ ÀåÄ¡ Ư¼ö ÆÄÀϷΠǥ½Ã°¡ µÇÁö¸¸, À̵éÀº ¸®´ª½º°¡ ½Ã½ºÅÛ¿¡¼ ³×Æ®¿÷ ÄÁÆ®·Ñ·¯¸¦ ã¾Æ¼ ÃʱâÈÇÒ ¶§ (¸®´ª½º¿¡ ÀÇÇØ) ¸¸µé¾îÁø´Ù2. ¶È°°Àº µð¹ÙÀ̽º µå¶ó À̹ö·Î Á¦¾îµÇ´Â ¸ðµç ÀåÄ¡´Â ¶È°°Àº ¸ÞÀÌÀú ÀåÄ¡ ¹øÈ£¸¦ °®´Â´Ù. ¸¶ÀÌ³Ê ÀåÄ¡ ¹øÈ£´Â ´Ù¸¥ ÀåÄ¡³ª ÄÁÆ®·Ñ·¯¸¦ ±¸ºÐÇϴµ¥ »ç¿ëÇÑ´Ù3. ¿¹¸¦ µé¾î ù¹ø° IDE µð½ºÅ©ÀÇ °¢ ÆÄƼ¼ÇµéÀº ´Ù¸¥ ¸¶ÀÌ³Ê ÀåÄ¡ ¹øÈ£¸¦ °®´Â´Ù. ±×·¡¼ ù¹ø° IDE µð½ºÅ© µÎ¹ø° ÆÄƼ¼ÇÀº (/dev/hda2) ¸ÞÀÌÀú ¹øÈ£·Î 3, ¸¶ÀÌ³Ê ¹øÈ£·Î 2¸¦ °®´Â´Ù. ºí·° ÀåÄ¡¿¡ ÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®ÇÏ´Â °æ¿ìó·³ ½Ã½ºÅÛ ÄÝ¿¡ ÀåÄ¡ Ư¼ö ÆÄÀÏÀ» Àü´ÞÇϸé, ¸®´ª½º´Â ¸ÞÀÌÀú ÀåÄ¡ ¹øÈ£¿Í ¿©·¯ ½Ã½º ÅÛ Å×À̺íÀ» ÀÌ¿ëÇÏ¿©(ÀÌ·± °Í ÁßÀÇ Çϳª·Î ¹®ÀÚ ÀåÄ¡ Å×À̺íÀÎ chrdevs°¡ ÀÖ´Ù), ÀåÄ¡ Ư ¼ö ÆÄÀÏÀ» ÀåÄ¡ÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö·Î ¿¬°áÇÑ´Ù.
¸®´ª½º´Â ¹®ÀÚ, ºí·°, ³×Æ®¿÷, ÀÌ ¼¼°¡Áö Á¾·ùÀÇ Çϵå¿þ¾î ÀåÄ¡¸¦ Áö¿øÇÑ´Ù. ¹®ÀÚ ÀåÄ¡´Â ¹ö ÆÛ¸¦ ÅëÇÏÁö ÇÏ°í ¹Ù·Î ÀÐ°í ¾µ ¼ö ÀÖ´Â ÀåÄ¡·Î, /dev/cua0°ú /dev/cua1 °°Àº Á÷·Ä Æ÷ Æ®°¡ ¿©±â¿¡ ¼ÓÇÑ´Ù. ºí·° ÀåÄ¡´Â ÀÏÁ¤ÇÑ ºí·° Å©±â(º¸Åë 512 ¶Ç´Â 1024 ¹ÙÀÌÆ®ÀÌ´Ù)ÀÇ ¹è¼ö ·Î¸¸ ÀÐ°í ¾µ ¼ö ÀÖ´Ù. ºí·° ÀåÄ¡´Â ¹öÆÛ Ä³½Ã(buffer cache)¸¦ ÅëÇؼ ÀÐ°í ¾²¸ç, ¾Æ¹« °÷ÀÌ ³ª Á¢±ÙÇÒ ¼ö ÀÖ´Ù. Áï ¾î¶² ºí·°ÀÌµç ±×°ÍÀÌ ÀåÄ¡ÀÇ ¾îµð¿¡ ÀÖµçÁö °£¿¡ ÀÐ°í ¾µ ¼ö ÀÖ´Ù ´Â °ÍÀÌ´Ù. ºí·° ÀåÄ¡´Â ÀåÄ¡ Ư¼ö ÆÄÀÏÀ» ÅëÇؼ Á¢±ÙÇÒ ¼öµµ ÀÖÁö¸¸, º¸ÅëÀº ÆÄÀÏ ½Ã½ºÅÛ À» ÅëÇؼ Á¢±ÙÇÑ´Ù. ºí·° ÀåÄ¡¸¸ÀÌ ¸¶¿îÆ®µÇ´Â ÆÄÀÏ ½Ã½ºÅÛÀ» Áö¿øÇÒ ¼ö ÀÖ´Ù. ³×Æ®¿÷ ÀåÄ¡ ´Â BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º·Î Á¢±ÙÇϸç, ÀÌ´Â 10Àå¿¡ ÀÖ´Â ³×Æ®¿öÅ· ¼ºê½Ã½ºÅÛ ºÎºÐ¿¡¼ ÀÚ ¼¼È÷ À̾߱âÇÑ´Ù.
¸®´ª½º Ä¿³Î¿¡´Â ¸¹Àº ¼·Î ´Ù¸¥ µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ÀÖÁö¸¸ (ÀÌ°ÍÀÌ ¸®´ª½ºÀÇ Èû ÁßÀÇ ÇÏ ³ªÀÌ´Ù), ±×µéÀº ¸ðµÎ ¾î¶² °øÅëÀûÀΠƯ¼ºÀ» °¡Áö°í ÀÖ´Ù :
ÀåÄ¡¸¦ Æú¸µÇÑ´Ù´Â °ÍÀº ÀϹÝÀûÀ¸·Î ¿äûÇÑ ÀÛ¾÷ÀÌ ³¡³µ´Â Áö¸¦ ¾Ë±â À§ÇØ ÀåÄ¡ÀÇ »óÅ°¡ º¯ÇÒ ¶§±îÁö ÀåÄ¡ÀÇ »óÅ ·¹Áö½ºÅ͸¦ °è¼ÓÇؼ ÀÚÁÖ Àд °ÍÀ» ¸»ÇÑ´Ù. µð¹ÙÀ̽º µå¶óÀ̹ö ´Â Ä¿³ÎÀÇ ÇÑ ºÎºÐÀ̱⠶§¹®¿¡, ¸¸¾à µå¶óÀ̹ö°¡ Æú¸µ¸¸ ÇÏ·Á°í ÇÑ´Ù¸é ÀåÄ¡°¡ ÀÛ¾÷À» ³¡¸¶ Ä¥ ¶§±îÁö Ä¿³ÎÀÇ ´Ù¸¥ ºÎºÐÀÌ ¼öÇàµÉ ¼ö ¾øÀ¸¹Ç·Î ²ûÂïÇÑ ÀÏÀÌ ¹ú¾îÁú °ÍÀÌ´Ù. ±×·¡¼ Æú ¸µÀ» ÇÏ´Â µð¹ÙÀ̽º µå¶óÀ̹ö´Â ½Ã½ºÅÛ Å¸À̸Ӹ¦ ÀÌ¿ëÇÏ¿© ¾î´ÀÁ¤µµ ½Ã°£ÀÌ Áö³ª¸é Ä¿³ÎÀÌ µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ ÀÖ´Â ÇÑ ·çƾÀ» ºÎ¸£µµ·Ï ÇÑ´Ù. ±×·¯¸é ÀÌ Å¸ÀÌ¸Ó ·çƾÀº ¸í·ÉÀÌ ¼öÇà µÇ¾ú´ÂÁö »óŸ¦ °Ë»çÇÑ´Ù6. ÀÌ´Â ¸®´ª½ºÀÇ Ç÷ÎÇÇ µå¶óÀ̹ö¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. ŸÀÌ¸Ó ¸¦ ÀÌ¿ëÇÏ´Â Æú¸µÀº ÁÁÀº ¹æ¹ýÀÌÁö¸¸, À̺¸´Ù ´õ È¿°úÀûÀÎ ¹æ¹ýÀ¸·Î ÀÎÅÍ·´Æ®¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀÖ´Ù.
Á¦¾îÇÏ´Â Çϵå¿þ¾î ÀåÄ¡°¡ ¼ºñ½º¸¦ ¹Þ¾Æ¾ß ÇÒ ¶§ Çϵå¿þ¾î ÀÎÅÍ·´Æ®¸¦ ¹ß»ýÇÏ´Â °ÍÀÌ ÀÎÅÍ ·´Æ®¸¦ ÀÌ¿ëÇÑ µð¹ÙÀ̽º µå¶óÀ̹öÀÌ´Ù. ¿¹¸¦ µé¾î, ÀÌ´õ³Ý µð¹ÙÀ̽º µå¶óÀ̹ö´Â ³×Æ®¿÷¿¡¼ ÀÌ´õ³Ý ÆÐŶÀ» ¹ÞÀ» ¶§¸¶´Ù ÀÎÅÍ·´Æ®¸¦ ¹ß»ýÇÑ´Ù. ¸®´ª½º Ä¿³ÎÀº ÀÌ ÀÎÅÍ·´Æ®¸¦ Çϵå¿þ¾î ÀåÄ¡¿¡¼ ¿Ã¹Ù¸¥ µð¹ÙÀ̽º µå¶óÀ̹ö·Î Àü´ÞÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ´Â µð¹ÙÀ̽º µå¶óÀ̹ö°¡ Ä¿³Î¿¡ ÀÎÅÍ·´Æ®¸¦ »ç¿ëÇÏ°Ú´Ù°í µî·ÏÇÔÀ¸·Î½á ÀÌ·ç¾îÁø´Ù. µå¶óÀ̹ö´Â ÀÎÅÍ·´Æ® ó¸® ·çƾ ÀÇ ÁÖ¼Ò¿Í ÀÚ½ÅÀÌ »ç¿ëÇÏ°í ½ÍÀº ÀÎÅÍ·´Æ® ¹øÈ£¸¦ Ä¿³Î¿¡ µî·ÏÇÑ´Ù. ÇöÀç µð¹ÙÀ̽º µå¶óÀÌ ¹ö°¡ ¾î¶² ÀÎÅÍ·´Æ®¸¦ »ç¿ëÇÏ°í ÀÖÀ¸¸ç, ±× ÀÎÅÍ·´Æ®°¡ ¾ó¸¶³ª ¸¹ÀÌ ¹ß»ýÇß´ÂÁö ¾Ë·Á¸é, /proc/interrupts ÆÄÀÏÀ» º¸¸é µÈ´Ù.
0: 727432 timer 1: 20534 keyboard 2: 0 cascade 3: 79691 + serial 4: 28258 + serial 5: 1 sound blaster 11: 20868 + aic7xxx 13: 1 math error 14: 247 + ide0 15: 170 + ide1
ÀÎÅÍ·´Æ® ÀÚ¿øÀ» ¿äûÇÏ´Â °ÍÀº µå¶óÀ̹ö°¡ ÃʱâÈ µÉ ¶§ ÇÑ´Ù7. ½Ã½ºÅÛÀÇ ¾î¶² ÀÎÅÍ·´Æ®µé Àº óÀ½ºÎÅÍ °íÁ¤µÇ¾î Àִµ¥, ÀÌ´Â IBM PC ±¸Á¶ÀÇ ¿À·£ À¯¹°ÀÌ´Ù. ±×·¡¼ Ç÷ÎÇÇ ÄÁÆ®·Ñ·¯ ´Â ¾ðÁ¦³ª ÀÎÅÍ·´Æ® 6À» »ç¿ëÇÑ´Ù. ´Ù¸¥ ÀÎÅÍ·´Æ®µé, ¿¹¸¦ µé¾î PCI ÀåÄ¡¿¡¼ ¹ß»ýÇÏ´Â ÀÎ ÅÍ·´Æ®µéÀº ºÎÆýÿ¡ µ¿ÀûÀ¸·Î ÇÒ´çµÈ´Ù. ÀÌ°æ¿ì µð¹ÙÀ̽º µå¶óÀ̹ö´Â ÀÎÅÍ·´Æ®ÀÇ ¼ÒÀ¯±ÇÀ» ¿äûÇϱâ ÀÌÀü¿¡ ÀÚ½ÅÀÌ Á¦¾îÇÒ ÀåÄ¡ÀÇ ÀÎÅÍ·´Æ® ¹øÈ£ (IRQ)¸¦ ¸ÕÀú ¾Ë¾Æ³»¾ß ÇÑ´Ù. ¸®´ª½º ´Â PCI¿¡¼ »ç¿ëÇÏ´Â ÀÎÅÍ·´Æ®¿¡ ´ëÇØ, IRQ ¹øÈ£¸¦ Æ÷ÇÔÇÏ¿© ½Ã½ºÅÛ¿¡ ÀÖ´Â ÀåÄ¡ Á¤º¸¸¦ ¾Ë ¼ö Àִ ǥÁØ PCI BIOS ÄݹéÀ» Áö¿øÇÑ´Ù.
ÀÎÅÍ·´Æ®°¡ CPU¿¡ ¾î¶»°Ô Àü´ÞµÇ´ÂÁö´Â Çϵå¿þ¾î ±¸Á¶¿¡ µû¶ó ´Ù¸£Áö¸¸, ´ëºÎºÐ ±¸Á¶¿¡¼ ´Â ½Ã½ºÅÛ¿¡¼ ´Ù¸¥ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´Â °ÍÀ» ¸·´Â Ưº°ÇÑ ¸ðµå¿¡¼ ÀÎÅÍ·´Æ®¸¦ Àü´ÞÇÑ´Ù. ±×·¡¼ µð¹ÙÀ̽º µå¶óÀ̹ö´Â ÀÎÅÍ·´Æ® ó¸® ·çƾ ¾È¿¡¼´Â µÇµµ·Ï ÀûÀºÀÏÀ» ÇÏ¿©, ¸®´ª½º Ä¿³ÎÀÌ ÀÎÅÍ·´Æ® 󸮿¡¼ ºüÁ®³ª¿Í ÀÎÅÍ·´Æ®µÇ±â Àü¿¡ ÇÏ´ø ÀÏ·Î µÇµ¹¾Æ°¥ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù. ÀÎÅÍ·´Æ®¸¦ ¹Þ¾ÒÀ» ¶§ ¸¹Àº ÀÏÀ» ÇØ¾ß ÇÏ´Â µð¹ÙÀ̽º µå¶óÀ̹ö´Â, ³ªÁß¿¡ ºÒ·Áµµ µÇ´Â ÀÛ¾÷À» Ä¿³ÎÀÇ ÇϹݺΠÇڵ鷯³ª ÀÛ¾÷Å¥¿¡ ³Ö¾î ó¸®ÇÒ ¼ö ÀÖ´Ù.
DMA´Â ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ °³¹ßµÇ¾ú´Ù. DMA ÄÁÆ®·Ñ·¯´Â CPU°¡ °³ÀÔÇÏÁö ¾Ê°í ÀåÄ¡¿Í ½Ã½ºÅÛÀÇ ¸Þ¸ð¸® »çÀÌ¿¡ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. PCÀÇ ISA DMA ÄÁÆ®·Ñ·¯ ´Â ¿©´ü°³ÀÇ DMAÀÇ Ã¤³ÎÀ» °¡Áö°í ÀÖÀ¸¸ç, ÀÌ Áß 7°³¸¦ µð¹ÙÀ̽º µå¶óÀ̹ö°¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. °¢ DMA ä³ÎÀº 16 ºñÆ® ÁÖ¼Ò ·¹Áö½ºÅÍ¿Í 16 ºñÆ® Ä«¿îÅÍ ·¹Áö½ºÅÍ¿¡ ¿¬°áµÇ¾î ÀÖ´Ù. µ¥ÀÌÅÍ Àü¼ÛÀ» ÃʱâÈÇϱâ À§ÇØ µð¹ÙÀ̽º µå¶óÀ̹ö´Â DMA ä³ÎÀÇ ÁÖ¼Ò·¹Áö½ºÅÍ¿Í Ä«¿îÅÍ ·¹Áö½ºÅÍ, µ¥ÀÌÅÍ Àü¼Û ¹æÇâ(ÀÐÀ» °ÍÀÎÁö, ¾µ °ÍÀÎÁö)À» ÇÔ²² ¼³Á¤ÇÑ´Ù. ±×¸®°í ÀÚ½ÅÀÌ ¿øÇÒ ¶§ ÀåÄ¡¿¡°Ô DMA¸¦ ½ÃÀÛÇصµ ÁÁ´Ù°í ¸í·ÉÇÑ´Ù. µ¥ÀÌÅÍ Àü¼ÛÀÌ ¿Ï·áµÇ¸é ÀåÄ¡´Â PC¿¡ ÀÎ ÅÍ·´Æ®¸¦ ¹ß»ýÇÑ´Ù. Àü¼ÛÀÌ ÀÌ·ç¾îÁö´Â µ¿¾È¿¡ CPU´Â ´Ù¸¥ÀÏÀ» ¸¾´ë·Î ÇÒ ¼ö ÀÖ´Ù.
µð¹ÙÀ̽º µå¶óÀ̹ö´Â DMA¸¦ ¸Å¿ì Á¶½ÉÇؼ »ç¿ëÇØ¾ß ÇÑ´Ù. ¹«¾ùº¸´Ùµµ DMA ÄÁÆ®·Ñ·¯´Â °¡»ó ¸Þ¸ð¸®¿¡ ´ëÇؼ ¾Æ¹«°Íµµ ¸ð¸£°í ÀÖÀ¸¸ç, ±×Àú ½Ã½ºÅÛÀÇ ¹°¸®Àû ¸Þ¸ð¸®¿¡ Á¢±ÙÇÒ »Ó ÀÌ´Ù. µû¶ó¼ DMA¿¡¼ »ç¿ëÇÏ´Â ¸Þ¸ð¸®´Â ¹°¸®ÀûÀÎ ¸Þ¸ð¸®¿¡¼ ¿¬¼ÓµÈ ºí·°À¸·Î µÇ¾î ÀÖ ¾î¾ß ÇÑ´Ù. ÀÌ´Â ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸® ÁÖ¼Ò°ø°£À¸·Î DMA¸¦ ¹Ù·Î »ç¿ëÇÒ ¼ö ¾ø´Ù´Â ¸» ÀÌ´Ù8. ¾î·µç »ç¿ëÀÚ´Â ÇÁ·Î¼¼½ºÀÇ ¹°¸®Àû ÆäÀÌÁö¸¦ ¸Þ¸ð¸®¿¡ ¶ô(lock)À» °É¾î9, DMA ÀÛ¾÷ Áß¿¡ ¸Þ¸ð¸®°¡ ½º¿Ò ÀåÄ¡·Î ½º¿Ò ¾Æ¿ôµÇ´Â °ÍÀ» ¹æÁöÇÏ°Ô ¸¸µé¼ö ÀÖ´Ù. µÑ°·Î, DMA ÄÁÆ® ·Ñ·¯´Â ¹°¸®Àû ¸Þ¸ð¸® Àüü¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù. DMA ä³ÎÀÇ ÁÖ¼Ò ·¹Áö½ºÅÍ´Â DMA ¾îµå·¹ ½ºÀÇ Ã³À½ 16 bit¸¦ ³ªÅ¸³»°í, ÆäÀÌÁö ·¹Áö½ºÅÍ¿¡ ´ÙÀ½ 8 ºñÆ®°¡ ÀÖ´Ù. Áï DMA °¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Þ¸ð¸®´Â ÇϺΠ16MB·Î Á¦ÇѵǾî ÀÖ´Ù´Â °ÍÀÌ´Ù.
DMA ä³ÎÀº ¿ÀÁ÷ 7°³ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø°í, µð¹ÙÀ̽º µå¶óÀ̹öµéÀÌ °°ÀÌ °øÀ¯ÇÒ ¼ö ¾ø´Â µå¹® ÀÚ¿øÀÌ´Ù. ÀÎÅÍ·´Æ®¿Í ¸¶Âù°¡Áö·Î µð¹ÙÀ̽º µå¶óÀ̹ö´Â ¾î¶² DMA ä³ÎÀ» »ç¿ëÇÒ Áö ¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. ¿ª½Ã ÀÎÅÍ·´Æ®¿¡¼Ã³·³ ¾î¶² ÀåÄ¡°¡ »ç¿ëÇÏ´Â DMA ä³ÎÀº °íÁ¤µÇ¾î ÀÖ´Ù. ¿¹¸¦ µé¾î, Ç÷ÎÇÇ ÀåÄ¡´Â Ç×»ó DMA ä³Î 2¹øÀ» »ç¿ëÇÑ´Ù. °¡²ûÀº ÀåÄ¡°¡ »ç¿ëÇÏ´Â DMA ä³ÎÀº Á¡ÆÛ·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¸¹Àº ÀÌ´õ³Ý ÀåÄ¡µéÀº ÀÌ·± ±â¼úÀ» »ç¿ëÇÑ´Ù. À̺¸´Ù ´õ À¶ Å뼺 ÀÖ´Â ÀåÄ¡µéÀº ¾î¶² DMA¸¦ ä³ÎÀ» »ç¿ëÇÒ °ÍÀÎÁö ¾Ë·ÁÁÙ ¼ö ÀÖ¾î¼ (ÀÚ½ÅÀÇ CSRsÀ» ÅëÇÏ¿©), µð¹ÙÀ̽º µå¶óÀ̹ö´Â ´ÜÁö ºñ¾îÀÖ´Â DMA ä³ÎÀ» »ç¿ëÇÏ¸é µÈ´Ù.
¸®´ª½º´Â DMA ä³Î Çϳª´ç ÀÖ´Â dma_chan ÀڷᱸÁ¶ÀÇ º¤Å͸¦ ÀÌ¿ëÇÏ¿© DMA ä³ÎÀÇ »ç ¿ë¿©ºÎ¸¦ ÃßÀûÇÒ ¼ö ÀÖ´Ù. dma_chan ÀڷᱸÁ¶´Â µÎ°³ÀÇ Ç׸ñÀ¸·Î µÇ¾î Àִµ¥, Çϳª´Â DMA ä³ÎÀÇ ¼ÒÀ¯ÀÚ¸¦ ³ªÅ¸³»´Â ¹®ÀÚ¿ÀÌ°í, ´Ù¸¥ Çϳª´Â DMA ä³ÎÀÌ ÇÒ´çµÇ¾î ÀÖ´ÂÁö ºñ ¾î ÀÖ´ÂÁö¸¦ ³ªÅ¸³»´Â Ç÷¡±×ÀÌ´Ù. cat /proc/dma¶ó´Â ¸í·ÉÀ» ³»¸®¸é ³ª¿À´Â °ÍÀÌ ÀÌ dma_chan ÀڷᱸÁ¶ÀÇ º¤ÅÍÀÌ´Ù.
¸®´ª½º´Â Ä¿³Î ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ°í ÇØÁ¦ÇÏ´Â ·çƾÀ» Á¦°øÇϴµ¥, µð¹ÙÀ̽º µå¶óÀ̹ö´Â À̸¦ »ç¿ëÇÑ´Ù. Ä¿³Î ¸Þ¸ð¸®´Â 2ÀÇ Á¦°ö½Â ´ÜÀ§·Î ÇÒ´çµÈ´Ù. ¿¹¸¦ µé¸é 128À̳ª 512 Å©±â·Î ÇÒ´ç µÇ´Âµ¥, µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ´õ ÀÛÀº Å©±â¸¦ ¿äûÇصµ ÀÌ·¸°Ô ÇÒ´çµÈ´Ù. µð¹ÙÀ̽º µå¶óÀ̹ö °¡ ¿äûÇÏ´Â Å©±â´Â ´ÙÀ½ ºí·°ÀÇ Å©±â¿¡ ¸ÂÃç ¿Ã¸²ÇÏ¿© ÇÒ´çµÈ´Ù. ÀÌ·¸°Ô Çϸé ÇÁ¸® ºí·°µé À» ÇÕÃÄ ´õ Å« ºí·°À» ¸¸µé ¼ö ÀÖÀ¸¹Ç·Î, Ä¿³Î ¸Þ¸ð¸® ÇØÁ¦°¡ ½¬¿öÁø´Ù11.
Ä¿³Î ¸Þ¸ð¸®¸¦ ¿äû¹Þ¾ÒÀ» ¶§ ¸®´ª½º´Â ¸î°¡Áö ¿©ºÐÀÇ ÀÏÀ» ÇؾߵȴÙ. ¸¸¾à ÇÁ¸® ¸Þ¸ð¸®°¡ ÀûÀ¸¸é, ¹°¸®Àû ÆäÀÌÁö¸¦ Æó±âÇϰųª ½º¿Ò ÀåÄ¡·Î ½º¿Ò ¾Æ¿ôÇØ¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î ¸®´ª½º´Â ¸Þ¸ð¸®¸¦ ¿äûÇÑ ÇÁ·Î¼¼½º¸¦ Àá½Ã º¸·ù½ÃÅ°°í, ÃæºÐÇÑ ¹°¸®Àû ¸Þ¸ð¸®°¡ »ý±æ ¶§±îÁö ÀÛ¾÷À» ´ë±âÅ¥¿¡ ³Ö¾îµÐ´Ù. ¾î¶² µð¹ÙÀ̽º µå¶óÀ̹ö(¶Ç´Â ½ÇÁ¦ ¸®´ª½º Ä¿³Î ÄÚµå)´Â ÀÌ·± ÀÛ¾÷ÀÌ ¹ß »ýÇÏ´Â °ÍÀº ¿øÇÏÁö ¾ÊÀ¸¸ç, ÀÌ °æ¿ì °ð¹Ù·Î ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö ¾ø´Ù¸é Ä¿³Î ¸Þ¸ð¸® ÇÒ´ç ·çƾÀº ½ÇÆÐÇÒ ¼öµµ ÀÖ´Ù. ¸¸¾à µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ÇÒ´ç¹ÞÀº ¸Þ¸ð¸®¸¦ DMA·Î ÀÔÃâ·ÂÀ» Çϱ⸦ ¿øÇÑ´Ù¸é, ±× ¸Þ¸ð¸®¸¦ ¿ä±¸ÇÒ ¶§ DMA°¡´ÉÀ̶ó°í ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇÑ ½Ã½º ÅÛ¿¡ DMA°¡´É ¸Þ¸ð¸®¸¦ ±¸¼ºÇÏ´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÏ´Â °ÍÀº ¸®´ª½º Ä¿³ÎÀÌÁö µð¹ÙÀ̽º µå¶ó À̹ö°¡ ¾Æ´Ï´Ù.
¸®´ª½º´Â ¸Å¿ì µ¿ÀûÀÌ´Ù. ¸®´ª½º Ä¿³ÎÀº ºÎÆÃÇÒ ¶§¸¶´Ù ´Ù¸¥ ¹°¸®Àû ÀåÄ¡µéÀ» ¾Ë°Ô µÇ°í, ´Ù ¸¥ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ÇÊ¿ä·Î ÇÏ°Ô µÈ´Ù. ¸®´ª½º´Â Ä¿³ÎÀ» ºôµåÇÒ ¶§ ¼³Á¤ ½ºÅ©¸³Æ®¸¦ Åë ÇÏ¿© ¿©·¯ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ·¸°Ô µé¾î°£ µð¹ÙÀ̽º µå¶óÀ̹ö´Â ºÎÆÃÇÒ ¶§ ÃʱâÈ°¡ µÇ´Âµ¥, À̵éÀÌ Á¦¾îÇÒ Çϵå¿þ¾î°¡ ¾øÀ» ¼öµµ ÀÖ´Ù. ¾î¶² µå¶óÀ̹öµéÀº Ä¿³Î ¸ðµâ·Î ¸¸µé¾îÁ®¼ ÀÚ½ÅÀÌ ÇÊ¿ä·Î ÇÒ ¶§¿¡¸¸ ·ÎµåµÉ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ µð¹ÙÀ̽º µå¶óÀÌ ¹öÀÇ µ¿ÀûÀÎ ¼º°ÝÀ» ¿øÇÒÇÏ°Ô Çϱâ À§ÇØ, µð¹ÙÀ̽º µå¶óÀ̹ö´Â ÀÚ½ÅÀÌ Ãʱâ鵃 ¶§ Ä¿³Î¿¡ ÀÚ±â ÀÚ½ÅÀ» µî·ÏÇÑ´Ù. ¸®´ª½º´Â µð¹ÙÀ̽º µå¶óÀ̹ö¿ÍÀÇ ÀÎÅÍÆäÀ̽ºÀÇ ÇÑ ºÎºÐÀ¸·Î¼, µî·Ï µÈ µð¹ÙÀ̽º µå¶óÀ̹öÀÇ Å×À̺íÀ» °ü¸®ÇÑ´Ù. À̵é Å×À̺íÀº ÇØ´çÇÏ´Â Á¾·ùÀÇ ÀåÄ¡¿Í ÀÎÅÍÆä À̽º¸¦ Á¦°øÇÏ´Â ÇÔ¼öµéÀÇ Æ÷ÀÎÅÍ¿Í Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù.
¹®ÀÚ ÀåÄ¡ (¿¹¸¦ µé¾î /dev/cua0)¸¦ ³ªÅ¸³»´Â ¹®ÀÚ Æ¯¼ö ÆÄÀÏÀ» ¿¸é, Ä¿³ÎÀº ¿Ã¹Ù¸¥ ¹®ÀÚ µð¹ÙÀ̽º µå¶óÀ̹öÀÇ ÆÄÀÏ Ã³¸® ·çƾÀÌ ºÒ¸± ¼ö ÀÖµµ·Ï ¼Â¾÷À» ÇØÁÖ¾î¾ß ÇÑ´Ù. º¸ÅëÀÇ ÆÄÀÏ À̳ª µð·ºÅ丮ó·³ °¢ ÀåÄ¡ Ư¼ö ÆÄÀÏÀº VFS inode·Î Ç¥ÇöµÈ´Ù. ¹®ÀÚ Æ¯¼ö ÆÄÀÏ¿¡ ´ëÇÑ VFS inode´Â ÀåÄ¡ÀÇ ¸ÞÀÌÀú ½Äº°ÀÚ¿Í ¸¶ÀÌ³Ê ½Äº°ÀÚ¸¦ °¡Áö°í ÀÖ´Ù (ÀÌ´Â ¸ðµç ÀåÄ¡ Ư¼ö ÆÄÀÏ¿¡¼ µ¿ÀÏÇÏ´Ù). ÀÌ VFS inode´Â ÀåÄ¡ Ư¼ö ÆÄÀÏÀ» Á¶È¸ÇÑ °æ¿ì¿¡, ½ÇÁ¦ ±â¹ÝÇÏ´Â ÆÄÀÏ ½Ã½ºÅÛÀÌ (EXT2°°Àº) ÆÄÀÏ ½Ã½ºÅÛ¿¡ ½ÇÁ¦·Î ÀÖ´Â Á¤º¸¸¦ °¡Áö°í ¸¸µç´Ù.
°¢ VFS inode´Â ÇÑ ¼ÂÆ®ÀÇ ÆÄÀÏ ¿¬»êµé°ú ¿¬°áµÇ¾î Àִµ¥, ÀÌµé ¿¬»êÀº ±× inode°¡ °¡¸®Å° ´Â ÆÄÀÏ ½Ã½ºÅÛ °´Ã¼¿¡ µû¶ó ´Ù¸£´Ù14. ¹®ÀÚ Æ¯¼ö ÆÄÀÏÀ» ³ªÅ¸³»´Â VFS inode°¡ ¸¸µé¾îÁú ¶§ ¸¶´Ù, ÀÌ inodeÀÇ ÆÄÀÏ ¿¬»ê ÇÔ¼öµéÀº ±âº» ¹®ÀÚ ÀåÄ¡ ¿¬»êÀ¸·Î ¼³Á¤µÈ´Ù. ÀÌ´Â ´Ü ÇϳªÀÇ ÆÄÀÏ ¿¬»ê - ÆÄÀÏ ¿±â ¿¬»ê¸¸ °¡Áö°í ÀÖ´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¹®ÀÚ Æ¯¼ö ÆÄÀÏÀ» ¿¸é, ÀÌ Æ÷ °ýÀûÀÎ ¿±â ÆÄÀÏ ¿¬»ê ÇÔ¼ö´Â, ÀåÄ¡ÀÇ ¸ÞÀÌÀú ½Äº°ÀÚ¸¦ chrdevs º¤ÅÍ¿¡ ´ëÇÑ À妽º·Î »ç ¿ëÇÏ¿©, ÀÌ ÀåÄ¡¿¡ ´ëÇÑ ÆÄÀÏ ¿¬»ê ºí·°À» °¡Á®¿Â´Ù. ¶ÇÇÑ ÀÌ ¹®ÀÚ Æ¯¼ö ÆÄÀÏÀ» ¼³¸íÇÏ´Â file ÀڷᱸÁ¶ÀÇ ÆÄÀÏ ¿¬»ê Æ÷ÀÎÅÍ°¡ µð¹ÙÀ̽º µå¶óÀ̹öÀÇ °ÍÀ» °¡¸®Å°µµ·Ï ÀÌ ÀڷᱸÁ¶¸¦ ¼Â¾÷ÇÑ´Ù. ÀÌÈÄ, ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ ºÎ¸£´Â ¸ðµç ÆÄÀÏ ¿¬»êÀº ¹®ÀÚ ÀåÄ¡ÀÇ ÆÄÀÏ ¿¬»êÀ¸·Î ¸Å ÇÎµÇ¾î ºÒ¸®°Ô µÈ´Ù.
¹öÆÛ Ä³½Ã´Â µî·ÏµÈ ÀåÄ¡¿¡¼ µ¥ÀÌÅ͸¦ Àаųª ¾²·Á°í ÇÒ ¶§, request ÀڷᱸÁ¶¸¦ blk_dev_struct ¿¡ Ãß°¡ÇÑ´Ù. ±×¸² 8.2´Â °¢request°¡ Çϳª ÀÌ»óÀÇ buffer_head ÀÚ ·á±¸Á¶¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÖ°í, °¢ request´Â ÇÑ ºí·°ÀÇ µ¥ÀÌÅ͸¦ Àаųª ¾²¶ó´Â ¿äûÀ̶ó´Â °ÍÀ» º¸¿©ÁØ´Ù. buffer_head ÀڷᱸÁ¶´Â ¹öÆÛ Ä³½Ã¿¡ ÀÇÇØ ¶ôÀÌ µÇ¸ç, ÀÌ ¹öÆÛ ·ÎÀÇ ºí·° ¿¬»êÀÌ ³¡³ª±æ ±â´Ù¸®´Â ÇÁ·Î¼¼½º°¡ ÀÖÀ» °ÍÀÌ´Ù. °¢ request ±¸Á¶Ã¼´Â Á¤Àû ¸® ½ºÆ®ÀÎ all_requests ¸®½ºÆ®¿¡¼ ÇÒ´çµÈ´Ù. ¿äûÀÌ ÅÖºó ¿äû ¸®½ºÆ®¿¡ Ãß°¡µÇ¸é, ÀÌ ¿äû Å¥¸¦ ó¸®Çϱâ À§ÇØ µå¶óÀ̹öÀÇ ¿äû ÇÔ¼ö°¡ ºÒ¸®°Ô µÈ´Ù. ±×·¯¸é µå¶óÀ̹ö´Â ±×Àú ´Ü¼øÈ÷ ¸®½ºÆ®¿¡ ÀÖ´Â ¸ðµç request¸¦ ó¸®ÇÒ °ÍÀÌ´Ù.
ÀÏ´Ü µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ¿äûÀ» ó¸®ÇÏ°í ³ª¸é, µå¶óÀ̹ö´Â request ±¸Á¶Ã¼¿¡¼ °¢°¢ÀÇ buffer_head ±¸Á¶Ã¼¸¦ ¾ø¾Ö°í, ÀÌ°ÍÀÌ °»½ÅµÇ¾úÀ½À» Ç¥½ÃÇÏ°í À̵éÀÇ ¶ôÀ» ÇØÁ¦ÇØ¾ß ÇÑ´Ù. ÀÌ·¸°Ô buffer_headÀÇ ¶ôÀ» ÇØÁ¦Çϸé, ±× ºí·° ¿¬»êÀÌ ³¡³ª±æ ±â´Ù¸®¸ç Àáµé¾îÀÖ´Â ÇÁ·Î ¼¼½º°¡ ÀÖÀ» ¶§ À̸¦ ±ú¿ì°Ô µÈ´Ù. ÀÌ·± ¿¹·Î ÆÄÀÏ À̸§À» ÇØ°áÇÏ´Â °úÁ¤¿¡¼ EXT2 ÆÄÀÏ ½Ã½ºÅÛÀÌ ÆÄÀÏ ½Ã½ºÅÛÀ» ´ã°í ÀÖ´Â ºí·° ÀåÄ¡·ÎºÎÅÍ ´ÙÀ½ EXT2 µð·ºÅ丮 ¿£Æ®¸®¸¦ Æ÷ÇÔÇÏ °í ÀÖ´Â µ¥ÀÌÅÍ ºí·°À» Àоî¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ÇÁ·Î¼¼½º´Â µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ÀÚ½ÅÀ» ±ú¿ï ¶§±îÁö Àáµé°Ô µÇ¸ç, ±ú¾î³µÀ» ¶§¿¡´Â buffer_head¿¡ µð·ºÅ丮 ¿£Æ®¸®°¡ µé¾îÀÖÀ» °ÍÀÌ´Ù. ÀÌÁ¦ request ÀڷᱸÁ¶´Â ºñ¾ú´Ù°í Ç¥½ÃµÇ°í, ÀÌ ÀڷᱸÁ¶´Â ÀÌÁ¦ ´Ù¸¥ ºí·° ¿äû À» À§ÇØ »ç¿ëµÉ ¼ö ÀÖ°Ô µÈ´Ù.
µð½ºÅ© µå¶óÀ̺ê´Â Çϳª ÀÌ»óÀÇ ¿ø¹Ý(platter)À¸·Î ±¸¼ºµÇ¾î ÀÖ°í, °¢ ¿ø¹ÝÀº ¹Ì¼¼ÇÏ°Ô °£ À¯ ¸®³ª ¼¼¶ó¹Í º¹ÇÕ¹°Áú¿¡ ¹Ì¼¼ÇÑ »êÈöÀÌ ¾ãÀº ÃþÀ¸·Î ÄÚÆõǾî ÀÖ´Ù. ¿ø¹ÝµéÀº °¡¿îµ¥ Ãà (spindle)¿¡ ¿¬°áµÇ¾î ÀÏÁ¤ÇÑ ¼Óµµ·Î ȸÀüÀ» Çϴµ¥, ÀÌ È¸Àü ¼Óµµ´Â ¸ðµ¨¿¡ µû¶ó¼ 3000RPM ºÎÅÍ 10000RPM±îÁö ´Ù¸£´Ù. À̸¦ ´ÜÁö 360RPMÀ¸·Î ȸÀüÇÏ´Â Ç÷ÎÇÇ µð½ºÅ©¿Í ºñ±³Çغ¸¸é ±× Â÷À̸¦ ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. µð½ºÅ©ÀÇ Àбâ/¾²±â Çìµå´Â ÀڷḦ ÀÐ°í ¾²´Â ¿ªÇÒÀ» Çϸç, °¢ Ç¥¸é¸¶´Ù ÇϳªÀÇ Çìµå°¡ ÀÖ¾î °¢ ¿ø¹Ý¿¡ Çìµå°¡ ½ÖÀ¸·Î Á¸ÀçÇÑ´Ù. Àбâ/¾²±â Çìµå´Â ¹° ¸®ÀûÀ¸·Î ¿ø¹ÝÀÇ Ç¥¸éÀ» °Çµå¸®Áö ¾ÊÀ¸¸ç, ´ë½Å ¾ÆÁÖ ¾ãÀº(¹é¸¸ºÐÀÇ 10ÀÎÄ¡ Á¤µµ) °ø±â Äí ¼Ç À§¿¡ ¶°ÀÖ´Ù. Àбâ/¾²±â Çìµå´Â. Çìµå¸¦ ¿òÁ÷ÀÌ´Â ÀåÄ¡(actuator)¿¡ ÀÇÇØ ¿ø¹ÝÀÇ Ç¥¸éÀ» °¡ ·ÎÁú·¯ ¿òÁ÷ÀδÙ. ¸ðµç Àбâ/¾²±â Çìµå´Â ¼·Î ºÙ¾î ÀÖ¾î¼ ¿ø¹ÝÀÇ Ç¥¸é¿¡¼ ¶È°°ÀÌ ¿òÁ÷ÀÌ °Ô µÈ´Ù.
¿ø¹ÝÀÇ °¢ Ç¥¸éÀº Æ®·¢(track)À̶ó°í ÇÏ´Â ¾ÆÁÖ °¡´Â µ¿½É¿øÀ¸·Î ³ª´©¾îÁø´Ù. Æ®·¢0Àº °¡Àå ¹Ù±ù¿¡ ÀÖ´Â Æ®·¢ÀÌ°í, °¡Àå ³ôÀº ¹øÈ£¸¦ °®´Â Æ®·¢Àº Á᫐ Ãà¿¡ °¡Àå °¡±î¿î Æ®·¢ÀÌ´Ù. ½Ç ¸°´õ(cylinder)´Â ¶È°°Àº ¹øÈ£¸¦ °¡Áö´Â Æ®·¢ÀÇ ÁýÇÕÀÌ´Ù. µû¶ó¼ µð½ºÅ©¿¡ ÀÖ´Â ¸ðµç ¿ø¹ÝÀÇ ¾çÂÊ¿¡ ÀÖ´Â 5¹ø° Æ®·¢Àº ¸ðµÎ 5¹ø ½Ç¸°´õÀÌ´Ù. ½Ç¸°´õÀÇ °³¼ö´Â Æ®·¢ÀÇ °³¼ö¿Í °°À¸¹Ç·Î Á¾Á¾ µð½ºÅ©ÀÇ ±âÇÏÀû ±¸Á¶¸¦ ¼³¸íÇÒ ¶§ ½Ç¸°´õ¶ó´Â ¿ë¾î¸¦ ¾²´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. °¢ Æ®·¢Àº ¼½ÅÍ(sector)·Î ³ª´¶´Ù. ¼½ÅÍ´Â ÀڷḦ Çϵåµð½ºÅ©¿¡ ÀúÀåÇÏ°í ÀоîµéÀÏ ¼ö ÀÖ´Â ÃÖ¼Ò´ÜÀ§·Î µð½ºÅ©ÀÇ ºí·° Å©±â¿Í °°´Ù. ÀϹÝÀûÀÎ ¼½ÅÍÅ©±â´Â 512¹ÙÀÌÆ®ÀÌ°í, µð½ºÅ©¸¦ Á¦ ÀÛÇÑ ÈÄ Æ÷¸ËÀ» ÇÒ ¶§ ÀÌ Å©±â°¡ ÁöÁ¤µÈ´Ù.
µð½ºÅ©´Â º¸Åë ±âÇÏÀû ±¸Á¶ - ½Ç¸°´õ¿Í Çìµå, ±×¸®°í ¼½ÅÍÀÇ °³¼ö - ·Î À̾߱âÇÑ´Ù. ¿¹¸¦ µé ¾î ºÎÆÃÇÒ ¶§ ¸®´ª½º¿¡¼ ÇÊÀÚÀÇ IDE µð½ºÅ© ÁßÀÇ Çϳª¸¦ ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³´Ù.
hdb: Conner Peripherals 540MB-CFS540A, 516MB w/64kB Cache, CHS=1050/16/63
ÀÌ°ÍÀº µð½ºÅ©°¡ 1050°³ÀÇ ½Ç¸°´õ (Æ®·¢), 16°³ÀÇ Çìµå (8°³ÀÇ ¿ø¹Ý), ±×¸®°í Æ®·¢¸¶´Ù 63 °³ÀÇ ¼½Å͸¦ °¡Áö°í ÀÖ´Ù´Â °ÍÀ» ¸»ÇÑ´Ù. °¢ ¼½ÅÍ Áï ºí·°¸¶´Ù 512¹ÙÀÌÆ®ÀÇ Å©±â¸¦ °¡Áö¹Ç ·Î, µð½ºÅ©ÀÇ ÀúÀå¿ë·®Àº 529200 ¹ÙÀÌÆ®°¡ µÈ´Ù. ÀÌ´Â À§¿¡¼ º¸¿©ÁÖ´Â µð½ºÅ©ÀÇ ¿ë·® 516MBÇÏ°í´Â Â÷ÀÌ°¡ Àִµ¥, ÀÌ´Â ¼½ÅÍ ÁßÀÇ ÀϺδ µð½ºÅ© ÆÄƼ¼Ç Á¤º¸¸¦ °£Á÷Çϴµ¥ »ç ¿ëµÇ±â ¶§¹®ÀÌ´Ù. ¾î¶² µð½ºÅ©µéÀº ÀÚµ¿À¸·Î ¹èµå ¼½ÅÍ(bad sector)¸¦ ã¾Æ³»¼ µð½ºÅ©°¡ Á¦´ë ·Î ÀÛµ¿Çϵµ·Ï À妽º¸¦ ´Ù½Ã ºÙÀ̱⵵ ÇÑ´Ù.
ÇÏµå µð½ºÅ©´Â ÆÄƼ¼Ç(partition)À¸·Î ÂÉ°³Áú ¼ö ÀÖ´Ù. ÆÄƼ¼ÇÀº Ưº°ÇÑ ¸ñÀûÀ» À§ÇØ ÇÒ´çÇÑ ¼½Å͵éÀÇ °Å´ëÇÑ ±×·ìÀÌ´Ù. µð½ºÅ©ÀÇ ÆÄƼ¼ÇÀ» ³ª´©´Â °ÍÀº µð½ºÅ©¸¦ ¿©·¯ ¿î¿µÃ¼Á¦·Î ¾²°Å ³ª, ´Ù¸¥ ¸ñÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¸¹Àº ¸®´ª½º ½Ã½ºÅÛÀº ÇϳªÀÇ µð½ºÅ©¿¡ ¼¼°³ÀÇ ÆÄƼ¼ÇÀ» °¡Áø´Ù - Çϳª´Â DOS ÆÄÀÏ ½Ã½ºÅÛÀÌ°í, ´Ù¸¥ Çϳª´Â EXT2 ÆÄÀÏ ½Ã½ºÅÛÀ», ¸¶Áö¸· Àº ½º¿Ò ÆÄƼ¼ÇÀÌ´Ù. Çϵåµð½ºÅ©ÀÇ ÆÄƼ¼Ç Á¤º¸´Â ÆÄƼ¼Ç Å×ÀÌºí¿¡ ÀûÇôÀÖ´Ù. ÆÄƼ¼Ç Å×À̺í ÀÇ °¢ ¿£Æ®¸®´Â ÆÄƼ¼ÇÀÌ ¾îµð¼ ½ÃÀÛÇÏ°í ¾îµð¼ ³¡³ª´ÂÁö¸¦ Çìµå¿Í ¼½ÅÍ, ½Ç¸°´õ ¹øÈ£¸¦ °¡Áö°í ±â¼úÇÑ´Ù. fdisk·Î DOS·Î Æ÷¸ËµÈ µð½ºÅ©´Â 4°³ÀÇ 1Â÷ µð½ºÅ© ÆÄƼ¼Ç(primary disk partition)À» °¡Áú ¼ö ÀÖ´Ù. ÆÄƼ¼Ç Å×À̺íÀÇ 4°³ ¿£Æ®¸® ¸ðµÎ°¡ ¾²¿©¾ß ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. fdisk´Â ¼¼°¡Áö À¯ÇüÀÇ ÆÄƼ¼ÇÀ» Áö¿øÇϴµ¥, °¢°¢ 1Â÷(primary), È®Àå(extended), ³í¸® (logical) ÆÄƼ¼ÇÀÌ´Ù. È®Àå ÆÄƼ¼ÇÀº ÁøÂ¥ ÆÄƼ¼ÇÀÌ ¾Æ´Ï¶ó, ¿©·¯ °³ÀÇ ³í¸® ÆÄƼ¼ÇÀ» °¡Áö°í ÀÖ´Â °ÍÀÌ´Ù. È®ÀåÆÄƼ¼Ç°ú ³í¸® ÆÄƼ¼ÇÀº 1Â÷ ÆÄƼ¼ÇÀ» ³×°³¹Û¿¡ °¡Áú ¼ö ÀÖ´Â Á¦ÇÑÀ» ¿ì ȸÇϱâ À§ÇÑ ¹æ¹ýÀ¸·Î °³¹ßµÇ¾ú´Ù. ´ÙÀ½Àº µÎ°³ÀÇ 1Â÷ ÆÄƼ¼ÇÀ» °¡Áö°í ÀÖ´Â µð½ºÅ©¿¡ ´ëÇØ fdisk¸¦ ½ÇÇàÇßÀ» ¶§ÀÇ Ãâ·Â °á°úÀÌ´Ù :
Disk /dev/sda: 64 heads, 32 sectors, 510 cylinders Units = cylinders of 2048 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/sda1 1 1 478 489456 83 Linux native /dev/sda2 479 479 510 32768 82 Linux swap Expert command (m for help) : p Disk /dev/sda: 64 heads, 32 sectors, 510 cylinders Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID 1 00 1 1 0 63 32 477 32 978912 83 2 00 0 1 478 63 32 509 978944 65536 82 3 00 0 0 0 0 0 0 0 0 00 4 00 0 0 0 0 0 0 0 0 00
À̴ ù¹ø° ÆÄƼ¼ÇÀÌ ½Ç¸°´õ 0 (Áï Æ®·¢ 0), Çìµå 1, ¼½ÅÍ 1¿¡¼ ½ÃÀÛÇϸç, 477¹ø ½Ç¸°´õ, 32 °³ÀÇ ¼½ÅÍ, 63°³ÀÇ Çìµå±îÁö ÀÖ´Ù´Â °ÍÀ» º¸¿©ÁØ´Ù. ¿©±â¿£ Æ®·¢´ç 32°³ÀÇ ¼½ÅÍ¿Í 64°³ÀÇ Àбâ/¾²±â Çìµå°¡ ÀÖÀ¸¹Ç·Î, ÀÌ ÆÄƼ¼ÇÀÇ Å©±â´Â ÀÖ¾î¼ ½Ç¸°´õ °³¼ö¿Í °°´Ù16. fdisk´Â ±âº» ÀûÀ¸·Î ÆÄƼ¼ÇÀ» ½Ç¸°´õ¸¦ °æ°è·Î ¹è¿ÇÑ´Ù. ÀÌ´Â ¸Ç ¹Ù±ù ½Ç¸°´õ 0¿¡¼ ½ÃÀÛÇÏ¿© ÃàÀÌ ÀÖ ´Â ¹æÇâÀ¸·Î ¾ÈÂÊÀ¸·Î µé¾î°¡ 478°³ÀÇ ½Ç¸°´õ¸¦ °®´Â´Ù. µÎ¹ø° ÆÄƼ¼ÇÀº ½º¿Ò ÆÄƼ¼ÇÀ¸·Î ¼ ´ÙÀ½ ½Ç¸°´õ (478)¿¡¼ ½ÃÀÛÇÏ¿© µð½ºÅ©ÀÇ °¡Àå ¾ÈÂÊ ½Ç¸°´õ±îÁö »¸ÃÄÀÖ´Ù.
µð½ºÅ© ¼ºê½Ã½ºÅÛÀÌ ÃʱâÈÇÒ ¶§ ¸¸µå´Â gendisk ¿£Æ®¸®´Â, ´ÜÁö ¸®´ª½º°¡ ÆÄƼ¼ÇÀ» °Ë»ç ÇÒ ¶§¿¡¸¸ ¾²ÀδÙ. ´ë½Å, °¢ µð½ºÅ© ¼ºê½Ã½ºÅÛÀº ÀåÄ¡ÀÇ ¸ÞÀÌÀú¿Í ¸¶ÀÌ³Ê ÀåÄ¡ ¹øÈ£¸¦ ¹°¸® ÀûÀÎ µð½ºÅ©¿¡ ÀÖ´Â ÆÄƼ¼Ç°ú ¸ÅÇνÃų ¼ö ÀÖµµ·Ï ÀڽŸ¸ÀÇ ÀڷᱸÁ¶¸¦ ±¸ÃàÇÑ´Ù. ºí·° Àå Ä¡°¡ ¹öÆÛ Ä³½Ã³ª ÆÄÀÏ ¿¬»êÀ» ÅëÇØ ÀÐÇôÁö°Å³ª ¾²ÀÏ ¶§, Ä¿³ÎÀº ÀÌ ¿¬»êÀ» ºí·° ÀåÄ¡ Ư¼ö ÆÄÀÏ(¿¹¸¦ µé¾î /dev/sda2)¿¡¼ ¹ß°ßÇÑ ¸ÞÀÌÀú ÀåÄ¡¹øÈ£¸¦ ÀÌ¿ëÇÏ¿© ¿Ã¹Ù¸¥ ÀåÄ¡·Î º¸³» °Ô µÈ´Ù. ¸¶ÀÌ³Ê ÀåÄ¡ ¹øÈ£¸¦ ½ÇÁ¦ ¹°¸®Àû ÀåÄ¡¿¡ ¿¬°áÇÏ´Â °ÍÀº °³º° µð¹ÙÀ̽º µå¶óÀ̹ö³ª ¼ºê½Ã½ºÅÛÀÇ ¿ªÇÒÀÌ´Ù.
¸®´ª½º´Â IDE µð½ºÅ©ÀÇ À̸§À» µð½ºÅ© ÄÁÆ®·Ñ·¯¸¦ ¹ß°ßÇÑ ¼ø¼¿¡ µû¶ó ºÙÀδÙ. 1Â÷ ÄÁÆ®·Ñ ·¯ÀÇ ÁÖ µð½ºÅ©´Â /dev/hda, Á¾¼Ó µð½ºÅ©´Â /dev/hdbÀÌ´Ù. /dev/hdc´Â 2Â÷ IDE ÄÁÆ® ·Ñ·¯¿¡ ÀÖ´Â ÁÖ µð½ºÅ©ÀÌ´Ù. IDE ¼ºê½Ã½ºÅÛÀº ¸®´ª½º Ä¿³Î¿¡ IDE ÄÁÆ®·Ñ·¯¸¦ µî·ÏÇÏÁö¸¸ µð½ºÅ©¸¦ µî·ÏÇÏ´Â °ÍÀº ¾Ê´Â´Ù. 1Â÷ IDE ÄÁÆ®·Ñ·¯¿¡ ´ëÇÑ ¸ÞÀÌÀú ½Äº°ÀÚ(¶Ç´Â ÀåÄ¡ ¹øÈ£) ´Â 3ÀÌ°í, 2Â÷ IDE ÄÁÆ®·Ñ·¯´Â 22ÀÌ´Ù. ±×·¡¼ ½Ã½ºÅÛÀÌ µÎ°³ÀÇ IDE ÄÁÆ®·Ñ·¯¸¦ °¡Áö°í ÀÖ ´Ù¸é, blk_dev¿Í blkdevs º¤ÅÍÀÇ 3¹ø°ú 22¹ø À妽º¿¡ IDE ¼ºê½Ã½ºÅÛÀÇ ¿£Æ®¸®°¡ ÀÖÀ» °ÍÀÌ´Ù. IDE µð½ºÅ©ÀÇ ºí·° Ư¼ö ÆÄÀÏÀº ÀÌ·± ¹øÈ£ ºÙÀÌ´Â ¹æ¹ýÀ» ¹Ý¿µÇÏ¿©, 1Â÷ IDE ÄÁÆ® ·Ñ·¯¿¡ ¿¬°áµÇ¾î ÀÖ´Â /dev/hda¿Í /dev/hdb µÎ °³´Â ¸ÞÀÌÀú ½Äº°ÀÚ·Î 3À» °¡Áø´Ù. Ä¿³Î Àº ÀÌµé ºí·° Ư¼ö ÆÄÀÏÀ» °ü¸®ÇÏ´Â IDE ¼ºê½Ã½ºÅÛ¿¡ ´ëÇÑ ÆÄÀÏ ¿¬»êÀ̳ª ¹öÆÛ Ä³½Ã ¿¬»ê À», ¸ÞÀÌÀú ½Äº°ÀÚ¸¦ À妽º·Î »ç¿ëÇÏ¿© ¾Ë¾Æ³½ IDE ¼ºê½Ã½ºÅÛÀ¸·Î Àü´ÞÇÑ´Ù. ¾î¶² ¿äûÀÌ µé¾î¿ÔÀ» ¶§ ¾î¶² IDE µð½ºÅ©¿¡°Ô ¿äûÀÌ µé¾î¿Ô´ÂÁö ¾Ë¾Æ³»´Â °ÍÀº IDE ¼ºê½Ã½ºÅÛÀÇ ¸ò ÀÌ´Ù. À̸¦ À§ÇØ IDE ¼ºê½Ã½ºÅÛÀº ÀåÄ¡ Ư¼ö ½Äº°ÀÚ¿¡ ÀÖ´Â ¸¶ÀÌ³Ê ÀåÄ¡ ¹øÈ£¸¦ »ç¿ëÇÏ´Â µ¥, ÀÌ°ÍÀº ¿Ã¹Ù¸¥ µð½ºÅ©ÀÇ ÇØ´çÇÏ´Â ÆÄƼ¼ÇÀ¸·Î ¿äûÀ» º¸³¾ ¼ö ÀÖµµ·Ï ÇÏ´Â Á¤º¸¸¦ °¡Áö °í ÀÖ´Ù. 1Â÷ IDE ÄÁÆ®·Ñ·¯¿¡ ÀÖ´Â Á¾¼Ó IDE µå¶óÀ̺êÀÎ /dev/hdbÀÇ ÀåÄ¡ ½Äº°ÀÚ´Â (3,64)ÀÌ°í, ÀÌ µð½ºÅ©ÀÇ Ã¹¹ø° ÆÄƼ¼Ç(/dev/hdb1)¿¡ ´ëÇÑ ÀåÄ¡ ½Äº°ÀÚ´Â (3,65)ÀÌ´Ù.
¸®´ª½º°¡ Áö¿øÇÒ ¼ö ÀÖ´Â ÃÖ´ë IDE ÄÁÆ®·Ñ·¯ÀÇ °¹¼ö´Â 4°³ÀÌ´Ù. °¢ ÄÁÆ®·Ñ·¯´Â ide_hwifs º¤ÅÍ¿¡ ÀÖ´Â ide_hwif_t ÀڷᱸÁ¶·Î Ç¥ÇöÇÑ´Ù. °¢ ide_hwif_t ÀڷᱸÁ¶´Â µÎ°³ÀÇ ide_drive_t ÀÚ·á ±¸Á¶¸¦ °¡Áö°í ÀÖÀ¸¸ç, ÀÌ Áß Çϳª´Â ÁÖ IDE µå¶óÀ̺ê, ´Ù¸¥ ÇÏ ³ª´Â Á¾¼Ó IDE µå¶óÀ̺긦 À§ÇÑ °ÍÀÌ´Ù. IDE ¼ºê½Ã½ºÅÛ¸¦ ÃʱâÈÇÒ ¶§ ¸®´ª½º´Â ¸ÕÀú ½Ã½º ÅÛÀÇ CMOS ¸Þ¸ð¸®¿¡ µð½ºÅ© Á¤º¸°¡ ÀÖ´ÂÁö »ìÆ캻´Ù. CMOS ¸Þ¸ð¸®´Â ¹åµ¥¸®¿¡¼ Àü¿øÀ» °ø±Þ¹Þ±â ¶§¹®¿¡ PCÀÇ Àü¿øÀ» ²ô´õ¶óµµ ³»¿ë¹°À» ÀÒ¾î¹ö¸®Áö ¾Ê´Â ¸Þ¸ð¸®´Ù. ÀÌ CMOS ¸Þ ¸ð¸®´Â, PCÀÇ Àü¿øÀÌ ÄÑÁ® ÀÖ´ÂÁö ²¨Á® ÀÖ´ÂÁö¿¡ ¹«°üÇÏ°Ô µ¹¾Æ°¡´Â ½Ç½Ã°£ ½Ã°è(real time clock, RTC) ÀåÄ¡¿¡ µé¾îÀÖ´Â °ÍÀÌ´Ù. CMOS ¸Þ¸ð¸®ÀÇ À§Ä¡´Â ½Ã½ºÅÛÀÇ BIOS¿¡¼ ¼³Á¤Çϸç, ÀÌ´Â ¾î¶² IDE ÄÁÆ®·Ñ·¯¿Í µå¶óÀ̺갡 ÀÖ´ÂÁö ¸®´ª½º¿¡°Ô ¾Ë·ÁÁØ´Ù. ¸®´ª½º´Â ¹ß°ßÇÑ µð½º Å©ÀÇ ±âÇÏÀû Á¤º¸¸¦ BIOS·ÎºÎÅÍ ¾òÀ¸¸ç, ÀÌ Á¤º¸¸¦ ÀÌ µå¶óÀ̺꿡 ´ëÇÑ ide_hwif_t ÀÚ·á ±¸Á¶¸¦ ¼³Á¤Çϴµ¥ »ç¿ëÇÑ´Ù. ÃÖ±Ù¿¡ ³ª¿Â PCµéÀº PCI EIDE ÄÁÆ®·Ñ·¯¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â Intel 82430 VX Ĩ¼Â°°Àº PCI Ĩ¼ÂÀ» »ç¿ëÇÑ´Ù. ÀÌ °æ¿ì IDE ¼ºê½Ã½ºÅÛÀº PCI BIOS ÄݹéÀ» ÀÌ¿ëÇÏ¿© ½Ã½ºÅÛ¿¡ ÀÖ´Â PCI (E)IDE ÄÁÆ®·Ñ·¯¸¦ ã´Â´Ù. ±×¸®°í ÇöÀç ÀÖ´Â À̵é Ĩ¼Â¿¡ PCI °íÀ¯ÀÇ ÁúÀÇ ·çƾÀ» È£ÃâÇÑ´Ù.
IDE ÀÎÅÍÆäÀ̽º, Áï ÄÁÆ®·Ñ·¯°¡ ¹ß°ßµÇ¸é, ÄÁÆ®·Ñ·¯¿Í ÀÌ¿¡ ¿¬°áµÈ µð½ºÅ©¸¦ ¹Ý¿µÇÏ¿© ide_hwif_t°¡ ¼³Á¤µÈ´Ù. IDE µå¶óÀ̹ö°¡ I/O ¸Þ¸ð¸® °ø°£¿¡ ÀÖ´Â IDE ¸í·É ·¹Áö½ºÅÍ¿¡ ¸í ·ÉÀ» ¾¸À¸·Î½á µ¿ÀÛÀÌ ÀÌ·ç¾îÁø´Ù. 1Â÷IDE ÄÁÆ®·Ñ·¯ÀÇ ¸í·É ·¹Áö½ºÅÍ¿Í Á¦¾î ·¹Áö½ºÅÍÀÇ ±âº» I/O ÁÖ¼Ò´Â 0x1F0 - 0x1F7ÀÌ´Ù. À̵é ÁÖ¼Ò´Â IBM PC ÃÊâ±â¿¡¼ºÎÅÍ °üÇàÀ¸·Î ¼³Á¤µÈ °ÍÀÌ´Ù. IDE µå¶óÀ̹ö´Â °¢ ÄÁÆ®·Ñ·¯¸¦ ¸®´ª½º ºí·° ¹öÆÛ Ä³½Ã¿Í VFS¿¡ µî·ÏÇϴµ¥, ÀÌ´Â blk_dev¿Í blkdevs º¤ÅÍ¿¡ Ãß°¡ÇÏ´Â °ÍÀÌ´Ù. IDE µå¶óÀ̹ö´Â ¶ÇÇÑ ÇØ´çÇÏ´Â ÀÎÅÍ·´Æ®¿¡ ´ëÇÑ Á¦¾î±ÇÀ» ¿äûÇÑ´Ù. À̵é ÀÎÅÍ·´Æ® ¿ª½Ã °üÇàó·³ 1Â÷ IDE ÄÁÆ®·Ñ·¯¿¡ 14, 2Â÷ IDE ÄÁÆ®·Ñ·¯´Â 15·Î ¼³Á¤µÈ´Ù. ±×·¸Áö¸¸, ÀÌµé ¼³Á¤Àº IDEÀÇ ´Ù¸¥ »ó¼¼ÇÑ ¼³Á¤°ú ¸¶Âù°¡Áö·Î Ä¿³Î¿¡ ¸í·ÉÇà(command line) ¿É¼ÇÀ» ÁÖ¾î¼ µ¤¾î ¾µ ¼ö ÀÖ´Ù. IDE µå¶óÀ̹ö´Â ¶ÇÇÑ ºÎÆýà ¹ß°ßµÈ IDE ÄÁÆ®·Ñ·¯¸¶´Ù gendisk¸¦ ¸¸µé¾î gendiskÀÇ ¸®½ºÆ®¿¡ Ãß°¡ÇÑ´Ù ÀÌ ¸®½ºÆ®´Â ³ªÁß¿¡ ºÎÆýà ¹ß°ßµÈ ¸ðµç ÇÏµå µð½ºÆ®ÀÇ ÆÄƼ¼Ç Å×À̺íÀ» ã´Âµ¥ »ç¿ëÇÑ´Ù. ÆÄƼ¼ÇÀ» °Ë »çÇÏ´Â ÄÚµå´Â IDE ÄÁÆ®·Ñ·¯°¡ µÎ°³ÀÇ IDE µð½ºÆ®¸¦ Á¦¾îÇÒ ¼öµµ ÀÖ´Ù´Â °ÍÀ» ¾Ë°í ÀÖ´Ù.
¸®´ª½º SCSI ¼ºê½Ã½ºÅÛÀº µÎ°¡Áö ±âº»ÀûÀÎ ¿ä¼Ò·Î µÇ¾î ÀÖ´Ù. °¢°¢Àº ÀڷᱸÁ¶·Î Ç¥ÇöÀÌ µÇ´Âµ¥ À̵éÀº ´ÙÀ½°ú °°´Ù.
SCSI ¼ºê½Ã½ºÅÛÀÇ ÃʱâÈ
SCSI ¼ºê½Ã½ºÅÛÀ» ÃʱâÈÇÏ´Â °ÍÀº SCSI ¹ö½º¿Í ÀåÄ¡µéÀÇ µ¿ÀûÀΠƯ¼º ¶§¹®¿¡ ¸Å¿ì º¹Àâ ÇÏ´Ù. ¸®´ª½º´Â ºÎÆýÿ¡ SCSI ¼ºê½Ã½ºÅÛÀ» ÃʱâÈÇÑ´Ù - ½Ã½ºÅÛ¿¡ ÀÖ´Â SCSI ÄÁÆ®·Ñ·¯ (SCSI È£½ºÆ®¶ó°í ÇÏ´Â)¸¦ ã°í, °¢ SCSI ¹ö½º¸¦ °Ë»çÇÏ¿© ¸ðµç ÀåÄ¡µéÀ» ã¾Æ³½´Ù. ±×¸®°í À̵é ÀåÄ¡¸¦ ÃʱâÈÇÏ¿© ¸®´ª½º Ä¿³ÎÀÇ ´Ù¸¥ ºÎºÐ¿¡¼ ÀÏ¹Ý ÆÄÀÏ ¿¬»ê°ú ¹öÆÛ Ä³½Ã ºí·° Àå Ä¡ ¿¬»êÀ» °¡Áö°í À̵éÀ» »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÃʱâÈ´Â ³×°¡Áö »óÅ¿¡¼ ÀÌ·ç¾îÁø´Ù.
ù°, ¸®´ª½º´Â Ä¿³ÎÀ» ºôµåÇÒ ¶§ µé¾î°¡ ÀÖ´Â SCSI È£½ºÆ® ¾î´ðÅÍ, Áï ÄÁÆ®·Ñ·¯ Áß ¾î¶² °ÍÀÌ ÀÚ½ÅÀÌ Á¦¾îÇÒ Çϵå¿þ¾î¸¦ °¡Áö°í ÀÖ´ÂÁö ã´Â´Ù. Ä¿³Î¿¡ Æ÷ÇÔµÈ °¢ SCSI È£½ºÆ®´Â builtin_scsi_hosts º¤ÅÍ¿¡ Scsi_Host_Template ¿£Æ®¸®¸¦ °¡Áö°í ÀÖ´Ù. Scsi_Host_Template ÀڷᱸÁ¶´Â ¾î¶² SCSI ÀåÄ¡°¡ SCSI È£½ºÆ®¿¡ ¿¬°áµÇ¾î ÀÖ´ÂÁö °¨ ÁöÇÏ´Â °Í °°Àº ÀÏÀ» ¼öÇàÇÏ´Â SCSI È£½ºÆ® º°·Î °íÀ¯ÇÑ ·çƾµé¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÖ´Ù. SCSI ¼ºê½Ã½ºÅÛÀº ÀÚ½ÅÀ» ¼³Á¤ÇÏ´Â µ¿¾È ÀÌµé ·çƾÀ» ºÎ¸£¸ç, ÀÌµé ·çƾÀº ÀÌ·± È£½º Æ® À¯ÇüÀ» Áö¿øÇÏ´Â SCSI µð¹ÙÀ̽º µå¶óÀ̹öÀÇ ÇÑ ºÎºÐÀÌ´Ù. ½ÇÁ¦ SCSI ÀåÄ¡°¡ ¿¬°áµÇ¾î ÀÖ ´Â °¨ÁöµÈ SCSI È£½ºÆ®´Â, ÀÚ½ÅÀÇ Scsi_Host_Template ÀڷᱸÁ¶¸¦ È°¼ºÈµÈ SCSI È£½º Æ®µéÀÇ scsi_hosts ¸®½ºÆ®¿¡ Ãß°¡ÇÑ´Ù. °¨ÁöµÈ È£½ºÆ® À¯ÇüÀÇ °¢ È£½ºÆ®´Â scsi_hostlist ¸®½ºÆ®¿¡ ÀÖ´Â Scsi_Host ÀڷᱸÁ¶·Î Ç¥ÇöµÈ´Ù. ¿¹¸¦ µé¾î, µÎ°³ÀÇ NCR810 PCI SCSI ÄÁÆ®·Ñ·¯¸¦ °¡Áø ½Ã½ºÅÛÀº °¢ ÄÁÆ®·Ñ·¯º°·Î Çϳª¾¿Çؼ, ¸®½ºÆ®¿¡ µÎ°³ÀÇ Scsi_Host ¿£Æ®¸®¸¦ °¡Áö°Ô µÈ´Ù. °¢ Scsi_Host´Â ÀÚ½ÅÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ³ªÅ¸³» ´Â Scsi_Host_Template¸¦ °¡¸®Å²´Ù.
ÀÌÁ¦ ¸ðµç SCSI È£½ºÆ®¸¦ ¹ß°ßÇßÀ¸¹Ç·Î, SCSI ¼ºê½Ã½ºÅÛÀº ¾î¶² SCSI ÀåÄ¡°¡ È£½ºÆ®ÀÇ ¹ö ½º¿¡ ¿¬°áµÇ¾ú´ÂÁö ã¾Æ¾ß ÇÑ´Ù. SCSI ÀåÄ¡´Â 0¿¡¼ 7±îÁöÀÇ ÀåÄ¡ ¹øÈ£¸¦ °¡Áö´Âµ¥, ÀÌ ¹ø È£´Â ÀÚ½ÅÀÌ ¿¬°áµÈ SCSI ¹ö½º¿¡¼ À¯ÀÏÇØ¾ß ÇÑ´Ù. SCSI ½Äº°ÀÚ´Â ´ë°³ ÀåÄ¡¿¡ ÀÖ´Â Á¡ÆÛ·Î ¼³Á¤ÇÑ´Ù. SCSI ÃʱâÈ ÄÚµå´Â SCSI ¹ö½º¿¡ ÀÖ´Â ÀåÄ¡·Î TEST_UNIT_READY ¸í·ÉÀ» º¸³»¼ ÀåÄ¡¸¦ ã´Â´Ù. ÀåÄ¡°¡ ´ë´äÀ» ÇÑ´Ù¸é, ENQUIRY ¸í·ÉÀ» º¸³»¼ ½Å¿øÈ®ÀÎÀ» ÇÑ´Ù. ÀÌ´Â ¸®´ª ½º¿¡°Ô Á¦ÀÛÀÚ(vendor)ÀÇ À̸§°ú ÀåÄ¡ÀÇ ¸ðµ¨¸í°ú °³Á¤(revision) À̸§À» Àü´ÞÇÑ´Ù. SCSI ¸í·É Àº Scsi_Cmnd ÀڷᱸÁ¶·Î Ç¥ÇöµÇ°í, µð¹ÙÀ̽º µå¶óÀ̹öÀÇ Scsi_Host_Template Àڷᱸ Á¶¿¡ ÀÖ´Â µð¹ÙÀ̽º µå¶óÀ̹ö ·çƾ¿¡ ºÎ¸¦ ´ë À̸¦ Àü´ÞÇÑ´Ù. ¹ß°ßÇÑ ¸ðµç SCSI ÀåÄ¡´Â Scsi_Device ÀڷᱸÁ¶·Î Ç¥ÇöÇϸç, °¢°¢Àº ÀÚ½ÅÀÇ ºÎ¸ð Scsi_Host¸¦ °¡¸®Å²´Ù. ¸ðµç Scsi_Device ÀڷᱸÁ¶´Â scsi_devices ¸®½ºÆ®¿¡ Ãß°¡µÈ´Ù. ±×¸² 8.4´Â ¾î¶»°Ô À̵é ÁÖ µÈ ÀڷᱸÁ¶µéÀÌ ¼·Î ¿¬°üµÇ¾î ÀÖ´ÂÁö º¸¿©ÁØ´Ù.
SCSI ÀåÄ¡ À¯ÇüÀ¸·Î´Â ³×°¡Áö°¡ ÀÖ´Ù - µð½ºÅ©, Å×ÀÌÇÁ, CD, ±×¸®°í ÀϹÝ. À̵é SCSI À¯ÇüÀÇ °¢°¢Àº ´Ù¸¥ ¸ÞÀÌÀú ºí·° ÀåÄ¡ À¯ÇüÀ¸·Î Ä¿³Î¿¡ °³º°ÀûÀ¸·Î µî·ÏµÈ´Ù. ±×·¸Áö¸¸ À̵éÀº ÁÖ ¾îÁø SCSI ÀåÄ¡ À¯ÇüÀ» °®´Â ÀåÄ¡°¡ Çϳª ÀÌ»ó ÀÖ¾î¾ß Ä¿³Î¿¡ µî·ÏµÈ´Ù. °¢ SCSI À¯ÇüÀº - ¿¹¸¦ µé¾î SCSI µð½ºÅ© - ÀڽŸ¸ÀÇ ÀåÄ¡ Å×À̺íÀ» °ü¸®ÇÑ´Ù. À̵éÀº ÀÌ Å×À̺íÀ» Ä¿³ÎÀÇ ºí ·° ¿¬»ê(ÆÄÀÏÀ̳ª ¹öÆÛij½Ã)À» ¿Ã¹Ù¸¥ µð¹ÙÀ̽º µå¶óÀ̹ö³ª SCSI È£½ºÆ®·Î º¸³»´Âµ¥ »ç¿ëÇÑ ´Ù. °¢ SCSI À¯ÇüÀº Scsi_Device_Template ÀڷᱸÁ¶·Î Ç¥ÇöÇÑ´Ù. ÀÌ ÀڷᱸÁ¶´Â ÀÌ À¯ ÇüÀÇ SCSI ÀåÄ¡¿¡ ´ëÇÑ Á¤º¸¿Í ´Ù¾çÇÑ ÀÛ¾÷À» ¼öÇàÇÏ´Â ·çƾµéÀÇ ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ´Ù. SCSI ¼ºê½Ã½ºÅÛÀº À̵é ÅÛÇø´À» »ç¿ëÇÏ¿© °¢ À¯ÇüÀÇ SCSI ÀåÄ¡¿¡ ´ëÇØ SCSI À¯Çü¿¡ µû¸¥ ·çƾ À» ºÎ¸£´Âµ¥ »ç¿ëÇÑ´Ù. ´Ù¸£°Ô ¸»Çϸé, SCSI ¼ºê½Ã½ºÅÛÀÌ SCSI µð½ºÅ© ÀåÄ¡¸¦ ¿¬°áÇÏ·Á°í ÇÒ ¶§, SCSI µð½ºÅ© À¯Çü¿¡ µû¸¥ ¿¬°á ·çƾÀ» ºÎ¸¥´Ù´Â °ÍÀÌ´Ù. ¾î¶² À¯ÇüÀ» °®´Â SCSI ÀåÄ¡ °¡ Çϳª ÀÌ»ó ¹ß°ßµÇ¸é Scsi_Type_Template ÀڷᱸÁ¶°¡ scsi_Devicelist ¸®½ºÆ®¿¡ Ãß°¡µÈ´Ù.
SCSI ¼ºê½Ã½ºÅÛ ÃʱâÈÀÇ ¸¶Áö¸· »óÅ´ µî·ÏµÈ °¢ Scsi_Device_TemplateÀÇ Á¾·á (finish) ÇÔ¼ö¸¦ ºÎ¸£´Â °ÍÀÌ´Ù. SCSI µð½ºÅ© À¯ÇüÀ̶ó¸é, ÀÌ´Â ¹ß°ßÇÑ ¸ðµç SCSI µð½ºÅ©¸¦ ȸ Àü½ÃÄÑ ±×µéÀÇ µð½ºÅ© ±¸Á¶¸¦ ±â·ÏÇÏ´Â ÀÏÀ» ÇÑ´Ù. ¶ÇÇÑ ±×¸² 8.3¿¡ º¸ÀÌ´Â °Íó·³, ¸ðµç SCSI µð½ºÅ©¸¦ ³ªÅ¸³»´Â gendisk ÀڷᱸÁ¶¸¦ µð½ºÅ©ÀÇ ¿¬°á ¸®½ºÅ©¿¡ Ãß°¡ÇÑ´Ù.
ºí·° ÀåÄ¡ ¿äûÀ» Àü´ÞÇϱâ
ÀÏ´Ü ¸®´ª½º°¡ SCSI ¼ºê½Ã½ºÅÛÀ» ÃʱâÈÇÏ°í ³ª¸é SCSI ÀåÄ¡µéÀ» »ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù. Á¤ »óÀûÀ¸·Î µ¿ÀÛÇÏ´Â °¢ SCSI ÀåÄ¡ À¯ÇüÀº ÀÚ½ÅÀ» Ä¿³Î¿¡ µî·ÏÇÏ¿©, ¸®´ª½º°¡ ºí·° ÀåÄ¡ ¿äû À» Àڽſ¡°Ô º¸³¾ ¼ö ÀÖ°Ô ÇÑ´Ù. ¿©±â¿¡´Â blk_dev¸¦ ÅëÇÑ ¹öÆÛ Ä³½Ã ¿äûÀ̳ª, blkdevs ¸¦ ÅëÇÏ´Â ÆÄÀÏ ¿¬»êÀÌ ÀÖÀ» ¼ö ÀÖ´Ù. ¿©±â¼´Â Çϳª ÀÌ»óÀÇ EXT2 ÆÄÀÏ ½Ã½ºÅÛ ÆÄƼ¼ÇÀ» °¡Áö°í ÀÖ´Â SCSI µð½ºÅ© µå¶óÀ̹ö¸¦ ¿¹·Î µé¾î, ÀÌ EXT2 ÆÄƼ¼Ç Áß Çϳª¸¦ ¸¶¿îÆ®ÇÒ ¶§ Ä¿³Î ¹öÆÛ ¿äûÀ» ¾î¶»°Ô ¿Ã¹Ù¸¥ SCSI µð½ºÅ©·Î Àü´ÞÇÏ´ÂÁö »ìÆ캸µµ·Ï ÇÏÀÚ.
SCSI µð½ºÅ© ÆÄƼ¼Ç¿¡¼ ÇÑ ºí·°ÀÇ µ¥ÀÌÅ͸¦ Àаųª ¾²´Â ¿äûÀº, blk_dev º¤ÅÍ¿¡ ÀÖ´Â SCSI µð½ºÅ©ÀÇ current_request ¸®½ºÆ®¿¡ »õ·Î¿î request ±¸Á¶Ã¼¸¦ Ãß°¡ÇÏ°Ô µÈ´Ù. request ¸®½ºÆ®°¡ ó¸®ÁßÀ̶ó¸é, ¹öÆÛ Ä³½Ã´Â ´Ù¸¥ ÀÏÀ» ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±×·¸Áö ¾Ê´Ù¸é SCSI µð½ºÅ© ¼ºê½Ã½ºÅÛ¿¡°Ô °è¼ÓÇؼ request Å¥¸¦ ó¸®Ç϶ó°í ÇÑ´Ù. ½Ã½ºÅÛ¿¡ ÀÖ´Â SCSI µð½ºÅ©´Â Scsi_Disk ÀڷᱸÁ¶·Î ³ªÅ¸³½´Ù. À̵éÀº rscsi_disks º¤ÅÍ¿¡ µé¾î ÀÖÀ¸ ¸ç, ÀÌ º¤ÅÍ´Â SCSI µð½ºÅ© ÆÄƼ¼ÇÀÇ ¸¶ÀÌ³Ê ÀåÄ¡ ¹øÈ£ Áß ÀϺθ¦ »ç¿ëÇÏ¿© À妽º°¡ µÇ¾î ÀÖ´Ù. ¿¹¸¦ µé¾î /dev/sdb1Àº 8¹øÀÇ ¸ÞÀÌÀú ¹øÈ£¿Í 17¹øÀÇ ¸¶ÀÌ³Ê ¹øÈ£¸¦ °¡Áö¸ç, ÀÌ´Â À妽º 1À» »ý¼ºÇÑ´Ù. °¢ Scsi_Disk ÀڷᱸÁ¶´Â ÀÌ ÀåÄ¡¸¦ ³ªÅ¸³»´Â Scsi_Device ÀÚ·á ±¸Á¶¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °®°í ÀÖ´Ù. Scsi_Device ÀڷᱸÁ¶´Â Â÷·Ê·Î ÀÚ½ÅÀ» "¼ÒÀ¯"ÇÏ°í ÀÖ´Â Scsi_Host ÀڷᱸÁ¶¸¦ °¡¸®Å°°í ÀÖ´Ù. ¹öÆÛ Ä³½Ã·ÎºÎÅÍ ¿Â request ÀڷᱸÁ¶´Â SCSI Àå Ä¡·Î º¸³»¾ß ÇÏ´Â SCSI ¸í·ÉÀ» ±â¼úÇÏ´Â Scsi_Cmnd18 ±¸Á¶Ã¼·Î ¹Ù²î°í, ÀÌ´Â ÀÌ ÀåÄ¡¸¦ ³ª Ÿ³»´Â Scsi_Host ±¸Á¶Ã¼ÀÇ Å¥¿¡ ½×ÀδÙ. Çѹø ÀûÀýÇÑ µ¥ÀÌÅÍ ºí·°À» Àаųª ¾²°í ³ª¸é, À̵éÀº °³º° SCSI µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ ÀÇÇØ Ã³¸®µÈ´Ù.
device ÀڷᱸÁ¶´Â ´ÙÀ½°ú °°Àº ³×Æ®¿÷ ÀåÄ¡¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áø´Ù.
/dev/ethN ÀÌ´õ³Ý ÀåÄ¡ /dev/slN SLIP ÀåÄ¡ /dev/pppN PPP ÀåÄ¡ /dev/lo ·çÇÁ¹é ÀåÄ¡
IFF_UP ÀÎÅÍÆäÀ̽º°¡ À§¿¡ ÀÖ°í(up) ½ÇÇàÁßÀÌ´Ù. IFF_BROADCAST deviceÀÇ ºê·Îµåij½ºÆ® ÁÖ¼Ò°¡ À¯È¿ÇÏ´Ù. IFF_DEBUG ÀåÄ¡ µð¹ö±ë ¿É¼ÇÀÌ ÄÑÁ® ÀÖ´Ù. IFF_LOOPBAK ·çÇÁ¹é ÀåÄ¡ÀÌ´Ù. IFF_POINTTOPOINT SLIPÀ̳ª PPP°°Àº ÁöÁ¡ ´ë ÁöÁ¡(point to point) ¿¬°á ÀåÄ¡ÀÌ´Ù. IFF_NOTRAILERS ³×Æ®¿÷ ÃßÀûÀÚ(trailer)°¡ ¾ø´Ù. IFF_RUNNING ÀÚ¿øÀÌ ÇÒ´çµÇ¾ú´Ù. IFF_NOARP ARP ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. IFF_PROMISC ÀåÄ¡°¡ ¸¶±¸ÀâÀÌ·Î ¼ö½ÅÇÏ´Â ¸ðµåÀÌ´Ù. ÆÐŶÀÇ ¼ö½Å ÁÖ¼Ò°¡ ¾îµðµç °£¿¡ °ü°è¾øÀÌ ¸ðµç ÆÐŶÀ» ¹Þ¾Æ µéÀδÙ. IFF_ALLMULTI ¸ðµç IP ¸ÖƼij½ºÆ®(multicast)20 ÇÁ·¹ÀÓµéÀ» ¼ö½ÅÇÑ´Ù. IFF_MULTICAST IP ¸ÖƼij½ºÆ® ÇÁ·¹ÀÓ ¼ö½Å °¡´É
³×Æ®¿÷ µð¹ÙÀ̽º µå¶óÀ̹ö°¡ Ç®¾î¾ß ÇÏ´Â ¹®Á¦·Î µÎ°¡Áö°¡ ÀÖ´Ù. ¿ì¼± ù¹ø°´Â ¸®´ª½º Ä¿ ³Î¿¡ Æ÷ÇÔµÈ ¸ðµç ³×Æ®¿÷ µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ÀÚ½ÅÀÌ Á¦¾îÇÒ ÀåÄ¡¸¦ °®´Â °ÍÀº ¾Æ´Ï¶ó´Â °ÍÀÌ´Ù. ±×¸®°í µÎ¹ø°·Î ½Ã½ºÅÛ¿¡ ÀÖ´Â ÀÌ´õ³Ý ÀåÄ¡´Â ¹Ø¿¡ ÀÖ´Â µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ¾î ¶² °ÅµçÁö°£¿¡ Ç×»ó /dev/eth0, /dev/eth1°ú °°ÀÌ ³ªÅ¸³´Ù´Â °ÍÀÌ´Ù. ¸ÕÀú "¾ø´Â" ³×Æ® ¿÷ ÀåÄ¡ ¹®Á¦´Â ½±°Ô Ç® ¼ö ÀÖ´Ù. °¢ ³×Æ®¿÷ ÀåÄ¡ÀÇ ÃʱâÈ ·çƾÀ» ºÎ¸£¸é, ÀÌ ·çƾÀº ÀڽŠÀÌ ±¸µ¿ÇÒ ÄÁÆ®·Ñ·¯¸¦ ã¾Ò´ÂÁö ¸øã¾Ò´ÂÁö ÀǹÌÇÏ´Â »óÅ°ªÀ» µ¹·ÁÁØ´Ù. ¸¸¾à µå¶óÀ̹ö°¡ ¾Æ¹«·± ÀåÄ¡µµ ãÁö ¸øÇß´Ù¸é, dev_base°¡ °¡¸®Å°°í ÀÖ´Â device ¸®½ºÆ®¿¡ ÀÖ´Â ¿£Æ®¸® °¡ Á¦°ÅµÈ´Ù. ¸¸¾à µå¶óÀ̹ö°¡ ÀåÄ¡¸¦ ã°Ô µÈ´Ù¸é, µå¶óÀ̹ö´Â device ÀڷᱸÁ¶ÀÇ ³ª¸ÓÁö ºÎºÐÀ» ÀåÄ¡¿¡ ´ëÇÑ Á¤º¸¿Í ³×Æ®¿÷ µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ ÀÖ´Â µå¶óÀ̹ö°¡ Áö¿øÇÏ´Â ÇÔ¼öµé ÀÇ ÁּҷΠä¿î´Ù.
µÎ¹ø° ¹®Á¦´Â ÀÌ´õ³Ý ÀåÄ¡¸¦ Ç¥ÁØ /dev/ethN ÀåÄ¡ Ư¼öÆÄÀÏ¿¡ µ¿ÀûÀ¸·Î ºÎ¿©ÇÏ´Â ¹®Á¦·Î ÀÌ´Â Á»´õ ¿ì¾ÆÇÑ ¹æ¹ýÀ¸·Î ÇØ°áµÈ´Ù. ÀåÄ¡ ¸ñ·Ï¿¡´Â eth0ºÎÅÍ eth7±îÁö ¸ðµÎ ¿©´ü°³ÀÇ Ç¥ÁØ ¿£Æ®¸®°¡ ÀÖ´Ù. ÃʱâÈ ·çƾÀº ÀÌµé ¸ðµÎ¿¡ ¶È°°Àºµ¥, ÀåÄ¡¸¦ ãÀ» ¶§±îÁö Ä¿³Î¿¡ ÀÖ´Â °¢ ÀÌ´õ³Ý µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ½ÃµµÇغ¸´Â °ÍÀÌ´Ù. µå¶óÀ̹ö°¡ ÀåÄ¡¸¦ ãÀ¸¸é ÀÌÁ¦ °¡Áö°Ô µÈ ethN device ÀÚ·á ±¸Á¶ÀÇ ³»¿ëÀ» ä¿î´Ù. ±×¸®°í ÀÌ ¶§ ³×Æ®¿÷ µð¹ÙÀ̽º µå¶óÀ̹ö´Â ÀÚ ½ÅÀÌ Á¦¾îÇÒ ¹°¸®ÀûÀÎ Çϵå¿þ¾î¸¦ ÃʱâÈÇÏ°í, ¾î¶² IRQ¸¦ »ç¿ëÇÏ°í ÀÖ°í ¾î¶² DMA ä³Î À» »ç¿ëÇÏ°í ÀÖ´ÂÁö (¸¸¾à ÀÖ´Ù¸é) µîµîÀ» ¾Ë¾Æ³½´Ù. µå¶óÀ̹ö´Â ÀÚ½ÅÀÌ Á¦¾îÇÒ ³×Æ®¿÷ ÀåÄ¡ ¸¦ ¿©·¯ °³¸¦ ãÀ» ¼ö Àִµ¥, ÀÌ °æ¿ì µå¶óÀ̹ö´Â ¿©·¯ °³ÀÇ /dev/ethN device ÀڷᱸÁ¶ À» ³Ñ°ÜÁØ´Ù. ¿©´ü°³ÀÇ Ç¥ÁØ /dev/ethNÀÌ ¸ðµÎ ÇÒ´çµÇ¸é, ´õ ÀÌ»ó ÀÌ´õ³Ý ÀåÄ¡¸¦ ãÁö ¾Ê ´Â´Ù.
¹ø¿ª : ÀÌÈ£, ½Å¹®¼®
Á¤¸® : ÀÌÈ£
¿ªÁÖ 1) ÀÌ·¸°Ô ÀåÄ¡¸¦ ÆÄÀϷΠǥ½ÃÇÏ´Â °ÍÀº Windows ¿î¿µÃ¼Á¦¿¡µµ ¿µÇâÀ» ¹ÌÃÄ, Windows 95¿¡¼´Â µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ÆÄÀÏ·Î Á¢±ÙÇÒ ¼ö ÀÖÀ¸¸ç, Windows NT °è¿¿¡¼´Â À¯´Ð½º ¿Í º¸´Ù °¡±õ°Ô µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ÀåÄ¡ ÆÄÀÏÀ» ¸¸µå´Â ÇüÅ·ΠµÇ¾î ÀÖ´Ù. (flyduck)
¿ªÁÖ 2) Áï º¸Åë ¹®ÀÚ ÀåÄ¡³ª ºí·° ÀåÄ¡´Â ½ÇÁ¦·Î ÀåÄ¡°¡ Á¸ÀçÇÏÁö ¾Ê´õ¶óµµ ÀåÄ¡ Ư¼ö ÆÄ ÀÏÀÌ Á¸ÀçÇÑ´Ù. ÀÌ´Â ½ÇÁ¦ ½Ã½ºÅÛ¿¡ ÀåÄ¡°¡ ¸¹Áö ¾Ê´õ¶óµµ, /dev µð·ºÅ丮¿¡ ¼ö¸¹Àº Àå Ä¡ ÆÄÀÏÀÌ Á¸ÀçÇÏ´Â ÀÌÀ¯ÀÌ´Ù. ÇÏÁö¸¸ ³×Æ®¿÷ ÀåÄ¡ ÆÄÀÏÀº ½ÇÁ¦·Î ÀåÄ¡°¡ Á¸ÀçÇÏ´Â °æ¿ì ¿¡¸¸ ¸¸µé¾îÁø´Ù. ¿¹¸¦ µé¾î ½Ã½ºÅÛ¿¡ ÀÌ´õ³Ý ÀåÄ¡°¡ ÀÖ¾î¾ß /dev/eth0À̶ó´Â ÀåÄ¡ Ư ¼ö ÆÄÀÏÀÌ »ý±ä´Ù. (flyduck)
¿ªÁÖ 3) Áï ¸ÞÀÌÀú ÀåÄ¡ ¹øÈ£´Â µð¹ÙÀ̽º µå¶óÀ̹ö¿¡°Ô ºÎ¿©µÇ´Â °ÍÀÌ´Ù. ±×·¯¹Ç·Î ¼·Î ´Ù ¸¥ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ÇÊ¿ä·Î ÇÏ´Â CD-ROM µð¹ÙÀ̽º µå¶óÀ̹ö´Â ¼·Î ´Ù¸¥ ¸ÞÀÌÀú ¹øÈ£¸¦ °¡Áö¸ç, ½ÇÁ¦·Î ¸®´ª½º ½Ã½ºÅÛ¿¡ º¸¸é CD-ROM µð¹ÙÀ̽º µå¶óÀ̹ö·Î ¿©·¯°³ÀÇ ¸ÞÀÌÀú ¹øÈ£°¡ ÇÒ´çµÇ¾î ÀÖ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. µû¶ó¼ ½Ã½ºÅÛ¿¡ »õ·Î¿î µð¹ÙÀ̽º µå¶ó À̹ö¸¦ Ãß°¡ÇÒ·Á¸é »ç¿ëµÇ°í ÀÖÁö ¾ÊÀº ¸ÞÀÌÀú ¹øÈ£¸¦ ÇÒ´ç¹Þ¾Æ¾ß ÇÑ´Ù. ¸¶ÀÌ³Ê ¹øÈ£´Â µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ÀÚ½ÅÀÌ °ü¸®ÇÏ´Â ÀåÄ¡µéÀ» ±¸º°Çϱâ À§Çؼ ºÙÀÌ´Â °ÍÀ̹ǷÎ, ¾î¶² ¹øÈ£¸¦ ºÎ¿©ÇÏ´ÂÁö´Â µð¹ÙÀ̽º µå¶óÀ̹ö Á¦ÀÛÀÚÀÇ ¸òÀÌ´Ù. ÇöÀç ½Ã½ºÅÛ¿¡ ÀÖ´Â ÀåÄ¡µéÀÇ ¸ÞÀÌÀú ¹øÈ£¿Í ¸¶ÀÌ³Ê ¹øÈ£ÀÇ Àǹ̴ DOCUMENTATION/Device.txt ÆÄÀÏ¿¡ Á¤¸®µÇ¾î ÀÖ´Ù. ¿©±â¼ ƯÀÌÇÑ Á¡Àº SCSI CD-ROMÀ̳ª SCSI µð½ºÅ©°°Àº °ÍÀº ÇϳªÀÇ ¸ÞÀÌÀú ¹øÈ£¸¸À» °®´Â´Ù´Â °ÍÀÌ´Ù. ±×·¸´Ù°í ÇϳªÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ¸ðµç Á¾·ùÀÇ SCSI ¾î´ðÅ͸¦ Áö ¿øÇÑ´Ù´Â °ÍÀº ¾Æ´Ï´Ù. ÀÌ´Â SCSI Ŭ·¡½º µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ÀÖ¾î¼ ÀÌ°ÍÀÌ ½ÇÁ¦·Î µð ¹ÙÀ̽º µå¶óÀ̹ö¸¦ µî·ÏÇÏ°í, °¢°¢ÀÇ SCSI ¾î´ðÅÍ¿¡ ÇØ´çÇÏ´Â µð¹ÙÀ̽º µå¶óÀ̹ö´Â ´ÜÁö ÀÌ SCSI Ŭ·¡½º µå¶óÀ̹ö¿¡ º°µµÀÇ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â ÇüÅ·ΠµÇ¾î Àֱ⠶§¹®ÀÌ´Ù. ÀÌ´Â ³ªÁß¿¡ ºí·° ÀåÄ¡¿¡¼ ´Ù½Ã À̾߱âÇÑ´Ù. (flyduck)
¿ªÁÖ 4) ÀÌ Æ¯¼ºÀº ÇöÀç Ä¿³ÎÀÌ Áö¿øÇÏÁö ¾Ê´Â ÀåÄ¡°¡ Ãß°¡µÇ¾ú´õ¶óµµ, Ä¿³ÎÀ» »õ·Î ÄÄÆÄÀÏ ÇÏÁö ¾Ê°í ÇØ´çÇÏ´Â µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ Ãß°¡ÇÏ¿© ·ÎµåÇÔÀ¸·Î½á ÀåÄ¡¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. (flyduck)
¿ªÁÖ 5) Ä¿³ÎÀ» ÄÄÆÄÀÏÇϱâ Àü¿¡ make menuconfig, ¶Ç´Â X À©µµ¿ì »ó¿¡¼ make xconfig ¸í·ÉÀ» ÅëÇؼ, Ä¿³Î¿¡ ¹«¾ùÀ» Æ÷ÇÔÇÏ°í ¹«¾ùÀ» ¸ðµâ·Î ³ÖÀ» °ÍÀÎÁö ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. (flyduck)
¿ªÁÖ 6) ÀÌ´Â 11.3 Àå¿¡¼ ¼³¸íÇÏ°í Àִ ŸÀÌ¸Ó ¸ÞÄ¿´ÏÁòÀÌ´Ù. (flyduck)
¿ªÁÖ 7) ÀÎÅÍ·´Æ® ÀÚ¿øÀ» ¿äûÇÏ´Â °ÍÀº ²À µå¶óÀ̹ö ÃʱâÈ ¶§°¡ ¾Æ´Ï¶óµµ ÇÒ ¼ö ÀÖ´Ù. »ç ¶÷¿¡ µû¶ó¼ µå¶óÀ̹ö ÃʱâÈ ¶§¿¡´Â ¾î¶² ÀÎÅÍ·´Æ®¸¦ »ç¿ëÇÏ°í ÀÖ´ÂÁö È®Àθ¸ ÇÏ°í, ½Ç Á¦ ÀÎÅÍ·´Æ®¸¦ ¿äûÇÏ´Â °ÍÀº ÀåÄ¡¸¦ »ç¿ëÇÒ ¶§¿¡¸¸ Çϸç, »ç¿ëÇÏÁö ¾ÊÀ» ¶§´Â ÀÎÅÍ·´Æ® ÀÚ¿øÀ» ¹Ý³³ÇÏ´Â °ÍÀÌ ÁÁ´Ù°í ÇÏ´Â »ç¶÷µµ ÀÖ´Ù. (flyduck)
¿ªÁÖ 8) ÇÁ·Î¼¼½º´Â °¡»ó ¸Þ¸ð¸®¸¦ »ç¿ëÇϹǷΠÇÒ´ç¹ÞÀº ¸Þ¸ð¸®´Â °¡»ó ¸Þ¸ð¸® »ó¿¡¼´Â ¿¬ ¼ÓµÇ¾î ÀÖ´õ¶óµµ ¹°¸®ÀûÀ¸·Î ¿¬¼ÓµÈ °ÍÀº ¾Æ´Ï´Ù. ±×·¡¼ ¸®´ª½º Ä¿³ÎÀº DMA¸¦ À§ÇØ Æ¯ º°ÇÑ ¸Þ¸ð¸® ÇÒ´ç ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. (flyduck)
¿ªÁÖ 9) ÀÌ "lock"ÀÇ Àǹ̴ °¡»ó ¸Þ¸ð¸®°¡ ½ÇÁ¦ ¹°¸®ÀûÀ¸·Îµµ Á¸ÀçÇÏ°Ô ¸¸µé°í, ¿òÁ÷¿©ÁöÁö ¾Êµµ·Ï ¸¸µç´Ù´Â °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î ¸Þ¸ð¸®´Â ÇÒ´ç¹Þ´õ¶óµµ ¹°¸®ÀûÀ¸·Î ÇÒ´ç¹Þ´Â °ÍÀÌ ¾Æ´Ï±â ¶§¹®¿¡(¿ä±¸ ÆäÀÌ¡), DMA¿¡¼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ½ÇÁ¦·Î ¹°¸®ÀûÀ¸·Î ¸Þ¸ð¸®°¡ Á¸ ÀçÇÏ°Ô ÇÏ°í ½º¿Ò ¾Æ¿ôµÇÁö ¾Ê°Ô ÇÑ´Ù´Â ÀǹÌÀÌ´Ù. (flyduck)
¿ªÁÖ 10) À̸¦ ÀÎÅÍ·´Æ® ŸÀÓ(interrupt time)¿¡¼ ½ÇÇàµÇ°í ÀÖ´Ù°í ÇÑ´Ù. µð¹ÙÀ̽º µå¶óÀ̹öÀÇ ÀÏ¹Ý ¼ºñ½ºµéÀº ÀÌ ¼ºñ½º¸¦ ¿äûÇÑ ÇÁ·Î¼¼½º°¡ ÇöÀç ÇÁ·Î¼¼½ºÀÏ ¶§ (Áï current °¡ ÇöÀç ÇÁ·Î¼¼½ºÀÇ task_struct¸¦ °¡¸®Å°°í ÀÖÀ» ¶§) ½ÇÇàµÇÁö¸¸, ÀÎÅÍ·´Æ® Çڵ鷯³ª ÇÏ ¹ÝºÎ Çڵ鷯, ÀÛ¾÷Å¥·Î ó¸®µÉ ¶§´Â ÇöÀç ÇÁ·Î¼¼½º´Â ÀüÇô »ó°ü¾ø´Â ÇÁ·Î¼¼½º ÀÏ ¼ö ÀÖ ´Ù (ÀÛ¾÷Å¥¿¡¼ tq_scheduler´Â ÀÎÅÍ·´Æ® ŸÀÓ¿¡¼ 󸮵ÇÁö ¾Ê´Â´Ù). ±×·¡¼ À̵é ó ¸® ·çƾ¿¡¼´Â ÇöÀç ÇÁ·Î¼¼½º¿¡ ÀÇÁ¸ÇÒ ¼ö ¾ø´Ù. ¸®´ª½º Ä¿³Î¿¡¼ current´Â ÇöÀç ÇÁ·Î ¼¼½ºÀÇ task_struct¸¦ °¡¸®Å²´Ù. (flyduck)
¿ªÁÖ 11) ¸®´ª½º Ä¿³ÎÀº ÀÌ¿Í °°Àº ÆäÀÌÁö ±â¹Ý ¸Þ¸ð¸® ÇÒ´ç(page-oriented memory allocation) ¸¸À» Áö¿øÇÑ´Ù. C¾ð¾îÀÇ malloc°°Àº ¸Þ¸ð¸® ÇÒ´çÀº ¼±Çü ¸Þ¸ð¸® ÇÒ´ç(linear memory allocation)À̶ó°í Çϴµ¥, ¸®´ª½º Ä¿³ÎÀº À̸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù. (flyduck)
¿ªÁÖ 12) ÀÌ·¯ÇÑ ÀÏÀ» ÇÏ´Â ½Ã½ºÅÛ ÄÝÀº register_chrdev()·Î, ¿©±â¿¡´Â ÀåÄ¡ÀÇ ¸ÞÀÌÀú ¹øÈ£¿Í µð¹ÙÀ̽º µå¶óÀ̹öÀÇ À̸§, ±×¸®°í ÆÄÀÏ ¿¬»ê ºí·°ÀÌ Àü´ÞµÈ´Ù. include/linux/fs.h¿¡ ¼ ÇÔ¼öÀÇ ÇÁ·ÎÅäŸÀÔ(prototype)À» º¼ ¼ö ÀÖ´Ù.(flyduck)
¿ªÁÖ 13) ÀÌ ÆÄÀÏ ¿¬»ê ºí·°À» ³ªÅ¸³»´Â ÀڷᱸÁ¶´Â file_operations·Î, ¿©±â¿¡´Â open, close, read, release °°Àº ±âº»ÀûÀÎ ¿¬»ê ¿Ü¿¡µµ lseek, ioctl, fsync µîÀÇ ¿©·¯ ¿¬»êµéÀÌ ´õ ÀÖ ´Ù. ÀÌ ÀڷᱸÁ¶´Â ºí·° ÀåÄ¡ÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö¿¡µµ »ç¿ëµÈ´Ù. (flyduck)
¿ªÁÖ 14) ÀÌ´Â ÆÄÀÏ ½Ã½ºÅÛ °´Ã¼¿¡ µû¶ó¼ ´Ù¸¥ ¿¬»êÀ» Àû¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ¿©, ÆÄÀÌÇÁ³ª ¼Ò ÄÏ°°ÀÌ ¶È°°ÀÌ ÆÄÀÏ °´Ã¼ ÀÎÅÍÆäÀ̽º¸¦ °¡ÁöÁö¸¸ ½ÇÁ¦·Î ´Ù¸¥ µ¿ÀÛÀ» ÇÏ´Â °ÍÀ» °¡´ÉÇÏ °Ô ÇÑ´Ù. (flyduck)
¿ªÁÖ 15) µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ µî·ÏÇÒ ¶§ Àü´ÞµÇ´Â file_operations ±¸Á¶Ã¼¿¡´Â ¹öÆÛ Ä³ ½Ã¿¡ °ü·ÃµÈ ÇÔ¼ö´Â ¾ø´Ù. ±×·¡¼ ºí·° ÀåÄ¡¿ëÀ¸·Î º°µµÀÇ ÀڷᱸÁ¶°¡ ÇÊ¿äÇÏ°Ô µÇ¾î, ¹ö ÆÛ Ä³½Ã¿¡ °ü·ÃµÈ blk_dev_struct ±¸Á¶Ã¼¿Í ÀÌÀÇ ¹è¿ÀÎ blk_dev°¡ Á¸ÀçÇÏ°Ô µÈ´Ù. ¹®ÀÚ ÀåÄ¡¿¡¼¿Í ¸¶Âù°¡Áö·Î ºí·° ÀåÄ¡¸¦ µî·ÏÇÏ´Â ÇÔ¼öÀÎ register_blkdev()¿¡´Â ¸ÞÀÌÀú ¹øÈ£, À̸§, ±×¸®°í ÆÄÀÏ ¿¬»êÀÌ Àü´ÞµÇ¸ç, ¹öÆÛ Ä³½Ã¿¡ °ü·ÃµÈ ¼³Á¤Àº Á÷Á¢ blk_dev_struct ÀڷᱸÁ¶¿¡ ÀÖ´Â request_fn ÇÔ¼ö Æ÷ÀÎÅ͸¦ ÀÚ½ÅÀÇ °ÍÀ¸·Î ¼³Á¤ÇÔ À¸·Î½á ÀÌ·ç¾îÁø´Ù. (flyduck)
¿ªÁÖ 16) ÇÑ ½Ç¸°´õÀÇ Å©±â´Â ÇìµåÀÇ ¼ö * ¼½ÅÍÀÇ ¼ö * ¼½ÅÍ Å©±âÀ̹ǷΠ¿©±â¼´Â 64 * 32 * 512 = 1048576, Áï 1MBÀÌ´Ù. (flyduck)
¿ªÁÖ 17) SCSI´Â ¿©±â¿¡ µð½ºÅ© ¿Ü¿¡µµ ½ºÄ³³Ê°°Àº ´Ù¸¥ ¿ÜºÎÀåÄ¡¸¦ ºÙÀÏ ¼ö ÀÖ´Â I/O ¹ö½º ±Ô°ÝÀÌÁö¸¸, IDE´Â ´ÜÁö µð½ºÅ©¸¦ À§ÇÑ ÀÎÅÍÆäÀ̽ºÀÌ´Ù. (flyduck)
¿ªÁÖ 18) ¿ø¹®¿¡´Â Scsi_Cmd·Î µÇ¾î ÀÖÁö¸¸ Scsi_Cmnd°¡ ¸Â´Ù. (flyduck)
¿ªÁÖ 19) ¾Õ¿¡¼ ¼³¸íÇÑ¹Ù¿Í °°ÀÌ ½ÇÁ¦·Î Á¦¾îÇÒ ÀåÄ¡°¡ ÀÖÀ» ¶§ À̸¦ µî·ÏÇÑ´Ù´Â °ÍÀÌ´Ù. (flyduck)
¿ªÁÖ 20) IP´Â ±âº»ÀûÀ¸·Î ½ÃÀÛÁÖ¼Ò Çϳª¿Í ¸ñÀûÁö ÁÖ¼Ò Çϳª¸¦ °¡Áö°í ÀÖ´Ù. Áï ¾î¶² °÷¿¡ ¼ ´Ü ÇϳªÀÇ ¸ñÀûÁö·Î¸¸ IP ÆÐŶÀ» º¸³¾ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ´Â È»óȸÀÇ°°ÀÌ °°Àº ÆРŶÀ» ¿©·¯ ¸ñÀûÁö·Î º¸³»´Â °æ¿ì Áߺ¹µÈ ³»¿ëÀ» ¼ö½ÅÇÏ´Â ¼ýÀÚ¸¸Å ¸ñÀûÁö¸¦ µû·Î ÁöÁ¤ ÇØ º¸³»¾ß ÇϹǷΠ¸¹Àº ´ë¿ªÆø(bandwidth)¸¦ Àâ¾Æ¸Ô°Ô µÈ´Ù. ÀÌ¿¡ µîÀåÇÑ IP ¸ÖƼij½ºÆ®´Â ¸ñÀûÁö¸¦ ¿©·¯ °÷À» ÁöÁ¤ÇÒ ¼ö ÀÖ°Ô ÇÏ¿© ÆÐŶÀ» Çϳª º¸³»¸é ÀÌ ÆÐŶ¿¡ ±â·ÏµÈ ¸ðµç ¸ñ ÀûÁö·Î ÆÐŶÀ» Àü¼ÛÇÏ°Ô ÇØ ÁÖ´Â ÇÁ·ÎÅäÄÝÀÌ´Ù. (flyduck)
¿ªÁÖ 21) ÀåÄ¡°¡ ÀÖÀ» °¡´É¼ºÀº ÀÖÁö¸¸ ¾ÆÁ÷ È®ÀÎÇÑ °ÍÀº ¾Æ´Ï±â¿¡ ÀáÀçÀûÀ¸·Î Á¸ÀçÇÑ´Ù. (flyduck)