1. ¼­¹®

¸µÅ·(linking)Àº ¿©·¯°¡Áö ÄÚµå¿Í µ¥ÀÌÅ͸¦ ¹­¾î ¸Þ¸ð¸®·Î ·ÎµåµÉ ¼ö ÀÖ´Â ÇϳªÀÇ ½ÇÇà°¡´ÉÇÑ ÆÄÀÏÀ» ¸¸µå´Â ÀÛ¾÷ÀÌ´Ù. ¸µÅ·Àº ÄÄÆÄÀÏ-ŸÀÓ¶§ ÇàÇØÁú ¼öµµ ÀÖ°í, ·Îµå-ŸÀÓ(·Î´õ¿¡ ÀÇÇØ), ȤÀº ·±-ŸÀÓ(ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ÀÇÇØ)¶§µµ ÇàÇØÁú ¼ö ÀÖ´Ù. 1940³â´ë¿¡´Â ÀÌ·¯ÇÑ ¸µÅ·ÀÛ¾÷À» »ç¶÷ÀÌ ¼Õ¼ö ÇÏ¿´´Ù. ÇöÀç¿¡´Â °øÀ¯ ¶óÀ̺귯¸®(shared library)µéÀ» µ¿ÀûÀ¸·Î ¸µÅ·½ÃÄÑÁÖ´Â µîÀÇ º¹ÀâÇÑ ÀÏÀ» ÇÒ ¼ö ÀÖ´Â ¸µÄ¿(linker)¶ó´Â °ÍÀÌ ÀÖ´Ù. ÀÌ ¹®¼­´Â ¸µÅ·ÀÇ ¸ðµç °úÁ¤, ¿¹·Î µéÀÚ¸é Àç¹èÄ¡(relocation)¿Í ½Éº¼ ÇØ¼®(symbol resolution)ºÎÅÍ À§Ä¡ µ¶¸³Àû(position independent)ÀÎ °øÀ¯ ¶óÀ̺귯¸® Áö¿øµî¿¡ ´ëÇØ ´Ù·é´Ù.¹®Á¦¸¦ °£´ÜÇϰí ÀÌÇØÇϱ⠽±°Ô ÇϱâÀ§ÇØ, ³ª´Â ÀÌ ¹®¼­¸¦ x86 ¾ÆÅ°ÅØÃ³¿¡ ±â¹ÝÇÑ ¸®´ª½º¿Í GNU ÄÄÆÄÀÏ·¯(GCC)¿Í ¸µÄ¿(ld)¿¡ ±â¹ÝÇÑ ELF(executable and linking format) ½ÇÇàÆÄÀÏ¿¡ ÃÊÁ¡À» ¸ÂÃß¾ú´Ù. ±×·¯³ª, ±âº»ÀûÀÎ ¸µÅ·ÀÇ ¾ÆÀ̵ð¾î´Â ¿î¿µÃ¼Á¦, ÇÁ·Î¼¼¼­ ¶Ç´Â ¿ÀºêÁ§Æ® ÆÄÀÏÀÇ Çü½Ä¿¡ ¹«°üÇÏ°Ô Àû¿ëµÉ ¼ö ÀÖ´Ù.

1.1. ÀúÀÛ±Ç Á¤º¸

ÀÌ ¹®¼­´Â 2002³â 11¿ù 26ÀÏ, Linux Journal¿¡ Sandeep Grover¾¾°¡ Linkers and Loaders¶ó´Â Á¦¸ñÀ¸·Î ±âÀçÇϽбÛÀÔ´Ï´Ù. ¿ø ÀúÀÚ¿¡°Ô ¸ÞÀÏ·Î ¿¬¶ôÇÏ¿© ½Ç·È´ø ÀâÁöÀÇ À̸§°ú ¿øÀúÀÚ°¡ ´©±ºÁö¸¦ ¹àÈ÷¸é ¹ø¿ªÀ» ÇØµµ ÁÁ´Ù´Â µ¿ÀǸ¦ ¾ò¾ú½À´Ï´Ù.

1.2. Çǵå¹é

ÀÌ ¹®¼­¿¡ ´ëÇÑ ¹ßÀüÀûÀÎ Á¦¾ÈÀ̳ª ¼öÁ¤»çÇ×, ¹®Á¦Á¡ µî¿¡ ´ëÇÑ Çǵå¹éÀº ¾ðÁ¦µçÁö ȯ¿µÇÕ´Ï´Ù. ¸ÞÀÏÀ» º¸³» ÁֽʽÿÀ.