4.4. °¡»ó ¸Þ¸ð¸®: »ó¼¼ Á¤º¸

¸ÕÀú °¡»ó ÁÖ¼Ò °ø°£(virtual address space)À̶ó´Â »õ·Î¿î °³³ä¿¡ ´ëÇÏ¿© ¼³¸íÇØº¸°Ú½À´Ï´Ù. °¡»ó ÁÖ¼Ò °ø°£À̶õ ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ë °¡´ÉÇÑ ÃÖ´ë ÁÖ¼Ò °ø°£À» ¸»ÇÕ´Ï´Ù. ¾ÆÅ°ÅØÃÄ¿¡ µû¶ó¼­ ÁÖ¼ÒÁöÁ¤À» À§ÇØ ÇÊ¿äÇÑ ºñÆ®¼ö°¡ ´Þ¶óÁö±â ¶§¹®¿¡ °¡»ó ÁÖ¼Ò °ø°£Àº ¾î´À ¾ÆÅ°ÅØÃÄ¿¡ µû¶ó¼­ ´Þ¶óÁý´Ï´Ù. °¡»ó ÁÖ¼Ò °ø°£Àº ¶ÇÇÑ ¿î¿µ üÁ¦ÀÇ ±¸Çö ¹æ½ÄÀ¸·Î ÀÎÇØ ¾ÆÅ°ÅØÃÄ¿¡ ÀÇÇØ Á¤ÇØÁø Á¦ÇÑ¿¡ Ãß°¡ÀûÀÎ Á¦ÇÑÀ» ºÎ°¡ÇÒ °¡´É¼ºµµ ÀÖÀ¸¹Ç·Î ¿î¿µ üÁ¦¿¡ µû¶ó¼­µµ ´Þ¶óÁý´Ï´Ù.

°¡»ó ÁÖ¼Ò °ø°£¿¡¼­ "°¡»ó"À̶ó´Â ´Ü¾î´Â ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ë °¡´ÉÇÑ °íÀ¯ ÁÖ¼Ò ÁöÁ¤ ¸Þ¸ð¸® À§Ä¡ÀÇ ÃÑ ¼ýÀÚ¸¦ ¸»ÇÕ´Ï´Ù. ±×·¯³ª ½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ ¹°¸®Àû ¸Þ¸ð¸®ÀÇ ¾çÀ̳ª ¾îÇø®ÄÉÀ̼ǿ¡ ÁÖ¾îÁø ¹°¸®Àû ¸Þ¸ð¸®ÀÇ ¾çÀ» ÀǹÌÇÏÁö´Â ¾Ê½À´Ï´Ù.

¾Õ¼­ ¼³¸íÇÑ ¿¹½Ã ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì °¡»ó ÁÖ¼Ò °ø°£Àº 15000 ¹ÙÀÌÆ®ÀÔ´Ï´Ù.

°¡»ó ¸Þ¸ð¸®¸¦ ±¸ÇöÇϱâ À§Çؼ­´Â ÄÄÇ»ÅͰ¡ Ư¼ö ¸Þ¸ð¸® °ü¸® Çϵå¿þ¾î¸¦ °®Ãß°í ÀÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. ÀÌ Çϵå¿þ¾î´Â Á¾Á¾ MMU (Memory Management Unit)¶ó°í ºÎ¸£±âµµ ÇÕ´Ï´Ù. MMU°¡ ¾øÀÌ´Â CPU°¡ RAM¿¡ Á¢±ÙÇÒ¶§ ½ÇÁ¦ RAMÀÇ À§Ä¡°¡ Àý´ë º¯°æµÇÁö ¾Ê±â ¶§¹®¿¡ ¸Þ¸ð¸® ÁÖ¼Ò 123Àº RAM¿¡¼­µµ µ¿ÀÏÇÑ ¹°¸®Àû ÁÖ¼Ò¸¦ °®°ÔµË´Ï´Ù.

±×·¯³ª MMU¸¦ »ç¿ëÇÏ´Â °æ¿ì °¢ ¸Þ¸ð¸®¿¡ Á¢±ÙÇϱâ ÀÌÀü¿¡ ¸Þ¸ð¸® ÁÖ¼Ò ¹ø¿ª ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù. Áï ¸Þ¸ð¸® ÁÖ¼Ò 123°¡ ÇѹøÀº ¹°¸®Àû ÁÖ¼Ò 82043À¸·Î ÁöÁ¤µÇ¾ú´Ù°¡ ´ÙÀ½¿£ ¹°¸®Àû ÁÖ¼Ò 20468·Î ÁöÁ¤µÉ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ±×·¯³ª ¼ö¾ï¸¸ ¹ÙÀÌÆ®¿¡ À̸£´Â ¸Þ¸ð¸®¸¦ Çϳª¾¿ °¡»ó ÁÖ¼Ò¿¡¼­ ¹°¸®Àû ÁÖ¼Ò·Î ¹ø¿ªÇϰԵǸé ÀÛ¾÷ ºÎÇϰ¡ ³Ê¹« ³ô¾ÆÁö¹Ç·Î, MMU´Â RAMÀ» ¿©·¯ ºÎºÐ — ÆäÀÌÁö(pages)·Î ³ª´©¾î °¢ ÆäÀÌÁö¸¦ ÇϳªÀÇ µ¶¸³µÈ Ç׸ñÀ¸·Î ó¸®ÇÕ´Ï´Ù.

ÀÌ ÆäÀÌÁö ¹× ÁÖ¼Ò ¹ø¿ª Á¤º¸¸¦ ±â¾ïÇÏ´Â ÀÛ¾÷Àº º¹ÀâÇÏ°í ºÒÇÊ¿äÇØ º¸ÀÏ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¯³ª ÀÌ ÀÛ¾÷Àº °¡»ó ¸Þ¸ð¸®¸¦ ±¸ÇöÇϴµ¥ °áÁ¤ÀûÀÎ ÀýÂ÷ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÁÖÀåÀ» µÞ¹ÞħÇϱâ À§ÇÏ¿© ¿¹¸¦ µé¾î ¼³¸íÇØº¸°Ú½À´Ï´Ù.

¾Õ¼­ ¼³¸íÇØ¿Ô´ø 15000 ¹ÙÀÌÆ® °¡»ó ÁÖ¼Ò °ø°£À» °¡Áø °¡»ó ¾îÇø®ÄÉÀ̼ÇÀ» ¿¹·Î µé°Ú½À´Ï´Ù. ÀÌ ¾îÇø®ÄÉÀ̼ÇÀÇ Ã¹¹øÂ° ¸í·É¾î°¡ ÁÖ¼Ò 12374¿¡ ÀúÀåµÈ µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÑ´Ù°í °¡Á¤Çغ¾½Ã´Ù. ±×·¯³ª ÄÄÇ»ÅÍ¿¡´Â ¿ÀÁ÷ 12288 ¹ÙÀÌÆ®ÀÇ ¹°¸®Àû RAM¸¸ Á¸ÀçÇÏ´Â °æ¿ì CPU°¡ ÁÖ¼Ò 12374¿¡ Á¢±Ù ½ÃµµÇÑ´Ù¸é ¾î¶°ÇÑ °á°ú°¡ ¹ß»ýÇϰڽÀ´Ï±î?

ÀÌ·¯ÇÑ Çö»óÀ» ÆäÀÌÁö ÆúÆ®(page fault)¶ó°í ºÎ¸¨´Ï´Ù.

4.4.1. Page Faults

ÆäÀÌÁö ÆúÆ®¶õ ÇÁ·Î±×·¥ÀÌ ÀÚ½ÅÀÇ ÁÖ¼Ò °ø°£¿¡´Â Á¸ÀçÇÏÁö¸¸ ½Ã½ºÅÛÀÇ RAM¿¡´Â ÇöÀç ¾ø´Â µ¥ÀÌÅͳª Äڵ忡 Á¢±Ù ½ÃµµÇÏ¿´À» °æ¿ì ¹ß»ýÇÏ´Â Çö»óÀ» ¸»ÇÕ´Ï´Ù. ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÏ¸é ¿î¿µ üÁ¦´Â ±× µ¥ÀÌÅ͸¦ ¸Þ¸ð¸®·Î °¡Á®¿Í¼­ ¸¶Ä¡ ÆäÀÌÁö ÆúÆ®°¡ ÀüÇô ¹ß»ýÇÏÁö ¾ÊÀº °Íó·³ ÇÁ·Î±×·¥ÀÌ °è¼ÓÀûÀ¸·Î ÀÛµ¿ÇÏ°Ô ÇØÁÝ´Ï´Ù.

¾Õ¼­ ¾ð±ÞµÈ °¡»ó ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì, CPU´Â ¿ì¼± ¿øÇÏ´Â ÁÖ¼Ò (12374)¸¦ MMU¿¡°Ô º¸³À´Ï´Ù. ±×·¯³ª MMU¿¡´Â ÀÌ ÁÖ¼Ò º¯È¯ °úÁ¤¿¡¼­ ÆäÀÌÁö Å×ÀÌºí¿¡ ÀÌ ÁÖ¼Ò¿¡ ´ëÇÑ Ç׸ñÀÌ ¾ø´Ù°í Ç¥½ÃµÇ¾î ÀÖ½À´Ï´Ù. µû¶ó¼­ MMU´Â CPU¸¦ ÀÎÅÍ·´Æ®ÇÑ ÈÄ ÆäÀÌÁö ÆúÆ® 󸮱â¶ó´Â ¼ÒÇÁÆ®¿þ¾î°¡ ½ÇÇàµÇµµ·Ï ÇÕ´Ï´Ù. ÀÌ ÆäÀÌÁö ÆúÆ® 󸮱â´Â ´ÙÀ½°ú °°Àº ±â´ÉÀ» ÀÌ¿ëÇÏ¿© ÀÌ ÆäÀÌÁö ÆúÆ® ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ ¹æ¹ýÀ» ã½À´Ï´Ù:

ù ¼¼°¡Áö ÀÛ¾÷Àº »ó´ëÀûÀ¸·Î ´Ü¼øÇÏÁö¸¸, ¸¶Áö¸· ÀÛ¾÷Àº ±×·¸Áö ¾Ê½À´Ï´Ù. µû¶ó¼­ ÀÌ ¸¶Áö¸· ÀÛ¾÷À» ¼³¸íÇϱâ À§Çؼ­´Â Ãß°¡ Ç׸ñµéµµ ÇÔ²² ³íÀÇÇØ¾ßÇÕ´Ï´Ù.

4.4.2. ÀÛ¾÷ ¼¼Æ®(Working Set)

ÇöÀç Æ¯¼ö ÇÁ·Î¼¼½º Àü¿ëÀ¸·Î ÇÒ´çµÈ ¹°¸®Àû ¸Þ¸ð¸® ÆäÀÌÁö ±×·ìÀ» ±× ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ ¼¼Æ®(working set)¶ó°í ÇÕ´Ï´Ù. ÀÛ¾÷ ¼¼Æ®¿¡ Æ÷ÇÔµÈ ÆäÀÌÁö ¼ö´Â ½Ã½ºÅÛ Àü¹Ý¿¡ °ÉÃÄ »ç¿ë °¡´ÉÇÑ ÃÑ ÆäÀÌÁö ¼ö¿¡ µû¶ó¼­ Áõ°¡µÇ°Å³ª ÁÙ¾îµì´Ï´Ù.

ÇÁ·Î¼¼½º ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÒ¶§¸¶´Ù ÀÛ¾÷ ¼¼Æ®°¡ Áõ°¡µÇ¸ç, ¿©À¯ ÆäÀÌÁö ¼ö°¡ ÁÙ¾îµé¸é ÀÛ¾÷ ¼¼Æ®µµ ÀÛ¾ÆÁý´Ï´Ù. ¸Þ¸ð¸® ¿ÏÀü ºÎÁ· Çö»óÀ» ¹æÁöÇϱâ À§Çؼ­´Â ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ ¼¼Æ®¿¡¼­ ÆäÀÌÁö¸¦ »èÁ¦ÇÏ¿© ³ªÁß¿¡ »ç¿ë °¡´ÉÇÑ ¿©À¯ °ø°£À¸·Î º¯°æ½ÃÄÑ¾ß ÇÕ´Ï´Ù. ¿î¿µ üÁ¦´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» »ç¿ëÇÏ¿© ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ ¼¼Æ®¸¦ ÁÙ¿©ÁÝ´Ï´Ù:

¿î¿µ üÁ¦´Â ¸ðµç ÇÁ·Î¼¼½º¿¡ ÀûÀýÇÑ ÀÛ¾÷ ¼¼Æ®¸¦ ÇÒ´çÇϱâ À§ÇÏ¿© ¸ðµç ÆäÀÌÁö¿¡ ´ëÇÑ »ç¿ë Á¤º¸¸¦ ±â·ÏÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î¼­ ¿î¿µ üÁ¦´Â ¾î´À ÆäÀÌÁö°¡ ÀÚÁÖ »ç¿ëµÇ¾úÀ¸¸ç (ÀÌ·¯ÇÑ ÆäÀÌÁö´Â ¸Þ¸ð¸®¿¡ °è¼Ó µÎ¾î¾ßÇÕ´Ï´Ù) ¾î´À ÆäÀÌÁö°¡ »ç¿ëµÇÁö ¾Ê¾Ò´ÂÁö (µû¶ó¼­ ¸Þ¸ð¸®¿¡¼­ »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù) °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì ÇÁ·Î¼¼½º ÀÛ¾÷ ¼¼Æ®¿¡¼­ ÃÖ±Ù °¡Àå ÀÚÁÖ »ç¿ëµÇÁö ¾ÊÀº ÆäÀÌÁö¸¦ ã¾Æ¼­ »èÁ¦ÇÕ´Ï´Ù.

4.4.3. ½º¿ÍÇÎ

½º¿ÍÇÎ (¼öÁ¤µÈ ÆäÀÌÁö¸¦ ½Ã½ºÅÛ ½º¿Ò ÆäÀÌÁö¿¡ ±â·ÏÇÏ´Â ÀÛ¾÷)Àº ½Ã½ºÅÛ ÀÛ¾÷ÀÇ ÀϺκÐÀ¸·Î¼­, ½º¿ÍÇÎÀÌ °úµµÇÏ°Ô ÀϾ´Â °æ¿ìµµ ¹ß»ý °¡´ÉÇÕ´Ï´Ù. ´ÙÀ½°ú °°Àº »óȲÀÌ ¹Ýº¹ÀûÀ¸·Î ¹ß»ýÇÒ ¼ö Àֱ⠶§¹®¿¡ °úµµÇÑ ½º¿ÍÇÎ ÀÛ¾÷À» ½ÅÁßÇÏ°Ô »ìÇÇ¼Å¾ß ÇÕ´Ï´Ù:

¸¸ÀÏ ÀÌ·¯ÇÑ »óȲÀÌ ³Ê¹« ÀÚÁÖ ¹ß»ýÇϰԵǴ °æ¿ì¸¦ ¾²·¡½Ì(thrashing)À̶ó°í Çϸç ÇöÀç ÀÛ¾÷À» ½ÇÇàÇϴµ¥ RAMÀÌ ºÎÁ·ÇÏ´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ¾²·¹½ÌÀÌ ¹ß»ý½Ã ½Ã½ºÅÛÀÌ Ã³¸®ÇÒ ¼ö ÀÖ´Â °Íº¸´Ù ´õ ¸¹Àº CPU¹× ÀÔ/Ãâ·Â ÀÛ¾÷À» ¹«¸®ÇÏ°Ô ½ÇÇà½ÃŰ·ÁÇÏ¿© ÇÁ·Î±×·¥ÀÇ Ã³¸® ¼Óµµ°¡ ±Þ°ÝÈ÷ ¶³¾îÁö°Ô µË´Ï´Ù. ±Ø´ÜÀûÀÎ °æ¿ì¿£ ½Ã½ºÅÛÀº ¾Æ¹«·± ÀÛ¾÷µµ ½ÇÇàÇÏÁö ¸øÇÑä, ÆäÀÌÁö¸¦ ¸Þ¸ð¸®¿¡¼­ °¡Á®¿À°í »©³»´Â ÀÛ¾÷¿¡¸¸ ¸ðµç ÀÚ¿øÀ» ¼Ò¸ðÇϰԵǴ °æ¿ìµµ ÀÖ½À´Ï´Ù.