À¯´Ð½º¿Í ÀÎÅͳÝÀÇ ±âÃÊ (The Unix and Internet Fundamentals HOWTO) by Eric S. Raymond ¹ø¿ª : ±èÇѹè, Anglahel@mail.hitel.net, hitel ID : Anglahel ¹ø¿ªº» v1.1, 1 July 1999 ÀÌ ¹®¼­´Â PC±Þ ÄÄÇ»ÅÍ, Unix °è¿­ÀÇ ¿î¿µÃ¼Á¦, ÀÎÅͳÝÀÇ ±âÃÊ µ¿ÀÛ¿¡ ´ëÇØ ºñÀü¹®ÀûÀÎ(non-technical) ¿ë¾î·Î ¼³¸íÇÏ°í ÀÖ´Ù. ______________________________________________________________________ ¸ñ Â÷ (Table of Contents) 1. ¼Ò °³ (Introduction) 1.1 ÀÌ ¹®¼­ÀÇ ¸ñÀû (Purpose of this document) 1.2 ¿¬°üµÈ ÀÚ·á (Related resources) 1.3 ÀÌ ±ÛÀÇ »õ ¹öÀü (New versions of this document) 1.4 Çǵå¹é°ú ±³Á¤ (Feedback and corrections) 2. ±âÃÊ ÄÄÇ»ÅÍ ÇغÎÇÐ (Basic anatomy of your computer) 3. ÄÄÇ»ÅÍÀÇ ½ºÀ§Ä¡¸¦ ÄÑ¸Õ ¹«½¼ÀÏÀÌ ÀϾ´Â°¡? (What happens when you switch on a computer?) 4. ½©¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é ¹«½¼ÀÏÀÌ ÀϾ´Â°¡? (What happens when you run programs from the shell?) 5. ¾î¶»°Ô ÀåÄ¡¿¡ ÀÔ·ÂÀ» Çϸç ÀÛ¾÷À» Áß´ÜÇϴ°¡? (How do input devices and interrupts work?) 6. ÄÄÇ»ÅÍ´Â ¾î¶»°Ô Çѹø¿¡ ¿©·¯ °¡Áö ÀÏÀ» ÇÒ ¼ö ÀÖ³ª? (How does my computer do several things at once?) 7. ÄÄÇ»ÅÍ´Â ¾î¶»°Ô °¢ ÇÁ·Î¼¼½º°£¿¡ ¹æÇظ¦ ¹ÞÁö ¾ÊÀ» ¼ö Àִ°¡? (How does my computer keep processes from stepping on each other?) 8. ÄÄÇ»ÅÍ´Â ¾î¶»°Ô µð½ºÅ©¿¡ ÀúÀåÀ» Çϴ°¡? (How does my computer store things on disk?) 8.1 Àú¼öÁØ(low-level)ÀÇ µð½ºÅ©¿Í ÆÄÀϱ¸Á¶ (Low-level disk and file system structure) 8.2 ÆÄÀÏÀ̸§°ú µð·ºÅ丮 (File names and directories) 8.3 ¸¶¿îÆ® Æ÷ÀÎÆ® (Mount points) 8.4 ¾î¶»°Ô ÆÄÀÏÀ» »ìÆ캼 ¼ö ÀÖ³ª (How a file gets looked up) 8.5 ¾î¶»°Ô ÆÄÀÏ ½Ã½ºÅÛÀÌ À߸øµÉ ¼ö Àִ°¡? (How things can go wrong) 9. ÄÄÇ»ÅÍ ¾ð¾î´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡? (How do computer languages work?) 9.1 ÄÄÆÄÀÏ ¾ð¾î (Compiled languages) 9.2 ÀÎÅÍÇÁ¸®Æ¼µå ¾ð¾î (Interpreted languages) 9.3 PÄÚµå ¾ð¾î (P-code languages) 10. ÀÎÅͳÝÀº ¾î¶»°Ô ÀÛµ¿Çϴ°¡? (How does the Internet work?) 10.1 À̸§°ú À§Ä¡ (Names and locations) 10.2 ÆÐŶ°ú ¶ó¿ìÅÍ (Packets and routers) 10.3 TCP/IP (TCP and IP) 10.4 HTTP, ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ÇÁ·ÎÅäÄÝ (HTTP, an application protocol) ______________________________________________________________________ 1. ¼Ò °³ (Introduction) 1.1. ÀÌ ¹®¼­ÀÇ ¸ñÀû (Purpose of this document) ÀÌ ¹®¼­´Â ¸®´ª½º¿Í ÀÎÅͳÝÀ» Á÷Á¢ Çغ¸¸é¼­(doing) ¹è¿î »ç¶÷µé¿¡°Ô µµ¿òÀ» ÁÖ±â À§ÇÑ °ÍÀÌ´Ù. ÀÌ´Â ±â¼úÀ» ¾ò±â À§ÇÑ ÁÁÀº ¹æ¹ýÀÌÁö¸¸, °¢ÀÚ°¡ °¡Áö°í ÀÖ´Â ±âÃÊ Áö½ÄÀÇ Â÷ÀÌ(ÀÌ Â÷ÀÌ´Â ¹«¾ùÀÌ ¾î¶»°Ô µ¹¾Æ°¡´ÂÁö¿¡ ´ëÇÑ ¸íÈ®ÇÑ °³³äÀÇ ºÎÁ·¿¡¼­ ºñ·ÔµÇ´Âµ¥, µû¶ó¼­ âÀÇÀûÀÎ »ý°¢À̳ª È¿°úÀûÀÎ ¹®Á¦ÇØ°áÀ» ¾î·Æ°Ô ¸¸µç´Ù)·Î ÀÎÇØ Æ¯Á¤ÇÑ Â÷À̸¦ º¸ÀÏ ¼öµµ ÀÖ´Ù. ³ª´Â µÉ ¼ö ÀÖ´Â ÇÑ ¸ðµç ºÎºÐ¿¡¼­ ´Ü¼øÇÏ°í ÀÌÇØÇϱ⠽¬¿î ¾ð¾î¸¦ ¾µ °Í ÀÌ´Ù. ÀÌ ±ÛÀº PC±Þ Çϵå¿þ¾î¿¡¼­ Unix ¶Ç´Â ¸®´ª½º¸¦ »ç¿ëÇÏ´Â »ç¶÷µé À» À§ÇÑ °ÍÀÌ´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í, ³»°¡ ÀÌ ±Û¿¡¼­ ´Ù·ç°í ÀÖ´Â 'Unix'¿¡ °üÇÑ ³»¿ëÀº ¿©·¯ Ç÷§Æû°ú ´Ù¾çÇÑ Á¾·ùÀÇ Unix¿¡ ¸ðµÎ Àû¿ëµÇ´Â °ÍÀÌ´Ù. ³ª´Â ´ç½ÅÀÌ ÀÎÅÚ(Intel)ÀÇ PC¸¦ ¾´´Ù°í °¡Á¤ÇÏ°Ú´Ù. ¸¸¾à ´ç½ÅÀÌ ¾ËÆÄ(Alpha) ³ª ÆÄ¿öPC(PowerPC) ¶Ç´Â ´Ù¸¥ Unix ¹Ú½º¸¦ ¾´´Ù¸é ¼¼ºÎÀûÀÎ ³»¿ëÀº ´Ù¸£°ÚÁö¸¸ ±âº»°³³äÀº °°´Ù´Â °ÍÀ» ¾Ë¾ÆµÎ±â ¹Ù¶õ´Ù. ³ª´Â ¹Ýº¹Çؼ­ ¼³¸íÇÏÁö ¾ÊÀ¸¹Ç·Î ´ç½ÅÀº ÁýÁßÇؼ­ Àоî¾ß ÇÏÁö¸¸, ÀÌ´Â ´ç½ÅÀÌ Àд Çϳª ÇϳªÀÇ ±ÛÀÚ¿¡¼­ ¹è¿ï ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. óÀ½¿¡´Â ±×³É ´ëÃæ ÈȾ°í ¿©·¯¹ø ´õ Àо ÀÌ ³»¿ëÀ» ¿ÏÀüÈ÷ ´ç½ÅÀÇ °ÍÀ¸·Î ¸¸µå´Â °Íµµ ÁÁÀº »ý°¢ÀÌ´Ù. ÀÌ°ÍÀº ÁøÈ­ÇÏ´Â(evolving) ¹®¼­ÀÌ´Ù. ³ª´Â µ¶ÀÚµé°úÀÇ Çǵå¹éÀ» ÅëÇؼ­ ³»¿ëÀ» Ãß°¡½Ãų °ÍÀ̹ǷÎ, Á¤±âÀûÀ¸·Î µ¹¾Æ¿Í¼­ ÀÌ ¹®¼­¸¦ º¸±æ ¹Ù¶õ´Ù. 1.2. ¿¬°üµÈ ÀÚ·á (Related resources) ¸¸¾à ´ç½ÅÀÌ ÇØÅ·±â¹ýÀ» ¹è¿ì±â À§ÇØ ÀÌ ±ÛÀ» Àд´ٸé, 'How To Become A Hacker FAQ'À» ÀÐ¾î º¸¶ó. . ÀÌ °÷¿¡´Â ´Ù¸¥ À¯¿ëÇÑ ÀÚ·áµéµµ ¸µÅ©µÇ¾î ÀÖ´Ù. 1.3. ÀÌ ±ÛÀÇ »õ ¹öÀü (New versions of this document) »õ ¹öÀüÀÇ 'Unix¿Í ÀÎÅͳÝÀÇ ±âÃÊ HOWTO'´Â [comp.os.linux.help] ¿Í [news.answers or news:answers]¿¡ Á¤±âÀûÀ¸·Î °Ô½ÃµÈ´Ù. À̵éÀº ¶ÇÇÑ LDP ȨÆäÀÌÁö¸¦ Æ÷ÇÔÇÑ ¿©·¯ ¸®´ª½º WWW³ª FTP»çÀÌÆ®¿¡ ¾÷·ÎµåµÈ´Ù. °¡Àå ÃÖ±ÙÀÇ ±ÛÀº ¾Æ·¡ÀÇ WWW ÁÖ¼Ò¿¡¼­ ãÀ» ¼ö ÀÖ´Ù URL . 1.4. Çǵå¹é°ú ±³Á¤ (Feedback and corrections) ¸¸¾à ÀÌ ±Û¿¡ ´ëÇÑ Áú¹®À̳ª ÀÇ°ßÀÌ ÀÖ´Ù¸é ºÎ´ã¾øÀÌ esr@thyrsus.com {Eric S. Raymond}¿¡°Ô ¸ÞÀÏÀ» º¸³»±â ¹Ù¶õ´Ù. (Âü°í·Î Çѱ¹¿¡ °è½Å ºÐÀº Àú¿¡°Ô ¸ÞÀÏÀ» Áּŵµ µÇÁö¿ä. ÇѹèÇÑÅ×..) ³ª´Â ¾î¶² Á¦¾ÈÀ̳ª ºñÆÇ ÀÌ¶óµµ È¯¿µÇÑ´Ù. ƯÈ÷ ´õ ÀÚ¼¼ÇÑ ¼³¸íÀ̳ª µ¶Æ¯ÇÑ °³³ä°ú °áÇÕµÈ °Í¿¡ ´ëÇؼ­´Â ´õ¿í ±×·¸´Ù. ±×¸®°í ÀÌ ±Û¿¡¼­ À߸øµÈ ºÎºÐÀ» ã´Â´Ù¸é ´ÙÀ½ ¹öÀü¿¡¼­´Â °íÄ¥ ¼ö ÀÖµµ·Ï ¾Ë·ÁÁÖ±æ ¹Ù¶õ´Ù. Thanks. 2. ±âÃÊ ÄÄÇ»ÅÍ ÇغÎÇÐ (Basic anatomy of your computer) ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡´Â ÇÁ·Î¼¼¼­ ĨÀÌ µé¾îÀÖ°í ÀÌ°ÍÀÌ ½ÇÁ¦ÀûÀÎ ÄÄÇ»ÆÃ(¿¬»ê) À» ¼öÇàÇÑ´Ù. ¶ÇÇÑ ³»ºÎ(internal) ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ´Ù(DOS/Windows ȯ°æ¿¡¼­´Â 'RAM'À̶ó ºÎ¸£°í Unix ȯ°æ¿¡¼­´Â core¶ó°í ºÎ¸¥´Ù). ¸¶´õº¸µå(¶Ç´Â ¸ÞÀκ¸µå)¿¡ ÀåÂøµÇÀÖ´Â ÇÁ·Î¼¼¼­¿Í ¸Þ¸ð¸®´Â ÄÄÇ»ÅÍÀÇ ÇÙ½ÉÀÌ´Ù. ÄÄÇ»ÅÍ´Â ½ºÅ©¸°°ú Å°º¸µå¸¦ °¡Áö°í ÀÖ´Ù. ¶Ç ÇÏµå µå¶óÀ̺ê¿Í Ç÷ÎÇÇ µð½ºÅ©µµ °¡Áö°í ÀÖ´Ù. ½ºÅ©¸°°ú µð½ºÅ©´Â ¸¶´õº¸µå¿¡ ÄÄÇ»ÅÍ°¡ ¿ÜºÎ±â±â(outboard)µéÀ» Á¦¾îÇÒ ¼ö ÀÖ´Â ÄÜÆ®·Ñ Ä«µå¸¦ °¡Áö°í ÀÖ´Ù. (Å°º¸µå´Â ³Ê¹«³ª ´Ü¼øÇؼ­ º°µµÀÇ Ä«µå¸¦ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù; ÄÜÆ®·Ñ·¯´Â Å°º¸µå µ¿Ã¼¿¡ ³»ÀåµÇ¾îÀÖ´Ù) ´õ ÀÚ¼¼ÇÑ ³»¿ë¿¡ ´ëÇؼ­´Â ³ªÁß¿¡ ´Ù·ç±â·Î ÇÑ´Ù. Áö±ÝÀº ±×°ÍµéÀÌ ¾î¶»°Ô ÇÔ²² µ¿ÀÛÇϴ°¡¿¡ ´ëÇÑ ±âÃÊÀûÀÎ °Íµé¸¸ »ý°¢Çϱâ·Î ÇÏÀÚ. ¸ðµç ÄÄÇ»ÅÍÀÇ ³»ºÎ±â±âµé(inboard)Àº ¹ö½º(bus)·Î ¿¬°áµÇ¾î ÀÖ´Ù. ¿ÜÇü»ó ¹ö½º´Â ÄÜÆ®·Ñ·¯´Â Ä«µå¸¦ ³¢¿ì´Â °÷ÀÌ´Ù.(ºñµð¿À Ä«µå, µð½ºÅ© ÄÜÆ®·Ñ·¯, »ç¿îµåÄ«µå µî) ¹ö½º´Â µ¥ÀÌÅÍ(data)¸¦ ÇÁ·Î¼¼¼­, ½ºÅ©¸°, µð½ºÅ©, ±âŸ ¸ðµç °÷À¸·Î ¿¬°áÇØÁÖ´Â °í¼Óµµ·ÎÀÌ´Ù. ¸ðµç °ÍÀ» µ¿ÀÛ½ÃÅ°´Â ÇÁ·Î¼¼¼­´Â, È¥ÀÚ¼­´Â ´Ù¸¥ ¾î¶² °Íµµ ¾Ë ¼ö ¾ø´Ù. ; ¾ê´Â ¹ö½º¸¦ ÅëÇؼ­ ´Ù¸¥ °Íµé°ú ´ëÈ­ÇÑ´Ù. ÇÁ·Î¼¼¼­°¡ ºü¸£°í Á÷Á¢ÀûÀÎ Á¢±ÙÀ» ÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ ºÎ¼ÓÇ°(subsystem)Àº ¸Þ¸ð¸®(core)ÀÌ´Ù. ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ±â À§Çؼ­´Â ÇÁ·Î±×·¥ÀÌ ÄÚ¾î¾È¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ÄÄÇ»ÅÍ°¡ µð½ºÅ©·ÎºÎÅÍ ÇÁ·Î±×·¥À̳ª µ¥ÀÌÅ͸¦ Àд °ÍÀº »ç½Ç ÇÁ·Î¼¼¼­°¡ ¹ö½º¸¦ ÅëÇØ µð½ºÅ©¸¦ ÀÐÀ¸¶ó´Â ¿äûÀ» µð½ºÅ© ÄÜÆ®·Ñ·¯¿¡°Ô ÇÏ´Â °ÍÀÌ´Ù. ¾ó¸¶ ÈÄ¿¡ µð½ºÅ© ÄÜÆ®·Ñ·¯´Â ¹ö½º¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ Àоîµé¿´°í µ¥ÀÌÅ͸¦ ÄÚ¾îÀÇ Æ¯Á¤ÇÑ À§Ä¡·Î º¸³Â´Ù´Â(put) ½ÅÈ£¸¦ º¸³»°Ô µÈ´Ù. ±×·¯¸é ÇÁ·Î¼¼¼­´Â ¸Þ¸ð¸®¿¡ ÀÖ´Â ³»¿ëÀ» º¼ ¼ö ÀÖ°Ô µÈ´Ù. Å°º¸µå¿Í ½ºÅ©¸° ¿ª½Ã ¹ö½º¸¦ ÅëÇØ ÇÁ·Î¼¼¼­¿Í ´ëÈ­¸¦ ÇÏÁö¸¸, º¸´Ù ´Ü¼øÇÑ ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. ÀÌ°Ç ´ÙÀ½¿¡ ¾ê±âÇϵµ·Ï ÇÏÀÚ. ÀÌÁ¦ ´ç½ÅÀº ÄÄÇ»ÅÍ¿¡ Àü¿øÀ» Ä×À» ¶§ ¹«½¼ ÀÏÀÌ ¹ú¾îÁö´Â°¡¸¦ ÀÌÇØÇϱ⿡ ÃæºÐÇÑ Áö½ÄÀ» °®°í ÀÖ´Ù. 3. ÄÄÇ»ÅÍÀÇ ½ºÀ§Ä¡¸¦ ÄÑ¸é ¹«½¼ ÀÏÀÌ ¹ú¾îÁö´Â°¡? (What happens when you switch on a computer?) ½ÇÇàµÇ´Â ÇÁ·Î±×·¥ÀÌ ¾ø´Â ÄÄÇ»ÅÍ´Â ¹«ÀǹÌÇÑ ÀüÀÚµéÀÇ µ¢¾î¸®¿¡ ºÒ°úÇÏ´Ù. Àü¿øÀÌ ÄÑÁ³À» ¶§ ÄÄÇ»ÅÍ°¡ óÀ½À¸·Î ÇÏ´Â ÀÏÀº ¿î¿µÃ¼°è(OS)¶ó°í ºÒ¸®´Â Ưº°ÇÑ ÇÁ·Î±×·¥À» ±¸µ¿½ÃÅ°´Â °ÍÀÌ´Ù. ¿î¿µÃ¼°èÀÇ ÀÓ¹«´Â ÄÄÇ»ÅÍ Çϵå¿þ¾î ÀÇ Àâ´ÙÇÑ »çÇ×µéÀ» Á¦¾îÇؼ­ ´Ù¸¥ ÄÄÇ»ÅÍ ÇÁ·Î±×·¥ÀÌ µ¿ÀÛÇϵµ·Ï µµ¿ÍÁÖ´Â °ÍÀÌ´Ù. ¿î¿µÃ¼°è¸¦ ºÒ·¯¿À´Â °úÁ¤À» ÀÏÄþî 'ºÎÆÃ'À̶ó°í ÇÑ´Ù. (¿ø·¡ ÀÌ°ÍÀº ºÎÆ®½ºÆ®·¡ÇÎ[bootstrapping] °ú ºÎÆ®½ºÆ®·¦ÀÇ ¹ßÀ½»ó ¾î·Á¿ò ¶§¹®¿¡ ÁÙ¿© ºÎ¸£´Â °ÍÀÌ´Ù) ÄÄÇ»ÅÍ´Â ¾î¶»°Ô ºÎÆ®ÇÒ °ÍÀΰ¡ ´ëÇÑ ¸í·ÉÀ» ÇϳªÀÇ Ä¨, ¹ÙÀÌ¿À½º(BIOS - Basic Input/Output System)¶ó´Â Ĩ¿¡ ´ã°í Àֱ⠶§¹®¿¡ ºÎÆÃÇÏ´Â ¹æ¹ýÀ» ¾Ë°í ÀÖ´Ù. ¹ÙÀÌ¿À½º ĨÀº °¡Àå ³·Àº ¹øÈ£ÀÇ(lowest-numbered) Çϵåµð½ºÅ©(ºÎÆ® µð½ºÅ©)¿¡¼­ ºÎÆ®·Î´õ(¸®´ª½º¿¡¼­´Â LILO)¶ó´Â Ưº°ÇÑ ÇÁ·Î±×·¥À» À§ÇÑ °íÁ¤µÈ Àå¼Ò¸¦ ã´Â´Ù. ºÎÆ®·Î´õ´Â ÄÚ¾î¾ÈÀ¸·Î µé¿©Áö°í ±¸µ¿µÈ´Ù. ºÎÆ®·Î´õÀÇ ÀÓ¹«´Â ÁøÂ¥ ¿î¿µÃ¼°è¸¦ ±¸µ¿½ÃÅ°´Â °ÍÀÌ´Ù. ÀÌ ÀÏÀº ·Î´õ°¡ Ä¿³ÎÀ» ã°í, ÄÚ¾î ¾ÈÀ¸·Î ·ÎµùÇؼ­, ¿î¿µÃ¼°è¸¦ °¡µ¿½ÃÅ´À¸·Î½á ÀÌ·ïÁø´Ù. ¸®´ª½º°¡ ºÎÆÃÇÒ ¶§ È­¸é»óÀÇ "LILO"¸¦ º¸¸é ¿©·¯°³ÀÇ Á¡µéÀÌ À̾îÁ® ³ªÅ¸³ª´Âµ¥ ÀÌ°ÍÀÌ Ä¿³ÎÀ» ·ÎµùÇÏ´Â °ÍÀÌ´Ù.(°¢ Á¡µéÀº Ä¿³Î ÄÚµåÀÇ ´Ù¸¥ µð½ºÅ© ºí·°µéÀÌ ·ÎµùµÇ´Â °ÍÀ» ³ªÅ¸³½´Ù.) (¿©·¯ºÐÀº ¿©±â¼­ ¿Ö ¹ÙÀÌ¿À½º°¡ Ä¿³ÎÀ» Á÷Á¢ ·ÎµåÇÏÁö ¾Ê´ÂÁö -- ¿Ö ºÎÆ®·Î´õ¸¦ »ç¿ëÇÏ´Â µÎ°¡Áö ´Ü°è¸¦ °ÅÃÄ ÀÛµ¿ÇÏ´ÂÁö ±Ã±ÝÇÒ °ÍÀÌ´Ù. ÀÚ, ¹ÙÀÌ¿À½º´Â ¶È¶ÈÇÏÁö ¸øÇÏ´Ù. »ç½ÇÀº ¹«Ã´À̳ª ¸ÛûÇÏ°í, ºÎÆà ÈÄ ¸®´ª½º´Â Àü Çô À̸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ¿ø·¡ ¹ÙÀÌ¿À½º´Â ¾ÆÁÖ ÀÛÀº µð½ºÅ©¸¦ °¡Áø ¿ø½ÃÀûÀÎ 8ºñ Æ® PC¸¦ À§ÇØ ¸¸µé¾îÁ³°í, »ç½Ç»ó Ä¿³ÎÀ» Á÷Á¢ ·ÎµåÇÒ Á¤µµ Å©±âÀÇ µð½ºÅ©¿¡ ´ëÇÑ ÃæºÐÇÑ Á¢±ÙÀ» ÇÏÁö ¸øÇÑ´Ù. ¶ÇÇÑ ºÎÆ®·Î´õÀÇ ÀÌ·± °úÁ¤Àº, ¹°·Ð ±×·²¸®¾ß ¾ø°ÚÁö¸¸ ´ç½ÅÀÌ UnixÀÇ ¼º´É¿¡ ÃæºÐÈ÷ ¸¸Á·ÇÏÁö ¸øÇÒ °æ¿ì µð½ºÅ©ÀÇ ´Ù¸¥ Àå¼Ò¿¡ ÀÖ´Â ¿©·¯ ¿î¿µÃ¼°èµéÀ» »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.) ÀÏ´Ü Ä¿³ÎÀÌ ±¸µ¿µÇ¸é, ±×°ÍÀº ȯ°æÀ» »ìÆ캸°í, ³ª¸ÓÁö Çϵå¿þ¾îµéÀ» ãÀº ´ÙÀ½, ÇÁ·Î±×·¥À» ½ÇÇà½Ãų Áغñ¸¦ ÇÑ´Ù. ÀÌ µ¿ÀÛÀº ÀϹÝÀûÀÎ ¸Þ¸ð¸® Àå¼Òº¸´Ù´Â ¿ÀÈ÷·Á I/OÆ÷Æ® -- ¸¶Ä¡ ÀåÄ¡ ÄÜÆ®·Ñ·¯°¡ ¸í·ÉÀ» ³»¸®±â¸¸À» ±â´Ù¸®°í ÀִµíÇÑ Æ¯º°ÇÑ ¹ö½º ¾îµå·¹½º(adresses) -- ¸¦ °Çµå¸²À¸·Î½á ÀÌ·ïÁø´Ù. Ä¿³ÎÀº ´ÚÄ¡´Â ´ë·Î °Çµå¸®´Â °ÍÀÌ ¾Æ´Ï´Ù; ÀÌ´Â ÀåÄ¡°¡ ¾îµð¿¡ ÀÖÀ½Á÷ÇÏ°í, ¸¸¾à ÀÖ´Ù¸é ¾î¶»°Ô ÇØ¾ß ÀÀ´äÀ» ÇÏ´ÂÁö¿¡ ´ëÇØ ¸¹Àº Á¤ÇüÈ­µÈ Áö½ÄÀ» ¹ÙÅÁÀ¸·Î ÇÑ´Ù. ÀÌ·¯ÇÑ °úÁ¤À» ÀÚµ¿°Ë»ö(autoprobeing)À̶ó°í ÇÑ´Ù. ºÎÆýÿ¡ ´ç½ÅÀÌ º¸´Â ´ëºÎºÐÀÇ ¸Þ½ÃÁöµéÀº Ä¿³ÎÀÌ I/OÆ÷Æ®¸¦ ÅëÇØ ´ç½ÅÀÇ Çϵå¿þ¾î¸¦ ÀÚµ¿°Ë»öÇÏ°í, »ç¿ë °¡´ÉÇÑÁö¿Í ´ç½ÅÀÇ ¸Ó½Å¿¡ ÀûÇÕÇÑÁö¸¦ °è»ê Çس»´Â °úÁ¤ÀÌ´Ù. ¸®´ª½ºÀÇ Ä¿³ÎÀº ÀÌ¿¡ ´ëÇؼ­´Â ´Ù¸¥ ¾î¶² Unixº¸´Ù ¶Ù¾î³ª¸ç, µµ½º³ª À©µµ¿ìº¸´Ù´Â ¿ùµîÈ÷ ¶Ù¾î³ª´Ù. »ç½Ç, ¿À·§µ¿¾È ¸®´ª½º¸¦ »ç¿ëÇØ¿Â »ç¶÷µéÀº ¸®´ª½º ºÎÆýà °Ë»ö(ÀÌ´Â »ó´ëÀûÀ¸·Î ½±°Ô ¼³Ä¡ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù)ÀÇ ¶È¶ÈÇÔÀÌ ½ÇÇèÀûÀÌ´ø free-UNIX°¡ ÃæºÐÈ÷ ¸¹Àº »ç¿ëÀÚ¸¦ È®º¸ÇÒ ¼ö ÀÖ°Ô À̲ø¾îÁØ Áß¿äÇÑ ÀÌÀ¯¶ó°í »ý°¢ÇÏ°í ÀÖ´Ù. ÇÏÁö¸¸ Ä¿³ÎÀÌ ¿ÏÀüÀÌ ·ÎµåµÇ°í ½ÇÇàµÇ´Â °ÍÀÌ ºÎÆ® ÇÁ·Î¼¼½ºÀÇ ³¡ÀÌ ¾Æ´Ï´Ù. ; ´ÜÁö ù¹ø° ´Ü°èÀÏ »ÓÀÌ´Ù(¶§¶§·Î ·±·¹º§ 1 [run level 1]À̶ó ºÒ¸°´Ù) Ä¿³ÎÀÇ ´ÙÀ½ ´Ü°è´Â µð½ºÅ©¿¡ ÀÌ»óÀÌ ¾ø´ÂÁö¸¦ È®ÀÎÇÏ´Â °ÍÀÌ´Ù. µð½ºÅ© ÆÄÀÏ ½Ã½ºÅÛÀº ±úÁö±â ½±´Ù; Çϵå¿þ¾îÀû ¿À·ù³ª °©ÀÛ½º·± Á¤ÀüÀ¸·Î ÀÎÇØ ¼Õ»óÀ» ÀÔ¾ú´Ù¸é Unix°¡ ´õ ¸¹Àº ÀϵéÀ» Çϱâ Àü¿¡ º¹±¸°úÁ¤À» °ÅÄ¡´Â °ÍÀÌ Å¸´çÇÏ´Ù. ÀÌ¿¡ ´ëÇؼ­´Â ³ªÁß¿¡ "ÆÄÀÏ ½Ã½ºÅÛÀÌ À߸øµÉ ¼ö Àִ°¡"¶õ ´Ü¶ô¿¡¼­ ´õ ¾ê±âÇϵµ·Ï ÇÏ°Ú´Ù. Ä¿³ÎÀÇ ´ÙÀ½ ´Ü°è´Â ¿©·¯ µ¥¸ó(daemons)À» ±¸µ¿ÇÏ´Â °ÍÀÌ´Ù. µ¥¸óÀº ÇÁ¸°ÅÍ ½ºÇ®·¯³ª ¸ÞÀÏ Ã»Ãë ¶Ç´Â WWW ¼­¹ö°°ÀÌ ´«¿¡ ¶çÁö ¾Ê´Â °÷ ¿¡ ¼û¾î¼­ ½ÇÇàµÇ±â¸¦ ±â´Ù¸®´Â ÇÁ·Î±×·¥ÀÌ´Ù. ÀÌ Æ¯º°ÇÑ ÇÁ·Î±×·¥µéÀº ¶§¶§·Î ´ëµîÇÑ ±ÇÇÑÀ» °¡Áø ¿©·¯ ¿äûµé·Î ÀÎÇØ Ãæµ¹ÀÌ ÀϾ ¼öµµ ÀÖ´Ù. Ç×»ó ½ÇÇàµÇ¸é¼­ ¸ðµç ¿äûµé¿¡ ´ëÇØ ¾Ë°í ÀÖ´Â ÇÁ·Î±×·¥À» ¸¸µå´Â °ÍÀÌ ¿©·¯ ÇÁ·Î±×·¥µéÀÌ(°¢ ÇÁ·Î¼¼½ÌÀº ÇϳªÀÇ ¿äû¸¸À» ó¸®ÇÏ°í, µ¿½Ã¿¡ 󸮵ǴÂ) ¼­·Î Ãæµ¹ÀÌ ¾øµµ·Ï ½Å°æÀ» ¾²¸é¼­ ¸¸µå´Â °Íº¸´Ù ½¬¿ï ¼öµµ ÀÖ´Ù. ½Ã½ºÅÛÀÌ ½ÃÀÛµÉ ¶§ »ç¿ëµÇ´Â Ưº°ÇÑ µ¥¸óµéÀÇ ¹­À½Àº ¸Å¿ì ´Ù¾çÇÏÁö¸¸ °ÅÀÇ ´ëºÎºÐÀº ÇÁ¸°ÅÍ ½ºÇ®·¯(ÇÁ¸°ÅÍÀÇ ÀÔ±¸¸¦ ÁöÅ°´Â µ¥¸ó)¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù ÀÏ´Ü ¸ðµç µ¥¸óµéÀÌ ±¸µ¿µÇ¸é, ·±·¹º§ 2¿¡ ÁøÀÔÇÏ°Ô µÈ´Ù. ´ÙÀ½ ´Ü°è´Â »ç¿ëÀÚ¸¦ À§ÇÑ Áغñ´Ù. Ä¿³ÎÀº ÄܼÖÀ» °¨½ÃÇϱâ À§ÇØ getty¶ó´Â ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. (±×¸®°í dial-in serial ports¸¦ °¨½ÃÇϱâ À§Çؼ­´Â º¸´Ù ¸¹Àº getty¸¦ ½ÇÇàÇÑ´Ù.) ÀÌ ÇÁ·Î±×·¥Àº Äֿܼ¡ login ÇÁ·ÒÇÁÆ®¸¦ ³»³õ´Â´Ù. ÀÌÁ¦ ¿ì¸®´Â ·±·¹º§ 3¿¡ ÀÖ°í »ç¿ëÀÚ login°ú ÇÁ·Î±×·¥µéÀ» ½ÇÇàÇÒ Áغñ°¡ µÇ¾îÀÖ´Ù. loginÇÒ ¶§(ID¿Í Æнº¿öµå¸¦ ÀÔ·ÂÇؼ­) ´ç½ÅÀº getty¿Í ÄÄÇ»ÅÍ¿¡ ÀÚ½ÅÀ» È®ÀνÃŲ´Ù. ±×·¯¸é getty´Â login(±×·¸°Ô ºÒ¸±¸¸ ÇÏ´Ù)À» ½ÇÇàÇϴµ¥, ÀÌ ³ðÀº ½Ã½ºÅÛ ¿î¿ë¿¡ Á÷Á¢ °ü¿©ÇÏÁö´Â ¾ÊÀ¸¸ç ¸í·É Çؼ®±âÀÎ ½©(shell)À» ±¸µ¿ÇÑ´Ù. (¾î¼¸é getty¿Í loginÀº ÇÑ°¡Áö ÇÁ·Î±×·¥À¸·Î º¼ ¼öµµ ÀÖ´Ù. ¿©±â¼± ´Ù·çÁö ¾Ê°ÚÁö¸¸ ±×µéÀÌ ³ª´²Áø µ¥¿¡´Â ¿ª»çÀûÀÎ »ç¿¬ÀÌ ÀÖ´Ù.) ´ÙÀ½ Àå¿¡¼­´Â ½©¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇà½Ãų ¶§ ¾î¶² ÀÏÀÌ ÀϾ´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. 4. ½©¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é ¹«½¼ ÀÏÀÌ »ý±â´Â°¡? (What happens when you run programs from the shell?) ÀϹÝÀûÀÎ ½©Àº ´ç½ÅÀÌ loginÇÑ ÈÄ¿¡ '$'¸ð¾çÀÇ ÇÁ·ÒÇÁÆ®¸¦ º¸¿©ÁØ´Ù.(´ç½ÅÀÌ ±×°ÍÀ» ÀÔ¸À¿¡ ¸Â°Ô ¼öÁ¤Çϱâ Àü¿¡´Â) ³ª´Â ¿©±â¼­ ½© ±¸¹®°ú ½ºÅ©¸°¿¡¼­ ¾Ë ¼ö ÀÖ´Â ½¬¿î °Íµé¿¡ ´ëÇؼ­´Â ¾ê±âÇÏÁö ¾Ê°Ú´Ù; ´ë½Å ´«¿¡ º¸ÀÌ´Â °Í µÚ¿¡¼­ ¹ú¾îÁö´Â °Í¿¡ ´ëÇØ ÄÄÇ»ÅÍÀÇ °üÁ¡¿¡¼­ »ìÆ캸µµ·Ï ÇÏ°Ú´Ù. ºÎÆÃÈÄ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°±â Àü¿¡, ´ç½ÅÀÇ ÄÄÇ»Å͸¦, ¹º°¡ ÇÒ ÀÏÀ» ±â´Ù ¸®°í ÀÖ´Â ÇÁ·Î¼¼½ºµéÀ» °¡µæ ´ãÀº µ¿¹°¿ø(zoo)À̶ó°í »ý°¢Çϱ⠹ٶõ´Ù. ±×µéÀº ¾î¶² À̺¥Æ®(events)°¡ ÀϾ±â¸¦ ±â´Ù¸°´Ù. À̺¥Æ®´Â Å°ÀÇ ´©¸§À̳ª ¸¶¿ì½ºÀÇ ¿òÁ÷ÀÓ µîÀÌ´Ù. ¶Ç ´ç½ÅÀÇ ¸Ó½ÅÀÌ ³×Æ®¿÷°ú ¸Â¹°·Á ÀÖ´Ù¸é, ³×Æ®¿÷À» ÅëÇØ ÀüÇØÁö´Â µ¥ÀÌÅÍ ÆÐŶµéµµ À̺¥Æ®°¡ µÉ ¼ö ÀÖ´Ù. Ä¿³ÎÀº ÀÌ ÇÁ·Î¼¼½ºÁßÀÇ ÇϳªÀÌ´Ù. ÀÌ°ÍÀº º¸Åë ´Ù¸¥ »ç¿ëÀÚ(user) ÇÁ·Î¼¼½ºµéÀÌ ±¸µ¿µÉ ¼ö ÀÖµµ·Ï Á¦¾îÇϸç, ÀϹÝÀûÀ¸·Î ¸Ó½ÅÀÇ Çϵå¿þ¾î¿¡ Á÷Á¢ Á¢±ÙÇÒ ¼ö Àִ Ưº°ÇÏ°íµµ, À¯ÀÏÇÑ ÇÁ·Î¼¼½ºÀÌ´Ù. »ç½Ç, »ç¿ëÀÚ ÇÁ·Î¼¼½ºµéÀº Å°º¸µåÀÇ ÀÔ·ÂÀ» ¹Þ°Å³ª, È­¸éÀ» ±×¸®°Å³ª, µð½ºÅ©¸¦ Àаųª ¾µ ¶§, ¶Ç´Â ´Ü¼øÈ÷ ¸Þ¸ð¸®ÀÇ ºñÆ®¸¦ ÀÐÀ»¶§µµ Ä¿³Î¿¡°Ô ¿äû(request)À» ÇÑ´Ù. ÀÌ ¿äûÀÌ À̸¥¹Ù ½Ã½ºÅÛÄÝ(system call)À̶ó´Â °ÍÀÌ´Ù. º¸Åë ¸ðµç I/O´Â Ä¿³ÎÀ» ÅëÇØ ÀÌ·ïÁö¹Ç·Î Ä¿³ÎÀº ÀÛ¾÷À» °èȹÇÒ ¼ö ÀÖ°í °¢ ÇÁ·Î¼¼½ºµéÀÌ ¼­·Î ħ¹üÇÏ´Â °ÍÀ» °ÍÀ» ¸·À» ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î Ä¿³ÎÀ» Åë°úÇÒ ¼ö ÀÖµµ·Ï Çã¶ôÀ» ¹ÞÀº ¸î¸îÀÇ Æ¯º°ÇÑ À¯Àú ÇÁ·Î¼¼½º´Â I/OÆ÷Æ®¿¡ Á÷Á¢ÀûÀÎ Á¢±ÙÀ» ÇÒ ¼ö ÀÖ´Ù. X¼­¹ö(´ëºÎºÐÀÇ Unix ¹Ú½º¿¡¼­ ´Ù¸¥ ÇÁ·Î±×·¥µéÀÇ ¿äûÀ» È­¸é¿¡ ±×¸®°Ô²û Á¦¾îÇÏ´Â ÇÁ·Î±×·¥)´Â ÀÌ ´ëÇ¥ÀûÀÎ ¿¹ÀÌ´Ù. ÇÏÁö¸¸ ¾ÆÁ÷ ¿ì¸®¿¡°Ô X¼­¹ö´Â À̸£´Ù; ¿ì¸®´Â ¹®ÀÚ Äֿܼ¡¼­ÀÇ ½© ÇÁ·ÒÇÁÆ®¸¦ ¹è¿ì°í ÀÖ´Ù. ½©Àº ´ÜÁö »ç¿ëÀÚ ÇÁ·Î¼¼½ºÀÏ »Ó, Ưº°ÇÑ °ÍÀº ¾Æ´Ï´Ù. ÀÌ ³ðÀº Å° ÀÔ·ÂÀ» ±â´Ù¸®°í, I/OÆ÷Æ®¿¡ ÁÖÀǸ¦ ±â¿ïÀδÙ(Ä¿³ÎÀ» ÅëÇØ). Ä¿³ÎÀÇ °üÁ¡¿¡¼­ ÀÌ°ÍÀº Å° ÀԷµéÀ» È­¸é¿¡ µÇÇ®ÀÌÇÑ ´ÙÀ½ ½©·Î º¸³»´Â °Í¿¡ Áö³ªÁö ¾Ê´Â´Ù. Ä¿³ÎÀÌ 'Enter'¸¦ ¸¸³ª°Ô µÇ¸é È­¸é¿¡ ÀÖ´Â ÅؽºÆ® ¶óÀÎÀ» ½©·Î º¸³»°Ô µÈ´Ù. ½©Àº ÀÌ Å° ÀԷµéÀ» ¸í·ÉÀ¸·Î Çؼ®ÇÏ·Á ÇÒ °ÍÀÌ´Ù. Unix µð·ºÅ丮¸¦ º¸±â À§ÇØ 'ls'¸¦ Ä£ ÈÄ ¿£Å͸¦ ´­·¯ º¸ÀÚ. ½©Àº Á¤ÇüÈ­µÈ ±ÔÄ¢(built-in rules)À» Àû¿ë½ÃÄÑ ´ç½ÅÀÌ '/bin/ls'¶ó´Â ÇÁ·Î±×·¥À» ½ÇÇàÇϱ⠿øÇÑ´Ù´Â °ÍÀ» ¾Ë¾Æ³¾ °ÍÀÌ´Ù. ÀÌ´Â ½Ã½ºÅÛ ÄÝ·Î ÇÏ¿©±Ý Ä¿³Î¿¡°Ô /bin/ls¸¦ »õ·Î¿î ÇÏÀ§ ÇÁ·Î¼¼½º·Î ±¸µ¿ÇØ ´Þ¶ó°í ¿äûÇÏ°Ô ÇÏ°í, Ä¿³ÎÀ» ÅëÇØ Å°º¸µå ¿Í È­¸é¿¡ ´ëÇÑ Á¢±Ù±ÇÀ» ¾ò¾î³½´Ù. ±×´ÙÀ½ ½©Àº Àڸ鼭(sleep), ls°¡ Á¾·áµÇ±â¸¦ ±â´Ù¸°´Ù. /bin/ls°¡ Á¾·áµÇ¸é, Á¾·á ½Ã½ºÅÛ ÄÝ(exit system call)À» º¸³¿À¸·Î Ä¿³Î¿¡°Ô ÀÛ¾÷ÀÌ ³¡³µ´Ù´Â °ÍÀ» ¾Ë¸°´Ù. ±×·¯¸é Ä¿³ÎÀº ½©À» ±ú¿ì°í °è¼ÓÇؼ­ ÀÏÀ» ÇÒ ¼ö ÀÖÀ½À» ¾Ë·ÁÁØ´Ù. ½©Àº ´Ù¸¥ ÇÁ·ÒÇÁÆ®¸¦ º¸³»°í ¶Ç´Ù¸¥ ÀÔ·ÂÀ» ±â´Ù¸°´Ù. ÇÏÁö¸¸ 'ls'°¡ ½ÇÇàµÇ´Â µ¿¾È¿¡µµ ´Ù¸¥ ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù(¿©±â¼­´Â µð·ºÅ丮 ÀÇ ¸®½ºÆ®°¡ ¾ÆÁÖ ±æ´Ù´Â °¡Á¤ÀÌ ÇÊ¿äÇÏ´Ù). °¡»ó ÄܼÖ(virtual console)À» ¿­°í loginÇؼ­ Quake°°Àº °ÔÀÓÀ» Áñ±æ ¼öµµ ÀÖ°í, ¶Ç´Â ÀÎÅͳݿ¡ ¿¬°áµÇ ÀÖ´Ù¸é /bin/ls°¡ ½ÇÇàµÇ´Â µ¿¾È¿¡µµ ¸ÞÀÏÀ» ¹Þ°Å³ª º¸³¾ ¼öµµ ÀÖ´Ù. 5. ¾î¶»°Ô ÀåÄ¡¿¡ ÀÔ·ÂÀ» Çϸç ÀÛ¾÷À» Áß´ÜÇϴ°¡? (How do input devices and interrupts work?) Å°º¸µå´Â ¾ÆÁÖ ´Ü¼øÇÑ ÀÔ·ÂÀåÄ¡ÀÌ´Ù; ÀÌ ³ðÀº ¾ÆÁÖ ÀÛÀº ¾çÀÇ µ¥ÀÌÅ͸¦ ¹«Ã´À̳ª ´À¸° ¼Óµµ·Î »ý»êÇϱ⠶§¹®¿¡ ±×·¸´Ù.(ÄÄÇ»ÅÍÀÇ °üÁ¡¿¡¼­). Å°¸¦ ´©¸£°Å³ª ¼ÕÀ» ¶ç¸é, ÀÌ À̺¥Æ®´Â ½ÅȣȭµÇ¼­ Å°º¸µå ÄÉÀ̺íÀ» Ÿ°í Çϵå¿þ¾î ÀÎÅÍ·´Æ®¸¦ ¹ß»ý½ÃŲ´Ù. ÀÌ·± ÀÎÅÍ·´Æ®¸¦ °¨½ÃÇÏ´Â °ÍÀº ¿î¿µÃ¼°èÀÇ ÀÓ¹«ÀÌ´Ù. °¢°¢ÀÇ ¹ß»ý °¡´ÉÇÑ ÀÎÅÍ·´Æ®¿¡´Â ¿î¿µÃ¼°èÀÇ ÇÑ ºÎºÐÀ¸·Î, ±×°ÍÀÌ Ã³¸®µÉ ¼ö ÀÖÀ»¶§±îÁö ÀÎÅÍ·´Æ®¿Í ¿¬°üµÈ µ¥ÀÌÅÍ(Å°º¸µåÀÇ ´©¸§ µî)¸¦ ¼û±â´Â ÀÎÅÍ·´Æ® Çڵ鷯°¡ Á¸ÀçÇÑ´Ù. ½ÇÁúÀûÀ¸·Î ÀÎÅÍ·´Æ® Çڵ鷯°¡ Å°º¸µå¿¡ ÇÏ´Â ÀÏÀº ÄÚ¾îÀÇ ÇϺο¡ ÀÖ´Â ½Ã½ºÅÛ ±¸¿ª¿¡ Å°ÀÇ °ªÀ» ¾Ë·ÁÁÖ´Â °ÍÀÌ´Ù. ¾î¶² °ÍÀ̵çÁö ÇöÀç Å°º¸µå·ÎºÎÅÍ ÀÔ·ÂÀ» ¹Þ°í ÀÖ´Ù°í ÃßÁ¤µÇ´Â ÇÁ·Î±×·¥¿¡°Ô, ¿î¿µÃ¼°è°¡ Á¦¾î±ÇÀ» ³Ñ±â´Â °ÍÀ» °Ë»çÇÒ ¼ö ÀÖ´Ù. µð½ºÅ©³ª ³×Æ®¿÷Ä«µå°°ÀÌ º¸´Ù º¹ÀâÇÑ ÀÔ·ÂÀåÄ¡µµ ÀÌ¿Í ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÑ´Ù. À§¿¡¼­, ¿ì¸®´Â µð½ºÅ© ÄÜÆ®·Ñ·¯°¡ ¹ö½º¸¦ ÀÌ¿ëÇؼ­ µð½ºÅ©ÀÇ ¿äûÀ» µé¾îÁÖ´Â °Í¿¡ ´ëÇØ ¾ð±ÞÇß¾ú´Ù. »ç½Ç ÀÌ ÀÛ¾÷Àº µð½ºÅ©°¡ ÀÎÅÍ·´Æ®¸¦ ¹ß»ý½ÃÅ°´Â °ÍÀÌ´Ù. ±×·¯¸é µð½ºÅ© ÀÎÅÍ·´Æ® Çڵ鷯´Â ¿äûÀ» »ý¼ºÇÑ ÇÁ·Î±×·¥ÀÌ ³ªÁß¿¡ »ç¿ë ÇÒ ¼ö ÀÖµµ·Ï ´Ù½Ã ºÒ·ÁÁø µ¥ÀÌÅ͸¦ ¸Þ¸ð¸® ¾È¿¡ º¹»çÇØ ³õ´Â´Ù. ¸ðµç Á¾·ùÀÇ ÀÎÅÍ·´Æ®´Â ¿ì¼±¼øÀ§¸¦ °®´Â´Ù. ³·Àº ¼øÀ§ÀÇ ÀÎÅÍ·´Æ®´Â (Å°º¸µå°°Àº) ³ôÀº ¼øÀ§ÀÇ ÀÎÅÍ·´Æ®¸¦(clock³ª µð½ºÅ© °°Àº)±â´Ù·Á¾ß¸¸ ÇÑ´Ù. Unix´Â ¸Ó½ÅÀÇ ¿øÈ°ÇÑ ÀÀ´äÀ» À§ÇØ »¡¸® ÁøÇàµÇ¾ß ÇÏ´Â ÇÁ·Î¼¼½º¿¡ ¿ì¼±¼øÀ§ ¸¦ ºÎ¿©Çϵµ·Ï µðÀÚÀεǾî ÀÖ´Ù. OSÀÇ ºÎÆà ¸Þ½ÃÁö¿¡¼­ IRQ¹øÈ£¿¡ °üÇÑ ¾ð±ÞÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. °¡Àå ÀϹÝÀûÀÎ Çϵå¿þ¾î ¼³Á¤ÀÇ ¿À·ù´Â, Á¤È®ÇÑ ÀÌÇؾøÀÌ ´Ù¸¥ µÎ °³ÀÇ ÀåÄ¡°¡ ÇϳªÀÇ IRQ¸¦ »ç¿ëÅä·Ï ÇÏ´Â °ÍÀÌ´Ù. ¿©±â ±× ÇØ´äÀÌ ÀÖ´Ù. IRQ´Â "Interrupt Request"ÀÇ ¾àÀÚÀÌ´Ù. ¿î¿µÃ¼°è´Â ±¸µ¿½Ã °¢°¢¿¡ ¸Â´Â ÀûÀýÇÑ Çڵ鷯°¡ »ç¿ëµÉ ¼ö ÀÖµµ·Ï Çϵå¿þ¾îÀåÄ¡°¡ ¾î¶² ÀÎÅÍ·´Æ® ¹øÈ£¸¦ ¾µ °ÍÀÎÁö ¾Ë¾Æ¾ß ÇÑ´Ù. ¸¸¾à µÎ °³ÀÇ ´Ù¸¥ ÀåÄ¡°¡ °°Àº IRQ¸¦ ¾²°íÀÚ ÇÑ´Ù¸é, ÀÎÅÍ·´Æ®´Â Á¾Á¾ À߸øµÈ Çڵ鷯¸¦ ¾ø¾Ö¹ö±â¸®µµ ÇÑ´Ù. ÀÌ°ÍÀº ÀåÄ¡¿¡ ´ëÇÑ ÃÖ¼ÒÇÑÀÇ ¾ÈÀüÀåÄ¡ÀÌ°í, ¶§¶§·Î´Â OSÀÇ È¥µ¿À¸·Î ÀÎÇØ ´Ù¿îµÇ°Å³ª ±â´ÉÀÌ ¸ØÃç¹ö¸± ¼öµµ ÀÖ´Ù. 6. ÄÄÇ»ÅÍ´Â ¾î¶»°Ô Çѹø¿¡ ¿©·¯ °¡Áö ÀÏÀ» ÇÒ ¼ö ÀÖ³ª? (How does my computer do several things at once?) »ç½ÇÀº ±×·¸Áö ¾Ê´Ù. ÄÄÇ»ÅÍ´Â Çѹø¿¡ ÇÑ°¡Áö ÀÏ(¶Ç´Â ÇÁ·Î¼¼½º)¸¸ ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÄÄÇ»ÅÍ´Â ÀÛ¾÷ÀüȯÀ» ¸Å¿ì ºü¸£°Ô ÇÒ ¼ö ÀÖ°í, ¹Ùº¸½º·´°Ô ´À¸° Àΰ£ÀÇ »ý°¢À¸·Î´Â ±×°ÍÀÌ Çѹø¿¡ ¿©·¯ °¡Áö ÀÏÀ» Çϴ°Íó·³ º¸ÀÌ´Â °ÍÀÌ´Ù. ÀÌ°ÍÀ» ½ÃºÐÇÒ(timesharing)À̶ó°í ºÎ¸¥´Ù. Ä¿³ÎÀÇ Áß¿äÇÑ ÀÓ¹«Áß Çϳª´Â ½ÃºÐÇÒÀ» °ü¸®ÇÏ´Â °ÍÀÌ´Ù. Ä¿³Î¿¡´Â ½ºÄÉÁÙ·¯ ¶ó°í ºÒ¸®´Â ºÎºÐÀÌ Àִµ¥, À̳ðÀº ´ç½ÅÀÇ µ¿¹°¿ø(zoo)¾ÈÀÇ ´Ù¸¥(Ä¿³ÎÀº »©°í) ¸ðµç ÇÁ·Î¼¼½ºµéÀÇ ³»ºÎÁ¤º¸¸¦ °®°í ÀÖ´Ù. Ä¿³Î ¾È¿¡¼­ ½Ã°è(timer)´Â 1/60Ãʸ¶´Ù Á¤ÁöÇÏ°í, Ŭ·°(clock) ÀÎÅÍ·´Æ®¸¦ »ý¼ºÇÑ´Ù. ½ºÄÉÁÙ·¯´Â ÇöÀç ÁøÇàµÇ´Â ÇÁ·Î¼¼½º°¡ ¹«¾ùÀÌ°Ç ÁߴܽÃÅ°°í, ÇÑ°÷¿¡ ³õÀº ´ÙÀ½ ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ ´Ù·é´Ù. 1/60ÃÊ´Â º°·Î ±æÁö ¾ÊÀº ½Ã°£Ã³·³ º¸ÀδÙ. ÇÏÁö¸¸ ¿À´Ã³¯ÀÇ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­´Â Çѹø¿¡ ¼ö¸¸°³ÀÇ ¸Ó½ÅÀ» ´Ù·ëÀ¸·Î½á ÀÏÀÇ ´É·üÀ» ±Ø´ëÈ­ÇÑ´Ù. ±×·¯¹Ç·Î ¿©·¯ °¡Áö ÇÁ·Î¼¼½º°¡ ÀÖ´õ¶óµµ °¢°¢ÀÇ °ÍµéÀº ±ØÈ÷ ªÀº ½Ã°£¾È¿¡ ¿Ï¼öµÉ ¼ö ÀÖ´Ù. ½ÇÁ¦·Î, ÇÁ·Î±×·¥Àº ¿ÏÀüÇÑ ½Ã°£ÀÇ Á¶°¢(timeslice)À» °®Áö ¸øÇÑ´Ù. ¸¸¾à I/O ÀåÄ¡·ÎºÎÅÍ ÀÎÅÍ·´Æ®°¡ ¹ß»ýµÇ¸é, Ä¿³ÎÀº È¿°úÀûÀ¸·Î ÇöÀçÀÇ ÀÛ¾÷À» ÁßÁöÇÏ°í, ÀÎÅÍ·´Æ® Çڵ鷯¸¦ ½ÇÇà½ÃŲ ÈÄ, ´Ù½Ã ÇÏ´ø ÀÛ¾÷À¸·Î µ¹¾Æ¿Â´Ù. ºø¹ßÄ¡´Â ¿ì¼±¼øÀ§ÀÇ ÀÎÅÍ·´Æ®´Â º¸ÅëÀÇ ÇÁ·Î¼¼½º¸¦ ÁߴܽÃŲ´Ù; ÀÌ·± ¿Àµ¿ÀÛÀ» thrashingÀ̶ó°í ºÎ¸£¸ç, ´ÙÇàÈ÷µµ Çö´ëÀÇ Unix¿¡¼­´Â ¾ÆÁÖ µå¹È ÀÏÀÌ´Ù. »ç½Ç, ÇÁ·Î±×·¥ÀÇ ¼Óµµ´Â ¸Ó½ÅÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â ½Ã°£ÀÇ ¾ç¿¡´Â °ÅÀÇ Á¦ÇÑÀ» ¹ÞÁö ¾Ê´Â µí ÇÏ´Ù(»ç¿îµå³ª 3D ±×·¡ÇÈ »ý¼ºÀº ¿¹¿Ü°¡ µÉ ¼ö ÀÖ´Ù) ±×º¸´Ù ´õ ÀÚÁÖ »ý±â´Â, Áö¿¬(delays)Àº ÇÁ·Î±×·¥ÀÌ µð½ºÅ© µå¶óÀ̺곪 ³×Æ®¿÷¿¡¼­ µ¥ÀÌÅ͸¦ ¹ÞÀ» ¶§ ±â´Ù¸®´Â ½Ã°£¿¡ ÀÇÇØ ¹ß»ýµÈ´Ù. ¿î¿µÃ¼°è´Â °ü·ÊÀûÀ¸·Î µ¿½Ã¿¡ ¿©·¯ÇÁ·Î¼¼½º¸¦ Áö¿øÇÏ´Â À̸¥¹Ù "¸ÖƼŽºÅ·" À» Áö¿øÇÑ´Ù. Unix°è¿­ÀÇ ¿î¿µÃ¼°è´Â ±âÃʺÎÅÍ ¸ÖƼÅ×½ºÅ·¿¡ ¸Â°Ô µðÀÚÀεǾî ÀÖ°í ¶ÇÇÑ ±×°Í¿¡ ¸Å¿ì ´ÉÇÏ´Ù. -- µÚ´Ê°Ô ¸ÖƼÅ×½ºÅ· ±â´ÉÀ» Ãß°¡ÇÏ°í ´õ¿ì±â ¼­Å÷ ¹æ½ÄÀ¸·Î ±×°ÍÀ» ÇÏ´Â À©µµ¿ì³ª ¸ÆOSº¸´Ù ÈξÀ ´õ È¿°úÀûÀÌ´Ù -- È¿°úÀûÀÌ°í ¹ÏÀ» ¼ö ÀÖ´Â ¸ÖƼÅ×½ºÅ·Àº ¸®´ª½º°¡ ³×Æ®¿÷, Åë½Å, À¥ ¼­ºñ½º¿¡¼­ ¿ì¿ù¼ºÀ» °®°Ô ÇÏ´Â Å« ¿äÀÎÁß ÇϳªÀÌ´Ù. 7. ÄÄÇ»ÅÍ´Â ¾î¶»°Ô °¢ ÇÁ·Î¼¼½º°£¿¡ ¹æÇظ¦ ¹ÞÁö ¾ÊÀ» ¼ö Àִ°¡? (How does my computer keep processes from stepping on each other?) Ä¿³ÎÀÇ ½ºÄÉÁÙ·¯´Â ½Ã°£¼Ó¿¡¼­ ÇÁ·Î¼¼½º¸¦ ³ª´©´Â ÀÏÀ» ÇÑ´Ù. ¶ÇÇÑ ¿î¿µÃ¼°è´Â ÇÁ·Î¼¼½º¸¦ °ø°£ÀûÀ¸·Îµµ ³ª´®À¸·Î½á, ÀÛ¾÷ÁßÀÎ ´Ù¸¥ ¸Þ¸ð¸® °ø°£À» ħ¹üÇÏÁö ¾Ê°Ô ÇÑ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ ¿î¿µÃ¼°èÀÇ ÀÏÀ» ¸Þ¸ð¸® °ü¸®¶ó°í ÇÑ´Ù. µ¿¹°¿ø ¾ÈÀÇ °¢ ÇÁ·Î¼¼½ºµéÀº ÄÚµå¿Í º¯¼ö, °á°ú¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Â °íÀ¯ÇÑ ÄÚ¾î ±â¾ï Àå¼Ò¸¦ ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ·¯ÇÑ ¼¼Æ®(set)´Â Àбâ Àü¿ëÀ¸·Î ÀÌ·ç¾îÁø ÄÚµå Á¶°¢(ÇÁ·Î¼¼½ºÀÇ ¸í·ÉÀ» ´ã°í ÀÖ´Â)°ú ¾µ ¼ö ÀÖ´Â(writeable) µ¥ÀÌÅÍÀÇ Á¶°¢(ÇÁ·Î¼¼½ºÀÇ º¯Çϱ⠽¬¿î Á¤º¸¸¦ ´ã°í ÀÖ´Â)À¸·Î »ý°¢ÇØ º¼ ¼ö ÀÖ´Ù. ½ÇÁ¦·Î µ¥ÀÌÅÍÀÇ Á¶°¢Àº °¢ ÇÁ·Î¼¼½º¿¡´Â À¯ÀÏÇÑ °ÍÀÌÁö¸¸, µÎ °³ÀÇ ÇÁ·Î¼¼½º °¡ µ¿ÀÏÇÑ ÇϳªÀÇ Äڵ带 »ç¿ëÇÒ °æ¿ì Unix´Â ÀÚµ¿ÀûÀ¸·Î È¿À²À» ÃøÁ¤ÇÏ¿© ÇϳªÀÇ ÄÚµåÁ¶°¢À» °øÀ¯Çϵµ·Ï Á¤·ÄÇØ(arranges) ÁØ´Ù. ÄÚ¾î ¸Þ¸ð¸®´Â ºñ½Î±â ¶§¹®¿¡ È¿À²¼ºÀÌ ¸Å¿ì Áß¿äÇÏ´Ù. °¡²û¾¿ ÇÁ·Î±×·¥ Àüü¸¦. ƯÈ÷ X¼­¹ö°°Àº Å« ÇÁ·Î±×·¥À» ½ÇÇàÇϱ⿡´Â ¸Þ¸ð¸®°¡ ºÎÁ·ÇÒ °æ¿ìµµ Àִµ¥, ÀÌ·²°æ¿ì, Unix´Â °¡»ó ¸Þ¸ð¸®(virtual memory)¶ó´Â Àü·«À» »ç¿ëÇÑ´Ù. ÀÌ ³ðÀº ¸ðµç ÄÚµå¿Í µ¥ÀÌÅ͸¦ ÄÚ¾î¾È¿¡ Àâ¾Æ ³ÖÀ¸·Á ÇÏÁö ¾Ê´Â´Ù. ±× ´ë½Å, »ó´ëÀûÀ¸·Î ÀÛÀº ÀÛ¾÷¼¼Æ®¿¡ ±×°ÍµéÀ» º¸°üÇÑ´Ù; ³²¾ÆÀÖ´Â »óÅÂÀÇ ÇÁ·Î¼¼½ºµéÀº Çϵåµð½ºÅ©ÀÇ Æ¯º°ÇÑ ½º¿Ò(swap) °ø°£¿¡ º¸°üµÈ´Ù. ÇÁ·Î¼¼½º°¡ ÁøÇàµÇ´Â µ¿¾È, Unix´Â ÀÛ¾÷ ¼¼Æ®°¡ ¾î¶»°Ô ¹Ù²ðÁö ¿¹»óÇÏ°í ÇÊ¿ä·Î ÇÏ´Â ÃÖ¼ÒÇÑÀÇ Á¶°¢À» ÄÚ¾î¾È¿¡ µÐ´Ù. È¿À²ÀûÀ¸·Î ÀÌ·¸°Ô ÇÏ´Â °ÍÀº º¹ÀâÇÏ°íµµ ±î´Ù·Ó±â ¶§¹®¿¡ ¿©±â¼­ ÀüºÎ ¼³¸íÇÏÁö´Â ¾Ê°Ú´Ù; ÇÏÁö¸¸ ÄÚµå¿Í µ¥ÀÌÅʹ Ŭ·¯½ºÅÍ¿¡¼­ ¹ß»ýÇϸç, »õ·Î »ý±â´Â °ÍÀº °¡±îÀÌ¿¡ ÀÖ´Â ¿À·¡µÈ °ÍÀ» µû¸£·Á´Â °æÇâÀÌ ÀÖ´Ù. µû¶ó¼­ Unix´Â ÀÚÁÖ »ç¿ëµÇ´Â ÄÚµå¿Í µ¥ÀÌÅ͸¦ ÀúÀåÇÏ¿©, ´ç½ÅÀÇ ½Ã°£À» Àý¾àÇØÁØ´Ù. Àü¿¡µµ ¾ð±ÞÇÑ ÀûÀÌ ÀÖÁö¸¸ "¶§¶§·Î"ÀÇ µÎ ±¸Àý ¾ÕÀº "°ÅÀÇ ¾ðÁ¦³ª"ÀÌ´Ù; ÀüÇüÀûÀ¸·Î ÄÚ¾îÀÇ Å©±â´Â ½ÇÇàµÇ´Â ÇÁ·Î±×·¥ÀÇ Å©±â¿Í °ü°è°¡ ÀûÀ¸¹Ç·Î, ½º¿ÍÇÎÀÌ ÀÚÁÖ »ç¿ëµÈ´Ù. ÃÖ±Ù¿¡´Â ¸Þ¸ð¸®ÀÇ °ªÀÌ ±×´ÙÁö ºñ½ÎÁö´Â ¾ÊÀ¸¸ç ½ÉÁö¾î´Â Àú°¡Çü ¸Ó½Åµµ ²Ï³ª ¸¹Àº ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ´Ù. 64MBÀÌ»óÀÇ Äھ °¡Áø ÃÖ½ÅÀÇ ½Ì±ÛÀ¯Àú ¸Ó½ÅÀº X¸¦ ½ÇÇà½ÃÅ°°í ÀϹÝÀûÀÎ ¿©·¯ °¡Áö ÀÛ¾÷À» ½º¿ÍÇÎ ¾øÀÌ ÇÒ ¼ö ÀÖ´Ù. ÀÌ·± ÁÁÀº ¿©°Ç¿¡µµ ºÒ±¸ÇÏ°í, ¿î¿µÃ¼°èÀÇ ¸Þ¸ð¸® °ü¸®´Â ¾ÆÁ÷±îÁö Áß¿äÇÑ ÀÏÀÌ´Ù. ÇÁ·Î±×·¥Àº ¹Ýµå½Ã ±× ÀÚ½ÅÀÇ µ¥ÀÌÅÍ Á¶°¢¸¸À» º¯°æÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù -- ½Ç¼ö³ª ¾ÇÀÇ·Î ´Ù¸¥ ÇÁ·Î±×·¥ÀÇ µ¥ÀÌÅ͸¦ ±Ü¾î ¸ðÀ¸´Â Äڵ带 ¸·±â À§Çؼ­. À̸¦ À§Çؼ­´Â µ¥ÀÌÅÍ Å×À̺í°ú ÄÚµå Á¶°¢À» À¯ÁöÇØ¾ß ÇÑ´Ù. Å×À̺íÀº ÇÁ·Î¼¼½º°¡ º¸´Ù ¸¹Àº ¸Þ¸ð¸®¸¦ ¿ä±¸ÇÏµç ¸Þ¸ð¸® ¹ÝȯÀ» ¿ä±¸ÇÏ´ø°£¿¡ °»½Å(update)µÈ´Ù. (ÈÄÀÚ´Â º¸Åë Á¾·áÇÒ ¶§ ÀÌ·ïÁø´Ù) ÀÌ Å×À̺íÀº MMU¶Ç´Â ¸Þ¸ð¸® °ü¸® À¯´Ö(Memory Management Unit)¶ó°í ºÒ¸®´Â ƯÁ¤È­µÈ Çϵå¿þ¾îÀÇ ³»ºÎ¿¡ ¸í·ÉÀ» Àü´ÞÇϱ⵵ ÇÑ´Ù. Çö´ëÀÇ ÇÁ·Î¼¼¼­ ĨÀº »ý»êµÉ ¶§ºÎÅÍ ±× ³»ºÎ¿¡ MMU¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. MMU´Â ¸Þ¸ð¸® ±¸¿ª¿¡ ¹æº®(fence)À» ¸¸µé ¼ö Àִ Ư¼öÇÑ ´É·ÂÀ» °¡Áö°í ÀÖÀ¸¹Ç·Î, Çѵµ(bound)¸¦ ³Ñ¾î¼± °£¼·Àº °ÅºÎÇÏ°í, ±×¿¡ µû¸¥ ƯÁ¤ÇÑ ÀÎÅÍ·´Æ®¸¦ ¹ß»ý½ÃŲ´Ù. Unix¿¡¼­ "Segmentation fault", "core dumped"¶õ ¸Þ½ÃÁö³ª ±×¿Í ºñ½ÁÇÑ °ÍÀ» º» ÀûÀÌ ÀÖ´Ù¸é, Á¤È®È÷ ÀÌ·± ÀÏÀÌ ¹ú¾îÁø °ÍÀÌ´Ù; ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥ÀÌ ±×°ÍÀÇ ¿ÜºÎ¿¡ ÀÖ´Â ¸Þ¸ð¸® Á¶°¢¿¡ Á¢±ÙÇÏ·Á ½ÃµµÇÏ´Ù°¡ Ä¡¸íÀûÀÎ ÀÎÅÍ·´Æ®¸¦ ¹ß»ý½ÃŲ °ÍÀÌ´Ù. ÀÌ°ÍÀº ÇÁ·Î±×·¥ ¾ÈÀÇ ¹ö±×¸¦ º¸¿©ÁØ´Ù; ÄÚ¾î ´ýÇÁÀÇ µÚ¿¡´Â Áø´Ü¿¡ µµ¿òÀÌ µÇ´Â Á¤º¸µéÀÌ ³²°ÜÁö´Âµ¥ ÀÌ´Â ÇÁ·Î±×·¡¸Ó°¡ ±× ¹ö±×¸¦ ÃßÀû Çؼ­ ¾ø¾Ö´Â µ¥ µµ¿òÀÌ µÈ´Ù. 8. ÄÄÇ»ÅÍ´Â ¾î¶»°Ô µð½ºÅ©¿¡ ÀúÀåÀ» Çϴ°¡? (How does my computer store things on disk?) Unix¿¡¼­ Çϵåµð½ºÅ©¸¦ º¸¸é, ¿©·¯ µð·ºÅ丮¿Í ÆÄÀÏ·Î ÀÌ·ïÁø tree¸¦ º¼ ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î´Â ±×°Íº¸´Ù ´õ ±íÀº ³»¿ëÀ» ¾Ë ÇÊ¿ä°¡ ¾øÁö¸¸, ¸¸¾à ´ç½ÅÀÇ µð½ºÅ©°¡ °íÀåÀÌ ³ª¼­ ÆÄÀϵéÀ» »ì·Á³»°í ½Í´Ù¸é, ±× ³»ºÎ¿¡¼­ ¾î¶² ÀÏÀÌ ¹ú¾îÁö°í Àִ°¡¿¡ ´ëÇØ ¾Æ´Â °ÍÀÌ µµ¿òÀÌ µÈ´Ù. ºÒÇàÈ÷µµ, µð½ºÅ© ±¸Á¶¸¦ ÆÄÀÏ ¼öÁØ(file level)À¸·Î ¼³¸íÇÏ´Â ÁÁÀº ¹æ¹ýÀÌ ¾ø±â ¶§¹®¿¡ Çϵå¿þ¾îºÎÅÍ Á¡Â÷ ¿Ã¶ó°¡´Â ¹æ¹ý(hardware up)À¸·Î ¼³¸íÇÏ°Ú´Ù. 8.1. Àú¼öÁØÀÇ µð½ºÅ©¿Í ÆÄÀϱ¸Á¶ (Low-level disk and file system structure) µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â µð½ºÅ©ÀÇ Ç¥¸éÀº ´ÙÆ®ÆÇ(dartboard)ó·³ »ý°å´Ù -- À߸° ÆÄÀ̸ð¾çÀ¸·Î µÈ ¼½Å͵éÀÌ ¿øÇüÀÇ Æ®·¢À» ±¸¼ºÇÏ°í ÀÖ´Ù. ¹Ù±ùÂÊÀÇ Æ®·¢ÀÌ ¾ÈÂÊÀÇ Æ®·¢º¸´Ù º¸´Ù ¸¹Àº ¼½ÅÍ Á¶°¢À» °¡Áö°í Àֱ⠶§¹®¿¡ ¹Ù±ùÂÊÀÇ Æ®·¢ÀÌ µð½ºÅ©ÀÇ °¡¿îµ¥ Ãà ÁÖº¯ÀÇ Æ®·¢º¸´Ù ¸¹Àº °ø°£À» º¸À¯ÇÒ ¼ö ÀÖ´Ù. °¢ ¼½ÅÍ(¶Ç´Â µð½ºÅ© ºí·°)´Â °°Àº Å©±â(size)¸¦ °¡Áö°í ÀÖ°í, Çö´ëÀÇ Unix¿¡¼­ ¼½ÅÍ´Â ÀϹÝÀûÀ¸·Î 1 binary K(1024 8-bit words)ÀÌ´Ù. °¢ µð½ºÅ© ºí·°Àº À¯ÀÏÇÑ ÁÖ¼Ò(address)³ª µð½ºÅ© ºí·° ¹øÈ£¸¦ °¡Áö°í ÀÖ´Ù. Unix´Â µð½ºÅ©¸¦ µð½ºÅ© ÆÄƼ¼ÇÀ¸·Î ³ª´«´Ù. °¢ ÆÄƼ¼ÇÀº ¾î¶² ´Ù¸¥ ÆÄƼ¼Ç°úµµ µ¶¸³ÀûÀ¸·Î »ç¿ëµÇ´Â ºí·°ÀÇ ¿¬°á·Î ÀÌ·ïÁ³À¸¸ç, ÀÌ°ÍÀº ÆÄÀÏ ½Ã½ºÅÛÀ̳ª ½º¿Ò °ø°£¿¡¼­µµ ¸¶Âù°¡ÁöÀÌ´Ù. °¡Àå ³·Àº ¹øÈ£ÀÇ ÆÄƼ¼ÇÀº ¶§¶§·Î ºÎÆÃÀ» À§ÇÑ Ä¿³ÎÀ» »ç¿ëÇÏ´Â, ºÎÆ® ÆÄƼ¼ÇÀ¸·Î Ưº°ÇÏ°Ô Ãë±ÞµÈ´Ù. °¢ ÆÄƼ¼ÇÀº ½º¿Ò °ø°£À̰ųª(°¡»ó ¸Þ¸ð¸®·Î ¾²ÀÌ´Â) ÆÄÀÏ ½Ã½ºÅÛÀ̰ųª, ÆÄÀÏÀ» ÀúÀåÇÑ´Ù. ½º¿Ò ÆÄƼ¼ÇÀº ´ÜÁö ºí·°À¸·Î ±æ°Ô À̾îÁø ¼±Ã³·³ ¿©°ÜÁö°Ô µÈ´Ù. ÆÄÀÏÀº ½Ã°£ÀÌ Áö³²¿¡ µû¶ó Ä¿Áö°Å³ª ÀÛ¾ÆÁö´Â µî º¯Çϱ⠶§¹®¿¡ ÆÄÀÏÀÇ µ¥ÀÌÅÍ ºí·°Àº ¿¬¼ÓÀûÀ¸·Î À̾îÁöÁö ¸øÇÏ°í ±× ÆÄƼ¼ÇÀÇ ¿©·¯°÷À¸·Î »Ô»ÔÀÌ Èð¾îÁö°Ô µÈ´Ù.(¿î¿µÃ¼°è°¡ ãÀ» ¼ö ÀÖ´Â ºó ºí·°ÀÌ ÇÊ¿äÇÒ ¶§¸¶´Ù ¾²ÀÌ°Ô µÈ´Ù.) 8.2. ÆÄÀÏ À̸§°ú µð·ºÅ丮 (File names and directories) °¢ ÆÄÀϽýºÅÛ ³»ºÎ´Â, i-node¶ó°í ºÒ¸®´Â ±¸Á¶¸¦ ÅëÇØ ºí·°ÀÇ À̸§À¸·Î ¸ÅÇÎ(mapping)µÇ¾î ´Ù·ïÁø´Ù. °¢ ÆÄÀϽýºÅÛÀÇ "¹Ù´Ú(bottom-°¡Àå ÀÛÀº ¹øÈ£ÀÇ ºí·°)" ±Ùó¿¡´Â poolÀÌ ÀÖ´Ù. °¢ i-node´Â ÇϳªÀÇ ÆÄÀÏÀ» ³ªÅ¸³½´Ù. ÆÄÀÏÅ×ÀÌÅÍ ºí·°Àº i-nodeÀ§¿¡ Á¸ÀçÇÑ´Ù. ¸ðµç i-node´Â ±×°ÍÀÌ ³ªÅ¸³»´Â ÆÄÀϸ¶´ÙÀÇ µð½ºÅ© ºí·° ¹øÈ£¸¦ ´ã°í ÀÖ´Ù. (»ç½Ç ÀÌ°ÍÀº Àý¹Ý¸¸ ¸Â´Â ¾ê±âÀÌ´Ù. ´ÜÁö ÀÛÀº ÆÄÀϵ鿡¸¸ ÇØ´çÀÌ µÇ¸ç ³ª¸ÓÁö ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº ¿©±â¿¡¼­ º°·Î Áß¿äÇÏÁö ¾Ê´Ù.) ¾Ë¾ÆµÑ °ÍÀº i-node ´Â ÆÄÀÏ À̸§À» ´ã°í ÀÖÁö´Â ¾Ê´Ù´Â °ÍÀÌ´Ù. ÆÄÀÏÀÇ À̸§Àº µð·ºÅ丮 ±¸Á¶¾È¿¡ Á¸ÀçÇÑ´Ù. µð·ºÅ丮 ±¸Á¶´Â i-node¹øÈ£¿¡ ¸ÂÃç ÆÄÀÏ À̸§À» ¸ÅÇÎÇÑ´Ù.(¸ÅÇÎÀ» ±ÄÀÌ ¹ø¿ªÇÏÀÚ¸é ÀÚ¼¼ÇÏ°Ô ±×¸°´Ù Á¤µµ?) ÀÌ°ÍÀÌ Unix¿¡¼­ ÆÄÀÏÀÌ ½ÇÁ¦ À̸§À» ¿©·¯°³ °¡Áú ¼ö ÀÖ´Â ÀÌÀ¯´Ù.(¶Ç´Â ÇÏµå ¸µÅ©[hard link]); À̰͵éÀº ´ÜÁö °°Àº i-node¿¡ ¸ÂÃç ¿©·¯ µð·ºÅ丮¸¦ µî·ÏÇÏ´Â °ÍÀÌ´Ù. 8.3. ¸¶¿îÆ® Æ÷ÀÎÆ® (Mount points) °¡Àå ´Ü¼øÇÑ °æ¿ì, ¸ðµç Unix ÆÄÀÏ ½Ã½ºÅÛÀ» ÇϳªÀÇ µð½ºÅ© ÆÄƼ¼Ç¿¡ ³ÖÀ» ¼ö ÀÖ´Ù. ´ç½ÅÀÌ ÀÌ·± ¹è¿­À» ¾î¶² °³ÀÎÀÇ Unix ½Ã½ºÅÛ¿¡¼­ º¼ ¼ö ÀÖ´Ù ÇÏ´õ¶ó°í, ²Ï³ª µå¹È ÀÏÀÏ °ÍÀÌ´Ù. º¸´Ù ÀüÇüÀûÀÎ °æ¿ì´Â ¿©·¯°³ÀÇ µð½ºÅ© ÆÄƼ¼Ç¿¡, ¾î¼¸é ¿©·¯°³ÀÇ ¹°¸®Àû µð½ºÅ©¿¡ ³ª´² ¼³Ä¡ÇÏ´Â °ÍÀÌ´Ù. µû¶ó¼­, ¿¹¸¦ µéÀÚ¸é ´ç½ÅÀÇ ½Ã½ºÅÛÀº Ä¿³ÎÀÌ ÀÖ´Â ÀÛÀº ÆÄƼ¼Ç°ú OSÀÇ À¯Æ¿¸®Æ¼µéÀ» ´ãÀº Á¶±Ý ´õ Å« ÆÄƼ¼Ç°ú, »ç¿ëÀÚµéÀÌ »ç¿ëÇÏ´Â /home µð·ºÅ丮¸¦ ´ãÀº ¹«Ã´À̳ª Å« ÆÄƼ¼ÇÀ¸·Î ±¸¼ºµÉ ¼ö ÀÖ´Ù. ½Ã½ºÅÛÀÌ ºÎÆÃµÈ ÈÄ À¯ÀÏÇÏ°Ô Áï½Ã Á¢±ÙÇÒ ¼ö ÀÖ´Â ÆÄƼ¼ÇÀº ´ç½ÅÀÌ (°ÅÀÇ Ç×»ó)ºÎÆÃÀ» ÇÏ´Â ·çÆ® ÆÄƼ¼Ç »ÓÀÌ´Ù. ¿©±â¿¡´Â ÆÄÀÏ ½Ã½ºÅÛÀÇ ·çÆ® µð·ºÅ丮°¡ ÀÖ°í, ´Ù¸¥ ¸ðµç °ÍµéÀÌ ´Þ·ÁÀÖ´Â ÃÖ»óÀ§ ³ëµåÀÌ´Ù ¿©·¯°³ÀÇ ÆÄƼ¼ÇÀ» °¡Áø ÆÄÀÏ ½Ã½ºÅÛ ¸ðµÎ¿¡ Á¢±ÙÇÏ·Á¸é, ´Ù¸¥ ÆÄƼ¼ÇµéÀº ·çÆ® ÆÄƼ¼Ç¿¡ ¼Ò¼Ó[attached]µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ºÎÆ® ÇÁ·Î¼¼½ºÀÇ Áß°£Âë¿¡¼­, Unix´Â ·çÆ® ÆÄƼ¼ÇÀÌ ¾Æ´Ñ °Íµé¿¡ ´ëÇØ Á¢±ÙÀ» °¡´ÉÅä·Ï ÇÑ´Ù. °¢ ÆÄƼ¼ÇÀ» ·çÆ® ÆÄƼ¼ÇÀÇ µð·ºÅ丮·Î ¸¶¿îÆ®(mount)ÇÏ´Â °ÍÀÌ´Ù. ¿¹¸¦ µéÀÚ¸é, /usr¶ó´Â Unix µð·ºÅ丮°¡ ÀÖ´Ù¸é, ±×°Ç ¾Æ¸¶µµ Unix¿¡´Â ÇÊ¿äÇÏÁö¸¸, ºÎÆýÿ¡´Â ÇÊ¿äÄ¡ ¾Ê´Â ¿©·¯ °¡Áö ÇÁ·Î±×·¥µéÀ» ¼³Ä¡ÇØ ³õÀº ÆÄƼ¼ÇÀÏ °ÍÀÌ´Ù. 8.4. ¾î¶»°Ô ÆÄÀÏÀ» »ìÆ캼 ¼ö ÀÖ³ª? (How a file gets looked up) ÀÚ, ÀÌÁ¦ ¿ì¸®´Â ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÚ¼¼È÷ »ìÆ캼 ¼ö ÀÖ´Ù. ´ç½ÅÀÌ ÆÄÀÏÀ» ¿­¸é(open) (¿¹·Î /home/esr/WWW/ldp/fundamentals.sgml¸¦ ¿­¾ú´Ù°í ÇÏÀÚ) ´ÙÀ½°ú °°Àº ÀÏÀÌ ¹ú¾îÁø´Ù: Ä¿³ÎÀº Unix ÆÄÀÏ ½Ã½ºÅÛÀÇ ·çÆ®¿¡¼­ ½ÃÀÛÇÑ´Ù(·çÆ® ÆÄƼ¼Ç¿¡¼­). ±×¸®°í 'home'À̶ó°í ºÒ¸®´Â µð·ºÅ丮°¡ ÀÖ´ÂÁö »ìÆ캻´Ù. º¸Åë 'home'Àº ¾î¶² °æ¿ì¶óµµ »ç¿ëÀÚµéÀÌ ¾²´Â Ä¿´Ù¶õ ÆÄƼ¼ÇÀÇ ¸¶¿îÆ® Æ÷ÀÎÆ®À̹ǷÎ, ±×ÂÊÀ¸·Î À̵¿ÇÒ °ÍÀÌ´Ù. »ç¿ëÀÚ ÆÄƼ¼ÇÀÇ ÃÖ»óÀ§ ·¹º§ µð·ºÅ丮 ±¸Á¶¿¡¼­ 'esr'À̶ó°í ºÒ¸®´Â °ÍÀ» ã°í´Â inode ¹øÈ£¸¦ ÃßÃâÇÑ´Ù. ÇØ´ç i-node·Î °¡¼­, ±×°ÍÀÌ µð·ºÅ丮 ±¸Á¶ÀÓÀ» ¾Ë¾Æ³»°í´Â, 'WWW'À» ã´Â´Ù. ±× i-node¸¦ ÃßÃâÇÏ°í, ÀÌ¿Í ÀÏÄ¡ÇÏ´Â ÇÏÀ§ µð·ºÅ丮·Î À̵¿ÇÑ ÈÄ 'ldp'¸¦ ã´Â´Ù. ±×¸®°í´Â ±×°ÍÀÌ ¶Ç´Ù¸¥ µð·ºÅ丮 inodeÀÓÀ» ¾Ë °ÍÀÌ´Ù. ±× ¾ÈÀ¸·Î µé¾î°¡¼­, `fundamentals.sgml'ÀÇ inode¹øÈ£¸¦ ã¾Æ³¾ °ÍÀÌ´Ù. ±× inode¹øÈ£´Â µð·º Å丮°¡ ¾Æ´Ï¹Ç·Î, ´ë½Å¿¡ ±× ÆÄÀÏ°ú ¿¬°üµÈ µð½ºÅ© ºí·°ÀÇ ¸®½ºÆ®¸¦ ³²±æ °ÍÀÌ´Ù. 8.5. ¹º°¡ À߸øµÉ ¼öµµ ÀÖ³ª? (How things can go wrong) ¾Õ¿¡¼­ ¿ì¸®´Â ÆÄÀÏ ½Ã½ºÅÛÀº ±úÁö±â ½¬¿î °ÍÀ̶õ °É ¾Ë¾Ò´Ù. ÀÌÁ¦ ¿ì¸®´Â µð·ºÅ丮¿Í i-node·Î Á¦ ¸Ú´ë·Î ±æ°Ô ¿¬°áµÈ µð·ºÅ丮¸¦ ¾î¶»°Ô ´Ù·ï¾ß ÇÏ´ÂÁöµµ ¾Ë°í ÀÖ´Ù. ÀÚ, ÀÌÁ¦ ´ç½ÅÀÇ Çϵåµð½ºÅ©¿¡ À߸øµÈ ºÎºÐÀÌ »ý°å´Ù°í °¡Á¤Çغ¸ÀÚ. ¿îÀÌ ÁÁ´Ù¸é, ¾à°£ÀÇ ÆÄÀÏ µ¥ÀÌÅ͸¸ ¼Õ»óµÆÀ» °ÍÀÌ´Ù. ¿îÀÌ µû¸£Áö ¾Ê´Â´Ù¸é, µð·ºÅ丮 ±¸Á¶³ª i-node ¹øÈ£°¡ À߸øµÇ°Å³ª ±× ÇÏÀ§ µð·ºÅ丮µéÀÌ »ç¶óÁú ¼öµµ ÀÖ´Ù -- ¶Ç, ÃÖ¾ÇÀÇ °æ¿ì¿¡´Â ¼Õ»óÀÇ °á°ú·Î ÀÎÇØ ¿©·¯°³ÀÇ ÆÄÀÏ ±¸Á¶°¡ °°Àº µð½ºÅ© ºí·°À̳ª inode¸¦ °¡¸£Å°°Ô µÉ ¼öµµ ÀÖ´Ù. ÀÌ·± ¼Õ»óÀº Æò¹üÇÑ ÆÄÀÏÀÇ µ¿ÀÛ¿¡¼­µµ ºñ·ÔµÉ ¼ö Àִµ¥, µð½ºÅ©ÀÇ ¼Õ»óµÈ °÷¿¡ ÀÖ´Â µ¥ÀÌÅÍ´Â ¸Á°¡Áú ¼öµµ ÀÖ´Ù. ´ÙÇàÈ÷µµ, ÀÌ·± ¿ì¹ßÀûÀÎ »ç°í´Â Çϵå¿þ¾î°¡ º¸´Ù ¾ÈÁ¤µÇ¾î °¡¸é¼­ ¾ÆÁÖ µå¹È ÀÏÀÌ µÇ¾ú´Ù. ÇÏÁö¸¸, ÀÌ°Ç ¾ÆÁ÷±îÁö Unix´Â ¹º°¡ À߸øµÇ´Â °ÍÀ» ¿¹¹æÇϱâÀ§ÇØ ÁÖ±âÀûÀ¸·Î ½Ã½ºÅÛÀÇ ¾ÈÁ¤¼º °Ë»ç(integrity-check)¸¦ ÇÊ¿ä·Î ÇÑ´Ù´Â ¸»ÀÌ´Ù. µû¶ó¼­ °¡²û¾¿ ÀçºÎÆÃÇÒ ¶§ ½Ã°£ÀÌ ´õ °É¸®´Â Á¤¹ÐÇÑ °Ë»ç¸¦ ½Ç½ÃÇÒ °ÍÀÌ´Ù. ¾î¼¸é ÀÌ ¸ðµç ¾ê±âµéÀÌ Unix´Â ¸÷½Ãµµ º¹ÀâÇÏ°í °íÀ峪±â ½±´Ù´Â ¼Ò¸®Ã³·³ µé¸±Áöµµ ¸ð¸£°Ú´Âµ¥, ºÎÆýà ÇÏ´Â ÀÌ·± °Ë»çµéÀº º¸´Ù Å« Àç¾ÓÀÌ ´ÚÄ¡±â Àü¿¡ ´ë¼ö·ÓÁö ¾ÊÀº ¹®Á¦µéÀ» ã°í ÇØ°áÇÏ´Â ÀÇ·ÊÀûÀÎ °ÍÀÌ´Ù. ´Ù¸¥ ¿î¿µÃ¼°èµéÀº º¸´Ù ºü¸¥ ºÎÆÃÀ» À§ÇØ ÀÌ·± ±â´ÉÀ» °®°í ÀÖÁö ¾ÊÀºµ¥, µû¶ó¼­ ³ªÁß¿¡ ¼öµ¿À¸·Î º¹±¸ÇÏ°íÀÚÇÒ ¶§´Â ÀÌ¹Ì ¾û¸ÁÁøâÀÌ µÇ¾î¹ö¸° ÈÄ ÀÏ ¼öµµ ÀÖ´Ù(´ç½ÅÀÌ ³ëÅÏ À¯Æ¿¸®Æ¼³ª ±× ºñ½ÁÇÑ °ÍÀ» °¡Áö°í ÀÖ´Ù¸é ¸ô¶óµµ...) 9. ÄÄÇ»ÅÍ ¾ð¾î´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡? (How do computer languages work?) ¿ì¸®´Â ÀÌ¹Ì "¾î¶»°Ô ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â°¡"¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò´Ù. ¸ðµç ÇÁ·Î±×·¥Àº ±Ã±ØÀûÀ¸·Î ÄÄÇ»ÅÍÀÇ ±â°è¾î¸¦ Áö½ÃÇÏ´Â ¹ÙÀÌÆ®µéÀÇ È帧À» ½ÇÇà½ÃÄѾ߸¸ ÇÑ´Ù. ÇÏÁö¸¸ Àΰ£Àº ±â°è¾î¸¦ ´Ù·ç´Âµ¥ º° ¼ÒÁúÀÌ ¾ø´Ù; ÇØÄ¿¶ó°í ÇÒ Áö¶óµµ ±â°è¾î¸¦ Àß ´Ù·ç´Â °ÍÀº ¾ÆÁÖ µå¹É°í, ¿ä¼úÀ» ºÎ¸®´Â °Íó·³ ¿©°ÜÁø´Ù. ´ëºÎºÐÀÇ UnixÄÚµå´Â Ä¿³Î ÀÚü¿¡¼­ Çϵå¿þ¾î¿¡ Á÷Á¢ÀûÀÎ Á¢±ÙÀ» Çϱâ À§ÇÑ °æ¿ì¸¦ Á¦¿ÜÇÏ°í´Â °í¼öÁØÀÇ ¾ð¾î(high-level language)°¡ ¾²ÀδÙ(¿äÁòÀÇ °í¼öÁØ ¾ð¾î¶õ °ÍÀº ¿ª»çÀû dz½ÀÀÇ ÀÜÀç·Î ¿ø·¡´Â ±â°è Äڵ带 ¾ã°Ô °¨½Î´Â Àú¼öÁØÀÇ ¾î¼Àºí·¯ ¾ð¾î¿Í ±¸º°µÇ±â À§ÇÑ °ÍÀÌ´Ù.). °í¼öÁØÀÇ ¾ð¾î¿¡´Â ¿©·¯ °¡Áö ´Ù¸¥ Á¾·ù°¡ ÀÖ´Ù. À̰͵鿡 ´ëÇØ ¾ê±âÇϱâ Àü¿¡ ÇÁ·Î±×·¥ÀÇ ¼Ò½ºÄÚµå(Àΰ£ÀÌ ¸¸µç, ¼öÁ¤ÀÌ °¡´ÉÇÑ ³ðÀ¸·Î)°¡ ¸Ó½Å¿¡¼­ ½ÇÁúÀûÀ¸·Î ÀÛµ¿Çϱâ À§Çؼ­´Â ±â°è¾î·ÎÀÇ ¹ø¿ª°úÁ¤À» °ÅÃľ߸¸ ÇÑ´Ù´Â °ÍÀ» Ç×»ó ±â¾ïÇØ µÎ´Â °ÍÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. 9.1. ÄÄÆÄÀÏ ¾ð¾î (Compiled languages) °¡Àå ÀüÅëÀûÀÎ Á¾·ùÀÇ ¾ð¾î´Â ÄÄÆÄÀÏ ¾ð¾îÀÌ´Ù. ÄÄÆÄÀÏ ¾ð¾î´Â ÄÄÆÄÀÏ·¯¶ó´Â (ÃæºÐÈ÷ ±×·¸°Ô ºÒ¸± ¸¸ ÇÏ´Ù)Ưº°ÇÑ ÇÁ·Î±×·¥À» ÅëÇØ ½ÇÇà °¡´ÉÇÑ ÀÌÁø ±â°èÄڵ带 »ý¼ºÇس½´Ù. Çѹø ÀÌÁøÄڵ尡 »ý¼ºµÇ¸é, ´Ù½Ã ¼Ò½º Äڵ带 º¼ ÇÊ¿ä¾øÀÌ Áï½Ã ½ÇÇà½Ãų ¼ö ÀÖ´Ù.(´ëºÎºÐÀÇ ¼ÒÇÁÆ®¿þ¾î´Â ´ç½ÅÀÌ º¼ ¼ö ¾øµµ·Ï ÄÄÆÄÀÏµÈ ÀÌÁøÄÚµå·Î ÀεµµÈ´Ù) ÄÄÆÄÀÏ ¾ð¾î´Â ¶Ù¾î³­ ¼º´É°ú OS¿¡ Á¢±ÙÀÌ °¡Àå ¿ëÀÌÇÏÁö¸¸ ÇÁ·Î±×·¥ ÇϱⰡ ¾î·Æ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. Unix ÀÚü¸¦ ¸¸µç(written) C¾ð¾î´Â ÄÄÆÄÀÏ ¾ð¾îÁß °¡Àå Áß¿äÇÑ À§Ä¡¿¡ ÀÖ´Ù (±×°ÍÀÇ º¯Á¾ÀÎ C++°ú ÇÔ²²). FORTRANÀº ¿£Áö´Ï¾î¿Í °úÇÐÀÚµé »çÀÌ¿¡ ¾ÆÁ÷µµ ¾²ÀÌ°í ÀÖÁö¸¸ ³Ê¹«³ª ¿À·¡µÆ°í ¿ø½ÃÀûÀÌ´Ù. UnixÀÇ ¼¼°è¿¡¼­ ´Ù¸¥ ÄÄÆÄÀÏ ¾ð¾î´Â ´ëÁßÀûÀ¸·Î »ç¿ëµÇÁö ¾Ê´Â´Ù. UnixÀÇ ¿ÜºÎ¿¡¼­´Â COBOLÀÌ À繫¿Í »ó¾÷ÀûÀÎ ¼ÒÇÁÆ®¿þ¾î·Î ¸¹ÀÌ »ç¿ëµÈ´Ù. ÀÌµé ¸»°íµµ ¸¹Àº ÄÄÆÄÀÏ ¾ð¾î°¡ ÀÖ¾úÁö¸¸, ´ëºÎºÐÀÇ °ÍµéÀº »ç¶óÁö°Å³ª Á¦ÇÑÀûÀÎ ¿¬±¸¿ë µµ±¸·Î »ç¿ëµÇ°í ÀÖ´Ù. ¸¸¾à ÄÄÆÄÀÏ ¾ð¾î·Î Unix ÇÁ·Î±×·¡¹ÖÀ» ÇÏ°í ½Í´Ù¸é C³ª C++À» ÇÏ´Â °ÍÀÌ ¾ÐµµÀûÀÎ Ãß¼¼ÀÌ´Ù. 9.2. ÀÎÅÍÇÁ¸®Æ¼µå ¾ð¾î (Interpreted languages) ÀÎÅÍÇÁ¸®Æ¼µå ¾ð¾î´Â ¼Ò½ºÄڵ带 ÀÐ°í ±×°ÍÀ» °è»êÇؼ­ ½Ã½ºÅÛÄÝ·Î º¸³»´Â ÀÎÅÍÇÁ¸®ÅÍ¿¡ ´Þ·ÁÀÖ´Ù. ¼Ò½ºÄڵ尡 ½ÇÇàµÉ ¶§¸¶´Ù ¼Ò½º´Â ÀçÇؼ®(re-interpreted) µÈ´Ù. ÀÎÅÍÇÁ¸®Æ®µå ¾ð¾î´Â ÄÄÆÄÀÏ ¾ð¾îº¸´Ù ´À¸° °æÇâÀÌ ÀÖ°í, ¿î¿µÃ¼°èÀÇ ±í¼÷ÇÑ ºÎºÐÀÇ Çϵå¿þ¾î¿¡ Á¢±ÙÀÌ Á¦ÇѵȴÙ. ÀåÁ¡Àº, ÄÄÆÄÀÏ·¯ ¾ð¾îº¸´Ù ÇÁ·Î±×·¡¹ÖÀÌ ½±°í ÄÚµù ¿¡·¯(coding errors)¿¡ ´ëÇØ º¸´Ù ³Ê±×·´´Ù. ¸¹Àº Unix À¯Æ¿¸®Æ¼ Áß¿¡ ½©(shell)°ú bc(1), sed(1) ±×¸®°í awk(1)µîÀº È¿°úÀûÀ̸鼭µµ ÀÛÀº ¿ë·®ÀÇ ÀÎÅÍÇÁ¸®Æ¼µå ¾ð¾îÀÌ´Ù. ÀϹÝÀûÀ¸·Î BASICÀº ÀÎÅÍÇÁ¸®Æ¼µå ¾ð¾î¿¡ ¼ÓÇϸç, Tclµµ ¸¶Âù°¡ÁöÀÌ´Ù. ¿ª»çÀûÀ¸·Î °¡Àå Áß¿äÇÑ ÀÎÅÍÇÁ¸®Æ¼µå ¾ð¾î´Â LISP¿´´Ù.(ÀÎÅÍÇÁ¸®Æ¼µå ¾ð¾îÀÇ ÈÄ°èÀÚ Áß °¡Àå µÎµå·¯Áø ¹ßÀüÀ» Çß´Ù) ¿äÁòÀº PerlÀÌ ³Î¸® ¾²ÀÌ°í ²ÙÁØÈ÷ »ç¿ëÀÚ°¡ ´Ã°í ÀÖ´Ù. 9.3. P-ÄÚµå ¾ð¾î (P-code languages) 1990³âºÎÅÍ ÄÄÆÄÀÏ·¯¿Í ÀÎÅÍÇÁ¸®Æ¼µå ¾ð¾î·Î ÇÔ²² ¾²Àϼö ÀÖ´Â ÀâÁ¾ÀÇ ¾ð¾î°¡ ±× Á߿伺À» ´õÇØ°¬´Ù. P-ÄÚµå ¾ð¾î´Â ¼Ò½º°¡ ½ÇÁúÀûÀ¸·Î ½ÇÇàµÇ´Â ÀÛÀº ÀÌÁø ÄÚµå ÇüÅ·Π¹ø¿ªµÇ´Â Á¡Àº ÄÄÆÄÀÏ·¯ ¾ð¾î¿Í ºñ½ÁÇÏÁö¸¸, ±× ÇüÅ´ ±â°è¾î°¡ ¾Æ´Ï´Ù. ´ë½Å¿¡ ¹«Ã´À̳ª ´Ü¼øÇÏÁö¸¸ ½ÇÁ¦ ±â°è¾îº¸´Ù ´õ °­·ÂÇÑ ÀÇ»çÄÚµå(pseudocode)(or p-code)¸¦ »ç¿ëÇÑ´Ù. ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é, p-Äڵ带 Çؼ®ÇÏ°Ô µÈ´Ù. P-ÄÚµå´Â ÄÄÆÄÀÏµÈ ÀÌÁøÄڵ常ŭ ºü¸£°Ô ½ÇÇàµÉ ¼ö ÀÖ´Ù(p-ÄÚµå ÀÎÅÍÇÁ¸®ÅÍ ´Â ¾ÆÁÖ ´Ü¼øÇÏ°Ô, ºü¸£°í ÀÛ°Ô ¸¸µé¾îÁú ¼ö ÀÖ´Ù). ÇÏÁö¸¸ p-ÄÚµå ¾ð¾î´Â ÀÎÅÍÇÁ¸®ÅÍ ¾ð¾îÀÇ ¶Ù¾î³­ À¯¿¬¼º°ú ÈûÀ» À¯ÁöÇÒ ¼ö ÀÖ´Ù. Áß¿äÇÑ p-ÄÚµå ¾ð¾î·Î´Â ÆÄÀÌÅæ(Python)°ú ÀÚ¹Ù(Java)°¡ ÀÖ´Ù 10. ÀÎÅͳÝÀº ¾î¶»°Ô ÀÛµ¿Çϴ°¡? (How does the Internet work?) ÀÎÅÍ³Ý ÀÛµ¿¿ø¸®ÀÇ ÀÌÇظ¦ µ½±âÀ§ÇØ, ÀÎÅÍ³Ý µ¿À۽à ÀϾ´Â ´ëÇ¥ÀûÀÎ Àϵ鿡 ´ëÇØ »ìÆ캸ÀÚ. -- ¾Õ¼­ ¾ð±ÞµÈ ÀÌ ¹®¼­ÀÇ È¨ÆäÀÌÁöÀÎ the Linux Documentation Project·Î °¡º¸µµ·Ï ÇÏÀÚ. http://sunsite.unc.edu/LDP/HOWTO/Fundamentals.html´Â sunsite.unc.edu¶õ È£½ºÆ® ¾È¿¡ ÀÖ´Â WWW¿ÜºÎ µð·ºÅ丮¾È¿¡ LDP/HOWTO/Fundamentals.html À̶õ °÷¿¡ ÀÖ´Ù´Â ¶æÀÌ´Ù. 10.1. À̸§°ú À§Ä¡ (Names and locations) ¸ÇóÀ½ À¥ ºê¶ó¿ìÀú°¡ ÇØ¾ß ÇÒ ÀÏÀº ¹®¼­°¡ ÀÖ´Â ³×Æ®¿÷ ¸Ó½Å¿¡ Á¢¼ÓÇÏ´Â °ÍÀÌ´Ù. À̸¦ À§Çؼ­´Â ¸ÕÀú sunsite.unc.edu¶ó´Â È£½ºÆ®ÀÇ ³×Æ®¿÷ À§Ä¡¸¦ ã¾Æ¾ß ÇÑ´Ù.('È£½ºÆ®'´Â 'È£½ºÆ® ¸Ó½Å' ¶Ç´Â '³×Æ®¿÷ È£½ºÆ®'ÀÇ ¾àÀÚÀÌ´Ù; sunsite.unc.edu´Â ÀüÇüÀûÀΠȣ½ºÆ® À̸§ÀÌ´Ù.) »ç½Ç ÀÌ¿Í ÀÏÄ¡ÇÏ´Â À§Ä¡´Â IP ÁÖ¼Ò(IP address)¶ó°í ºÒ¸®´Â ¼ýÀÚÀÌ´Ù.(IP¿¡ ´ëÇؼ­´Â Àá½Ã ÈÄ¿¡ ¼³¸í ÇÏ°Ú´Ù.) À̸¦ À§ÇØ, ºê¶ó¿ìÀú´Â ³×ÀÓ¼­¹ö(name server)¶ó´Â ÇÁ·Î±×·¥¿¡ Áú¹®À» ÇÑ´Ù. ³×ÀÓ¼­¹ö´Â ´ç½ÅÀÇ ¸Ó½Å¿¡µµ ÀÖÀ» ¼ö ÀÖÁö¸¸, ¾Æ¸¶µµ ´ëºÎºÐÀº ´ç½ÅÀÌ Á¢¼Ó ÇÏ°íÀÚ ÇÏ´Â ¸Ó½Å¿¡¼­ µ¿ÀÛÇÏ°í ÀÖÀ» °ÍÀÌ´Ù. ´ç½ÅÀÌ ISP(Internet Service Provider -- ÇÏÀÌÅÚÀ̳ª ä³Îi °°Àº)¿¡ °¡ÀÔÇÒ ¶§ ¼Â¾÷ ÀýÂ÷ Áß Çϳª´Â ¾Æ¸¶µµ ÀÎÅÍ³Ý ¼ÒÇÁÆ®¿þ¾î¿¡ ISP ³×Æ®¿÷ ³×ÀÓ¼­¹öÀÇ IPÁÖ¼Ò¸¦ ±âÀÔÇÏ´Â ÀÏÀÏ °ÍÀÌ´Ù. ´Ù¸¥ ¸Ó½ÅÀÇ ³×ÀÓ¼­¹öµéÀº °¢°¢¿¡°Ô ´ëÈ­¸¦ Çϸç È£½ºÆ®³×ÀÓÀ» Çؼ®Çϱâ À§ÇØ ÇÊ¿äÇÑ ¸ðµç Á¤º¸µéÀ» ±³È¯ÇÏ°í À¯ÁöÇÒ °ÍÀÌ´Ù. (IPÁÖ¼Ò¸¦ ¾È³»ÇØÁØ´Ù) ´ç½ÅÀÇ ³×ÀÓ¼­¹ö´Â sunsite.unc.edu¸¦ Çؼ®Çϱâ À§ÇØ ³×Æ®¿÷À» µû¶ó ¼­³Ê°³ÀÇ ´Ù¸¥ »çÀÌÆ®µé¿¡°Ô Áú¹®À» ÇÏÁö¸¸, ÀÌ ÀϵéÀº º¸Åë ¾ÆÁÖ »¡¸® ÀϾ´Ù(ÃÖ¼ÒÇÑ 1Ãʺ¸´Ù ´õ »¡¸®) ³×ÀÓ¼­¹ö´Â ´ç½ÅÀÇ ºê¶ó¿ìÀú¿¡ ¼±»çÀÌÆ®(Sunsite)ÀÇ IPÁÖ¼Ò´Â 152.2.22.81¶ó°í ¾Ë·ÁÁÙ °ÍÀÌ´Ù; À̸¦ ¾ÍÀ¸·Î ´ç½ÅÀÇ ¸Ó½ÅÀº ¼±»çÀÌÆ®ÀÇ µð·ºÅ丮¿Í ºñÆ®¸¦ ±³È¯ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. 10.2. ÆÐŶ°ú ¶ó¿ìÅÍ (Packets and routers) ºê¶ó¿ìÀú°¡ ¿øÇÏ´Â ÀÏÀº ¼±»çÀÌÆ®ÀÇ À¥¼­¹ö¿¡ ´ÙÀ½°ú °°Àº ¸í·ÉÀ» º¸³»´Â °ÍÀÌ´Ù. GET /LDP/HOWTO/Fundamentals.html HTTP/1.0 ÀÚ, ¹«½¼ ÀÏÀÌ ¹ú¾îÁ³´ÂÁö »ìÆ캸ÀÚ. ÀÌ ¸í·ÉÀº ÆÐŶ, Áï ¼¼°¡Áö Áß¿äÇÑ Á¤º¸¸¦ °¡Áø Àüº¸(telegram) ºñ½ÁÇÑ ºñÆ®ÀÇ ºí·°µé ¾ÈÀ¸·Î Àü´ÞµÈ´Ù; ¼¼°¡Áö Áß¿äÇÑ Á¤º¸´Â ¼Ò½º ÁÖ¼Ò(´ç½ÅÀÌ °¡Áø ¸Ó½ÅÀÇ IPÁÖ¼Ò), ¸ñÀûÁö ÁÖ¼Ò(152.2.22.81), ±×¸®°í WWW ¿äûÀ» °¡¸£Å°´Â ¼­ºñ½º ¹øÈ£ ȤÀº Æ÷Æ® ¹øÈ£ÀÌ´Ù(ÀÌ °æ¿ì¿¡´Â 80ÀÌ´Ù). ±× ÈÄ ´ç½ÅÀÇ ¸Ó½ÅÀº ¶ó¿ìÅͶó°í ºÒ¸®´Â Àü¹®È­µÈ(specialize) ¸Ó½Å¿¡ µµ´ÞÇÒ ¶§±îÁö Àü¼±À» ÅëÇØ(±Ù°Å¸®ÀÇ ³×Æ®¿÷À̳ª ¸ðµ©À» ÅëÇÑ ISP Á¢¼Ó) ÆÐŶÀ» º¸³½´Ù. ¶ó¿ìÅÍ´Â ¸Þ¸ð¸® ¿¡ ÀÎÅͳÝÀÇ Áöµµ¸¦ °¡Áö°í ÀÖ´Ù -- Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´ÏÁö¸¸, ÀÎÁ¢ ³×Æ®¿÷À» Á¤È®È÷ ¼³¸íÇØÁÖ°í ÀÎÅͳÝÀÇ ´Ù¸¥ ÀÌ¿ôµéÀ» ¶ó¿ìÅÍ·Î º¸³»¾ß ÇÒÁö ¾Ë°í ÀÖ´Ù. ÆÐŶÀº ¸ñÀûÁö±îÁö ¿©·¯°³ÀÇ ¶ó¿ìÅ͸¦ °ÅÄ¡°Ô µÈ´Ù. ¶ó¿ìÅÍ´Â ¿µ¸®ÇÏ´Ù. ÀÌ ³ðÀº ´Ù¸¥ ¶ó¿ìÅ͵éÀÌ ÆÐŶÀÌ ¹Þ¾Æµé¿©Á³À½À» ¾Ë¾Æä´Âµ¥ °É¸®´Â ½Ã°£À» ÁÖ½ÃÇÑ´Ù. ±×¸®°í´Â ±× Á¤º¸¸¦ üÁõ(traffic)ÀÌ ¾ø´Â ºü¸¥ ¿¬°áÀ» À§ÇØ ¾´´Ù. ¶Ç ¾î¶² ¶ó¿ìÅÍ°¡ ³×Æ®¿÷¿¡¼­ »ç¶óÁö¸é °¡´ÉÇÑ ´Ù¸¥ ¶ó¿ìÅ͸¦ ã¾Æ ÀÌ¿¡ ´ëÇÑ º¸»óÀ» ÇÑ´Ù. ÀÎÅͳÝÀº ÇÙÀüÀï¿¡¼­ »ì¾Æ³²±â À§ÇØ µðÀÚÀεǾú´Ù´Â ¼Ó¼³ÀÌ ÀÖ´Ù. ÀÌ°ÍÀº »ç½ÇÀÌ ¾Æ´ÏÁö¸¸, ÀÎÅͳÝÀº º¯´ö½º·¯¿î ¼¼»óÀÇ ¿­¾ÇÇÑ Çϵå¿þ¾î¿¡¼­µµ ¹ÏÀ»¸¸ÇÑ ¼º´ÉÀ» ¹ßÈÖÇÒ ¼ö ÀÖµµ·Ï µðÀÚÀεǾîÀÖ´Ù. ÀÌ´Â ÀÎÅͳÝÀÇ Áö´ÉÀÌ °Å´ëÇÑ ¼Ò¼öÀÇ ½ºÀ§Ä¡º¸´Ù´Â(ÀüÈ­ ³×Æ®¿÷ °°Àº) ¼öõ°³ÀÇ ¶ó¿ìÅ͸¦ ÅëÇØ ºÐÆ÷ µÇ¾î Àֱ⠶§¹®¿¡ °¡´ÉÇÏ´Ù. ¸¸ÀÏ °íÀåÀÌ ³ª´õ¶óµµ ¾î´À Áö¿ª¿¡¸¸ Á¦ÇÑÀÌ µÇ¸ç ³×Æ®¿÷Àº ´Ù¸¥ ±æÀ» ÅëÇØ ¶ó¿ìÆÃÀÌ °¡´ÉÇÏ´Ù. ÆÐŶÀÌ ¸ñÀûÁöÀÇ ¸Ó½Å¿¡ µµ´ÞÇϸé, ¸Ó½ÅÀº ÆÐŶ¿¡°Ô À¥¼­¹ö·ÎÀÇ ¼­ºñ½º ¹øÈ£¸¦ ºÎ¿©ÇÑ´Ù. À¥¼­¹ö´Â ÆÐŶÀÇ ¼Ò½º IP ÁÖ¼ÒÀÇ ¸í·ÉÀ» »ìÇËÀ¸·Î¼­ ¾îµð·Î ÀÀ´äÀ» ÇØ¾ß ÇÏ´ÂÁö ¾Ë ¼ö ÀÖ´Ù. À¥¼­¹ö°¡ ÀÌ ¹®¼­¸¦ ¹ÝȯÇϸé, ¹®¼­´Â ÆÐŶÀÇ ¹øÈ£·Î ºÐÇصȴÙ. ÆÐŶÀÇ Å©±â´Â ¼­ºñ½ºÀÇ Á¾·ù¿Í º¯È¯µÇ´Â ¸Åü¿¡ µû¶ó À¯µ¿ÀûÀÌ´Ù. 10.3. TCP/IP (TCP and IP) ´ÙÁß ÆÐŶº¯È¯ÀÌ ¾î¶»°Ô 󸮵Ǵ°¡¸¦ ÀÌÇØÇϱâ À§Çؼ­´Â, ½ÇÁ¦·Î´Â ÀÎÅͳÝÀÌ »óÀ§¿Í ÇÏÀ§ÀÇ µÎ°¡Áö ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. Àú¼öÁØÀÇ IP(Internet Protocol)´Â ¼Ò½º ÁּҷκÎÅÍ ¸ñÀûÁö ÁÖ¼Ò±îÁö ¾î¶»°Ô °¢°¢ÀÇ ÆÐŶÀ» ¾òÀ» ¼ö ÀÖ´ÂÁö ¾Ë°í ÀÖ´Ù(ÀÌ°ÍÀÌ IPÁÖ¼Ò¶ó°í ºÒ¸®´Â ÀÌÀ¯ÀÌ´Ù). ÇÏÁö¸¸, IP´Â ¾ÈÁ¤ÀûÀÌÁö ¸øÇÏ´Ù; ¸¸¾à ÆÐŶÀÌ ½ÇÁ¾µÇ°Å³ª ´Ù¿îµÇ¾î ¹ö¸®¸é ¼Ò½º¿Í ¸ñÀûÁöÀÇ ¸Ó½ÅÀº ÀüÇô ¾Ë ±æÀÌ ¾ø´Ù. ³×Æ®¿÷¿¡ ¶°µµ´Â ¼Ó¼³·Î, IP´Â ¿¬°á¾ø´Â ÇÁ·ÎÅäÄÝÀ̶ó°í ÇÑ´Ù; ¹ß¼ÛÀÎ(sender)Àº ¼öÃëÀÎ(receiver)¿¡°Ô ÆÐŶÀ» ¹ß »çÇÒ »ÓÀ̸ç, ¹«»çÈ÷ ¹Þ¾Ò´Ù´Â ÅëÁö¸¦ ¹Þ´Â°Ç ±â´ëÇÒ ¼ö ¾ø´Ù. ±×·³¿¡µµ IP´Â ºü¸£°í, Àú·ÅÇÏ´Ù. ¶§·Î´Â ¾ÈÁ¤ÀûÀÌÁö ¸øÇصµ ºü¸£°í, Àú·ÅÇÏ¸é ±×¸¸ÀÏ ¶§µµ ÀÖ´Ù. ´ç½ÅÀÌ µÒÀ̳ª ÄùÀÌÅ©°°Àº ³×Æ®¿÷ °ÔÀÓÀ» ÇÒ ¶§, °¢°¢ ÃѾ˵éÀº IP ÆÐŶÀ¸·Î ³ªÅ¸³»Áø´Ù. À̵éÁß ¾à°£ÀÌ »ç¶óÁø´Ù°í Çصµ º° ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù. »óÀ§¼öÁØÀÇ TCP(Transmission Control Protocol)´Â ¹ÏÀ»¸¸ÇÏ´Ù. µÎ °³ÀÇ ¸Ó½ÅÀÌ TCP·Î ¿¬°áÀÌ ÀÌ·ïÁö¸é(which they do using IP), ¼öÃëÀÎÀº ¹ß¼ÛÀο¡°Ô Àß ¹Þ¾Ò´Ù´Â Å뺸¸¦ º¸³¾ ¼ö ÀÖ´Ù. ¸¸¾à ¹ß¼ÛÀÎÀÌ ÈÞ½ÄÁßÀ̾ Àß ¹Þ¾Ò´Ù´Â Å뺸¸¦ ¹ÞÁö ¸øÇϸé, ´Ù½Ã ÆÐŶÀ» º¸³½´Ù. ´õ¿íÀÌ, ¹ß¼ÛÀÎÀº °¢°¢ÀÇ TCPÆÐŶ¿¡°Ô ¼öÃëÀÎÀÌ ¿¬¼ÓÀûÀÎ ¹øÈ£¸¦ ºÎ¿©ÇÏ°í, ¶ÇÇÑ TCP/IP ÆÐŶÀº ¿¬°á ºÒ·®À¸·Î ÀÎÇÑ µ¥ÀÌÅÍ ¼Õ»óÀ» ¹ß°ßÇÒ ¼ö ÀÖ´Â checksumÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ±×·¯¹Ç·Î TCP/IP¿Í ³×ÀÓ¼­¹ö¸¦ »ç¿ëÇÏ´Â »ç¶÷ÀÇ °üÁ¡¿¡ µû¶ó ¹ÙÀÌÆ®ÀÇ È帧À» È£½ºÆ®³×ÀÓ/¼­ºñ½º ¹øÈ£ÀÇ ÇÑ½Ö »çÀÌ·Î º¸³¾ ¼ö ÀÖ´Â ¾ÈÁ¤ÀûÀÎ ¹æ¹ýÀ¸·Î º¸ÀÏ ¼ö ÀÖ´Ù. ³×Æ®¿÷ ÇÁ·ÎÅäÄÝÀ» ¸¸µå´Â »ç¶÷µéÀº ÆÐŶȭ, ÆÐŶÀÇ ÀçÁ¶¸³, ¿¡·¯ Á¡°Ë, üũ¼­¹Ö, ÀçÀü¼Ûµî¿¡ ´ëÇؼ­´Â »ý°¢µµ Çغ¸Áö ¾ÊÀº »ç¶÷µéÀÎ °æ¿ì°¡ ´ëºÎºÐÀÌ´Ù. 10.4. HTTP, ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ÇÁ·ÎÅäÄÝ (HTTP, an application protocol) ´Ù½Ã ¿¹ÀüÀÇ ¿¹·Î µ¹¾Æ°¡º¸ÀÚ. À¥ºê¶ó¿ìÀú¿Í ¼­¹ö´Â TCP/IPÀÇ À§¿¡¼­ µ¹¾Æ°¡´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ÇÁ·ÎÅäÄݸ¸ ´Ù·é´Ù. (TCP/IP´Â ´Ü¼øÈ÷ ¹ÙÀÌÆ®¸¦ ¾ÕµÚ·Î º¸³»´Â ´Ü¼øÇÑ ¼ö´ÜÀ¸·Î¸¸ »ç¿ëÇÑ´Ù) ÀÌ ÇÁ·ÎÅäÄÝÀº HTTP(Hyper-Text Transfer Protocol) À̶ó°í ºÒ¸®´Âµ¥ ¿ì¸®´Â ÀÌ¹Ì ±×Áß ÇÑ°¡Áö ¸í·ÉÀ» º¸¾Ò´Ù -- À§¿¡ º¸¸é GETÀ̶õ ³ðÀÌ ÀÖÀ» °ÍÀÌ´Ù. GETÀ̶õ ¸í·ÉÀÌ sunsite.unc.edu·Î ÀüÇØÁö¸é ¼­ºñ½º ¹øÈ£ 80À» °¡Áø À¥¼­¹ö´Â À绡¸® ¼­¹ö µ¥¸ó¿¡°Ô Æ÷Æ® 80¿¡ ±Í¸¦ ±Í¿ïÀ̶ó°í ¸í·ÉÇÑ´Ù. ´ëºÎºÐÀÇ ÀÎÅÍ³Ý ¼­ºñ½º´Â ´ÜÁö Æ÷Æ®¸¦ ±â´Ù¸®°í, °¨½ÃÇÏ°í, µé¾î¿À´Â ¸í·É¾îµéÀ» ½ÇÇàÇϱâ À§ÇÑ ¼­¹ö µ¥¸ó¿¡ ÀÇÇØ ±ÇÇÑÀ» °®´Â´Ù. ÀÎÅͳÝÀÇ µðÀÚÀÎÀÌ ÇÑ°¡Áö Æ÷°ýÀûÀÎ ±ÔÄ¢À» °¡Áö°í ÀÖÀÚ¸é, ¸ðµç ºÎºÐµéÀº °¡´ÉÇÏ´Ù¸é ´Ü¼øÇÏ°í Àΰ£ÀÇ Á¢±ÙÀÌ °¡´ÉÇؾ߸¸ ÇÑ´Ù. HTTP, ±×¸®°í ±×°ÍÀÇ Ä£Ã´µé(relatives -- Simple Mail Transfer Protocol, SMTP, Áï È£½ºÆ®°£¿¡ ÀüÀÚ¸ÞÀÏÀ» Àü´ÞÇÒ ¶§ ¾²ÀδÙ)Àº ÇÁ¸°Æ® °¡´ÉÇÑ carriage-return/line feed·Î ³¡³ª´Â ´Ü¼øÇÑ ¸í·ÉÀ» »ç¿ëÇÑ´Ù. ÀÌ°ÍÀº °¡ÀåÀÚ¸®ÀÇ Ã³¸®°¡ ºñÈ¿À²ÀûÀÌ´Ù; ¾î¶² ȯ°æ¿¡¼­´Â º¸´Ù ²Ë ÄÚµùµÈ ÀÌÁø(binary) ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇØ ¼Óµµ¸¦ ³ôÀÏ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ Àΰ£¿¡°Ô ¼³¸íÇÏ°í ÀÌÇØÇϱ⠽¬¿î ¸í·É¾îµéÀ» »ç¿ëÇÒ ¶§ÀÇ À̵æÀÌ °¡ÀåÀÚ¸® ó¸®ÀÇ È¿À²¼ºÀ» À§ÇØ ±î´Ù·Ó°íµµ ¸íÈ®ÇÏÁö ¾ÊÀº ¸í·É¾î¸¦ ¾µ ¶§º¸´Ù ÈξÀ Å©´Ù´Â »ç½ÇÀº ÀÌ¹Ì Áõ¸íµÇ¾î ÀÖ´Ù. ±×·¯¹Ç·Î, ¼­¹öµ¥¸óÀÌ TCP/IP¸¦ ÅëÇØ ´ç½Å¿¡°Ô·Î º¸³»´Â °Í ¶ÇÇÑ ÅؽºÆ®ÀÌ´Ù. ÀÀ´ä ÀÇ Ã¹ ºÎºÐÀº ´ÙÀ½°ú °°ÀÌ º¸ÀÏ °ÍÀÌ´Ù. (¾à°£ÀÇ Çì´õ´Â »èÁ¦µÇ¾ú´Ù) HTTP/1.1 200 OK Date: Sat, 10 Oct 1998 18:43:35 GMT Server: Apache/1.2.6 Red Hat Last-Modified: Thu, 27 Aug 1998 17:55:15 GMT Content-Length: 2982 Content-Type: text/html These headers will be followed by a blank line and the text of the web page (after which the connection is dropped). Your browser just displays that page. The headers tell it how (in particular, the Content-Type header tells it the returned data is really HTML).