ÃÖÀûÈ­
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

ÃÖÀûÈ­

10. ÃÖÀûÈ­

ÃÖÀûÈ­¶õ ¿©·¯ºÐÀÌ ¸¸µç ¾ÖÇø®ÄÉÀ̼ÇÀ» Á»´õ È¿°úÀûÀ¸·Î ½ÇÇàµÇ°Ô²û ¸¸µé±â À§ÇÑ ÀÏ·ÃÀÇ °úÁ¤µéÀ» ¸»ÇÑ´Ù. ¿©·¯ºÐÀº ¼Óµµ, ¸Þ¸ð¸® »ç¿ë°ø°£, µð½ºÅ© »ç¿ë°ø°£µî ¸¹Àº ºÎºÐ¿¡ À־ Á» ´õ È¿À²ÀûÀÎ »ç¿ëÀÌ °¡´ÉÇϵµ·Ï ÃÖÀûÈ­ ½Ãų ¼ö ÀÖ´Ù. À̹ø Àå¿¡¼­´Â ¼Óµµ¿¡ ÁßÁ¡À» µÐ ÃÖÀûÈ­ ¹æ¾È¿¡ ´ëÇØ¼­ Åä·ÐÇØ º¸µµ·Ï ÇϰڴÙ.

10.1. ÃÖÀûÈ­°¡ ÇÊ¿äÇÑ ½ÃÁ¡

¸ðµç °æ¿ì¿¡ ¹Ýµå½Ã ÃÖÀûÈ­°¡ ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï´Ù. ¿Ö³ÄÇÏ¸é ´õ ³ªÀº ÃÖÀûÈ­´Â ±×¸¸Å­ º¹ÀâÇÑ °úÁ¤À» ÇÊ¿ä·Î Çϱ⠶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ º¹ÀâÇÑ °úÁ¤Àº ÇÊ¿¬ÀûÀ¸·Î ÄÚµåÀÇ ¾çÀ» ´Ã¸®°í, Äڵ带 ÀÌÇØÇϴµ¥ Àü¹®¼ºÀ» ÇÊ¿äÇϵµ·Ï ¸¸µç´Ù. ³ôÀº¼öÁØÀ¸·Î ÃÖÀûÈ­µÈ ÄÚµå´Â º¸Åë, ÀÌÇØÇÏ°í µð¹ö±ëÇϱâ Èûµé¾î Áú ¼ö ÀÖ´Ù. °á±¹ ÇÁ·ÎÁ§Æ®ÀÇ ¿Ï·á½Ã°£°ú À¯Áöº¸¼ö ½Ã°£À» Áõ°¡½ÃŰ´Â ¿äÀÎÀÌ µÈ´Ù. ±×·¯¹Ç·Î ²À ÇÊ¿äÇÑ ºÎºÐ¿¡ ´ëÇØ¼­ ÃÖÀûÈ­¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù.

±×·¯³ª ÇÁ·Î±×·¥ÀÇ ¾î´ÀºÎºÐ¿¡¼­ ¼Ó·ÂÀ» ÀúÇϽÃŰ´Â º´¸ñÇö»óÀÌ ¹ß»ýÇÒÁö¸¦ ¿¹ÃøÇÏ´Â °ÍÀº °æÇè ¸¹Àº ÇÁ·Î±×·¡¸Ó¶ó°í ÇÒÁö¶óµµ ¿¹ÃøÇϱⰡ ½±Áö ¾Ê´Ù. ½ÉÁö¾î ÇÁ·Î±×·¡¸Ó¸¦ Á÷Á¢ ½ÇÇà ½ÃÄѺ¸´õ¶óµµ, º´¸ñÇö»óÀÌ ¹ß»ýÇÏ´Â ÄÚµåÀÇ À§Ä¡¸¦ ã¾Æ³½´Ù´Â °ÍÀº °áÄÚ ½¬¿îÀÏÀÌ ¾Æ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÇÁ·Î±×·¥ÀÇ ¼Óµµ°¡ ÀúÇϵǴ ¿øÀÎÀº º´¸ñ±¸°£ÀÇ Äڵ忡 ÀÇÇѹٰ¡ ¸¹À¸¹Ç·Î, º´¸ñÀ» ÀÏÀ¸Å°´Â Äڵ带 ã¾Æ³»´Â °ÍÀº ¸Å¿ì Áß¿äÇÑÀÏÀ̸ç, ½ÇÁ¦ ¼Óµµ°ü·Ã ÃÖÀûÈ­´Â º´¸ñ±¸°£À» ã¾Æ³»´Â ÀÏÀÌ °¡Àå Áß¿äÇÏ´Ù.

´ç½ÅÀÌ ÇÁ·Î±×·¥À» °³¹ßÇÒ¶§, ´ç½ÅÀº ´ÙÀ½ÀÇ ¿øÄ¢¿¡ µû¶ó¼­ ÇÁ·Î±×·¥À» °³¹ßÇϵµ·Ï ³ë·ÂÇØ¾ß ÇÑ´Ù.

  • ¸ðµç °ÍÀ» ¹®¼­È­ ÇÑ´Ù.

  • ÀÛ¾÷ÀÇ °úÁ¤¿ª½Ã ¹®¼­È­ ÇÑ´Ù.

  • ÄÚµå´Â ¸ðµâÈ­½Ã۰í, ½±°Ô º¸°í, ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºÇÑ´Ù.

¹®¼­È­°¡ ±âº»ÁßÀÇ ±âº»À̶ó´Â °ÍÀº ¸»ÇÒÇʿ䵵 ¾øÀ¸¸ç, ƯÈ÷³ª ±×·ì´ÜÀ§ÀÇ °³¹ßÀ» ÇØ¾ßÇÑ´Ù¸é, ±× Á߿伺Àº ¹è°¡ µÈ´Ù. ÇÁ·Î±×·¥ÀÇ ÇÔ¼öÈ­ ¿ª½Ã ±âº»ÀÌ´Ù. ÀÌÂëµÇ¸é À§ÀÇ ¸ñ·ÏÀÇ ³»¿ëµéÀÌ Áß¿äÇÑ°Ç ¾Ë°Ú´Âµ¥, ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼Óµµ¿Í ¹«½¼ °ü·ÃÀÌ ÀÖÁö ? Çϰí ÀǾÆÇØ ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÏ´Ü ÃÖÀûÈ­´Â Ãʱ⠰³¹ß´Ü°è¿¡¼­´Â ´ÙÀ½°ú °°Àº ÀÌÀ¯ ¶§¹®¿¡ ±×¸® ÇÊ¿äÇÏÁö ¾ÊÀº ÀÛ¾÷ÀÌ´Ù.

  • ¾à°£ÀÇ ¼ÓµµÀÇ ¹®Á¦´Â ´õ ÁÁÀº Çϵå¿þ¾î·Î ÇØ°áÇÒ ¼ö ÀÖ´Ù. Á¾Á¾ ´õ ÁÁÀº Çϵå¿þ¾î¸¦ ±¸ÀÔÇϴ°Ô, ÁÁÀº ÇÁ·Î±×·¡¸Ó¸¦ °í¿ëÇÏ´Â °Í º¸´Ù Àú·ÅÇÏ´Ù.

  • óÀ½ ¸¸µé¾îÁø ÇÁ·Î±×·¥Àº ¿ä±¸»çÇ×ÀÇ º¯°æ, »õ·Î¿î ±â¼ú µµÀÔ, ¾Ë°í¸®Áò°ú ÇÁ·Î¼¼½º º¯°æ, ÇÁ·Î±×·¡¸ÓÀÇ ´É·ÂÇâ»ó µîÀÇ ÀÌÀ¯·Î 80%Á¤µµ ´Ù½Ã ¸¸µé¾î Áø´Ù. Áï óÀ½ ±¸»óÇѰͰú´Â ÀüÇô ´Ù¸¥ ÇÁ·Î±×·¥ÀÌ µÉ °¡´É¼ºÀÌ ¸¹´Ù. º¯°æµÉ °¡´É¼ºÀÌ ¸¹Àº Äڵ带 ±×¶§ ±×¶§ ÃÖÀûÈ­ ÇÏ´Â°Ç ½Ã°£³¶ºñ´Ù.

  • ¼Óµµ¹®Á¦´Â ÄÚµåÀÇ ´ÜÁö ¸î±ºµ¥ Áö¿ªÀûÀÎ °÷¿¡¼­ ¹ß»ýÇÑ´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦? ÇÁ·Î±×·¥À» ¿ÏÀüÈ÷ ¸¸µé¾î¼­ Å×½ºÆ®Çϱâ Àü¿¡ ã¾Æ³½´Ù´Â °Ç ¸Å¿ì ¾î·Á¿î ÀÏÀÌ´Ù.

³ª´Â ÀÌÀü¿¡ À¥±â¹ÝÀÇ ÀüÀÚ»ó°Å·¡ ÇÁ·ÎÁ§Æ®¿¡ ÅõÀÔµÈ ÀÏÀÌ ÀÖ¾úÀ¸¸ç, Á¤È®ÇÏ°í ±ò²û ÇÏ°Ô ÀÛµ¿Çϴµ¥ ÇÁ·ÎÁ§Æ®ÀÇ ÃÐÁ¡À» ¸ÂÃß°í ÀÛ¾÷À» ÁøÇà Çß¾ú´Ù. ´ç½Ã °°ÀÌ ÀÏÇÏ´ø µ¿·á´Â À¥ ÆäÀÌÁö°¡ ·ÎµùµÈ ÈÄ ÀÏÀ» ¸¶Ä¡°í Á¾·áµÉ¶§±îÁö ¹«·Á 12Ãʳª °É¸°´Ù´Â °É·Î ¹«Ã´À̳ª °í¹ÎÀ» Çϰí ÀÖ¾ú´Ù(¸ðµç À¥ÆäÀÌÁö´Â 1Ãʾȿ¡ ÇÊ¿äÇÑ ÀÛ¾÷À» ¸¶Ä¡°í °á°ú¸¦ Ãâ·ÂÇØ¾ß Çß¾ú´Ù). ±×¶§ ³ª´Â ¼Óµµ¿¡ ½Å°æ¾²Áö ¸»°í Á¤È®È÷ ÀÛµ¿Çϵµ·Ï ¸¸µå´Âµ¥ ½Å°æ¾²ÀÚ°í ÇßÀ¸¸ç, ÃÖÀûÈ­´Â °¡Àå ³ªÁß ¿ì¼±¼øÀ§·Î ÇÏÀÚ°í ±Ç°íÇϰí, ±×·¸°Ô ÀÛ¾÷À» Çϵµ·Ï Çß´Ù. ¸¶Ä§³» 3´Þ¿¡ °ÉÃļ­ ¿Ïº®ÇÏ°Ô ÀÛµ¿µÇ´Â Äڵ带 ¸¸µé¾ú°í, 3ÀÏ¿¡ °ÅÃÄ º´¸ñÇö»óÀÌ ÀϾ´Â ºÎºÐÀ» ã¾Æ¼­ ¼Óµµ¹®Á¦¸¦ ÇØ°áÇß´Ù. Á¤È®È÷ ÀÛµ¿Çϵµ·Ï ÇÏ´Â ±â´É±¸Çö¿¡ ÃÐÁ¡À» ¸ÂÃãÀ¸·Î½á, Á¤È®¼º°ú ¼º´É ¸ðµÎ¸¦ ¸¸Á·½ÃŰ´Â ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÏ°Ô µÇ¾ú´Ù.

10.2. ¾îµð¸¦ ÃÖÀûÈ­ ÇÒ °ÍÀΰ¡

ÃÖÀûÈ­ÇØ¾ß µÉ ºÎºÐÀº ¸¹´Ù. ±×·¯³ª ½Ã°£°ú ´É·ÂÀº ÇÑÁ¤µÇ¾î ÀÖÀ¸¹Ç·Î, ÃÖÀûÈ­¸¦ ÅëÇØ¼­ ¸¹Àº À̵æÀ» ¾òÀ» ¼ö ÀÖ´Â ºÎºÐÀ» ¼±º°Çس»¾ß ÇÑ´Ù. ÃÖÀûÈ­ÇÒ ºÎºÐÀ» ã¾Æ³»´Â °¡Àå ÁÁÀº ¹æ¹ýÀº profiler¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. profiler´Â °¢ ÇÔ¼öº°·Î ¾ó¸¶¸¸Å­ÀÇ ½Ã°£À» ¼ÒºñÇÏ´ÂÁö Åë°è¸¦ ³»´Â ÇÁ·Î±×·¥ÀÌ´Ù. GNU/Linux ȯ°æ¿¡¼­´Â grpof¶ó´Â Ç¥ÁØ profile ÇÁ·Î±×·¥À» Á¦°øÇÑ´Ù. ÇÁ·Î±×·¡¸Ó´Â profilerÀÇ °á°ú¸¦ º¸°í, ¾î´À ÇÔ¼ö°¡ °¡Àå ¸¹Àº ½Ã°£À» ¼ÒºñÇß´ÂÁö¸¦ È®ÀÎÇØ¼­, ÇÔ¼ö´ÜÀ§·Î ÃÖÀûÈ­ ½ÃÄѾßÇÒ ºÎºÐÀ» °áÁ¤ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. profilerÀÇ »ç¿ë¹æ¹ýÀº ÀÌ ¹®¼­¿¡¼­ ³í¿Ü·Î ÇϰڴÙ. profiler¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº gprofile »ç¿ë¹®¼­¸¦ Âü°íÇϱ⠹ٶõ´Ù.

profile°á°ú ƯÁ¤ÇÔ¼ö°¡ ´ÜÁö 1%Á¤µµÀÇ ½Ã°£¸¸À» ¼ÒºñÇϰí ÀÖ´Ù¸é, ÀÌ ÇÔ¼ö¸¦ ÃÖÀûÈ­ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ±×·¯³ª ¸¸¾à 20%Á¤µµÀÇ ½Ã°£À» ¼ÒºñÇÏ´Â ÇÔ¼ö°¡ ÀÖ´Ù¸é, ÀÌ ÇÔ¼ö¿¡ ´ëÇØ¼­´Â ÁÖ¸ñÇÒ Çʿ䰡 ÀÖ´Ù. ¼ÒºñÇÏ´Â Á¤µµ°¡ Å« ÇÔ¼öÀÏ ¼ö·Ï ¾à°£ÀÇ ÃÖÀûÈ­ ¸¸À¸·Î Å« È¿°ú¸¦ ¾òÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù. 6½Ã°£ÀÇ ³ë·ÂÀ¸·Î 1%ÀÇ ÇÔ¼ö¸¦ 0.9%·Î ÃÖÀûÈ­ ÇÏ´Â °Í°ú 20%ÀÇ ÇÔ¼ö¸¦ 5%ÃÖÀûÈ­ÇÏ´Â °Í, ¾î´À°Ô È¿À²ÀûÀÎÁö´Â ¸»ÇÒ Çʿ䵵 ¾ø´Ù.

ÃÖÀûÈ­¿¡´Â Áö¿ªÃÖÀûÈ­¿Í Àü¿ªÃÖÀûÈ­ µÎ°³ÀÇ Ä¿´Ù¶õ ¿µ¿ªÀÌ ÀÖ´Ù. Áö¿ªÃÖÀûÈ­´Â ÁÖ·Î Çϵå¿þ¾î Ư¼º°ú ÇÁ·Î±×·¥ Ư¼º¿¡ °ü·ÃµÈ °ÍµéÀÌ´Ù. Àü¿ªÃÖÀûÈ­´Â ÇÁ·Î±×·¥ÀÇ ±¸Á¶ÀûÀÎ °Íµé°ú °ü°èÀÖ´Ù. ¿¹¸¦ µé¾î ÁöÇÏö ³ë¼±¿¡¼­ °¢ ¿ª°£ ÃÖ´Ü °Å¸®¸¦ È®º¸Çϱâ À§ÇÑ ³ë¼±À»?ã¾ÆÁÖ´Â ÇÔ¼ö°¡ ÀÖ´Ù¸é, ´Ù¾çÇÑ ¾Ë°í¸®ÁòÀ» Äڵ忡 Àû¿ëÇÔÀ¸·Î½á ºü¸¥½Ã°£¾È¿¡ ÃִܰŸ®¸¦ ã¾ÆÁÖ´Â ÇÔ¼öÀÇ ÀÛ¼ºÀÌ °¡´ÉÇÒ °ÍÀÌ´Ù.

10.3. Áö¿ª ÃÖÀûÈ­ ¹æ¾È

¿©±â¿¡¼­´Â Áö¿ª ÃÖÀûÈ­¸¦ À§Çؼ­ ¾Ë·ÁÁø ¹æ¹ýÁß ¸î °¡Áö¸¦ ¼Ò°³Çϵµ·Ï ÇϰڴÙ. °í¼öÁØ ¾ð¾î¸¦ »ç¿ëÇÒ °æ¿ì¿¡´Â º¸Åë ÄÄÆÄÀÏ·¯ÀÇ ÃÖÀûÈ­ °ü·Ã ¿É¼ÇÀ» ÀÌ¿ëÇÔÀ¸·Î½á ÀÚµ¿ÀûÀ¸·Î ÃÖÀûÈ­µÈ Äڵ带 ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù.

¹Ì¸®°è»êµÈ °ªÀ» ³Ñ°Ü¶ó

ÇÔ¼ö´Â ÀϹÝÀûÀ¸·Î ÀԷ°ú Ãâ·ÂÀÌ °¡´ÉÇÑ µ¥ÀÌÅͰ¹¼ö¿¡ Á¦ÇÑÀ» °¡Áö°í ÀÖ´Ù. ±×·¯¹Ç·Î °¡´ÉÇÑÇÑ ¾î¶² ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡, ÇÊ¿äÇÑ °è»êÀ» ¸ðµÎ ÇÑ´ÙÀ½ ÃÖ¼ÒÇÑÀÇ °£´ÜÇÑ Á¤º¸¸¸À» ÇÔ¼ö¿¡°Ô ³Ñ°ÜÁÙ Çʿ䰡 ÀÖ´Ù. ÇÔ¼ö´Â °¡´ÉÇÑÇÑ °¡º±°Ô ¸¸µé¾î¾ß ÇÑ´Ù. ¾µµ¥¾øÀÌ ´Ù·®ÀÇ µ¥ÀÌÅ͸¦ ³Ñ°Ü¼­, ÇÔ¼ö°¡ ¸¹ÀºÀÏÀ» ó¸®Çϵµ·Ï ÇÏ´Â Ä¿´Ù¶õ ÇÔ¼öÀÇ »ý¼ºÀº Áö¾çÇϵµ·Ï ÇÑ´Ù.

°á°ú °ªÀ» ±â¾ïÇ϶ó

ÇÔ¼ö¸¦ È£ÃâÇØ¼­ ¾î¶² °è»êÀ» ¼öÇàÇÏ´Â µ¥¿¡´Â ¸¹Àº ºñ¿ëÀÌ ¼ÒºñµÈ´Ù. ±×·¯¹Ç·Î °¡´ÉÇÑ ÇÔ¼ö È£ÃâÀ» ÁÙ¿©¾ßÇÒ Çʿ䰡 ÀÖ´Ù. ÀÚÁÖ »ç¿ëµÉ ¼ö ÀÖ´Â °è»êµÈ µ¥ÀÌÅÍ´Â ¸Þ¸ð¸®¿¡ ÀúÀåÇÑ ÈÄ, ´Ù¸¥ ÇÊ¿äÇÑ °÷¿¡¼­ Àç»ç¿ëÇϵµ·Ï Çϸé ÇÔ¼ö È£ÃâÀ» ÁÙÀÏ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ÇöÀç ½Ã°£À» °¡Áö°í °è»êÀ» ÇÏ´Â ÇÔ¼ö°¡ 3°³ Á¤µµ ÀÖ´Ù°í °¡Á¤ÇØ º¸ÀÚ. À̰æ¿ì ¸Å¹ø ÇöÀç ½Ã°£À» °¡Á®¿À´Â time()ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °ÍÀº ³¶ºñ´Ù. Çѹø time()ÇÔ¼ö¸¦ È£ÃâÇϰí, ±× °ªÀ» ¸Þ¸ð¸®¿¡ ÀúÀåÇÑ´ÙÀ½, ÇÊ¿äÇÑ ÇÔ¼ö°¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ ÈξÀ È¿À²ÀûÀÌ´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷Àº ¶§¶§·Î caching ȤÀº memoizingÀ̶ó°í ºÒ¸®¿î´Ù.

registerÀÇ ÀÌ¿ë

Register´Â ÄÄÇ»ÅÍ¿¡¼­ ºü¸£°Ô Á¢±ÙÇÒ ¼ö ÀÖ´Â ¸Þ¸ð¸® ¿µ¿ªÀÌ´Ù. ´ç½ÅÀÌ ¸Þ¸ð¸®¿¡ Á¢±ÙÇÏ·Á°í ÇÑ´Ù¸é, ÇÁ·Î¼¼½º´Â ¹°¸®ÀûÀ¸·Î ¶³¾îÁ® ÀÖ´Â ¸Þ¸ð¸®¿¡ Á¢±ÙÇϱâ À§Çؼ­ bus¸¦ ÀÌ¿ëÇØ¼­ ¸Þ¸ð¸®¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ °¡Á®¿Â´Ù. ¹Ý¸é register´Â ÇÁ·Î¼¼½º ±× ÀÚ½ÅÀÌ °¡Áö°í ÀÖ´Â ¸Þ¸ð¸® ¿µ¿ªÀÌ´Ù. ´ç¿¬È÷ ¸Å¿ì ºü¸¦ ¼ö ¹Û¿¡ ¾ø´Ù. ±×·¯¹Ç·Î Çã¿ë°¡´ÉÇÑ µ¥ÀÌÅ͸¦ ·¹Áö½ºÅÍ¿¡ ¿Ã·Á³õ°í »ç¿ëÀ» ÇÒ Çʿ䰡 ÀÖ´Ù. °í¼öÁؾð¾î¿¡¼­´Â ±»ÀÌ ·¹Áö½ºÅÍ¿¡ ´ëÇØ¼­ ½Å°æ¾µÇÊ¿ä ¾øÀÌ ¾Ë¾Æ¼­ ·¹Áö½ºÅ͸¦ ¾µ°ÍÀÎÁö¸¦ °áÁ¤ÇÑ´Ù.

inline ÇÔ¼ö

ÇÔ¼ö´Â ÇÁ·Î±×·¥ÀÇ °ü¸®¸¦ À§ÇÑ °¡Àå Áß¿äÇÑ ¿ä¼öÁß Çϳª´Ù. ÇÔ¼ö¸¦ ÀÌ¿ëÇϸé ÇÁ·Î±×·¥À» ¸ðµâÈ­ ½Ãų ¼ö ÀÖÀ¸¸ç, Àç»ç¿ë °¡´ÉÇϵµ·Ï ¸¸µé ¼ö ÀÖ´Ù. ¶ÇÇÑ ½±°Ô º¸°í ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾î ÁØ´Ù. ±×·¯³ª ÇÔ¼ö¸¦ È£ÃâÇϱâ À§Çؼ­´Â stack¿µ¿ªÀ¸·Î ÀÎÀÚ¸¦ ¹Ð¾î³Ö°í, jumpÇØ¾ß ÇÏ´Â ¿À¹öÇìµå°¡ ¹ß»ýÇÑ´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°á¹æ¾ÈÀ¸·Î ¸¹Àº ¾ð¾îµéÀÌ inline ÇÔ¼ö ȤÀº inline ¸ÞÅ©·Î ÇÔ¼ö¸¦ Áö¿øÇÑ´Ù. inlineÇÔ¼ö¸¦ »ç¿ëÇÏ°Ô µÇ¸é, ÄÄÆÄÀÏ ÇÒ¶§ ÇÔ¼öÀÇ Äڵ尡 ÇØ´ç ¿µ¿ª¿¡ Á÷Á¢ »ðÀԵȴÙ. ÇÔ¼öÈ£ÃâÀ» ÇÏÁö ¾Ê±â ¶§¹®¿¡, »¡¶óÁö´Â È¿°ú¸¦ ´©¸± ¼ö ÀÖÁö¸¸ ¹Ý¸é Äڵ尡 ¸Å¹ø »ðÀÔÀÌ µÇ¹Ç·Î, ÇÁ·Î±×·¥ÀÇ µ¢Ä¡°¡ Ä¿Áö°Ô µÉ °ÍÀÌ´Ù. ¶ÇÇÑ Àç±ÍÇÔ¼öµî¿¡´Â »ç¿ëÇÒ ¼ö ¾ø´Â µîÀÇ Á¦¾àÀ» °¡Áø´Ù. ¸¸¾à ¼øÈ¯¹®µî¿¡ inlineÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù¸é Æ¯º°È÷ ¸¹Àº È¿°ú¸¦ ´©¸± ¼ö ÀÖÀ» °ÍÀÌ´Ù.

addressing modes

¾îµå·¹½Ì ¸ðµå¿¡´Â ¸î°¡Áö Á¾·ù°¡ ÀÖ´Ù´Â °ÍÀ» ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. ÀÌµé ¾îµå·¹½Ì ¸ðµå´Â °¢°¢ ¼­·Î ´Ù¸¥ ¼Óµµ¸¦ °¡Áö°í ÀÖ´Ù. immediate¿Í register ¾îµå·¹½Ì ¸ðµå°¡ °¡Àå ºü¸£¸ç, Direct, indirect ¸ðµå ¼øÀ¸·Î ºü¸£´Ù. pointer¿Í indexed indirect ¸ðµå°¡ ±×Áß °¡Àå ´À¸®´Ù. ±×·¯¹Ç·Î °¡´ÉÇÑ ºü¸¥ ÁÖ¼Ò¸ðµå¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖ´Ù.

Data Alignment

¾î¶² ÇÁ·Î¼¼¼­µéÀº µ¥ÀÌÅ͸¦ ¿¢¼¼½ºÇÒ ¶§ word-aligned ÇÑ´Ù. º¸Åë word´ÜÀ§·Î ³ª´©¾î¼­ ¿¢¼¼½ºÇÏ°Ô µÇ´Âµ¥, non-aligned data¹æ½Äº¸´Ù ºü¸£°Ô ¿¢¼¼½º°¡ °¡´ÉÇÏ´Ù. ±×·¡¼­ ±¸Á¶Ã¼¸¦ ¸¸µé°Ô µÉ¶§, ±¸Á¶Ã¼ÀÇ Å©±â°¡ word´ÜÀ§·Î ¸¸µé¾îÁö´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¾Æ·¡ÀÇ cÄڵ带 ÄÄÆÄÀÏ ÇÑ´ÙÀ½ °á°ú¸¦ È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.

#include <stdio.h>

struct data
{
    int a;
    char b[1];
};

int main()
{
    struct data mydata;
    printf("%d\n", sizeof(mydata));
}

Áö±Ý±îÁö ¾ð±ÞÇÑ ¹æ¹ýµéÀº ¿©·¯°¡Áö Áö¿ªÃÖÀûÈ­ ¹æ¹ýÁß ¸î°¡Áö¿¡ ºÒ°úÇÏ´Ù. ÇÏÁö¸¸ °¡Àå Áß¿äÇÑ ¿ä¼Ò´Â Àб⽱°í °ü¸®Çϱ⠽¬¿î Äڵ带 ¸¸µå´Âµ¥ ÀÖ´Ù´Â °É ±â¾ïÇØ µÎ±æ ¹Ù¶õ´Ù.

10.4. Àü¿ª ÃÖÀûÈ­ ¹æ¾È

Àü¿ªÃÖÀûÈ­´Â µÎ°¡Áö ¸ñÇ¥¸¦ °¡Áø´Ù. ù¹øÂ°´Â Áö¿ª ÃÖÀûÈ­°¡ °¡´ÉÇϵµ·Ï Äڵ带 ÀÛ¼º ÇÏ´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, ¸¸µé¾îÁø Äڵ尡 º¹ÀâÇÑ È帧À» °¡Áø Ä¿´Ù¶õ ÇϳªÀÇ procedure·Î ±¸¼ºµÇ¾î ÀÖ´Ù¸é, ´À¸®°Ô ÀÛµ¿ÇÒ °ÍÀÌ´Ù. À̰ÍÀ» ´Ü¼øÇÑ ÀÏÀ» ÇÏ´Â ¿©·¯°³ÀÇ ÄÚµå·Î Âɰµ´ÙÀ½ °è»êµÈ °ªÀ» ¸Þ¸ð¸®¿¡ ÀúÀåÇϰųª ´Ù¸¥ ÇÔ¼ö·Î ³Ñ±â´Â ½ÄÀ¸·Î ÇØ¼­ È¿À²ÀûÀ¸·Î µ¹¾Æ°¡°Ô²û ¸¸µé ¼ö ÀÖ´Ù.

stateless ÇÔ¼ö(¾î¶°ÇÑ ±Û·Î¹úÇÔ¼ö³ª, ½Ã½ºÅÛÄݵµ »ç¿ëÇÏÁö ¾Ê°í, ¹Þ¾ÆµéÀÎ Àμö¸¦ °¡Áö°í ´ÜÁö ¿¬»ê¸¸ ÇÏ´Â ÇÔ¼ö)´Â ÃÖÀûÈ­¸¦ À§ÇÑ ÁÁÀº ¹æ¹ýÀÌ´Ù. ÇÁ·Î±×·¡¸Ó´Â °¡´ÉÇϸé ÇÁ·Î±×·¥À» StatelessÇÑ ÇÔ¼öµé·Î ¸ðµâÈ­ ÇÔÀ¸·Î½á ÃÖÀûÈ­ Á¤µµ¸¦ ³ôÀÏ ¼ö ÀÖ´Ù. ÀüÀÚ»ó°Å·¡ ÇÁ·ÎÁ§Æ®¸¦ ¿¹·Î µé¾î º¸°Ú´Ù. ÀüÀÚ»ó°Å·¡¿¡¼­´Â ƯÁ¤ÇÑ Á¦Ç° ¸ñ·Ï°ú °ü·ÃµÈ Á¤º¸¸¦ °¡Áö°í ¿À´Âµ¥, À̸¦ À§Çؼ­ 12¹øÀÇ µ¥ÀÌÅͺ£À̽º È£ÃâÀ» ÇØ¾ßÇß°í, ÃÖ¾ÇÀÇ °æ¿ì 20Ãʶó´Â ½Ã°£À» ¼ÒºñÇß´Ù. ÀÌ ÇÁ·Î±×·¥Àº À¥À» ÅëÇØ¼­ °í°´°ú »óÈ£´ëÈ­ ÇØ¾ß Çϴµ¥, ÀÌ´Â ³Ê¹«³ª ±ä½Ã°£ÀÌ¿´´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ­ Ãʱâ ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÒ ¶§, Á¦Ç°¸ñ·ÏÀ» Àоî¿Í¼­ ¸Þ¸ð¸®¿¡ ÀûÀçÇϰí, ÇÔ¼ö¿¡¼­´Â ¸Þ¸ð¸®ÀÇ Á¦Ç°¸ñ·ÏÀ» °¡Á®¿Àµµ·Ï Áï statlessÇÑ ÇÔ¼ö¸¦ ¸¸µå´Â ¹æ¹ýÀ» »ç¿ëÇß´Ù. Á¦Ç°ÀÇ ¸ñ·ÏÀº º¯°æÀÌ µÉ ¼ö ÀÖÀ¸¹Ç·Î, ÀÏÁ¤½Ã°£ °£°ÝÀ¸·Î ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» °»½ÅÇϵµ·Ï ÇÏ´Â ¶Ç´Ù¸¥ ÇÔ¼ö¸¦ ¸¸µé¾úÀ¸¸ç °á°úÀûÀ¸·Î 1Ãʾȿ¡ ÀÛµ¿ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î³Â´Ù.

Àü¿ª ÃÖÀûÈ­¸¦ À§Çؼ­ º¸Åë ¾Æ·¡¿Í °°Àº Ư¼ºÀ» °®Ãßµµ·Ï ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù.

º´·ÄÈ­

º´·ÄÈ­´Â Äڵ尡 ´ÙÁß ÇÁ·Î¼¼½º¿¡ ÀÇÇØ¼­ ºÐÇҵǾ ½ÇÇàÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÚµ¿Â÷¸¦ ¸¸µç´Ù°í °¡Á¤À» ÇØº¸ÀÚ. À̰æ¿ì ¿£Áø°ú ÀÎÅ׸®¾î¸¦ ¸¸µå´Â ºÎºÐÀº ¼­·Î µ¶¸³½ÃÄѼ­ µ¿½Ã¿¡ ÀÛ¾÷ÀÌ °¡´ÉÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ¿©·¯ºÐÀÇ ÄÄÇ»ÅͰ¡ ´ÙÁßÀÇ ÇÁ·Î¼¼½º³ª Ŭ·¯½ºÅ͸µ µÇ¾î ÀÖ°í, À̵é ÀÚ¿øÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù¸é, º´·ÄÈ­µÈ ÄÚµå´Â È¿À²¿¡¼­ ¸¹Àº ÀÕÁ¡À» ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.

stateless

stateless ÇÔ¼ö¿Í ÇÁ·Î±×·¥Àº ÇÔ¼ö»çÀÌ¿¡ ¸íÈ®ÇÏ°Ô Á¤ÀÇµÈ µ¥ÀÌÅ͸¸À» ÁÖ°í¹Þ´Â´Ù. ¹°·Ð ¸ðµç ÇÔ¼ö°¡ statelessÇÒ ¼ö´Â ¾ø´Ù. ÀüÀÚ»ó°Å·¡ ÇÁ·Î±×·¥À» ¿¹·Îµé¾îº¸ÀÚ. ´ëºÎºÐÀÇ ÇÔ¼ö°¡ ¸Þ¸ð¸®¿¡ ÀÖ´Â »óǰÁ¤º¸¸¦ ÁÖ°í ¹Þ´Â´Ù°í ÇÏ´õ¶óµµ, ÃÖÃÊ¿¡ ÇϳªÀÇ ÇÔ¼ö´Â DB¿¡ Á¢±ÙÇØ¼­ »óǰÁ¤º¸¸¦ Àоî¿À´Â ÀÏÀ» ÇØ¾ßÇÒ °ÍÀÌ´Ù. ÀÌ ÇÔ¼ö´Â statelessÇÒ ¼ö ¾ø´Ù. statelessÇÏÁö ¾ÊÀº ÇÔ¼öÀÇ ½ÇÇàÀ» ÃÖ¼ÒÈ­ ½Ãų¼ö´Â ÀÖ´Ù. »óǰÁ¤º¸¶ó´Â°Ô º¯°æÀÌ ÀÚÁÖ ÀϾ´Â°Ô ¾Æ´Ï±â ¶§¹®¿¡, ÇÏ·ç¿¡ Çѹø¸¸ DB¿¡¼­ Á¤º¸¸¦ °¡Á®¿À´Â µîÀÇ ¹æ¹ýÀ¸·Î ÀÌ·¯ÇÑ ÇÔ¼öÀÇ ½ÇÇàÀ» ÃÖ¼ÒÈ­ ½Ãų¼ö ÀÖÀ¸¸ç, ½ÇÁ¦ ÀÌ·¯ÇÑ ¹æ¹ýÀ» ÀÌ¿ëÇØ¼­ ÇÁ·Î±×·¥À» ÃÖÀûÈ­ ½ÃÄ×´Ù.

10.5. º¹½À

  • Áö¿ªÃÖÀûÈ­¿Í Àü¿ªÃÖÀûÈ­ÀÇ Â÷À̸¦ ¼³¸íÇ϶ó.

  • Áö¿ªÃÖÀûÈ­ ¹æ¾ÈÀÇ ¸î°¡Áö ¹æ¹ýÀ» ¼³¸íÇ϶ó.

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.