devfs¸¦ ÇÊ¿ä·Î ÇÏ´Â ¿©·¯ ¹®Á¦Á¡ÀÌ ÀÖ´Ù. ÀÌµé ¹®Á¦µé Áß¿¡ ¾î¶² °ÍµéÀº (´ç½ÅÀÇ °üÁ¡¿¡ µû¶ó¼) ¸Å¿ì ½É°¢Çϰí, ¾î¶² °ÍµéÀº devfs ¾øÀÌ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª, ÀüüÀûÀÎ ¸é¿¡¼ º¸¸é ÀÌ ¹®Á¦µéÀº devfs¸¦ ÇÊ¿ä·Î ÇÑ´Ù.
¼±ÅÃÇÒ ¼ö ÀÖ´Â °ÍÀº º¹ÀâÇϰí ÇêÁ¡Åõ¼ºÀÌÀÎ ÇÊ¿ä¾ø´Â userspace ¿¡¼ÀÇ ÇØ°á ÆÐÄ¡¸¦ ³»³õ´Â °Í°ú, °£´ÜÇÏ°í °ß°íÇϸç È¿°úÀûÀÎ devfs¸¦ »ç¿ëÇÏ´Â °ÍÀÇ µÑ Áß ÇϳªÀÌ´Ù.
devfs¿¡ ´ëÇÑ ¸¹Àº ¹Ý·ÐÀÌ ÀÖ°í, ¸ðµÎ´Ù devfs¸¦ ±¸ÇöÇÏÁö ¾ÊÀ¸¸é ¾ò¾îÁö´Â ÀÌÀ͵éÀ» Æ÷ÇÔÇϰí ÀÖ´Ù. ÇÏÁö¸¸, Áö±Ý±îÁö´Â Äڵ尡 ¾ø°Å³ª, devfs°¡ Á¦°øÇÏ´Â ¸ðµç ±â´ÉµéÀ» Á¦°øÇÒ¼ö ÀÖ´Â ¾î¶² ´ë¾Èµµ ¾ø´Ù. °Ô´Ù°¡, Á¦¾ÈµÈ ´ë¾ÈµéÀº »ç¿ëÀÚ °ø°£¿¡¼ ´õ º¹ÀâÇÏ´Ù. (±×¸®°í devfsº¸´Ù ´õ ÀûÀº ±â´ÉÀ» °¡Áø »óÅ·ΠÁ¦°øµÈ´Ù) ¾î¶² »ç¶÷µéÀº "Ä¿³Î Å©±â"ÀÇ Ãà¼Ò¸¦ ¸ñÇ¥·Î »ïÁö¸¸, ±×µéÀº userspace ¿¡ ¹ÌÄ¡´Â ¿µÇâÀº °í·ÁÇÏÁö ¾Ê´Â´Ù.
Ä¿³Î°ø°£°ú »ç¿ëÀÚ °ø°£ÀÇ ÀüüÀûÀÎ º¹ÀâÇÔÀÇ Á¤µµ¸¦ Á¦ÇÑÇÑ (º¹À⼺ÀÌ ´úÇÑ) ¹æ¹ýÀÌ ÁÁÀº ¼Ö·ç¼ÇÀÌ´Ù.
ÇöÁ¸ÇÏ´Â ½ºÅ°¸¶´Â °¢°¢ÀÇ µð¹ÙÀ̽º ¸¶´Ù ¸ÞÀÌÀú/¸¶ÀÌ³Ê µð¹ÙÀ̽º ¹øÈ£ÀÇ ÇÒ´çÀ» ¿ä±¸ÇÑ´Ù. À̰ÍÀº °¢ µð¹ÙÀ̽º¸¶´Ù °íÀ¯ÇÑ ¹øÈ£¸¦ °¡Áú ¼ö ÀÖ°Ô Çϱâ À§ÇÏ¿© (´ç½ÅÀÌ "°³ÀÎÀû"ÀÎ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ °³¹ßÇÏÁö ¾Ê´ÂÇÑ) ÀÌµé µð¹ÙÀ̽º ¹øÈ£µéÀ» ó¸®Çϱâ À§ÇÏ¿© Áß¾ÓÁýÁßÀûÀÎ ±ÇÇÑÀÌ ¿ä±¸µÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. Devfs´Â ³×ÀÓ½ºÆäÀ̽º¿¡ ´ëÇÑ ºÎÇϸ¦ ´ú¾îÁØ´Ù. À̰ÍÀº Å©°Ô ºÎÇϸ¦ ´ú¾îÁÖ´Â °Íó·³ º¸ÀÌÁö ¾ÊÁö¸¸, ½ÇÁ¦·Î´Â ¾öû³ È¿°ú¸¦ ³½´Ù. µå¶óÀ̹ö °ü¸®ÀÚµéÀº ÀÚ¿¬ÀûÀ¸·Î ±× µð¹ÙÀ̽ºÀÇ ±â´ÉÀ» ¹Ý¿µÇÏ´Â µð¹ÙÀ̽º À̸§À» ¼±ÅÃÇϹǷÎ, ³×ÀÓ½ºÆäÀ̽ºÀÇ Ãæµ¹¿¡ ´ëÇÑ ÀáÀçÀû À§ÇèÀº Àû´Ù. À̰ÍÀ» ÇØ°áÇϱâ À§Çؼ´Â Ä¿³ÎÀÇ º¯°æÀÌ ÇÊ¿äÇÏ´Ù.
ÇöÀçÀÇ µð¹ÙÀ̽º Á¢±Ù ¹æ½ÄÀº µð¹ÙÀ̽º ³ëµå¸¦ ÅëÇØ¼ ÇàÇØÁö´Â ¹æ½ÄÀ̱⠶§¹®¿¡, ½Ã½ºÅÛ °ü¸®ÀÚ¿¡ ÀÇÇØ¼¸¸ µð¹ÙÀ̽º ³ëµå°¡ ¸¸µé¾îÁ®¾ß¸¸ ÇÑ´Ù. Ç¥ÁØ µð¹ÙÀ̽º¿¡ ´ëÇÏ¿© ´ç½ÅÀº ¸ðµç (¼ö¹é°³ÀÇ!)³ëµå¸¦ ¸¸µé¾î³»´Â MAKEDEV¶ó´Â ÇÁ·Î±×·¥À» ãÀ» ¼ö ÀÖ´Ù. À̰ÍÀº Ä¿³Î¿¡¼ÀÇ º¯È´Â MAKEDEV ÇÁ·Î±×·¥¿¡¼ ¹Ý¿µµÇ¾î¾ß Çϰųª, ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ¼öµ¿À¸·Î µð¹ÙÀ̽º ³ëµå¸¦ ¸¸µé¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
±âº»ÀûÀÎ ¹®Á¦´Â ¸ÞÀÌÀú ¹øÈ£¿Í ¸¶ÀÌ³Ê ¹øÈ£¸¦ ±¸ºÐÇÏ´Â µÎ°³ÀÇ µ¥ÀÌÅͺ£À̽º°¡ Á¸ÀçÇÑ´Ù´Â °ÍÀÌ´Ù. Çϳª´Â Ä¿³Î¿¡ ÀÖ°í, ³ª¸ÓÁö´Â /dev¿¡ ÀÖ´Ù (¶Ç´Â ¸¸¾à ´ç½ÅÀÌ ±×·± ¹æ¹ýÀ¸·Î º¸±â ¿øÇÑ´Ù¸é MAKEDEV ÇÁ·Î±×·¥¿¡ ÀÖ´Ù.). À̰ÍÀº ½Ç¿ëÀûÀÌÁö ¸øÇÑ Á¤º¸ÀÇ Áߺ¹ÀÌ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ´Â Ä¿³ÎÀÇ º¯°æÀÌ ÇÊ¿äÇÏ´Ù.
ÀüÇüÀûÀÎ /dev µð·ºÅ丮¿¡´Â 1200°³ ÀÌ»óÀdzëµå°¡ ÀÖ´Ù! ÀÌ µð¹ÙÀ̽ºµéÀÇ ´ëºÎºÐÀº Çϵå¿þ¾î°¡ ¾ø±â ¶§¹®¿¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ÀÌ °Å´ëÇÑ /dev ´Â µð¹ÙÀ̽º Á¢±Ù ½Ã°£À» Áõ°¡½ÃŲ´Ù (³ª´Â ´ÜÁö dentry Ž»ö ½Ã°£°ú Á¸ÀçÇÏÁö ¾Ê´Â µð½ºÅ©ÀÇ inode¸¦ Àдµ¥ °É¸®´Â ½Ã°£¸¸À» °è»êÇÑ °ÍÀÌ´Ù : ´ÙÀ½ Ç׸ñ¿¡¼´Â Á»´õ ²ûÂïÇÑ ¿¹¸¦ º¸¿©ÁØ´Ù)
´ÙÀ½ÀÇ ¿¹´Â SCSI µð¹ÙÀ̽º¸¦ °í·ÁÇÑ´Ù¸é /dev µð·ºÅ丮°¡ ¾ó¸¶³ª Ä¿Áú¼ö ÀÖ´Â °¡¸¦ º¸¿©ÁØ´Ù.
host 6 bits (say up to 64 hosts on a really big machine) channel 4 bits (say up to 16 SCSI buses per host) id 4 bits lun 3 bits partition 6 bits TOTAL 23 bits |
´Ù¸¥ ¹®Á¦´Â ÃÖÃÊ·Î ÂüÁ¶µÉ¶§ inode ¸¦ Ž»öÇϴµ¥ °É¸®´Â ½Ã°£ÀÌ´Ù. ¸Þ¸ð¸®»óÀÇ ¸®½ºÆ®¸¦ ÅëÇÏ¿© Ž»öÇϴµ¥ °É¸®´Â ½Ã°£ »Ó¸¸ ¾Æ´Ï¶ó, µð½ºÅ©¿¡¼ inode¸¦ Àдµ¥ °É¸®´Â ½Ã°£µµ ÀÖ´Ù. ÀÌ ¹®Á¦´Â Ä¿³Î·Î±×¸¦ ºÐ¼®ÇÏ¿© ÇÊ¿äÇÏÁö ¾ÊÀ¸¸é /dev °³Ã¼¸¦ »èÁ¦Çϰí ÇÊ¿äÇÒ¶§ »ý¼ºÇÏ´Â ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© »ç¿ëÀÚ °ø°£»ó¿¡¼ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº »õ·Î¿î ¸ðµâÀÌ ·ÎµåµÉ¶§¸¶´Ù ½ÇÇàµÉ °ÍÀ̰í, ¸¹Àº ºÎºÐ ´À·ÁÁö°Ô µÉ °ÍÀÌ´Ù.
SCSI µð¹ÙÀ̽º¿¡ ´ëÇÏ¿© µð¹ÙÀ̽º ³ëµå¸¦ ÀÚµ¿À¸·Î ¸¸µå´Â scsidev ¶ó ºÒ¸®´Â ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº /proc/scsi¿¡¼ ÆÄÀÏÀ» Ž»öÇÏ´Â ¹æ¹ýÀ¸·Î ÀÛµ¿ÇÑ´Ù. ºÒÇàÈ÷µµ, ´Ù¸¥ µð¹ÙÀ̽º ³ëµå¿¡ ´ëÇØ ÀÌ °³³äÀ» È®ÀåÇϱâ À§Çؼ´Â ÇöÁ¸ÇÏ´Â µå¶óÀ̹öµéÀ» ¸¹Àº ºÎºÐ ¼öÁ¤ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù (/proc ÆÄÀÏ ½Ã½ºÅÛ¿¡ Á¤º¸¸¦ Á¦°øÇØ¾ß Çϱ⠶§¹®¿¡). À̰ÍÀº °£´ÜÇÑ º¯°æÀÌ ¾Æ´Ï´Ù (³ª´Â devfs°¡ À¯»çÇÑ ÀÏÀ» ÇÑ´Ù´Â °ÍÀ» ¾Ë°í ÀÖ´Ù). ´ç½ÅÀÌ ÀÌ·¯ÇÑ ¸ðµç ³ë·ÂÀ» ÇÏ´õ¶óµµ, (ÀÌ Á¤º¸¸¦ Á¦°øÇϰí ÀÖ´Â) devfs¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ³ªÀ» °ÍÀÌ´Ù. °Ô´Ù°¡, ¿©·¯°³ÀÇ ¼·Î ´Ù¸¥ µð¹ÙÀ̽º µå¶óÀ̹öµéÀÌ ¼·Î ´Ù¸¥ ¹æ¹ýÀ¸·Î °¢°¢ÀÇ Á¤º¸¸¦ Á¦°øÇÏ´Â °Íó·³, ±×·¯ÇÑ ½Ã½ºÅÛÀº Ư¼öÇÑ ¸ñÀûÀ» À§ÇØ ¸¸µé¾îÁö´Â ½Ã½ºÅÛµé°ú ¸¶Âù°¡Áö·Î, °¢°¢ÀÇ Æ¯¼º¿¡ ¸Â°Ô ±¸¼ºµÇ¾î¾ß ÇÑ´Ù.
Devfs´Â µð¹ÙÀ̽º ³ëµå ½º½º·Î ÀÚ¿¬½º·´°Ô Á¤º¸¸¦ Á¦°øÇϰԲû ÇÏ´Â ÀÏÁ¤ÇÑ ¸ÞÄ¿´ÏÁòÀ» °¡Áö°í ÀÖÀ¸¹Ç·Î ½Ã½ºÅÛÀÇ ±¸¼ºÀÌ º¸´Ù ´õ ¸íÈ®ÇØÁø´Ù!!
µð¹ÙÀ̽º ³Ñ¹ö¸¦ °¡Áö°í (disc-based) /dev µð·ºÅ丮 ¾Æ·¡ÀÇ ¹®ÀÚ / ºí·° ÀåÄ¡ ³ëµåµé°ú ½ÇÁ¦ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ¿¬°áÇÏ´Â ¹æ¹ý°ú, devfs ¿¡¼ µî·ÏµÈ °³Ã¼µéÀÌ ½ÇÁ¦ µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ ¿¬°áµÇ´Â ¹æ¹ý »çÀÌ¿¡´Â ¸Å¿ì Áß¿äÇÑ Â÷ÀÌÁ¡ÀÌ ÀÖ´Ù.
8ºñÆ®ÀÇ ¸ÞÀÌÀú/¸¶ÀÌ³Ê ¹øÈ£¸¦ °¡Áö°í disc-based c&b ³ëµåµé°ú ÇØ´ç ¸ÞÀÌÀú ³Ñº£ÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ¿¬°áÇÏ´Â °ÍÀº °íÁ¤µÈ 128 °³ÀÇ ¿£Æ®¸® Å×À̺íÀ» ÅëÇÏ¿© ÀÌ·ç¾îÁø´Ù. ÆÄÀϽýºÅÛµéÀº ¹®ÀÚ/ºí·Ï ÀåÄ¡ÆÄÀÏ¿¡ ´ëÇÑ inode operation À» {chr,blk}dev_inode_operations ·Î ¼³Á¤ÇØ µÐ´Ù. µû¶ó¼, µð¹ÙÀ̽º°¡ open µÇ¾úÀ» ¶§, ¾à°£ÀÇ indirect call ¸¸À¸·Î ºü¸£°Ô file_operation ±¸Á¶Ã¼ÀÇ ÇÔ¼ö Æ÷ÀÎÅ͵éÀ» ÂüÁ¶ÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
´Ù¸¥ ±âŸÀÇ(miscellaneous) ¹®ÀÚ µð¹ÙÀ̽ºµé -- (¿ªÀÚÁÖ : ¸¶ÀÌ³Ê ³Ñ¹öµé¿¡ µû¶ó ÀüÇô ´Ù¸¥ ÀåÄ¡°¡ µÉ ¼öµµ ÀÖ´Â ÀåÄ¡µé, ¿¹:tty (major number 3,4)) -- ¶§¹®¿¡ µÎ¹øÂ° ´Ü°è°¡ ÇÊ¿äÇÏ´Ù : ±× ÆÄÀÏÀÌ ¿·ÈÀ»¶§ °°Àº ¸¶ÀÌ³Ê ¹øÈ£¸¦ °¡Áø µå¶óÀ̹ö ¿£Æ®¸®¸¦ Ž»öÇϰí, Àû´çÇÑ ¸¶ÀÌ³Ê ¿ÀÇ ¸Þ½îµå¸¦ È£ÃâÇÑ´Ù. ÀÌ ÅÆ»öÀº µð¹ÙÀ̽º ³ëµå¸¦ ¿¶§ Ç×»ó ¼öÇàµÈ´Ù. ¾î¼¸é, ¿ÀÇ ¸Þ½îµå¸¦ ã±â Àü¿¡ ¼ö½Ê°³ÀÇ miscellaneous °³Ã¼¸¦ Ž»öÇÒ °ÍÀÌ´Ù. ¸¹Àº ¿À¹öÇìµå¸¦ ÀÏÀ¸Å°Áö´Â ¾Ê´Â´Ù ÇÏ´õ¶óµµ, ÇÊ¿ä¾ø´Â ÀÛ¾÷À¸·Î º¸ÀδÙ.
¸®´ª½º´Â ¶§¶§·Î 8ºñÆ®ÀÇ ¸ÞÀÌÀú/¸¶ÀÌ³Ê °æ°è¸¦ ³Ñ¾î¼¾ß¸¸ ÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ¸¸¾à 16ºñÆ®·Î °¢°¢ÀÇ ¹øÈ£ÀÇ Å©±â¸¦ Áõ°¡½ÃŲ´Ù¸é, ¸ÞÀÌÀú Å×À̺íÀº(ij¸¯ÅÍ ¹× ºí·° µð¹ÙÀ̽º¿¡ ´ëÇØ ÇϳªÀÇ) 64k ¿£Æ®¸®°¡ ÇÊ¿äÇϱ⠶§¹®¿¡ (x86 ¿¡¼´Â 512kBytes, 64 ºñÆ® ½Ã½ºÅÛ¿¡¼´Â1 ¸Þ°¡¹ÙÀÌÆ®), ±× ¸ÞÀÌÀú µå¶óÀ̹ö¸¦ »ç¿ëÇÏ´Â Àε¦½Ì ½ºÅ°¸¶´Â »ç¿ëÇÒ ¼ö ¾ø°Ô µÈ´Ù. µû¶ó¼ miscellaneous ij¸¯ÅÍ µð¹ÙÀ̽º¸¦ »ç¿ëÇÏ´Â °Í°ú ºñ½ÁÇÑ ½ºÅ°¸¶¸¦ »ç¿ëÇØ¾ß¸¸ ÇÑ´Ù. À̰ÍÀº Ž»ö½Ã°£ÀÌ ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡¼ ¸ÞÀÌÀú µð¹ÙÀ̽º µå¶óÀ̹öÀÇ Æò±Õ ¼ö¿¡ µû¶ó ¼±ÇüÀûÀ¸·Î Áõ°¨ÇÑ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù. ¸ðµç "µð¹ÙÀ̽º"°¡ Çϵå¿þ¾î´Â ¾Æ´Ï´Ù. ¾î¶² °ÍÀº KGIó·³ Á»´õ °í¼öÁØÀÇ µå¶óÀ̹öµéÀÌ´Ù. µû¶ó¼ ´ç½ÅÀº Çϵå¿þ¾îÀÇ Áõ°¡ ¾øÀÌ ´õ ¸¹Àº "µð¹ÙÀ̽º"µéÀ» ¾òÀ» ¼ö ÀÖ´Ù. ´ç½ÅÀº Áú¼Á¤¿¬ÇÑ(±ÕÇüÀâÈù:-) ¹ÙÀ̳ʸ® ±¸Á¶¸¦ »ý¼ºÇÔÀ¸·Î½á À̰ÍÀ» Çâ»ó ½Ãų¼ö ÀÖ°í, ÀÌ °æ¿ì¿¡ Ž»ö½Ã°£Àº log(N)À¸·Î µÈ´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â, Ž»ö½Ã°£À» Çâ»ó½Ã۱â À§ÇØ ÇØ½Ì(hashing)À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ²À ÇØ¾ß¸¸ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó¸é ¿Ö ¸ðµÎ¸¦ Ž»öÇÏ·Á Çϴ°¡? ´Ù½Ã Çѹø, À̰ÍÀº ÇÊ¿ä¾ø´Â °Íó·³ º¸ÀδÙ.
devfs´Â ¸ÞÀÌÀú&¸¶ÀÌ³Ê ½Ã½ºÅÛÀ» »ç¿ëÇÏÁö ¾Ê´Â ´Ù´Â °ÍÀ» ±â¾ïÇ϶ó. devfs ¿£Æ®¸®¿¡ ´ëÇÑ ¿¬°áÀº /dev °³Ã¼¸¦ Ž»öÇßÀ»¶§ ÀϾÙ. devfs_register() ÇÔ¼ö°¡ È£ÃâµÇ¸é, ³»ºÎÀÇ Å×À̺íÀº ±× ¿£Æ®¸® À̸§°ú file_operationsÀ» Ãß°¡ÇÑ´Ù. ±× dentry ij½Ã°¡ ¹Ì¸® /dev ¿£Æ®¸®¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é, ÀÌ ³»ºÎÀÇ Å×À̺íÀº file_operations¸¦ ¾ò±â À§ÇÏ¿© Ž»öµÇ°í, inode´Â »ý¼ºµÈ´Ù. ¸¸¾à dentry ij½¬°¡ ÀÌ¹Ì ±× ¿£Æ®¸®¸¦ °¡Áö°í ÀÖ´Ù¸é, Ž»ö½Ã°£Àº ÇÊ¿ä¾ø´Ù (other than the dentry scan itself, but we can't avoid that anyway, and besides Linux dentries cream other OS's which don't have them:-). ¶ÇÇÑ, devfs¿¡ ³ëµå ¿£Æ®¸®ÀÇ ¼ö´Â »ç¿ë°¡´ÉÇÑ µð¹ÙÀ̽º ¿£Æ®¸®ÀÇ ¼ö¿Í °°´Ù. Áï, "»ó»óÇÒ ¼ö ÀÖ´Â" ¼ö°¡ ¾Æ´Ï´Ù. disc-based /dev¿¡¼ ÇÊ¿ä¾ø´Â ¿£Æ®¸®¸¦ Áö¿î´Ù ÇÏ´õ¶óµµ, °ø°£À» Àý¾àÇϱâ À§ÇÏ¿© ½º½º·Î Á¦ÇÑÇÏ´õ¶óµµ »ó»óÇÒ ¼ö ÀÖ´Â ¿£Æ®¸®ÀÇ ¼ö´Â ¿©ÀüÈ÷ °°Àº ä·Î ³²¾ÆÀÖ´Ù.
Devfs´Â VFS ³ëµå¿Í µð¹ÙÀ̽º µå¶óÀ̹ö »çÀÌÀÇ ºü¸¥ ¿¬°áÀ» Á¦°øÇÑ´Ù.
/dev µð·ºÅ丮´Â ³»°¡ °¡Áö°í ÀÖÁö ¾Ê´Â ´ëºÎºÐÀÇ µð¹ÙÀ̽º¸¦ Æ÷ÇÔÇÏ¿© °¡´ÉÇÑ ¸ðµç µð¹ÙÀ̽ºÀÇ ³ëµå¸¦ Æ÷ÇÔÇÑ´Ù. Devfs´Â ´ÜÁö ½Ã½ºÅÛ¿¡¼ »ç¿ë°¡´ÉÇÑ µð¹ÙÀ̽º¸¸ º¸¿©ÁØ´Ù. À̰ÍÀº /devÀÇ ¸ñ·ÏÀ» ¸¸µç´Ù´Â »ç¿ë°¡´ÉÇÑ µð¹ÙÀ̽º¸¦ Æí¸®ÇÑ ¹æ¹ýÀ¸·Î üũÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
ÇöÀç ¸ÞÀÌÀú/¸¶ÀÌ³Ê ¹øÈ£µéÀº °¢°¢ 8ºñÆ®·Î Á¦ÇѵǾî ÀÖ´Ù. À̰ÍÀº ÇϳªÀÇ ¸ÞÀÌÀú ³Ñ¹ö¸¦ ¼ÒºñÇÏ´Â SCSI µð½ºÅ© µå¶óÀ̹ö¿Í °°Àº µå¶óÀ̹ö¿¡¼´Â ÇѰè¿äÀÎÀÌ µÈ´Ù. 16°³ÀÇ µð½ºÅ©¸¸ Áö¿øµÇ°í °¢ µð½ºÅ©´Â 15°³ÀÇ ÆÄƼ¼ÇÀ» °¡Áú ¼ö ÀÖ´Ù. ¾Æ¸¶ À̰ÍÀº ´ç½Å¿¡°Ô´Â ¹®Á¦°¡ ¾Æ´ÒÁö ¸ð¸£³ª, µð½ºÅ© ¾î·¹À̸¦ »ç¿ëÇÏ¿© Å« ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µå´Â ÀÌ¿¡°Ô´Â Å« ¹®Á¦°¡ µÈ´Ù. Devfs¿¡¼ ÀÓÀÇÀÇ Æ÷ÀÎÅÍ´Â 32ºñÆ® µð¹ÙÀ̽º ±¸ºÐÀÚ¸¦ (i.e. 32ºñÆ® ¸¶ÀÌ³Ê ³Ñ¹ö¸¦ °¡Áö´Â °Íó·³ º¸ÀÌ´Â) »ç¿ë°¡´ÉÇÑ °¢°¢ÀÇ µð¹ÙÀ̽º ¿£Æ®¸®·Î ¿¬°á½Ãų¼ö ÀÖ´Ù. À̰ÍÀº Ä¿³Î¿¡¸¸ °ü·ÃµÈ °ÍÀ̹ǷÎ, ¸ÞÀÌÀú/¸¶ÀÌ³Ê ¹øÈ£¸¦ Å©±â¸¦ Áõ°¡½ÃŰ´Â °Í¿¡ ´ëÇÏ¿© C ¶óÀ̺귯¸®¿ÍÀÇ È£È¯¿¡ ´ëÇÑ ³í¶õÀº ÇÊ¿ä¾ø´Ù. »ç¿ëÀÚ °ø°£¿¡¼ ȣȯ¼ºÀ» À¯ÁöÇÏ´Â °Í¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×Àº "µð¹ÙÀ̽º ¹øÈ£ÀÇ ÇÒ´ç"¿¡ ´ëÇÑ ¼½¼ÇÀ» º¸¶ó.
ÀÌ ¹®Á¦¸¦ ÇØ°áÇϴµ¥´Â Ä¿³ÎÀÇ º¯°æÀÌ ÇÊ¿äÇÏ´Ù.
À̰ÍÀ» ÀÛ¼ºÇÔÀ¸·Î½á, Ä¿³ÎÀº SCSI µð½ºÅ© µå¶óÀ̹ö°¡ ´õ ¸¹Àº ¸ÞÀÌÀú ¹øÈ£¸¦ ÇÒ´ç¹Þ°í, 128 µð½ºÅ© ÀÌ»óÀ» Áö¿øÇϵµ·Ï ¼öÁ¤µÇ¾ú´Ù. ÀÌµé ¸ÞÀÌÀú ¹øÈ£µéÀÌ ºñ¿¬¼ÓÀû (¹«°èȹÀûÀÎ È®ÀåÀÇ °á°ú·Î ÀÎÇØ) À̹ǷÎ, ±×°ÍÀÇ ±¸ÇöÀº óÀ½º¸´Ù ´õ ¼º°¡½Å ÀÏÀÌ µÇ¾ú´Ù.
IP ÁÖ¼ÒÀÇ ºÎÁ·À» ÀϽÃÀûÀ¸·Î ±Øº¹Çϱâ À§ÇØ IPv4 ¸¦ º¯°æÇÏ´Â °Í°ú ¸¶Âù°¡Áö·Î, »ç¶÷µéÀº Á¦ÇÑ»çÇ×ÀÌ »ý±â¸é ±×°ÍÀ» µÑ·¯°¥ Æ®¸¯À» ã´Â´Ù. ±×·¯³ª IPv6 ³ª devfs ¿Í °°Àº ±Ùº»ÀûÀÎ ÇØ°áÃ¥ÀÇ µµÀÔÀº ´õÀÌ»ó ´ÊÃçÁ®¼´Â ¾ÈµÈ´Ù.
·çÆ® ÆÄÀϽýºÅÛ¿¡ µð¹ÙÀ̽º ³ëµå¸¦ °¡Áø´Ù´Â °ÍÀº, ¸¸¾à ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀÌ Àбâ Àü¿ëÀ¸·Î ¸¶¿îÆ®µÇ¾úÀ» °æ¿ì¿£ ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¸øÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ±×°ÍÀº tty µð¹ÙÀ̽ºÀÇ ¼ÒÀ¯±Ç°ú º¸È£±ÇÀ» º¯°æÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù. ½ÇÁ¦·Î ·çÆ® ÆÄÀϽýºÅÛ µð¹ÙÀ̽º·Î¼ Àбâ Àü¿ë ÀåÄ¡ÀÎ CD-ROM À» »ç¿ëÇÏ´Â °ÍÀº Çã¿ëµÇÁö ¾Ê´Â´Ù. È®½ÇÈ÷, ´ç½ÅÀº CD-ROMÀ» ÀÌ¿ëÇÏ¿© ºÎÆÃÀ» ÇÒ¼ö´Â ÀÖÀ¸³ª, ttyÀÇ ¼ÒÀ¯±ÇÀ» º¯°æÇÏÁö´Â ¸øÇÑ´Ù. µû¶ó¼ ±× ¹æ¹ýÀº ÀνºÅçÇÒ¶§³ª ÁÁÀº ¹æ¹ýÀÌ´Ù.
¶ÇÇÑ, µð½ºÅ©°¡ ¾ø´Â (discless) ¸®´ª½º ¸Ó½Å ¿¡¼ (º¸Åë /dev ¿¡¼ º¯°æµÈ tty ¼ÒÀ¯±ÇÀ» °¡Áö´Â °ÍÀº ÁÁÁö ¸øÇÏ´Ù) °øÀ¯µÈ NFS ·çÆ® ÆÄÀϽýºÅÛÀ» °¡Áú ¼öµµ ¾ø´Ù. ¶ÇÇÑ ROM-FS ¿¡ ´ç½ÅÀÇ ·çÆ® ÆÄÀϽýºÅÛÀ» Æ÷ÇÔ½Ãų¼öµµ ¾ø´Ù.
´ç½ÅÀº ºÎÆÃ½Ã¿¡ RAMDISC ¸¦ ¸¸µé°í, ±×°Í¿¡ ext2 ÆÄÀϽýºÅÛÀ» ¸¸µçÈÄ, ±×°ÍÀ» ¾î¶² Àå¼Ò¿¡ ¸¶¿îÆ®Çϰí /devÀÇ ¸ñ·ÏÀ» ±×°Í¿¡ º¹»çÇÑ ÈÄ, ¸¶¿îÆÃÀ» ÇØÁ¦Çϰí /dev¿¡ ±×°ÍÀ» ´Ù½Ã ¸¶¿îÆÃ ÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÏ°Ô µÉ °ÍÀÌ´Ù.
Devfs´Â ÀÌ ¹®Á¦¸¦ ÇØ°áÇϴµ¥ ÀÖ¾î º¸´Ù ¸íÈ®ÇÑ ¹æ¹ýÀ» Á¦°øÇÑ´Ù.
Non-Unix ÆÄÀϽýºÅÛ(NTFS¿Í °°Àº)Àº ±×°ÍµéÀÌ ´Ù¾çÇÑ Ä³¸¯ÅÍ/ºí·° ½ºÆä¼³ ÆÄÀÏ ¶Ç´Â ½Éº¼¸¯ ¸µÅ©µéÀ» Áö¿øÇÏÁö ¾Ê±â ¶§¹®¿¡ ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î »ç¿ëÇÒ ¼ö ¾ø´Ù. ´ç½ÅÀº ¸¶¿îÆ® Çϱâ Àü¿¡ µð¹ÙÀ̽º ³ëµå¸¦ ÇÊ¿ä·Î Çϱ⠶§¹®¿¡ /dev ¿¡ ¸¶¿îÆ®µÈ ÆÄÀϽýºÅÛÀÌ disc-based ÀÎÁö RAMDISC-based ÀÎÁö ±¸ºÐÇÒ ¼ö ¾ø´Ù. Devfs´Â µð¹ÙÀ̽º ³ëµå ¾øÀÌ ¸¶¿îÆ® ÇÒ ¼ö ÀÖ´Ù. Devlink´Â ½Éº¼¸¯ ¸µÅ©(symlink)ÀÇ Áö¿øÀÌ ¾ÈµÇ±â ¶§¹®¿¡ ÀÛµ¿ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ´Ù¸¥ ÇØ°áÃ¥Àº RAMDISC ÃÊ±â ·çÆ® ÆÄÀϽýºÅÛ (¼Ò¼öÀÇ ¼±ÅÃµÈ µð¹ÙÀ̽º ³ëµå¸¦ Æ÷ÇÔÇÏ´Â) À» ¸¶¿îÆ® Çϱâ À§ÇÏ¿© initrd¸¦ »ç¿ëÇϰí, ´Ù¸¥ RAMDISC ¿¡ »õ·Î¿î /dev¸¦ ¸¸µç ÈÄ, ¸¶Áö¸·À¸·Î non-Unix ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î ¹Ù²Ù´Â °ÍÀÌ´Ù À̰ÍÀº ¿µ¸®ÇÑ ºÎÆ®½ºÅ©¸³Æ®¿Í ÇêÁ¡ÀÌ ¸¹°í º¹ÀâÇÑ ºÎÆ® °úÁ¤ÀÌ ÇÊ¿äÇÏ´Ù.
Devfs´Â °ß°íÇÏ°í °³³äÀûÀ¸·Î °£´ÜÇÑ ¹æ¹ýÀ¸·Î ÀÌ °ÍÀ» ÇØ°áÇÑ´Ù.
ÇöÀçÀÇ pseudo-tty(pty)´Â ·çÆ®°¡ ¼ÒÀ¯±ÇÀÚÀ̰í, ¸ðµç »ç¿ëÀÚ°¡ ÀÐ°í ¾²±â°¡ °¡´ÉÇÏ´Ù. pty-pairÀÇ »ç¿ëÀÚ´Â suid-root ¾øÀÌ´Â ¼ÒÀ¯±Ç/º¸È£±ÇÀ» ¹Ù²Ü¼ö ¾ø´Ù.
ÀÌ ¹®Á¦´Â ·çÆ®·Î ¼öÇàµÇ°í ½ÇÁ¦ pty-pairs ¸¦ ¸¸µé¾î ³»´Â userspace ¿¡¼ ÀÛµ¿ÇÏ´Â º¸¾È µ¥¸óÀ» »ç¿ëÇÔÀ¸·Î½á ÇØ°áµÉ ¼ö ÀÖ´Ù. ÀÌ °°Àº µ¥¸óÀº ÀÌ·± »õ·Î¿î ¸ÅÄ¿´ÏÁòÀ» »ç¿ëÇϰíÀÚ ÇÏ´Â "¸ðµç" ÇÁ·Î±×·¥¿¡ ¼öÁ¤À» ¿äÇÑ´Ù. ¶ÇÇÑ pty-pairs¸¦ »ý¼ºÇÏ´Â µ¥¿¡µµ ¼ÓµµÀúÇϰ¡ ÀϾÙ.
´Ù¸¥ ÇØ°áÃ¥Àº »ç¿ëÀÚ°ø°£ÀÇ µ¥¸ó°ú ºñ½ÁÇÑ ÀÏÀ» ÇÏ´Â »õ·Î¿î open_pty() ½Ã½ºÅÛÄÝÀ» ¸¸µå´Â °ÍÀÌ´Ù. ´Ù½Ã Çѹø ¸»ÇÏÁö¸¸, À̰ÍÀº pty Çڵ鸵 ÇÁ·Î±×·¥µéÀÇ ¼öÁ¤À» ¿ä±¸ÇÑ´Ù.
devfs ÀÇ ÇØ°áÃ¥Àº ¿·ÁÀÖÁö ¾ÊÀº µð¹ÙÀ̽º°¡ ¿·ÈÀ»¶§ µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ¾î¶² µð¹ÙÀ̽º ÆÄÀÏÀ» "tag"Çϵµ·Ï Çã¿ëÇϰí, ¼ÒÀ¯±ÇÀº ¿¸° ÇÁ·Î¼¼½ºÀÇ ÇöÀç euid¿Í egid·Î º¯ÈµÇ°í, º¸È£±ÇÀº ±× µå¶óÀ̹ö¿¡ ÀÇÇØ µî·ÏµÈ ±âº»°ªÀ¸·Î º¯°æµÈ´Ù. ±× µð¹ÙÀ̽º°¡ ´ÝÈ÷¸é, ¼ÒÀ¯±ÇÀº ·çÆ®·Î µ¹¾Æ°¡°í º¸È£±ÇÀº ¸ðµç ÀÌ¿¡°Ô ÀÐ°í¾²±â °¡´ÉÀ¸·Î ¹Ù²ï´Ù. ¾î¶² ÇÁ·Î±×·¥µµ ¼öÁ¤µÉ Çʿ䰡 ¾ø´Ù. devpts ÆÄÀϽýºÅÛÀº Unix98 ptys ¿¡ ´ëÇÏ¿© ÀÌ·¯ÇÑ ÀÚµ¿-¼ÒÀ¯±ÇÀÇ ±â´ÉÀ» Á¦°øÇÑ´Ù. À̰ÍÀº ¿¾¹æ½ÄÀÇ pty µð¹ÙÀ̽º´Â Áö¿øÇÏÁö ¾Ê°í, devfs°¡ Á¦°øÇÏ´Â ´Ù¸¥ ±â´ÉµéÀ» ¸ðµÎ Á¦°øÇÏÁö ¾Ê´Â´Ù.
Devfs´Â »ç¿ëÀÚ °ø°£¿¡¼ ÀÛµ¿ÇÏ´Â µð¹ÙÀ̽º °ü¸® µ¥¸ó(devfsd)°úÀÇ Åë½ÅÀ» À§ÇÏ¿© °£´ÜÇÏÁö¸¸ °·ÂÇÑ ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇÑ´Ù. À̰ÍÀº µð¹ÙÀ̽º ¿£Æ®¸®ÀÇ µî·Ï/µî·ÏÇØÁ¦, µð¹ÙÀ̽ºÀÇ open/close, inode ÀÇ Å½»ö µð·ºÅ丮¿Í ´Ù¸¥ °ÍµéÀÇ Å½»ö µî°ú °°Àº À̺¥Æ®°¡ ÀϾ¸é (µ¿±â ¶Ç´Â ºñµ¿±âÀûÀ¸·Î) devfsd ¿¡ ¸Þ¼¼Áö¸¦ º¸³»´Â °ÍÀÌ °¡´ÉÇÏ´Ù. À̰ÍÀº ¸¹Àº ÀáÀ缺À» °¡Áö°Ô µÈ´Ù. ±× ÀáÀ缺 ÁßÀÇ ¾î¶² °ÍÀº ÀÌ¹Ì ±¸ÇöµÇ¾î ÀÖ´Ù. http://www.atnf.csiro.au/~rgooch/linux/À» »ìÆìº¸¶ó
µð¹ÙÀ̽º ¿£Æ®¸®ÀÇ µî·Ï À̺¥Æ®´Â »õ·Ó°Ô »ý¼ºµÇ´Â µð¹ÙÀ̽º ³ëµåÀÇ ÆÛ¹Ì¼ÇÀ» º¯°æÇÒ¶§ devfsd¿¡ ÀÇÇØ »ç¿ëµÉ ¼ö ÀÖ´Ù. À̰ÍÀº µð¹ÙÀ̽ºÀÇ ÆÛ¹Ì¼ÇÀ» Á¦¾îÇϱâ À§ÇÑ ÇϳªÀÇ ¸ÅÄ¿´ÏÁòÀÌ´Ù.
µð¹ÙÀ̽º ¿£Æ®¸®ÀÇ µî·Ï/µî·ÏÇØÁ¦ À̺¥Æ®´Â ÇÁ·Î±×·¥À̳ª ½ºÅ©¸³Æ®¸¦ ±¸µ¿½Ã۴µ¥ »ç¿ëµÈ´Ù. À̰ÍÀº »õ·Î¿î ºí·° µð¹ÙÀ̽º ¹Ìµð¾î¿¡ µå¶óÀ̹ö°¡ Ãß°¡µÇ¾úÀ»¶§ ÆÄÀϽýºÅÛÀÇ ÀÚµ¿ÀûÀÎ ¸¶¿îÆ®¸¦ Á¦°øÇϴµ¥¿¡µµ »ç¿ëµÉ ¼ö ÀÖ´Ù.
ºñµ¿±â µð¹ÙÀ̽ºÀÇ open/close À̺¥Æ®´Â ÆÛ¹Ì¼Ç °ü¸®¸¦ ±¸ÇöÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, /dev/dsp¿¡ ´ëÇÑ ±âº» ÆÛ¹Ì¼ÇÀº ¸ðµç »ç¿ëÀÚ°¡ ±× µð¹ÙÀ̽º¸¦ Àд °ÍÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù. À̰ÍÀº ´ç½ÅÀÌ Äֿܼ¡ ¾ê±âÇÏ´Â °ÍÀ» ¿ø°Ý »ç¿ëÀÚ°¡ ³ìÀ½ÇÏ´Â °ÍÀ» ¿øÇÏÁö ¾ÊÀ» °ÍÀ̱⠶§¹®¿¡ ÇÕ´çÇÑ ÀÏÀÌ´Ù. ±×·¯³ª, ÄÜ¼Ö »ç¿ëÀÚ ¿ª½Ã ³ìÀ½ÇÏ´Â °ÍÀÌ ¸·ÇôÀÖ´Ù. À̰ÍÀº ¹Ù¶÷Á÷ÇÑ °ÍÀÌ ¾Æ´Ï´Ù. ºñµ¿±â µð¹ÙÀ̽º¿¡ open/close À̺¥Æ®¸¦ ÀÌ¿ëÇÏ¿© ´ç½ÅÀº Äֵܼð¹ÙÀ̽º°¡ ´Ù¸¥ µð¹ÙÀ̽º ³ëµå (¿¹¸¦ µé¾î /dev/dsp)¿¡ ´ëÇÑ ¼ÒÀ¯±ÇÀ» º¯°æÇϱâ À§ÇØ ¿·ÈÀ»¶§, devfsd°¡ ¾î¶² ÇÁ·Î±×·¥À̳ª ½ºÅ©¸³Æ®¸¦ ¼öÇàÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. ¸¶Áö¸·À¸·Î, ´ç½ÅÀº ´Ù¸¥ ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© ÆÛ¹Ì¼ÇÀ» º¹±¸ ÇÒ ¼ö ÀÖ´Ù. C ¶óÀ̺귯¸®ÀÇ tty Çڵ鸵ÀÇ ¼öÁ¤ÀÌ ÇÊ¿ä¾ø´Â ÀÌ·± ¼³°èÀÇ À̵æÀº ´ç½ÅÀÇ ÇÁ·Î±×·¥ÀÌ Ãæµ¹ÀÌ ÀϾ´õ¶óµµ (´ç½ÅÀº Á¸ÀçÇÏÁö ¾ÊÀº ·Î±äÀ» À§ÇÏ¿© ÁöüµÇ´Â ¿£Æ®¸®¸¦ °¡Áö´Â utmp µ¥ÀÌÅÍ º£À̽º¸¦ ¼ö¾øÀÌ º¸¾Æ¿ÀÁö ¾Ê¾Ò´Â°¡?) ÀÛµ¿ÇÑ´Ù´Â °ÍÀÌ´Ù.
µ¿±â µð¹ÙÀ̽ºÀÇ ¿±â À̺¥Æ®´Â µð¹ÙÀ̽º°¡ Á¢±Ù±ÇÇÑÀ» ¼³Á¤Çϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. µð¹ÙÀ̽º µå¶óÀ̺êÀÇ open() ¸Þ¼Òµå°¡ È£ÃâµÇ±â Àü¿¡, µ¥¸óÀº ¿ÜºÎ ÇÁ·Î±×·¥À̳ª ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ´À¸·Î½á óÀ½À¸·Î ¿±â½Ãµµ¸¦ È®ÀÎÇÒ °ÍÀÌ´Ù. À̰ÍÀº ±×¿¡ ´ëÇÑ Á¢±Ù ÀÚü°¡ UID¿Í GID ´ë½Å¿¡ ´Ù¸¥ ½Ã½ºÅÛÀÇ »óÅ¿¡ ±âÃÊÇÏ¿© °áÁ¤µÇ±â ¶§¹®¿¡ Á¢±Ù Á¦¾î ¸®½ºÆ®¸¦ »ç¿ëÇÏ´Â °Íº¸´Ù ÈξÀ ´õ À¯¿¬ÇÏ´Ù.
Inode Ž»ö À̺¥Æ®´Â ¸ðµâÀÇ ÀÚµ¿·Îµå ¿äûÀ» ÀÎÁõÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. kmod¸¦ Á÷Á¢ÀûÀ¸·Î »ç¿ëÇÏ´Â ´ë½Å¿¡, ÀÌ À̺¥Æ®´Â ¸ðµâ ½º½º·Î°¡ ÀûÀçµÇ±â Àü¿¡ ÀÓÀÇÀûÀ¸·Î ÀÎÁõÀ» ±¸ÇöÇÒ¼ö ÀÖ´Â devfsd ¿¡ º¸³»Áø´Ù.
Inode Ž»ö À̺¥Æ®´Â Á¸ÀçÇÏÁö ¾Ê´Â µð¹ÙÀ̽º¿¡ ´ëÇÏ¿© ½Éº¼¸¯ ¸µÅ©·Î devfs ¸¦ À§Ä¡½Ã۱â À§ÇØ º¹±¸ÇÏÁö ¾Ê°íµµ Àӽ÷Π³×ÀÓ½ºÆäÀ̽º¸¦ ±¸¼ºÇϴµ¥ ¿ª½Ã ¾²Àϼö ÀÖ´Ù.
¸ðµâÀÌ ¿Ã¶ó¿Í ÀÖ´ø ¾Æ´Ï´ø ½Ã½ºÅÛ¿¡ ÀÖ´Â ¸ðµç(SCSI, IDE ¹× ´Ù¸¥ ŸÀÔµé) CD-ROM µð¹ÙÀ̽º¸¦ ã±â À§ÇÑ(cdparanoia¿Í °°Àº) ¾îÇø®ÄÉÀ̼ÇÀ» °í·ÁÇØº¸ÀÚ. ÀÌ·ÐÀûÀ¸·Î ¾îÇø®ÄÉÀ̼ÇÀº ÇØ´ç ¸ðµâÀÌ ÀûÀçµÇ¾î ÀÖ´ÂÁö È®ÀÎÇϱâ À§Çؼ´Â µð¹ÙÀ̽º ³ëµå¸¦ (SCSI CD-ROMÀÇ °æ¿ì /dev/sr0) ¿¾î¾ß¸¸ ÇÑ´Ù. Ç¥ÁØ µð¹ÙÀ̽º ³×ÀÌ¹Ö ½ºÅ°¸¶ (ÃÖ±Ù¿¡ ·¹µåÇÞÀº À̰ÍÀ» ´Ù¸£°Ô ±¸ÇöÇÑ °ÍÀ» È®ÀÎÇß´Ù) ¸¦ µû¸£´Â ¸ðµç ¸®´ª½º ¹èÆ÷ÆÇÀº ÀÌ·¯ÇÑ ÀÛ¾÷À» ÇÊ¿ä·Î ÇÑ´Ù. Devfs´Â ±×·¯ÇÑ ³×ÀÌ¹Ö ¹®Á¦¸¦ ÇØ°áÇÑ´Ù.
±×¿Í °°Àº ¾îÇø®ÄÉÀ̼ÇÀº ¶Ç ½Ã½ºÅÛ¿¡ ½ÇÁ¦ »ç¿ë°¡´ÉÇÑ µð¹ÙÀ̽º¸¦ ã±â¸¦ ¿øÇÒ ¼öµµ ÀÖ´Ù. ÇöÁ¸ÇÏ´Â ½Ã½ºÅÛÀ¸·Î À̰°Àº ÀÏÀº /dev µð·ºÅ丮¸¦ Àаí, ±× µð¹ÙÀ̽º°¡ Á¸ÀçÇÏ´ÂÁö ¾ÈÇÏ´ÂÁö¸¦ °áÁ¤Çϱâ À§Çؼ´Â °¢ /dev/sr* µð¹ÙÀ̽ºµéÀ» open ÇØ ºÁ¾ß ÇÑ´Ù. Å« /dev ¸¦ °¡Áö´Â ½Ã½ºÅÛ¿¡¼, ±× ½Ã½ºÅÛÀÌ Æ¯È÷ ¸¹Àº ¼öÀÇ /dev/sr* ³ëµå¸¦ °¡Áö°í ÀÖ´Ù¸é, À̰ÍÀº ºñÈ¿À²ÀûÀÎ ÀÛ¾÷ÀÌ´Ù. scsidev¿Í °°Àº ÇØ°áÃ¥Àº /dev/sr* ¿£Æ®¸®ÀÇ ¼ö¸¦ ÁÙ¿©ÁÙ¼ö ÀÖ´Ù (±×·¯³ª ¿ª½Ã ºÒÇÊ¿äÇÑ µð·ºÅ丮 Ž»öÀ» ÇÏ°Ô µÈ´Ù).
Devfs¸¦ »ç¿ëÇϸé, ±× ¾îÇø®ÄÉÀ̼ÇÀº /dev/sr µð·ºÅ丮 (ÇÊ¿äÇÏ´Ù¸é ¸ðµâÀÇ ÀÚµ¿ÀûÀ縦 À¯µµÇس»´Â)¸¦ ÀÐÀ»¼ö ÀÖ°í, /dev/sr¸¦ Àбâ À§ÇÏ¿© °è¼Ó ÁøÇàµÈ´Ù. ¿ÀÁ÷ »ç¿ë°¡´ÉÇÑ µð¹ÙÀ̽ºµé¸¸ÀÌ ¿£Æ®¸®¸¦ °¡Áö¹Ç·Î, ºÒÇÊ¿äÇÑ µð·ºÅ丮 Ž»öÀ̳ª, µð¹ÙÀ̽ºÀÇ ¿ÀÇÁ´×Àº ÇÊ¿ä¾ø´Ù.