part 1
Ä¿³Î ¿ÀºêÁ§Æ®°¡ ¹«¾ùÀÎÁö¿¡ ´ëÇÑ ¼³¸íÀ» ¾ÆÁÖ ½±°Ô ¼³¸íÇÏ¿© ±âÃÊÀûÀÎ Áö½ÄÀ» Á¦°øÇÏ°í ÀÌ Ä¿³Î ¿ÀºêÁ§Æ®¸¦ Á÷Á¢ ¿¹Á¦¸¦ ÅëÇØ Çڵ鸵ÇÏ´Â ¹æ¹ýÀ» ÀÚ¼¼È÷ ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ Ã¥ÀÇ Àü¹Ý¿¡¼ ´Ù·ê ³»¿ëÀÇ °¡Àå ±âÃÊ°¡ µÇ´Â ³»¿ëÀ» PART I¿¡¼ ´Ù·ç°Ô µË´Ï´Ù.
part 2
PART II¿¡¼´Â ½ÇÇàµÇ°í ÀÖ´Â ¸ðµç ¾ÖÇø®ÄÉÀ̼ÇÀ» ½Ã½ºÅÛÀÌ ¾î¶»°Ô °ü¸®ÇÏ´ÂÁö¿¡ ´ëÇؼ ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ÇÁ·Î¼¼½º°¡ ¹«¾ùÀÎÁö ±×¸®°í ±× ÇÁ·Î¼¼½º¸¦ °ü¸®Çϱâ À§ÇØ ½Ã½ºÅÛÀÌ ¾î¶»°Ô ÇÁ·Î¼¼½º Ä¿³Î ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÏ´ÂÁö¿¡ ´ëÇؼ ±×¸®°í ½ÇÁ¦·Î Ä¿³Î ¿ÀºêÁ§Æ®¸¦ ÀÌ¿ëÇØ ¾î¶»°Ô ÇÁ·Î¼¼½º¸¦ Á¶ÀÛÇÏ´ÂÁö¿¡ ´ëÇؼ ±¸Ã¼ÀûÀÎ ¿¹Á¦¸¦ ÅëÇØ ¹è¿ï ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ »õ·Î¿î Job Ä¿³Î ¿ÀºêÁ§Æ®¸¦ Á¦°øÇÏ´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì 2000¿¡ ´ëÇؼ ÀÚ¼¼È÷ »ìÆ캸°í Job Ä¿³Î ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÒ ¶§ ¾î¶² ÀåÁ¡ÀÌ ÀÖ´ÂÁö ±¸Ã¼ÀûÀ¸·Î ¾Ë ¼ö ÀÖ°í Á÷Á¢ ±¸ÇöÇغ¸°Ô µË´Ï´Ù. ±×¸®°í ½º·¹µåÀÇ ±âÃÊÀûÀÎ ³»¿ëºÎÅÍ °í±Þ ±â¼úÀ» ¹è¿ì°Ô µË´Ï´Ù. ÇÁ·Î¼¼½º¿Í ½º·¹µå°¡ ¾î¶»°Ô ´Ù¸¥Áö ±×¸®°í °¢°¢ÀÇ ¿ªÇÒ¿¡ ´ëÇؼ ¼³¸íÇÏ°í, ¶ÇÇÑ ½Ã½ºÅÛÀÌ ½º·¹µå¸¦ °ü¸®Çϱâ À§Çؼ ½º·¹µå Ä¿³Î ¿ÀºêÁ§Æ®¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö ¼³¸íÇÏ°í, ½º·¹µå Ä¿³Î ¿ÀºêÁ§Æ®ÀÇ °¢ ¼Ó¼ºÀ» »ìÆ캸°í ÀÌ °¢ ¼Ó¼ºÀ» º¯°æÇÏ°í, ÁúÀÇÇϱâ À§Çؼ ¸¹Àº ÇÔ¼ö Á÷Á¢ ´Ù·ç¾î º¸°Ô µË´Ï´Ù.
±×¸®°í ½º·¹µåÀÇ ¾ÆÁÖ ÀÚ¼¼ÇÑ ºÎºÐ±îÁö ´Ù·ç°Ô µÇ´Âµ¥ ½º·¹µåÀÇ ½ºÄÉÁÙ¸µ, ¿ì¼±¼øÀ§, ģȷÂ(Affinity), »ç¿ëÀÚ ¸ðµå¿¡¼ ½º·¹µå µ¿±âÈ, Ä¿³Î ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÑ ½º·¹µå µ¿±âÈ, ½º·¹µå Ç®¸µ¿¡ À̸£±â±îÁö ½º·¹µå¿¡ ´ëÇÑ ¸ðµç ³»¿ëÀ» Á÷Á¢ ¿¹Á¦¸¦ ÀÛ¼ºÇØ º¸¸é¼ ±¸ÇöÇÒ ¼ö ÀÖ´Â ±â¼úÀ» ½ÀµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ³¡À¸·Î ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â À©µµ¿ì¿¡ Á¸ÀçÇÏ´Â UNIX ¼¹ö ¾ÖÇø®ÄÉÀ̼ǰúÀÇ ¿¬°áÀ» ½±°Ô Çϱâ À§Çؼ À©µµ¿ì¿¡ Çǹö¸¦ Ãß°¡ÇÏ¿´´Âµ¥ ÀÌ Çǹö(Fibers)¿¡ ´ëÇÑ ³»¿ëÀ» ¼³¸íÇÕ´Ï´Ù.
part 3
¿î¿µ üÁ¦°¡ »ç¿ëÇÏ´Â ¸Þ¸ð¸® ±¸Á¶´Â ¿î¿µ üÁ¦°¡ ¾î¶°ÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿Çϴ°¡¸¦ ÀÌÇØÇϱâ À§ÇÑ °¡Àå Áß¿äÇÑ ´Ü¼°¡ µË´Ï´Ù. »õ·Î¿î ¿î¿µ üÁ¦¸¦ Á¢ÇÒ ¶§ º¸Åë ´ÙÀ½°ú °°Àº ¹®Á¦µéÀ» °í·ÁÇÏ°Ô µË´Ï´Ù. µÎ ¾ÖÇø®ÄÉÀÌ¼Ç °£ÀÇ µ¥ÀÌÅÍ °øÀ¯ ¹æ¹ý, ƯÁ¤ Á¤º¸¸¦ ¾î´À À§Ä¡¿¡ ÀúÀå´Â°¡¿¡ ´ëÇÑ Á¤º¸, ÇÁ·Î±×·¥À» ´õ È¿À²ÀûÀ¸·Î µ¿ÀÛÇϵµ·Ï Çϱâ À§ÇÑ ¹æ¹ý µîÀÔ´Ï´Ù. À§¿Í °°Àº ¹®Á¦µéÀ» ÇØ°áÇϱâ À§Çؼ´Â ¿î¿µ üÁ¦°¡ ¾î¶°ÇÑ ¹æ¹ýÀ¸·Î ¸Þ¸ð¸®¸¦ °ü¸®Çϴ°¡¸¦ È®½ÇÈ÷ ¼÷ÁöÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.
PART III¿¡¼´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì ½Ã½ºÅÛ¿¡¼ »ç¿ëµÇ´Â ¸Þ¸ð¸® ±¸Á¶¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ¸Þ¸ð¸® ÁÖ¼Ò°ø°£¿¡ ´ëÇÑ ±âÃÊÀûÀÎ ³»¿ë¿¡¼ºÎÅÍ ½Ã½ºÅÛÀÌ ¾î¶»°Ô °¡»ó ¸Þ¸ð¸®¸¦ °ü¸®ÇÏ´ÂÁö, ÇÁ·Î¼¼½º°¡ ÀڽŸ¸ÀÇ ÁÖ¼Ò°ø°£À» ¾î¶»°Ô ÇÒ´ç ¹Þ´ÂÁö, ÇÁ·Î¼¼½º ÁÖ¼Ò °ø°£ÀÌ ¾î¶»°Ô ±¸¼ºµÇ¾î ÀÖ´ÂÁö¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÕ´Ï´Ù. ¶ÇÇÑ ½Ã½ºÅÛÀÇ ¸Þ¸ð¸® °ü¸®¿Í ÇÁ·Î¼¼½ºÀÇ °¡»ó ÁÖ¼Ò°ø°£¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÏ´Â ¸î¸î À©µµ¿ì ÇÔ¼ö¸¦ Á÷Á¢ »ç¿ëÇغ¸¸ç ¸ðµç ÀÌ·ÐÀûÀÎ ³»¿ëÀ» È®ÀÎÇÏ°Ô µË´Ï´Ù.
½º·¹µå°¡ »ý¼ºµÉ ¶§¸¶´Ù ½Ã½ºÅÛÀº ½º·¹µå ½ºÅÿ¡ ´ëÇÑ ÁÖ¼Ò °ø°£ÀÇ ¿µ¿ªÀ» È®º¸ÇÏ°Ô µÇ´Âµ¥ ÀÌ ½º·¹µå ½ºÅÿ¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ë ¶ÇÇÑ ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÆÄÀÏÀ» ¿ÀÇÂÇÏ°í, Àаí, ´Ý¾Æ¾ß ÇÒ ¶§ ¶Ç´Â ÆÄÀÏÀ» ¿ÀÇÂÇÏ°í ÆÄÀÏÀÇ ´Ù¸¥ ºÎºÐÀ¸·ÎºÎÅÍ Àаųª ¾²±â À§ÇØ ¹öÆÛ¸µ ¾Ë°í¸®ÁòÀ» »ç¿ëÇØ¾ß ÇÒ ¶§°¡ ÀÖ½À´Ï´Ù. À̸¦ À§ÇØ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì´Â ¸Þ¸ð¸® ¸ÅÇÎ ÆÄÀÏÀ̶ó´Â ±â´ÉÀ» Á¦°øÇϴµ¥ ÀÌ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¼³¸íÇÕ´Ï´Ù. ³¡À¸·Î Èü(Heap)¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¼³¸íÇÏ°Ô µÇ´Âµ¥ Á÷Á¢ ¿¹Á¦¸¦ ÅëÇØ Àå´ÜÁ¡À» »ìÆ캸°Ô µË´Ï´Ù.
part 4
PART IV¿¡¼´Â DLL(Dynamic Link Library)¿¡ ´ëÇÑ ±âÃÊÀûÀÎ ³»¿ëºÎÅÍ °í±Þ ³»¿ë±îÁö ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. DLLÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ìÀÇ Çٽɱâ¼úÀÔ´Ï´Ù. À©µµ¿ì APIÀÇ ¸ðµç ÇÔ¼ö´Â DLL¿¡ Æ÷ÇÔ µÇ¾îÀÖ½À´Ï´Ù. DLLÀÇ ±âÃÊÀûÀÎ ³»¿ëµé°ú °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â ¾Ï½ÃÀû ¸µÅ© ±â¹ýµéÀ» ¼³¸íÇÏ°í, DLLÀÇ ¸ðµç Àü¹ÝÀûÀÎ ±â¼úµéÀ» ´Ù·ç°í ÀÖ½À´Ï´Ù. ƯÈ÷ ÀüüÀÇ ½Ã½ºÅÛÀÇ ¼º´ÉÀ» Çâ»ó½ÃÅ°´Â Áß¿äÇÑ ±â¼úÀÎ Àç¹èÄ¡ ¸ðµâ(Rebasing Module)°ú °áÇÕ ¸ðµâ(Binding Module)À» ½Éµµ ÀÖ°Ô ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ¶ÇÇÑ ½º·¹µå ·ÎÄà ½ºÅ丮Áö, DLL ÀÎÁ§¼Ç°ú API ÈÄÅ· µî °í±Þ ±â¼úÀ» ¼³¸íÇÕ´Ï´Ù.
part 5
PART V¿¡¼´Â Áß´Ü(Terminate) Çڵ鷯, ¿¹¿Ü Çڵ鷯¿Í ¼ÒÇÁÆ®¿þ¾î ¿¹¿Ü¿¡ ´ëÇؼ ÀÚ¼¼È÷ ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ½ÇÁ¦ ¿¹Á¦¸¦ ÅëÇؼ ¸ðµç »óȲÀ» Á÷Á¢ ±¸ÇöÇØ º¸¸é¼ ½±°Ô ÀÌÇظ¦ µ½µµ·Ï ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. |