[ Home | Freetime works | FreeBSD | KFUG ]
¿À´Ã³¯ÀÇ ÄÄÇ»ÅÍ ½Ã½ºÅÛ¿¡¼, ÇÁ·Î±×·¡¸Ó´Â ÀÌ ¸ñÀûÀ» Ä¿³ÎÀ̶ó ºÒ¸®´Â °Å´ëÇÑ ÇÁ·Î±×·¥À» ÅëÇØ ±¸ÇöÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¸ðµç »ç¿ëÀÚ ÇÁ·Î±×·¥¿¡¼ ¾ï¼¼½º °¡´ÉÇØ¾ß Çϱ⠶§¹®¿¡, ½Ã½ºÅÛ¿¡ ±â´ÉÀ» ÷°¡ÇÏ´Â °ÍÀº ÀÚ¿¬½º·¯¿î ÀÏÀÌ´Ù. ÇÁ·Î¼¼½º »óÈ£ÀÛ¿ëÀ» À§ÇÑ À¯ÀÏÇÑ ¸ðµ¨Àº Ä¿³ÎÀÌ Á¦°øÇϴ Ưº°ÇÏ°í °³ÀÎÀûÀÎ ¼ºñ½ºÀ̱⠶§¹®¿¡, ¾Æ¹«µµ ±â´ÉÀ» ÷°¡Çϱâ À§ÇØ Ä¿³Î ÀÌ¿ÜÀÇ ´Ù¸¥ Àå¼Ò¸¦ ¸¸µéÁö ¸øÇÑ´Ù. ½Ã°£ÀÌ È带¼ö·Ï, ´õ ¸¹Àº °ÍµéÀÌ Ä¿³Î¿¡ ÷°¡µÈ´Ù.
ÀüÅëÀûÀÎ ½Ã½ºÅÛÀº »ç¿ëÀÚ°¡ ½Ã½ºÅÛÀÇ °ÅÀÇ ¸ðµÎ¸¦ ÀÌÇØÇϰí, ½Ã½ºÅÛ ¾È¿¡¼ Ư±Ç »óȲÀ» °¡Áú ¼ö ÀÖ¾î¾ß¸¸ ±×¿¡°Ô ºÎ¼ÓÀ» Ä¿³Î¿¡ ´õÇÏ´Â °ÍÀ» Çã¿ëÇÑ´Ù. »õ ºÎ¼ÓÀ» ´õÇÏ´Â ÀÏÀº ´Ù¸¥ ÇÁ·Î±×·¥À» Å×½ºÆ®ÇÏ´Â °Í º¸´Ù ´õ ¸¹Àº °íÅ뽺·¯¿î ÆíÁý-ÄÄÆÄÀÏ-µð¹ö±×ÀÇ »çÀÌŬÀ» ¿ä±¸ÇÑ´Ù. ÀÌ´Â ´Ù¸¥»ç¶÷ÀÌ ½Ã½ºÅÛÀ» »ç¿ëÇϰí ÀÖ´Â µ¿¾ÈÀº ÇÒ ¼ö ¾ø´Ù. ¹ö±×´Â º¸Åë Ä¡¸íÀûÀÎ ½Ã½ºÅÛ ºØ±«¸¦ À¯¹ßÇϸç, ³ª¾Æ°¡ ´Ù¸¥»ç¶÷ÀÌ ½Ã½ºÅÛÀ» »ç¿ëÇÏÁö ¸øÇϵµ·Ï ÇÑ´Ù. Àüü Ä¿³ÎÀº º¸Åë ÆäÀÌ¡ÀÌ ºÒ°¡´ÉÇϵµ·Ï µÇ¾î ÀÖ´Ù(ÆäÀÌ¡ °¡´ÉÇÑ Ä¿³ÎÀÌ ÀÖÁö¸¸, ¾îµð°¡ ÆäÀÌ¡ °¡´ÉÇÑÁö¸¦ °áÁ¤ÇÏ´Â °ÍÀº ¾î·Æ°í, ¿¡·¯°¡ ³ª±â ½±´Ù. º¸Åë ÀÌ ¸ÞÄ«´ÏÁòÀº ¾î·Æ°í, °£´ÜÇÑ È®ÀåÀ» ÇÒ ¶§ Á¶Â÷µµ ÀÌ ÀÏÀ» ¾î·Æ°Ô ÇÑ´Ù).
ÀÌ Á¦ÇÑ ¶§¹®¿¡, Àý´ëÀûÀ¸·Î ÇʼöÀûÀÌÁö ¾Ê´Â ÇÑ ÀüÅëÀûÀÎ Ä¿³ÎÀÇ º® µÚ¿¡ ÀûÀýÈ÷ ¼ÓÇÏ´Â ±â´ÉÀº º¸Åë ½Ã½ºÅÛ¿¡¼ ºüÁ® ÀÖ´Ù. ¿±â/Àбâ/¾²±â ÀÎÅÍÆäÀ̽º·Î ¾ÆÁÖ Àß ÇÒ ¼ö ÀÖ´Â ¸¹Àº ÁÁÀº »ý°¢µéÀÌ ÀüÅëÀû ½Ã½ºÅÛ ¾ÈÀÇ °íÀ¯ÇÑ µ¶Á¡ÀûÀÎ º»¼ºÀÇ ¹®Á¦ ¶§¹®¿¡ ±¸ÇöµÇÁö ¸øÇÑ´Ù. °Ô´Ù°¡ ÂüÀ»¼º ÀÖ°Ô »õ·Î¿î »ý°¢À» ±¸ÇöÇÏ·Á´Â »ç¶÷µé »çÀÌ¿¡¼Á¶Â÷ ±×µéÀÇ ÄÄÇ»ÅÍÀÇ Æ¯±Ç À¯ÀúÀÎ »ç¶÷µé¸¸ ±×·¸°Ô Çϰí ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾îÀÇ ÀúÀÛ±Ç ½Ã½ºÅÛÀº ¶óÀ̼¾½º¹ÞÁö ¸øÇÑ »ç¶÷µéÀº Ä¿³ÎÀÇ ¼Ò½ºÁ¶Â÷ º¸´Â ÀÏÀ» ¹æÇØÇÏ¿© ±× ÁøÈëÅÁÀ» ´õ¿í ¾îµÓ°Ô Çϰí ÀÖ´Ù.
¸î¸îÀÇ ½Ã½ºÅÛÀº ÀÌ ¾î·Á¿òÀ» ÇØ¼ÒÇÏ·Á°í ³ë·ÂÇß´Ù. Smalltalk-80°ú Lisp¸Ó½ÅÀº ¸ðµÎ ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ÇÑ ¹æ¹ýÀ» Á¦½ÃÇÏ¿´´Ù. ½Ã½ºÅÛ ÄÚµå´Â »ç¿ëÀÚ ÄÚµå¿Í ´Ù¸£Áö ¾Ê´Ù. ¸ðµç ½Ã½ºÅÛÀº »ç¿ëÀÚ¿¡°Ô ¾ï¼¼½º °¡´ÉÇϸç, ÇÊ¿äÇÏ¸é ¹Ù²ð ¼ö ÀÖ´Ù. µÎ ½Ã½ºÅÛÀº ¾ÆÁÖ ½¬¿î ´ëü¿Í È®ÀåÀÇ ±â´ÉÀ» °¡Áø ¾ð¾î·Î ¸¸µé¾îÁ³°í, ºñ±³Àû ¼º°øÀûÀ̾ú´Ù. ±×·¯³ª ±×µé ¸ðµÎ´Â »ç¿ëÀÚ¿Í ÇÁ·Î±×·¥À» ¼·Î °í¸³½ÃŰ´Â ÀÏ¿¡´Â ¾ÆÁÖ ¾ÈÁÁ¾Æ¼ OS¼³°èÀÇ Áß¿äÇÑ ¸ñÀû Çϳª¿¡´Â ½ÇÆÐÇß´Ù.
Mach 3.0Ä¿³ÎÀ» »ç¿ëÇÏ´Â ´ëºÎºÐÀÇ ÇÁ·ÎÁ§Æ®´Â OS¼³°èÀÇ ¹Ù²î±â ¾î·Á¿î °æÇâÀ» ±×´ë·Î °®°í ¿Ô´Ù. ³»ºÎ±¸Á¶´Â ´Ù¸£Áö¸¸, »ç¿ëÀÚ¿Í ½Ã½ºÅÛ »çÀÌ¿¡´Â °°Àº ¹«°Å¿î À庮ÀÌ ³²¾Æ ÀÖ´Ù. ´ÜÀϼ¹ö(single-servers)µéÀº ¾ÆÁÖ ¸¸µé±â ½¬¿î ¹Ý¸é¿¡ µ¶Á¡Àû Ä¿³ÎÀÇ ¸ðµç °áÁ¡À» À̾î¹Þ¾Ò´Ù.
´ÙÁß¼¹ö(multi-server)´Â Ä¿³Î ±â´ÉÀ» Àß Á¤ÀÇµÈ ÀÎÅÍÆäÀ̽ºÀÇ ³í¸®ÀûÀÎ ºí·ÏÀ¸·Î ³ª´«´Ù. Àß ¸¸µé¾îÁö¸é ±â´ÉÀ» ¹Ù²Ù°Å³ª ´õÇÏ´Â ÀÏÀº ½±´Ù. ±×·¡¼ ´ëºÎºÐÀÇ ´ÙÁß ¼¹ö ÇÁ·ÎÁ§Æ®´Â ´Ù¼Ò ³´´Ù. ´õ ¸¹Àº ½Ã½ºÅÛÀÇ ºÎºÐÀÌ ÆäÀÌ¡ °¡´ÉÇÏ°Ô µÈ´Ù. ½Ã½ºÅÛÀ» ´õ ½±°Ô µð¹ö±ëÇÒ ¼ö ÀÖ´Ù. »õ ½Ã½ºÅÛ ºÎ¼ÓÀ» ´Ù¸¥ »ç¿ëÀÚ¸¦ ¹æÇØÇÏÁö ¾Ê°í Å×½ºÆ®ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª »ç¿ëÀÚ¿Í ½Ã½ºÅÛ°£ÀÇ À庮Àº ¿©ÀüÈ÷ ³²´Â´Ù. ¾Æ¹«µµ Ư±Ç ¾øÀÌ´Â ÀÌ º®À» ³ÑÀ» ¼ö ¾ø´Ù.
GNU Hurd´Â ¹Ý´ë·Î ½Ã½ºÅÛ ÄÚµåÀÇ ¿µ¿ªÀÌ µÉ ¼ö ÀÖ´Â ÇÑ ÇÑÁ¤µÇ°Ô ¼³°èµÇ¾ú´Ù. ÇÁ·Î±×·¥Àº Ä¿³ÎÀÇ ¸î ¾ÈµÇ´Â ÇʼöÀûÀÎ ºÎºÐ°ú Åë½ÅÇÏ¸é µÈ´Ù. ½Ã½ºÅÛÀÇ ³ª¸ÓÁö´Â µ¿ÀûÀ¸·Î ´ëüÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ´Â ±×µéÀÌ ¿øÇÏ´Â ½Ã½ºÅÛÀÇ ¾î¶² ºÎºÐÀÌ¶óµµ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ´Ù¸¥ »ç¶÷µéÀÌ ÀÌ ÀåÁ¡À» ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ½º½º·Î ÀÌ ºÎ¼ÓÀ» ½±°Ô ´õÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚµéÀÌ ¼·ÎÀÇ ¼ºñ½º¸¦ ÀÌ¿ëÇϱâ À§ÇØ ¹Ì¸® »óÈ£ÀÌÇØ°¡ ÇÊ¿äÇÏÁöµµ ¾Ê°í, ÀÓÀÇ »ç¿ëÀÚÀÇ ¼ºñ½º¸¦ ¹Ï¾î¼ ½Ã½ºÅÛÀÌ Ãë¾àÇÏ°Ô µÇÁöµµ ¾Ê´Â´Ù.
À̸¦ À§ÇØ »ç¿ëÀÚ´Â ¼·Î¿Í Åë½ÅÇϱâ À§ÇØ ½á¾ß ÇÒ ÀÌµé ½Ã½ºÅÛ ºÎ¼ÓÀ» µî·ÏÇÏ¸é µÈ´Ù. À̵é Áß Çϳª´Â »ç¿ëÀÚ¸¦ È®ÀÎÇÏ´Â ÀÏÀ» Ã¥ÀÓÁö¸ç, ÀÎÁõ ¼¹ö(authentication server)¶ó°í ºÒ¸°´Ù. ¼·Î¸¦ È®ÀÎÇϱâ À§ÇØ ÇÁ·Î±×·¥Àº °¢°¢Àº ±×µéÀÌ ¹Ï´Â ÀÎÁõ ¼¹ö¿Í ÇÔ²² ¹Ýµå½Ã Åë½ÅÇØ¾ß ÇÑ´Ù. ´Ù¸¥ ºÎ¼ÓÀº ÀüüÀûÀÎ °ü¸®¸¦ ´ã´çÇÏ´Â ¼öÆÛÀ¯Àú¿¡ ÀÇÇÑ ½Ã½ºÅÛ ºÎ¼ÓÀ» Á¦¾îÇϸç, ÀÌ´Â ÇÁ·Î¼¼½º ¼¹ö(process server)¶ó ºÒ¸°´Ù.
¸ðµç »ç¿ëÀÚ ÇÁ·Î±×·¥ÀÌ ÇÁ·Î¼¼½º ¼¹ö¿Í Åë½ÅÇÒ ÇÊ¿ä´Â ¾ø´Ù. ÀÌ´Â ±× ¼ºñ½º¸¦ ÇÊ¿ä·Î ÇÏ´Â ÇÁ·Î±×·¥¿¡¸¸ ÇÊ¿äÇÏ´Ù. ÀÌ¿Í ºñ½ÁÇÏ°Ô ÀÎÁõ ¼¹ö´Â ¼·Î°£ÀÇ È®ÀÎÀ» ÇÏ°í ½Í¾îÇÏ´Â ÇÁ·Î±×·¥¿¡¸¸ ÇÊ¿äÇÏ´Ù. ³²Àº ¼ºñ½ºÀÇ ¾î¶² °Íµµ Ưº°ÇÑ »óŸ¦ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù: ³×Æ®¿÷ ±¸Çöµµ, ÆÄÀϽýºÅÛµµ, ÇÁ·Î±×·¥ ½ÇÇà ¸ÞÄ«´ÏÁòµµ(setuid¸¦ Æ÷ÇÔÇÑ), ÀÌ¿ÜÀÇ ¾î¶² °Íµµ.
´ëºÎºÐÀÇ ¼¹ö´Â ÆÄÀÏÀ» ¿©´Â °ÍÀ¸·Î ¾ï¼¼½ºµÈ´Ù. º¸Åë ÆÄÀÏÀ» ¿ ¶§¿¡´Â ÆÄÀÏÀ» °¡Áø µð·ºÅ丮¸¦ ¼ÒÀ¯ÇÏ´Â ¼¹ö°¡ °¡Áö´Â ÆÄÀÏ¿¡ °ü·ÃµÈ(associated) Æ÷Æ®¸¦ ¿¬´Ù. ¿¹¸¦ µé¾î µð½ºÅ© ±â¹Ý ÆÄÀϽýºÅÛÀº º¸Åë °¢°¢ ¿¸° ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ Ç¥ÇöÇÏ´Â ¸¹Àº Æ÷Æ®¸¦ Á¦°øÇÑ´Ù. ÆÄÀÏÀÌ ¿¸®¸é, ¼¹ö´Â »õ Æ÷Æ®¸¦ ¸¸µé°í, À̸¦ ÆÄÀϰú ¿¬°ü½Ã۰í, ºÎ¸¥ ÇÁ·Î±×·¥ÇÑÅ× Æ÷Æ®¸¦ µÇµ¹·Á ÁØ´Ù.
±×·¯³ª ÆÄÀÏÀº ±×¿Í °ü·ÃµÈ º¯È¯±â¸¦ °¡Áú ¼ö ÀÖ´Ù. ÀÌ °æ¿ì, ÆÄÀÏÀÇ ³»¿ëÀ» ÂüÁ¶ÇÏ´Â Æ÷Æ®¸¦ µ¹·ÁÁÖ´Â ´ë½Å ¼¹ö´Â ±× ÆÄÀϰú ¿¬°üµÈ º¯È¯±â ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. ÀÌ º¯È¯±â¿¡´Â ÆÄÀÏÀÇ ½ÇÁ¦ ³»¿ëÀ» °¡¸®Å°´Â Æ÷Æ®°¡ ÁÖ¾îÁö°í, ¿±â µ¿ÀÛÀ» ¿Ï·áÇϱâ À§ÇØ ¿ø·¡ »ç¿ëÀÚ¿¡°Ô Æ÷Æ®¸¦ µ¹·ÁÁÖµµ·Ï ¿äûÇÑ´Ù.
ÀÌ ¸ÞÄ«´ÏÁòÀº °¢ ¸¶¿îÆ® ÁöÁ¡°ú °ü·ÃµÈ º¯È¯±â¸¦ °®´Â ÀÏ¿¡ ÀÇÇØ mount¿¡¼ »ç¿ëÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ ¸¶¿îÆ® ÁöÁ¡À» ¿¸é º¯È¯±â(ÀÌ °æ¿ì¿¡´Â ¸¶¿îÆ®µÈ ÆÄÀϽýºÅÛÀÇ µð½ºÅ© Çü½ÄÀ» ¾Æ´Â ÇÁ·Î±×·¥)°¡ ½ÇÇàµÇ°í Æ÷Æ®°¡ ÇÁ·Î±×·¥¿¡ µ¹·ÁÁø´Ù. º¯È¯±â°¡ ½ÃÀÛÇÑ ÈÄ¿¡´Â À̰ÍÀÌ Á¾·áÇÏÁö ¾Ê´Â ÇÑ ´Ù½Ã ½ÇÇàÇÒ ÇÊ¿ä´Â ¾ø´Ù. ºÎ¸ð ÆÄÀϽýºÅÛÀº ³ªÁßÀÇ ¿äû¿¡ ´ëºñÇØ º¯È¯±â·ÎÀÇ Æ÷Æ®¸¦ º¸Á¸ÇÑ´Ù.
ÆÄÀÏÀÇ ¼ÒÀ¯Àڴ Ưº°ÇÑ ±ÇÇÑ ¾øÀÌ º¯È¯±â¸¦ ÆÄÀÏ¿¡ °ü·Ã½Ãų ¼ö ÀÖ´Ù. ÀÌ´Â ¾î¶² ÇÁ·Î±×·¥µµ º¯È¯±â°¡ µÉ ¼ö ÀÖ´Ù´Â ¶æÀÌ´Ù. ºÐ¸íÈ÷ ½Ã½ºÅÛÀº º¯È¯±â°¡ ÆÄÀÏ ÇÁ·ÎÅäÄÝÀ» Á¤È®È÷ ±¸ÇöÇÏÁö ¾ÊÀ¸¸é ÀûÀýÈ÷ µ¿ÀÛÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×·¯³ª Hurd´Â ÃÖ¾ÇÀÇ °á°ú°¡ ÁßÁöÇÒ ¼ö ÀÖ´Â Á¤Áö »óÅÂ(interruptible hang)°¡ µÇµµ·Ï ¼³°èµÇ¾ú´Ù.
º¯È¯±â¸¦ »ç¿ëÇÏ´Â ÇϳªÀÇ ¹æ¹ýÀº ÆÄÀÏ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© °èÃþÀûÀ¸·Î
±¸¼ºµÈ ÀڷḦ ¾ï¼¼½ºÇÏ´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î ftpÇÁ·Î±×·¥ÀÇ »ç¿ëÀÚ
ÀÎÅÍÆäÀ̽ºÀÇ ¸ðµç º¹À⼺Àº ¾ø¾îÁ³´Ù. »ç¿ëÀÚ´Â FTP¸¦ ³ªÅ¸³»´Â Ưº°ÇÑ
µð·ºÅ丮¸¦ ¾Ë±â¸é ÇÏ¸é ¿ø°Ý ½Ã½ºÅÛÀ» ¾ï¼¼½ºÇϱâ À§ÇØ »õ·Î¿î ¸í·ÉÀ»
¹è¿ì±â º¸´Ù´Â ¸ðµç Ç¥ÁØ ÆÄÀÏ °ü·Ã ¸í·É(¿¹¸¦ µé¾î ls³ª cp)¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ºñ½ÁÇÏ°Ô °£´ÜÇÑ º¯È¯±â´Â tar³ª gzipÀÇ º¹À⼺À» ÁÙÀÏ ¼ö ÀÖ´Ù(ÀÌ·± Åõ¸í ¾ï¼¼½º¿¡´Â ¾à°£ÀÇ ´ë°¡°¡ Ãß°¡µÇÁö¸¸ Æí¸®ÇÏ´Ù).
XCreateWindow³ª XDrawText)Àº Àǹ̸¦ °¡Áö°Ô µÈ´Ù. ÀÌ °æ¿ì ÆÄÀϽýºÅÛ ÇÁ·ÎÅäÄÝÀº Á¢ÃËÁ¡¿¡ ¾²ÀÌ´Â ³ëµåÀÇ Æ¯¼ºÀ» ´Ù·ç±â À§Çؼ¸¸ »ç¿ëÇÑ´Ù. ³ëµå´Â I/O¸í·ÉÀ» Áö¿øÇÏÁö ¾ÊÀ¸¸ç, ±×·± ¸Þ½ÃÁö¿¡´À message_not_understood ¸®ÅÏ Äڵ带 µ¹·ÁÁØ´Ù.ÀÌ º¯È¯±â ±â¹ýÀº °èÃþÀû ÆÄÀϽýºÅÛ°ú °°ÀÌ ±¸¼ºµÇÁö ¾ÊÀº HurdÀÇ ´ëºÎºÐÀÇ ¼ºñ½º¿¡ Á¢ÃËÇϱâ À§ÇØ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î ¾ÏÈ£ÀÇ ±³È¯À» À§ÇØ ÀÎÁõ ²¿¸®¸»(authorization tags)À» »ç¿ëÇÏ´Â ¾ÏÈ£ ¼¹ö¿¡ ÀÌ·± ¹æ½ÄÀ¸·Î Á¢ÃËÇÑ´Ù. ¶ÇÇÑ ³×Æ®¿÷ ÇÁ·ÎÅäÄÝ ¼¹ö´Â ÀÌ·± Çü½ÄÀ¸·Î Á¢ÃËÇÒ ¼ö ÀÖ´Ù. Roland McGrath°¡ º¯È¯±âÀÇ ÀÌ·± »ç¿ë¹ýÀ» »ý°¢ÇØ ³Â´Ù.
Hurd´Â ´Ù¸¥ µð·ºÅ丮ÀÇ °³³äÀûÀÎ ÁýÇÕÀÎ µð·ºÅ丮¸¦ ¸¸µå´Â º¯È¯±â¸¦ °¡Áú ¼ö ÀÖ´Ù. ÀÌ´Â ½ÇÇàÇÏ°í ½Í¾îÇÏ´Â ¸ðµç ÇÁ·Î±×·¥À» Æ÷ÇÔÇÏ´Â ÇϳªÀÇ µð·ºÅ丮¸¦ »ç¿ëÀÚ¿¡°Ô Á¦°øÇϴµ¥ ¾²ÀÏ ¼ö ÀÖ´Ù. ÀÌ ÁÖÁ¦¿¡ ´ëÇÑ ¿©·¯ °¡Áö À¯¿ëÇÑ º¯Á¾µéÀÌ ÀÖ´Ù.
¾ÏÈ£ ¼¹ö³ª setuid ½ÇÇàÀ» Çã¶ôÇÏ´Â º¯È¯±â¿Í °°Àº º¯È¯±â´Â Ưº°ÇÑ ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ º¯È¯±âµéÀº ´©±¸³ª ½ÃÇàÇÒ ¼ö ÀÖÁö¸¸, À̵éÀº ·çÆ®°¡ ¼ÒÀ¯ÇÑ ³ëµå À§¿¡ ¼³Á¤µÇ¾î¾ß¸¸ À̵éÀÇ ¸ðµç ¼ºñ½º¸¦ ¼º°øÀûÀ¸·Î Á¦°øÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ´Â ¾î¶² »ç¿ëÀÚ¶óµµ reboot ½Ã½ºÅÛ ÄÝÀ» ºÎ¸¦ ¼ö ÀÖ´Ù´Â ¸»°ú °°Áö¸¸, ±× »ç¿ëÀÚ°¡ ·çÆ®À̾î¾ß¸¸ À̸¦ Á¸ÁßÇÑ´Ù.
Hurd¿¡¼´Â »ç¿ëÀÚ´Â ÀüÅëÀû ½Ã½ºÅÛ¿¡ ÀÇÇØ ¹Ì¸® Á¤ÇØÁø °ÅÀÇ ¸ðµç °ÍÀ» ¹Ù²Ü ¼ö ÀÖ´Ù. ÀÛ¾÷ ÁÖ¼Ò °ø°£°ú Ư¼º À§ÀÇ MachÄ¿³ÎÀÌ Á¦°øÇÏ´Â ¼ö¸¹Àº Á¦¾î¿Í ÇÔ²² Hurd´Â ÃÖÃÊ·Î ´Ù¸¥ »ç¿ëÀÚ¸¦ ¹æÇØÇÏÁö ¾Ê°í ±×µéÀÌ ½È¾îÇÏ´Â ½Ã½ºÅÛÀÇ ÀϺθ¦ ¹Ù²Ü ¼ö ÀÖ´Â ½Ã½ºÅÛÀ» Á¦°øÇÑ´Ù.
Áö±Ý±îÁöÀÇ ´ëºÎºÐÀÇ Mach±â¹ÝÀÇ OS´Â »õ ȯ°æ¿¡¼ ´ëºÎºÐ °°Àº ³°Àº À¯´Ð½ºÀÇ ´õ ³ÐÀº ÁýÇÕÀ» ±¸ÇöÇØ ¿Ô´Ù. ¹Ý´ë·Î, GNU´Â ÀÌ Àǹ̸¦ È®ÀåÇÏ¿© »ç¿ëÀÚ°¡ À̸¦ °³¼±ÇÏ°í »©°í ´ëüÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
ÀÎÁõ ¼¹ö´Â ¼¼°¡Áö ¼ºñ½º¸¦ Á¦°øÇÑ´Ù. ù¹øÂ°·Î ÀÌ´Â ÀÎÁõ Æ÷Æ®¿¡¼ °£´ÜÇÑ ºÎ¿ï(boolean) ¿¬»êÀ» Á¦°øÇÑ´Ù: ÁÖ¾îÁø µÎ°³ÀÇ ÀÎÁõ Æ÷Æ®¿¡¼, ÀÌ ¼¹ö´Â uid¿Í gidÀÇ µÎ ÁýÇÕÀ» ³ªÅ¸³»´Â ¼¼¹øÂ° Æ÷Æ®¸¦ Á¦°øÇÑ´Ù. µÎ¹øÂ°·Î, ÀÌ ¼¹ö´Â ÀÓÀÇÀÇ ÀÎÁõ Æ÷Æ®¸¦ ¸¸µé±â À§ÇØ uid 0ÀÇ ¾î¶² »ç¿ëÀÚµµ Çã¿ëÇÑ´Ù. ¸¶Áö¸·À¸·Î ÀÌ ¼¹ö´Â ¼·Î ¹ÏÁö ¸øÇϴ Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö°¡ ±×µéÀ» È®ÀÎÇÏ°í ¼·Î¿¡°Ô Ãʱâ Á¤º¸¸¦ ³Ñ°ÜÁÖ´Â °ÍÀ» Çã¿ëÇÏ´Â RPC(´Ù¸¥ ÇÁ·Î±×·¥°ú ¾Æ¸¶µµ ´Ù¸¥ È£½ºÆ®°£ÀÇ ¿ø°Ý ÇÁ·Î½ÃÀú ÄÝ(Remote Procedure Calls))¸¦ Á¦°øÇÑ´Ù. ÀÌ´Â ÆÄÀϽýºÅÛ°ú I/OÇÁ·ÎÅäÄÝÀÇ º¸¾È¿¡ Áß¿äÇÑ °ÍÀÌ´Ù.
¾î¶² »ç¿ëÀÚµµ ÀÎÁõ ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇÏ´Â ÇÁ·Î±×·¥À» ¾µ ¼ö ÀÖ´Ù. ÀÌ´Â ½Ã½ºÅÛÀÇ º¸¾ÈÀ» À§¹ÝÇÏÁö ¾Ê´Â´Ù. ¼ºñ½º°¡ »ç¿ëÀÚÀÇ ÀÎÁõÀ» ÇÊ¿ä·Î ÇÒ ¶§¿¡´Â ÀÌ´Â À̰ÍÀÇ ¹ÏÀ» ¼ö ÀÖ´Â ÀÎÁõ ¼¹ö¿Í Åë½ÅÇÑ´Ù. ¸¸¾à ±× »ç¿ëÀÚ°¡ ´Ù¸¥ ÀÎÁõ ¼¹ö¸¦ »ç¿ëÇϸé, ó¸®(transaction)´Â Áß´ÜµÇ°í ¼¹ö´Â ´õÀÌ»ó Åë½ÅÇϱ⸦ °ÅºÎÇÒ ¼ö ÀÖ´Ù. »ç½Ç ÀÌ´Â ½Ã½ºÅÛÀÇ ¸ðµç ÇÁ·Î±×·¥ÀÌ °°Àº ÀÎÁõ ¼¹ö¸¦ »ç¿ëÇϵµ·Ï °Á¦Çϱ⠶§¹®¿¡, ¿ì¸®´Â ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ¾î¶² ¾ÈÁ¤ÇÑ µ¿ÀÛÀÌ¶óµµ °¡´ÉÇÏ°í °ü°è¾ø´Â ¸í·ÉÀ» Æ÷ÇÔÇÏÁö ¾Êµµ·Ï ÀÎÅÍÆäÀ̽º¸¦ ¼³°èÇß´Ù(À̰ÍÀÌ ºÐ¸®µÈ ¾ÏÈ£ ¼¹ö°¡ ÀÖ´Â ÀÌÀ¯ÀÌ´Ù).
¼¼¹øÂ°·Î ÇÁ·Î¼¼½º ¼¹ö´Â Mach ÀÛ¾÷(task)¿Í Hurd ÇÁ·Î¼¼½º »çÀÌÀÇ ÀÏ´ëÀÏ
»ç¿µ(mapping)À» °ü¸®ÇÑ´Ù. ¸ðµç ÀÛ¾÷Àº pid¸¦ ÇÒ´ç¹Þ´Â´Ù. ÇÁ·Î¼¼½º´Â ÀÌ
¼¹ö¿¡ ¸Þ¼¼Áö Æ÷Æ®¸¦ µî·ÏÇÒ ¼ö ÀÖ°í, ÀÌ Æ÷Æ®´Â ¿ä±¸ÇÏ´Â ¾î¶²
ÇÁ·Î±×·¥¿¡°Ôµµ Á¦°øµÉ ¼ö ÀÖ´Ù. ÀÌ ¼¹ö´Â ÀÌ ¸Þ¼¼Áö Æ÷Æ®¸¦ »çÀûÀ¸·Î
¸¸µé·Á´Â ¾î¶² ½Ãµµµµ ÇÏÁö ¾ÊÀ¸¸ç, µû¶ó¼ »ç¿ëÀÚ ÇÁ·Î±×·¥Àº ÇÊ¿äÇÑ
º¸¾È»çÇ×Àº ½º½º·Î ±¸ÇöÇØ¾ß ÇÑ´Ù(GNU C¶óÀ̺귯¸®´Â ÀÌ ¸ðµç °ÍÀ» À§ÇØ
Æí¸®ÇÑ ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù). ÇÁ·Î¼¼½º´Â ÇÁ·Î¼¼½º ¼¹ö¿¡°Ô ÇöÀçÀÇ 'argv'¿Í
'envp'°ªÀ» ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ±×·± ÈÄ ÀÌ ¼¹ö´Â ¿äû¿¡ µû¶ó Àμö¿Í
ȯ°æº¯¼ö¿¡ ´ëÇÑ º¤Å͸¦ Á¦°øÇÒ °ÍÀÌ´Ù. ÀÌ´Â ps¿Í °°Àº
ÇÁ·Î±×·¥À» ¾²±â¿¡ À¯¿ëÇϰí ÀÌ Á¤º¸¸¦ ¼û±â°Å³ª ¹Ù²Ù´Â Àϵµ ½±°Ô ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¾î¶² °Íµµ ÇʼöÀûÀÌÁö´Â ¾Ê´Ù. ÇÁ·Î±×·¥Àº ÀÌ ¸ðµç °ÍÀ» ¹«½ÃÇϰí ÀÚ½ÅÀ» ÇÁ·Î¼¼½º ¼¹ö¿¡ ÀüÇô µî·ÏÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù. ±×·¯³ª ¿©ÀüÈ÷ ºÎ¿©¹ÞÀº pid´Â °¡Áú °ÍÀÌ´Ù.
¸¶Áö¸·À¸·Î, ÇÁ·Î¼¼½º ¼¹ö´Â µ¿½Ã¿¡ ¸¹Àº ÇÁ·Î¼¼½º ¸Þ¼¼Áö Æ÷Æ®¸¦ ¸ðÀ¸´Âµ¥ »ç¿ëÇÏ´Â ÇÁ·Î¼¼½º ¼öÁý(Process Collection)À» ±¸ÇöÇÑ´Ù. ¶ÇÇÑ pid¿Í ÇÁ·Î¼¼½º ¼¹ö Æ÷Æ®¿Í MachÀÛ¾÷ Æ÷Æ®°£ÀÇ º¯È¯±â´ÉÀÌ Á¦°øµÈ´Ù. ¹Ý¸é¿¡ Æ÷Æ®ÀÇ º¸¾ÈÀ» À¯ÁöÇÏ´Â ÀÏÀ» È®½ÇÈ÷ ÇÑ´Ù.
ÇÁ·Î¼¼½º ¼¹ö°¡ ºÎ°¡ÀûÀ̶ó´Â °ÍÀ» °Á¶ÇÏ´Â ÀÏÀº Áß¿äÇÏ´Ù. MachÀÇ Á¦ÇÑ ¶§¹®¿¡ ÇÁ·Î±×·¥Àº ½Ã½ºÅÛÀÇ ¸ðµç ÀÛ¾÷À» È®ÀÎÇϱâ À§ÇØ ·çÆ®·Î ½ÇÇàµÇ¾î¾ß ÇÑ´Ù. ±×·¯³ª ´ÙÁß ÇÁ·Î¼¼½º ¼¹ö°¡ °¢°¢ÀÇ Å¬¶óÀÌ¾ðÆ®µé°ú ÇÔ²² °øÁ¸ÇÒ ¼ö ÀÖ´Ù¸é ±×µé¸¸ÀÇ ¼¼°è ¸ðµ¨À» Á¦°øÇÒ ¼ö ÀÖ´Ù. ±¸ÇöÇϱâ À§ÇØ ·çÆ® ±ÇÇÑÀ» ¿ä±¸ÇÏÁö ¾Ê´Â ÀÌ ÇÁ·Î¼¼½º ¼¹ö ±â´ÉÀº »ç¿ëÀÚ´ç ¼¹ö°¡ µÉ ¼ö ÀÖ´Ù. »ç¿ëÀÚ´Â ¾î¶² ÀÏÀ̵ç ÇÒ ¼ö ÀÖ´Ù.
ange-ftpÆÐŰÁö´Â ¸ðµç EmacsÆÄÀϰü·Ã ¸í·É¿¡¼ °¡»óÀûÀ¸·Î Åõ¸íÇÏ°Ô FTPÆÄÀÏÀ» ¾ï¼¼½ºÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. Åõ¸í FTP´Â °°Àº ÀÏÀ» ÇÏÁö¸¸ ½Ã½ºÅÛ Â÷¿øÀÌ´Ù. ÀÌ ¼¹ö´Â ¾ÆÁ÷ ´Ù µÇÁö ¾Ê¾Ò´Ù. ÀÚ¼¼ÇÑ °ÍÀº ¾ÆÁ÷ ´õ ¸¸µé¾î¾ß ÇÏÁö¸¸, È®½ÇÈ÷ ¹Ù²ð °ÍÀÌ´Ù.
BSDÄ¿³Î¿¡¼´Â Åõ¸í FTPÆÄÀϽýºÅÛÀº Hurd¿¡¼º¸´Ù ´õ ¸¸µé±â ¾î·ÆÁö´Â ¾Ê´Ù. ±×·¯³ª ÀÌ °³³äÀ» BSDÇØÄ¿¿¡°Ô À̾߱âÇÏ´Ï ¹ÝÀÀÀº "±×·± °Ç Ä¿³Î¿¡ ¼ÓÇÏÁö ¾Ê´Â´Ù" ¶ó´Â °ÍÀ̾ú´Ù. ¾î¶² Àǹ̿¡¼´Â ÀÌ ¸»Àº ¿Ç´Ù. ÀÌ·± °ÍÀÌ Ä¿³Î ¾È¿¡ ³õÀÌ´Â °ÍÀº ½Ã½ºÅÛÀÇ ¸ðµç °èÃþÈ ¿øÄ¢À» À§¹ÝÇÑ´Ù. ±×·¯³ª ÀÌ ºÒÇàÇÑ ºÎ¼ö È¿°ú´Â ¼³°è ¹æ¹ý·Ð(»ç¿ëÀÚ°¡ ÁÁ¾ÆÇÏÁö ¾ÊÀº °ÍÀ» ¹Ù²ÙÁö ¸øÇϵµ·Ï ÇÏ´ÂÀÏ¿¡ ±â¹ÝÇÑ)ÀÌ ½Ã½ºÅÛ ¼³°èÀÚ°¡ ´õ ÁÁ°Ô ÇÏ´Â ÀÏÀ» ¹æÇØÇϴµ¥ »ç¿ëÇÑ´Ù(ÃÖ±ÙÀÇ BSDÄ¿³ÎÀº Åõ¸í FTP¸¦ Á¦°øÇÏ´Â »ç¿ëÀÚ ÇÁ·Î±×·¥À» ¾µ ¼ö ÀÖ°Ô ÇÑ´Ù. ±× ¿¹´Â alexÀε¥, ½ÇÇàÇϱâ À§Çؼ´Â ·çÆ®±ÇÇÑÀ» ¿ä±¸ÇÑ´Ù).
Hurd¿¡¼´Â Åõ¸í FTP¸¦ Çϱâ À§ÇÑ Àå¾Ö¹°Àº ¾ø´Ù. º¯È¯±â´Â /ftp³ëµå¿¡ Á¦°øÇÒ ¼ö ÀÖ´Ù. /ftpÀÇ ³»¿ëÀº ÀÖÀ» °ÍÀÌÁö¸¸ ¾Æ¸¶µµ Á÷Á¢ º¼ ¼ö´Â ¾øÀ» °ÍÀÌ´Ù. ÀÌ´Â ¿©·¯ °¡´ÉÇÑ Çü½ÄÀÌ µÉ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î uunetÀÇ ÆÄÀÏÀ» ¾ï¼¼½ºÇϱâ À§Çؼ cd /ftp/ftp.uu.net:anonymous:mib@gnu¶ó°í ÇÒ ¼ö ÀÖ´Ù. ¶Ç´Â ¿ø°Ý °èÁ¤ÀÇ ÆÄÀÏÀ» ¾ï¼¼½ºÇϱâ À§Çؼ cd /ftp/gnu.ai.mit.edu:mib:passwd¶ó°í ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¸í·ÉÀÇ ÀϺδ »èÁ¦µÇ¸ç Åõ¸í FTPÇÁ·Î±×·¥Àº »ç¿ëÀÚÀÇ .netrcÆÄÀÏÀ» ÀÐÀ» ¼ö ÀÖ´Ù. ¸¶Áö¸· °æ¿ì¿¡¼ cd /ftp/gnu.ai.mit.edu¶ó°í ÇÏ¸é ³ª¸ÓÁö´Â ÀÌ¹Ì .netrc¿¡ ÀÖ°Ô µÈ´Ù.
cd¸¦ ¸ÕÀú ÇÒ ÇÊ¿ä´Â ¾ø´Ù - ¾î¶² ÆÄÀÏ ¸í·ÉÀÌ¶óµµ »ç¿ëÇÏÀÚ. RFC 1097(the Telnet Subliminal Message Option)¿¡ ´ëÇØ ã±â À§Çؼ´Â ´ÜÁö more /ftp/ftp.uu.net/inet/rfc/rfc1097À̶ó°í Ä¡¸é µÈ´Ù. RFC¸¦ ÀÚÁÖ Àоî¾ß ÇÑ´Ù¸é Áö¿ª µð½ºÅ©·Î º¹»çÇÒ ¼ö ÀÖ´Ù.
³×Æ®¿÷ ÆÄÀϽýºÅÛ ÇÁ·ÎÅäÄÝÀº ½ÃÀÛÁ¡À¸·Î 4.4BSD¸¦ »ç¿ëÇÏ¿© ±¸ÇöµÉ °ÍÀÌ´Ù. ±â·Ï ±¸Á¶(log-structured) ÆÄÀϽýºÅÛÀº ½ºÇÁ¶óÀÌÆ®(Sprite)¿¡¼Ã³·³ °°Àº °³³äÀ» »ç¿ëÇÏ¿© ±¸ÇöµÉ °ÍÀÌÁö¸¸, ¾Æ¸¶µµ °°Àº Çü½ÄÀº ¾Æ´Ò °ÍÀÌ´Ù. GNU ³×Æ®¿÷ ÆÄÀÏ ÇÁ·ÎÅäÄÝÀÌ °ð ¼³°èµÇ´øÁö NFS°¡ °áÁ¡À» Á¦°ÅÇϱâ À§ÇØ È®ÀåµÉ °ÍÀÌ´Ù. GNU¿Í ´Ù¸¥ OS°£¿¡ ÆÄÀÏÀ» ¿Å±â°í ½ÍÀº »ç¶÷µéÀ» µ½±â À§ÇØ MS-DOSÆÄÀϽýºÅÛ°ú °°Àº ¿©·¯ Á¶±×¸¸ ÆÄÀϽýºÅÛÀÌ ÀÖÀ» °ÍÀÌ´Ù.
ÇÁ·Î±×·¥Àº ¿©·¯°¡Áö ¹æ½ÄÀ¸·Î Åë½Å ä³Î¿¡ Å͹̳Πµå¶óÀ̹ö¸¦ Ãß°¡ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. rlogind¿Í °°Àº ¼¹ö´Â ³×Æ®¿÷ Åë½Å Æ÷Æ®¿¡ Å͹̳ΠÇÁ·ÎÅäÄÝÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ¿À·¡µÈ ÇÁ·Î±×·¥ÀÇ ÇÏÀ§ ȣȯ¼ºÀ» À§ÇØ Á¦°øµÇ°ÚÁö¸¸ ÀÇ»ç Å͹̳Î(pseudo-terminal)Àº ÇÊ¿äÇÏÁö ¾Ê´Ù. GNUÀÇ ¾î¶² ÇÁ·Î±×·¥µµ ÀÌ¿¡ ÀÇÁ¸ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
Å͹̳Πµå¶óÀ̹öÀÇ ¾î¶² °Íµµ »ç¿ëÀÚ¿¡°Ô °¿äÇÏÁö ¾Ê´Â´Ù. Å͹̳Πµå¶óÀ̹ö´Â »ç¿ëÀÚ°¡ ³»ÀçÇÑ Åë½Å ä³ÎÀ» ½±°Ô ¾òÀ» ¼ö ÀÖµµ·Ï Çϰí, ÇÊ¿äÇÒ ¶§¸¶´Ù ¶Ç´Â ÇÔ²² ÀÚ½ÅÀ» Áö³ªÄ¥ ¼ö ÀÖ°í, ´Ù¸¥ Å͹̳Πµå¶óÀ̹ö°ú °°Àº ÇÁ·Î±×·¥À¸·Î ´ëüÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¸¶Áö¸· °æ¿ì¿¡ ´ëü ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÑ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ´Ù¸é º¸Åë Å͹̳Πµå¶óÀ̹öÀÎ °Íó·³ Á¤È®È÷ C¶óÀ̺귯¸®¿¡¼ ¾²ÀÏ °ÍÀÌ´Ù.
ÀÌ À¯¿¬¼º¶§¹®¿¡ ¿ø·¡ÀÇ Å͹̳Πµå¶óÀ̹ö´Â º¹ÀâÇÑ ÁÙÆíÁý±â´ÉÀ» Á¦°øÇÏÁö ¾ÊÀ» °ÍÀ̸ç, ÀÚ½ÅÀ» POSIX¿Í BSD¿¡¼ ãÀ» ¼ö ÀÖ´Â ±â´É¿¡ ÇÑÁ¤ÇÑ´Ù. readline±â¹ÝÀÇ Å͹̳Πµå¶óÀ̹ö°¡ ¸¸µé¾îÁú °ÍÀε¥, ÀÌ´Â ¿øÇÏ´Â »ç¿ëÀÚ¸¦ À§ÇØ º¹ÀâÇÑ ÁÙÆíÁý±â´ÉÀ» Á¦°øÇÒ °ÍÀÌ´Ù.
Å͹̳Πµå¶óÀ̹ö´Â UUCP³ª SLIP¿¡¼ ÇÊ¿äÇÑ Å« ºÎÇÇÀÇ ¿¬¼Ó µ¥ÀÌÅÍ Àü¼Û Áö¿øÀ» Àß ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº À̵éÀÇ ¾î¶² ±â´Éµµ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù. ´ë½Å¿¡ Å͹̳ÎÀ» À§ÇØ ³»ÀåµÈ MachÀåÄ¡ Æ÷Æ®À» ¾µ °ÍÀε¥, À̰ÍÀº ¸¹Àº µ¥ÀÌÅÍÀÇ Àü¼ÛÀ» È¿À²ÀûÀ¸·Î Áö¿øÇÑ´Ù.
execve½Ã½ºÅÛ ÄÝÀÇ ±¸ÇöÀº ¼¼ ÇÁ·Î±×·¥ »çÀÌ¿¡ ÆÛÁ® ÀÖ´Ù. ¶óÀ̺귯¸®´Â Àμö¿Í ȯ°æº¯¼ö º¤Å͸¦ Á¤¸®ÇÑ´Ù. ±×·¯°í¼ ÀÌ´Â ÆÄÀϼ¹ö¿¡ ½ÇÇàµÉ ÆÄÀÏÀ» À¯ÁöÇÏ´Â ¸Þ¼¼Áö¸¦ º¸³½´Ù. ÆÄÀϼ¹ö´Â ½ÇÇà ±ÇÇÑÀ» Á¡°ËÇϰí execÄÝ¿¡ ÇÊ¿äÇÑ º¯È¯À» ÇÑ´Ù. ¿¹¸¦ µé¾î ¸¸¾à ÆÄÀÏÀÌ setuid·Î µÇ¾î ÀÖ°í ÆÄÀϼ¹ö°¡ ´É·ÂÀÌ ÀÖÀ¸¸é »õ À̹ÌÁöÀÇ »ç¿ëÀÚ È®ÀÎÀ» ¹Ù²Ü °ÍÀÌ´Ù. ¶ÇÇÑ ÆÄÀϼ¹ö´Â ÀÌÀü ÀÛ¾÷¿¡ ¾ï¼¼½º¸¦ ÇÑ ÇÁ·Î±×·¥ÀÌ »õ ÀÛ¾÷À¸·Î ¾ï¼¼½º¸¦ °è¼Ó ÇØ¾ß ÇÒ °ÍÀÎÁö °áÁ¤ÇØ¾ß ÇÑ´Ù. ÆÄÀϼ¹ö°¡ ±ÇÇÑÀ» Áõ°¡Çϰí Àְųª ÀÐÁö ¾ÊÀº À̹ÌÁö¸¦ ½ÇÇàÇϸé exec´Â º¸¾ÈÀ» À¯ÁöÇϱâ À§ÇØ »õ MachÀÛ¾÷À¸·Î ´ëüÇÒ Çʿ䰡 ÀÖ´Ù.
»õ À̹ÌÁö¿¡ °ü·ÃµÈ ¹æ¹ýÀ» °áÁ¤ÇÑ µÚ ÆÄÀϽýºÅÛÀº exec¼¹ö¿¡°Ô ÀÌ ÀÛ¾÷À» ÀоîµéÀ̵µ·Ï ºÎ¸¥´Ù. BFD(Binary File Descriptor)¸¦ »ç¿ëÇÏ´Â ÀÌ ¼¹ö´Â À̹ÌÁö¸¦ ÀоîµéÀδÙ. BFD´Â ¸¹Àº °´Ã¼ ÆÄÀÏ Çü½ÄÀ» Áö¿øÇÑ´Ù. °ÅÀÇ ¸ðµç Áö¿øÇÏ´Â Çü½ÄÀ» ½ÇÇàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¼¹ö´Â ¶ÇÇÑ #!À¸·Î ½ÃÀÛÇÏ´Â ½ºÅ©¸³Æ®¸¦ ´Ù·ç°í, Áö½ÃÇÏ´Â ÇÁ·Î±×·¥À» ÅëÇØ ½ÇÇàÇÑ´Ù.
¶ÇÇÑ Ç¥ÁØ exec¼¹ö´Â »õ À̹ÌÁöÀÇ È¯°æº¯¼ö¸¦ º»´Ù. ¸¸¾à ¿©±â¿¡ EXECSERVERS ȯ°æº¯¼ö°¡ ÀÖ´Ù¸é ½Ã½ºÅÛ ±âº»°ª ´ë½Å exec¼¹ö·Î ÁöÁ¤µÈ °ÍÀ» »ç¿ëÇÑ´Ù(¹°·Ð ÆÄÀϼ¹ö°¡ ¾ÈÀüÇÏ°Ô À¯ÁöÇÒ°ÍÀ» ¿ä±¸¹ÞÀº exec¿¡´Â ½ÇÇàµÇÁö ¾Ê´Â´Ù).
»õ À̹ÌÁö´Â GNU C¶óÀ̺귯¸®¿¡¼ ½ÇÇàµÇ¸ç, exec¼¹ö¿¡°Ô Àμö, ȯ°æº¯¼ö, umask, ÇöÀç µð·ºÅ丮 µîÀ» ¾òµµ·Ï ¸Þ½ÃÁö¸¦ ÁØ´Ù. ÀÌ ¾î¶² Ãß°¡ÀûÀÎ »óŵµ ÆÄÀÏÀ̳ª exec¼¹ö¿¡°Ô Ưº°ÇÑ °ÍÀº ¾Æ´Ï´Ù. ¸¸¾à ÇÁ·Î±×·¥ÀÌ ¹Ù¶õ´Ù¸é ¶óÀ̺귯¸®¿¡¼ ´Ù¸¥ ¹æ½ÄÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.
fork½Ã½ºÅÛ ÄÝÀº GNU C¶óÀ̺귯¸®¿¡¼ °ÅÀÇ ´Ù ±¸ÇöµÇ¾ú´Ù. »õ ÀÛ¾÷Àº MachÄ¿³Î ÄÝ¿¡ ÀÇÇØ ¸¸µé¾îÁø´Ù. C¶óÀ̺귯¸®´Â ÀÌ À̹ÌÁö¸¦ ÀûÀýÇÏ°Ô »ó¼ÓµÇµµ·Ï Á¤¸®ÇÑ´Ù. »õ ÀÛ¾÷Àº ÇÁ·Î¼¼½º ¼¹ö¿¡ µî·ÏµÈ´Ù(ÇʼöÀûÀº ¾Æ´Ï´Ù). C¶óÀ̺귯¸®´Â fork½Ã¿¡ ºÎ¸¦ ÇÔ¼öÀÇ º¤Å͸¦ Á¦°øÇÑ´Ù. ÇÑ º¤ÅÍ´Â forkÀü¿¡ ºÒ¸®°í, Çϳª´Â ºÎ¸ð ÇÁ·Î¼¼½º¿¡¼ ³ªÁß¿¡, Çϳª´Â ÀÚ½Ä ÇÁ·Î¼¼½º¿¡¼ ³ªÁß¿¡ ºÒ¸°´Ù(ÀÌ ±â´ÉÀº ÀϹÝÀûÀÎ fork-ÄÝ ¼ø¼¸¦ ´ëüÇϱâ À§ÇØ ¾²ÀÌÁö´Â ¾Ê´Â´Ù. ÀÌ´Â fork°¡ ÀϾ±â Àü¿¡ Æ÷Æ®¸¦ ´Ý°Å³ª Áö¿ö¾ß Çϴµ¥ ÇÊ¿äÇÑ ¶óÀ̺귯¸®¸¦ À§ÇÑ °ÍÀÌ´Ù). C¶óÀ̺귯¸®´Â ÁøÇàÁßÀÎ POSIX.4a¿¡ Á¤ÀÇµÈ µÎ°³ÀÇ fork ÄÝÀ» ±¸ÇöÇÑ´Ù(½º·¹µå È®Àå¿¡¼ ½Ç½Ã°£ È®ÀåÀ¸·Î ´Ù·ç´Â Á¦¾ÈµÈ Ç¥ÁØ).¾Æ¹«°Íµµ »ç¿ëÀÚ¿¡°Ô ÀÌ·± ¹æ¹ýÀ¸·Î ÀÛ¾÷À» ¸¸µé¶ó°í °¿äÇÏÁö ¾Ê´Â´Ù. ÇÁ·Î±×·¥ÀÌ ¾à°£ÀÇ Æ¯Â¡°ú ÇÔ²² °ÅÀÇ º¸Åë fork¸¸ »ç¿ëÇÏ·Á°í ÇÏ¸é ±×·¸°Ô ÇÒ ¼ö ÀÖ´Ù. ÈÄÅ©´Â C¶óÀ̺귯¸®°¡ Á¦°øÇÒ °ÍÀ̰í, ÇÔ¼ö´Â ¿ÏÀüÈ÷ ´ëüµÉ ¼öµµ ÀÖ´Ù. À̵é Áß ¾î´À°Íµµ ÀüÅëÀûÀÎ À¯´Ð½º ½Ã½ºÅÛ¿¡¼ °¡´ÉÇÏÁö ¾Ê´Ù.
ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º ±×·ìÀÌ ¹Ù²î¸é ÇÁ·Î¼¼½º ¼¹ö´Â »õ ÇÁ·Î¼¼½º ±×·ìÀ» Áö½ÃÇÏ´Â ½ÅÈ£¸¦ º¸³¾ °ÍÀÌ´Ù. ÀÌ °æ¿ì ÇÁ·Î¼¼½º ¼¹ö´Â ÀÛ¾÷ÀÇ Ä¿³Î Æ÷Æ®¸¦ Á¦°øÇÏ¿© ±× ±ÇÀ§¸¦ È®ÀÎÇÑ´Ù.
C¶óÀ̺귯¸®´Â ¶ÇÇÑ ÇöÀç ÇÁ·Î¼¼½º¿¡ ÀÇÇØ »ç¿ëµÇ´Â uid¸¦ ´õÇϰí Áö¿ì±â À§ÇÑ ¸Þ¼¼Áö¸¦ °®´Â´Ù. ÇÁ·Î±×·¥¿¡ »õ uid°¡ º¸³»Áö¸é ¶óÀ̺귯¸®´Â À̸¦ ÇöÀç ÁýÇÕ¿¡ ´õÇÏ°í »õ ÀÎÁõÀ» ¹àÈ÷±â À§ÇÏ¿© ±×°¡ ¾Æ´Â ¸ðµç I/O¼¹ö¿Í ¸Þ¼¼Áö¸¦ ±³È¯ÇÑ´Ù. ºñ½ÁÇÏ°Ô ¸Þ¼¼Á¦´Â uid¸¦ Áö¿ï ¼ö ÀÖ´Ù. ÈÄÀÚ¿¡¼ ºÎ¸¥ ÀÌ´Â ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ Æ÷Æ®¸¦ Á¦°øÇØ¾ß ÇÑ´Ù(±ÇÇÑÀ» ´õ ÁÖ¾î¼ ÇÁ·Î¼¼½º¿¡ ÇØ¸¦ ÀÔÈú ¼ö´Â ¾øÁö¸¸ ±ÇÇÑÀ» »©¾ÑÀ» ¼ö´Â ÀÖ´Ù). Hurd´Â »ç¿ëÀÚ ÇÁ·Î±×·¥ÀÌ ÀÌ ¸Þ¼¼Áö¸¦ ÇÁ·Î¼¼½º¿¡°Ô º¸³»´Â ±â´ÉÀ» Á¦°øÇÑ´Ù. ¿¹¸¦ µé¾î su¸í·ÉÀº ÇöÀçÀÇ ·Î±×ÀÎ ¼¼¼ÇÀÇ ¸ðµç ÇÁ·Î±×·¥ÀÌ ¼ºê½©À» ¸¸µé¾î³»±â º¸´Ù´Â »õ uid¸¦ ¾ò°Ô ÇÒ ¼ö ÀÖ´Ù.
C¶óÀ̺귯¸®´Â ÇÁ·Î±×·¥ÀÌ ÀνÄÇÏ°í ½Í¾îÇÏ´Â ºñµ¿±â ¸Þ¼¼Áö¸¦ ´õÇÒ ¼ö ÀÖ°Ô Çϸç, ¶ÇÇÑ Ç¥ÁØ ÁýÇÕÀ» ÀνÄÇÒ ¼ö ¾ø°Ô ÇÏ´Â ÀÏÀ» Çã°¡ÇÑ´Ù.
¾î¶² ȯ°æ¿¡¼´Â ¹ÙÀ̳ʸ® ȣȯµµ Áö¿øÇÒ ¼ö ÀÖ´Ù. ÀÌ ÀÛ¾÷Àº ÇÁ·Î¼¼½ºÀÇ ¾îµå·¹½º °ø°£ ¾îµò°¡¿¡ ÀûÀçµÇ´Â Ưº°ÇÑ ¹öÀüÀÇ ¶óÀ̺귯¸®¸¦ ¸¸µå´Â °ÍÀ¸·Î µ¿ÀÛÇÑ´Ù(¿¹¸¦ µé¾î VAX¿¡¼´Â ÀÌ´Â ½ºÅà À§¿¡ ³Ö°Ô µÈ´Ù). ½Ã½ºÅÛ ÄÝ Àüȯ(system call redirection)À̶ó ºÒ¸®´Â MachÀÇ Æ¯Â¡Àº À̶§ À¯´Ð½º ½Ã½ºÅÛ ÄÝÀ» °¡·Îä¾î ÀÌ Æ¯º°ÇÑ ¹öÀüÀÇ ¶óÀ̺귯¸®·Î ¹Ù²Ù°Ô Çϴµ¥ ¾²ÀδÙ(°ÅÀÇ ¸ðµç ±â°è¿¡¼ ÀÌ·± Àüȯ¿¡ µå´Â ºñ¿ëÀº ¾ÆÁÖ ÀÛ´Ù. ÀÌ´Â Mach¿¡¼ ¾ÆÁÖ ÃÖÀûÈµÈ ±æÀÌ´Ù. 386¿¡¼´Â ¾à 20°³ÀÇ ¸í·ÉÀε¥, ÀÌ´Â °£´ÜÇÑ ÇÁ·Î½ÃÀú Äݺ¸´Ù Á¶±Ý ³ª»Ü »ÓÀÌ´Ù).
½ÅÈ£ ¸¶½ºÅ©¿Í º¤ÅÍ(signal masks and vectors)¿Í °°Àº À¯´Ð½ºÀÇ ¸¹Àº Ư¡Àº ¶óÀ̺귯¸®¿¡ ÀÇÇØ ¿ÏÀüÈ÷ ´Ù·ç¾îÁø´Ù. ÀÌ´Â ±×·± Ư¡À» À¯´Ð½º¿¡¼º¸´Ù ¾ÆÁÖ ½Î°Ô ±¸ÇöÇϵµ·Ï ÇÑ´Ù. ´Ù¸¥ ºñ¿ëÀÌ ¸¹ÀÌ µå´Â ¹æ¹ýÀ» ã¾Æ³»´À´Ï ÀÓ°èÁö¿ª(critical sections)À» º¸È£Çϱâ À§ÇØ sigblockÀ» È®ÀåÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ ÇÕ¸®ÀûÀÌ´Ù.
ÃÖÀû ¼º´ÉÀ» ³»±â À§ÇØ Ãʰí¼Ó I/O¸¦ À§ÇØ Á¦°øµÇ´Â HurdÀÇ Æ¯Â¡À» ÀÌ¿ëÇÏ´Â ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù. ´ëºÎºÐÀÇ ÇÁ·ÎÅäÄÝ¿¡¼ ÀÌ´Â ¾à°£ÀÇ »ý°¢À» ÇÊ¿ä·Î ÇÏÁö¸¸ ¸¹Àº ½Ã°£À» µéÀÌÁö´Â ¾Ê´Â´Ù. Hurd´Â TCP/IPÇÁ·ÎÅäÄÝÀ» µÉ ¼ö ÀÖ´Â ´ë·Î È¿À²ÀûÀ¸·Î ¿î¿µÇÏ°Ô µÉ °ÍÀÌ´Ù.
Hurd¼³°èÀÇ À¯¿¬¼ºÀÇ Èï¹ÌÀÖ´Â ¿¹Á¦·Î BSD¿¡¼ ¼º´ÉÀ» À§ÇØ È®ÀåÇÏ¿© ¾²ÀÌ´Â IPÆ®·¹ÀÏ·¯ÀÇ °æ¿ì¸¦ »ý°¢ÇØ º¸ÀÚ. Hurd´Â Æ®·¹ÀÏ·¯¸¦ º¸³»°í ¹Þ°ÔµÉ °ÍÀÌÁö¸¸, ÀÌ·¸°Ô ÇÏ¿© ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡Àº °ÅÀÇ ¾ø´Âµ¥, º¹»çµÉ µ¥ÀÌÅÍÀÇ ¿ä±¸°¡ ¾ø°í ÆäÀÌÁö Á¤·ÄµÈ µ¥ÀÌÅÍÀÇ º¹»ç¸¦ ÇÇÇÏ´Â °ÍÀº ºÎÀûÀýÇϱ⠶§¹®ÀÌ´Ù.
$Id: index.shtml,v 1.1.1.1 2001/05/23 03:10:44 cjh Exp $
[ Home | Freetime works | FreeBSD | KFUG ]