3Àå. ¸Þ¸ð¸® °ü¸® (Memory Management)

¸Þ¸ð¸® °ü¸® ¼­ºê½Ã½ºÅÛÀº ¿î¿µÃ¼Á¦¿¡¼­ °¡Àå Áß¿äÇÑ ºÎºÐ Áß ÇϳªÀÌ´Ù. ÃÊâ±âÀÇ ÄÄÇ»ÅÍ¿¡ ¼­ºÎÅÍ, ½Ã½ºÅÛ¿¡ ¹°¸®ÀûÀ¸·Î Á¸ÀçÇÏ´Â °Íº¸´Ù ´õ ¸¹Àº ¾çÀÇ ¸Þ¸ð¸®¸¦ ÇÊ¿äÇØ¿Ô´Ù. ¹°¸®Àû ÀÎ ¸Þ¸ð¸®ÀÇ ÇѰ踦 ±Øº¹Çϱâ À§ÇÑ ¿©·¯ ±â¹ýµéÀÌ °³¹ßµÇ¾ú´Âµ¥, °¡»ó ¸Þ¸ð¸® ±â¹ýÀÌ °¡Àå ¼º°øÀûÀÌ´Ù. °¡»ó ¸Þ¸ð¸®(virtual memory)´Â ¸Þ¸ð¸®¸¦ ÇÊ¿ä·Î ÇÏ´Â ¼­·Î °æÀïÇÏ´Â ÇÁ·Î¼¼½º »çÀÌ¿¡ ¸Þ¸ð¸®¸¦ °øÀ¯Çϵµ·Ï ÇÏ¿©, ½Ã½ºÅÛÀÌ ½ÇÁ¦ °¡Áø °Íº¸´Ù ´õ ¸¹Àº ¸Þ¸ð¸®¸¦ °¡Áø °Íó ·³ º¸À̵µ·Ï ÇÑ´Ù.

°¡»ó ¸Þ¸ð¸®´Â ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸®¸¦ ´Ã¸®´Â Àϸ¸ ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¸Þ¸ð¸® °ü¸® ¼­ºê½Ã½ºÅÛ Àº ´ÙÀ½°ú °°Àº °ÍÀ» Á¦°øÇÑ´Ù.


±×¸² 3.1 : °¡»ó ÁÖ¼Ò¿¡¼­ ¹°¸® ÁÖ¼Ò·Î ¸ÅÇÎÀÇ Ãß»óÀû ¸ðµ¨

3.1 °¡»ó ¸Þ¸ð¸®ÀÇ Ãß»óÀû ¸ðµ¨(abstract model)

¸®´ª½º°¡ °¡»ó ¸Þ¸ð¸®¸¦ Áö¿øÇϱâ À§ÇØ »ç¿ëÇÏ´Â ±â¹ýÀ» »ìÆ캸±â Àü¿¡, ³Ê¹« ÀÚ¼¼È÷ ÆÄ°í µé¾î È¥¶õ½º·´Áö ¾Êµµ·Ï ¸ÕÀú Ãß»óÀû ¸ðµ¨À» °ËÅäÇÏ´Â °ÍÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

ÇÁ·Î¼¼¼­°¡ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§, ÇÁ·Î¼¼¼­´Â ¸Þ¸ð¸®·ÎºÎÅÍ ¸í·É¾î¸¦ ÀÐ¾î ¿Í¼­ Çؼ®ÇÑ´Ù. ¸í·ÉÀ» Çؼ®ÇÏ´Â µ¥¿¡´Â ¸Þ¸ð¸®ÀÇ ¾î¶² À§Ä¡¿¡ ÀÖ´Â ³»¿ëÀ» °¡Á®¿À°Å³ª ÀúÀåÇØ¾ß Çϱ⵵ ÇÑ ´Ù. ÇÁ·Î¼¼¼­´Â ¸í·É¾î¸¦ ½ÇÇàÇÏ°í ÇÁ·Î±×·¥ÀÇ ´ÙÀ½ ¸í·É¾î·Î À̵¿ÇÑ´Ù. ÀÌ·¸°Ô ÇÏ¿© ÇÁ·Î¼¼ ¼­´Â ¾ðÁ¦³ª ¸í·É¾î¸¦ °¡Á®¿À°Å³ª, µ¥ÀÌÅ͸¦ °¡Á®¿À°Å³ª ÀúÀåÇϱâ À§ÇØ ¸Þ¸ð¸®¿¡ Á¢±ÙÇÑ´Ù.

°¡»ó ¸Þ¸ð¸® ½Ã½ºÅÛ¿¡¼­ ÀÌ ÁÖ¼ÒµéÀº ¸ðµÎ ¹°¸®Àû ÁÖ¼Ò°¡ ¾Æ´Ï¶ó °¡»ó ÁÖ¼ÒÀÌ´Ù. ÀÌ °¡»ó ÁÖ¼ÒµéÀº ¿î¿µÃ¼Á¦°¡ °ü¸®ÇÏ´Â Å×À̺íµé¿¡ ÀúÀåµÈ Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î ÇÁ·Î¼¼¼­¿¡ ÀÇÇØ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯µÈ´Ù.

ÀÌ º¯È¯À» ½±°Ô Çϱâ À§ÇØ °¡»ó ¸Þ¸ð¸®¿Í ¹°¸®Àû ¸Þ¸ð¸®´Â ÆäÀÌÁö¶ó´Â ÀÛÀº Á¶°¢À¸·Î ³ª´¶ ´Ù. ÀÌ ÆäÀÌÁöµéÀº ¸ðµÎ °°Àº Å©±âÀε¥, ²À °°Àº Å©±âÀÏ ÇÊ¿ä´Â ¾øÁö¸¸, ±×·¸Áö ¾Ê´Ù¸é ½Ã½º ÅÛÀ» °ü¸®ÇϱⰡ ¹«Ã´ ¾î·Á¿öÁú °ÍÀÌ´Ù. ¸®´ª½º´Â ¾ËÆÄ AXP ½Ã½ºÅÛ¿¡¼­´Â 8KB ÆäÀÌÁö¸¦, ÀÎÅÚ x86 ½Ã½ºÅÛ¿¡¼­´Â 4KB ÆäÀÌÁö¸¦ »ç¿ëÇÑ´Ù1. °¢ ÆäÀÌÁö¿¡´Â ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£(page frame number, PFN)¶ó´Â À¯ÀÏÇÑ ¹øÈ£°¡ ºÎ¿©µÈ´Ù. ÀÌ¿Í °°Àº ÆäÀÌÁö ¸ðµ¨¿¡¼­ °¡»ó ÁÖ¼Ò´Â °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¿Í ¿ÀÇÁ¼Â, µÎ ºÎºÐÀ¸·Î ÀÌ·ç¾îÁø´Ù. ÆäÀÌÁö Å©±â°¡ 4KB¶ó¸é °¡»ó ÁÖ¼ÒÀÇ 0ºñÆ®¿¡¼­ 11ºñÆ®´Â ¿ÀÇÁ¼ÂÀ» ³ªÅ¸³»°í, 12¹ø ºñÆ® ÀÌ»óÀº °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ ¸¦ ³ªÅ¸³½´Ù2. ÇÁ·Î¼¼¼­°¡ °¡»ó ÁÖ¼Ò¸¦ ó¸®ÇÒ ¶§¸¶´Ù ¿ÀÇÁ¼Â°ú °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ ÃßÃâÇØ¾ß ÇÑ´Ù. ÇÁ·Î¼¼¼­´Â °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£·Î º¯È¯ ÇÏ°í ÇØ´ç ¹°¸®Àû ÆäÀÌÁö¿¡¼­ ¿ÀÇÁ¼Â¿¡ ÇØ´çÇÏ´Â ÁÖ¼Ò¸¦ Á¢±ÙÇÑ´Ù. ÀÌ·¸°Ô Çϱâ À§ÇØ ÇÁ·Î ¼¼¼­´Â ÆäÀÌÁö Å×À̺í(page table)À» »ç¿ëÇÑ´Ù.

±×¸² 3.1Àº ÇÁ·Î¼¼½º X¿Í ÇÁ·Î¼¼½º Y µÎ ÇÁ·Î¼¼½ºÀÇ °¡»ó ÁÖ¼Ò°ø°£°ú, °¢ÀÚÀÇ ÆäÀÌÁö Å×ÀÌ ºíÀ» º¸¿©ÁØ´Ù. ÀÌ ÆäÀÌÁö Å×À̺íÀº °¢ ÇÁ·Î¼¼½ºÀÇ °¡»ó ÆäÀÌÁö¸¦ ¸Þ¸ð¸®ÀÇ ¹°¸®Àû ÆäÀÌÁö ·Î ´ëÀÀ½ÃŲ´Ù. ÀÌ ±×¸²¿¡¼­ ÇÁ·Î¼¼½º XÀÇ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 0Àº ¹°¸®Àû ÆäÀÌÁö ÇÁ ·¹ÀÓ ¹øÈ£ 1·Î ´ëÀÀµÇ°í, ÇÁ·Î¼¼½º YÀÇ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 1Àº ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 4·Î ´ëÀÀµÈ´Ù. ÀÌ·ÐÀûÀ¸·Î ÆäÀÌÁö Å×À̺íÀº ´ÙÀ½°ú °°Àº Á¤º¸¸¦ °¡Áø´Ù :

ÆäÀÌÁö Å×À̺íÀº °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ ¿ÀÇÁ¼ÂÀ¸·Î »ç¿ëÇÏ¿© Á¢±ÙÇÑ´Ù. °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ 5´Â Å×À̺íÀÇ 6¹ø° Ç׸ñÀÌ µÈ´Ù (0ÀÌ Ã¹¹ø° Ç׸ñÀÌ´Ù)

°¡»ó ÁÖ¼Ò¸¦ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯Çϱâ À§ÇØ, ÇÁ·Î¼¼¼­´Â ¸ÕÀú °¡»ó ÁÖ¼Ò ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ ¿Í, °¡»ó ÆäÀÌÁö ¾È¿¡¼­ÀÇ ¿ÀÇÁ¼ÂÀ» ±¸ÇØ¾ß ÇÑ´Ù. ÆäÀÌÁö Å©±â¸¦ 2ÀÇ Á¦°ö¼ö·Î Çϸé, ÀÌ °è »êÀº ºñÆ®¸¶½ºÅ©¿Í ½¬ÇÁÆ® ¿¬»êÀ¸·Î ½±°Ô ó¸®ÇÒ ¼ö ÀÖ´Ù. ´Ù½Ã ±×¸² 3.1¿¡¼­, ÆäÀÌÁö Å©±â °¡ 0x2000¹ÙÀÌÆ®(8KB, ½ÊÁø¼ö·Î 8192)¶ó¸é, ÇÁ·Î¼¼¼­´Â ÇÁ·Î¼¼½º YÀÇ °¡»ó ÁÖ¼Ò°ø°£¿¡¼­ÀÇ ÁÖ¼Ò 0x2194¸¦ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 1°ú ¿ÀÇÁ¼Â 0x194·Î º¯È¯ÇÑ´Ù.

ÇÁ·Î¼¼¼­´Â °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ À妽º·Î ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×À̺íÀ» ÂüÁ¶ÇÏ¿©, Æä ÀÌÁö Å×ÀÌºí ¿£Æ®¸®(page table entry, PTE)¸¦ °¡Á®¿Â´Ù. ÀÌ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®°¡ À¯È¿ÇÏ´Ù ¸é, ÇÁ·Î¼¼¼­´Â ÀÌ ¿£Æ®¸®¿¡¼­ ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ °¡Á®¿Â´Ù. ¿£Æ®¸®°¡ À¯È¿ÇÏÁö ¾Ê´Ù¸é, ÇÁ·Î¼¼½º´Â °¡»ó ¸Þ¸ð¸® °ø°£¿¡ Á¸ÀçÇÏÁö ¾Ê´Â ¿µ¿ªÀ» Á¢±ÙÇÑ °ÍÀÌ´Ù. ÀÌ °æ¿ì¿¡ ÇÁ ·Î¼¼¼­´Â ÁÖ¼Ò¸¦ °áÁ¤ÇÒ ¼ö ¾ø°í ¿î¿µÃ¼Á¦¿¡ Á¦¾î¸¦ ³Ñ°Ü¼­ ¿î¿µÃ¼Á¦°¡ ó¸®Çϵµ·Ï ÇÑ´Ù.

ÇÁ·Î¼¼¼­°¡ ¿î¿µÃ¼Á¦¿¡°Ô, Á¤È®ÇÏ°Ô ¾î¶² ÇÁ·Î¼¼½º°¡ À¯È¿ÇÑ º¯È¯À» ÇÒ ¼ö ¾ø´Â °¡»ó ÁÖ¼Ò ¿¡ Á¢±ÙÇÏ·Á Çß´ÂÁö¸¦ ¾Ë¸®´Â ¹æ¹ýÀº ÇÁ·Î¼¼¼­¸¶´Ù ´Ù¸£´Ù. ÀÌ°ÍÀº ÆäÀÌÁö ÆúÆ®(page fault)¶ó °í Çϸç, ÇÁ·Î¼¼¼­°¡ À̸¦ ¾î¶»°Ô Àü´ÞÇϵçÁö °£¿¡, ¿î¿µÃ¼Á¦´Â ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò¿Í ÆäÀÌÁö ÆúÆ®ÀÇ ¿øÀÎÀ» Å뺸¹Þ´Â´Ù.

±× ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®°¡ À¯È¿ÇÑ °æ¿ì, ÇÁ·Î¼¼¼­´Â ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¿¡ ÆäÀÌÁö Å©±â¸¦ °öÇؼ­ ¹°¸®Àû ¸Þ¸ð¸®¿¡¼­ÀÇ º£À̽º ÁÖ¼Ò¸¦ ¾ò´Â´Ù. ¸¶Áö¸·À¸·Î ÇÁ·Î¼¼¼­´Â ¿ÀÇÁ¼Â À» ´õÇÏ¿© ÇÊ¿äÇÑ ¸í·ÉÀ̳ª µ¥ÀÌÅÍ¿¡ µµ´ÞÇÑ´Ù3.

À§ÀÇ ¿¹¸¦ ´Ù½Ã º¸¸é, ÇÁ·Î¼¼½º YÀÇ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 1Àº ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹ø È£ 4¿¡ ´ëÀÀµÇ°í, 0x8000(4 x 0x2000)¿¡¼­ ½ÃÀ۵ȴÙ. ¿©±â¿¡ 0x194 ¹ÙÀÌÆ®ÀÇ ¿ÀÇÁ¼ÂÀ» ´õÇϸé ÃÖÁ¾ÀûÀÎ ¹°¸®Àû ÁÖ¼Ò 0x8194¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

ÀÌ·¸°Ô °¡»ó ÁÖ¼Ò¸¦ ¹°¸®Àû ÁÖ¼Ò·Î ´ëÀÀ½ÃÅ´À¸·Î½á, °¡»ó ¸Þ¸ð¸®´Â ½Ã½ºÅÛÀÇ ¹°¸®Àû ÆäÀÌÁö ¿¡ ÀÓÀÇÀÇ ¼ø¼­·Î ¹è¿­µÉ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ±×¸² 3.1ÀÇ ÇÁ·Î¼¼½º XÀÇ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 0Àº ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 1·Î ´ëÀÀµÇ´Â ¹Ý¸é, °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 7Àº °¡ »ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 0º¸´Ù ³ôÀ½¿¡µµ ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 0À¸·Î ´ëÀÀµÈ´Ù. ÀÌ°ÍÀº °¡»ó ¸Þ¸ð¸®ÀÇ Àç¹ÌÀÖ´Â ºÎ»ê¹°À» º¸¿©ÁØ´Ù. °¡»ó ¸Þ¸ð¸®ÀÇ ÆäÀÌÁöµéÀº ¹°¸®Àû ¸Þ¸ð¸®¿¡ ¾î ¶² ƯÁ¤ÇÑ ¼ø¼­·Î Á¸ÀçÇÏÁö ¾Ê¾Æµµ µÈ´Ù.


3.1.1 ¿ä±¸ ÆäÀÌ¡(Demand Paging)

½ÇÁ¦·Î °¡»ó ¸Þ¸ð¸®º¸´Ù ÈξÀ ÀûÀº ¹°¸®Àû ¸Þ¸ð¸®¸¸ Àֱ⠶§¹®¿¡, ¿î¿µÃ¼Á¦´Â ¹°¸®Àû ¸Þ¸ð ¸®°¡ ºñÈ¿À²ÀûÀ¸·Î »ç¿ëµÇÁö ¾Êµµ·Ï ÁÖÀÇÇØ¾ß ÇÑ´Ù. ¹°¸®Àû ¸Þ¸ð¸®¸¦ Àý¾àÇÏ´Â ¹æ¹ý Çϳª´Â, ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥ÀÌ ÇöÀç »ç¿ëÇÏ´Â °¡»ó ÆäÀÌÁö¸¸À» ·ÎµåÇÏ´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, µ¥ÀÌÅͺ£ À̽º ÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ ÁúÀǸ¦ ÇÑ´Ù°í ÇÏÀÚ. ÀÌ °æ¿ì ¸ðµç µ¥ÀÌÅͺ£À̽º°¡ ¸Þ¸ð¸® ¿¡ ·ÎµåµÉ ÇÊ¿ä´Â ¾ø´Ù. °Ë»öÇÒ µ¥ÀÌÅÍ ·¹ÄÚµåµé¸¸ ÀÖÀ¸¸é µÈ´Ù. µ¥ÀÌÅͺ£À̽º ÁúÀÇ°¡ °Ë»ö ÁúÀǶó¸é, µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¥¿¡¼­ »õ·Î¿î ·¹Äڵ带 Ãß°¡ÇÏ´Â °ÍÀ» ó¸®ÇÏ´Â ºÎºÐÀÇ ÄÚ µå¸¦ ÀоîµéÀÏ ÇÊ¿ä´Â ¾øÀ» °ÍÀÌ´Ù. ÀÌ·¸°Ô °¡»ó ÆäÀÌÁöµéÀÌ Á¢±ÙµÇ´Â °æ¿ì¿¡¸¸ ¸Þ¸ð¸®¿¡ ÀоîµéÀÌ´Â ±â¹ýÀ» ¿ä±¸ ÆäÀÌ¡À̶ó°í ÇÑ´Ù.

ÇÁ·Î¼¼½º°¡ ÇöÀç ¸Þ¸ð¸®¿¡ ¾ø´Â °¡»ó ÁÖ¼Ò¸¦ Á¢±ÙÇÏ·Á°í Çϸé, ÇÁ·Î¼¼¼­´Â ÂüÁ¶µÈ °¡»ó Æä ÀÌÁö¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ ãÀ» ¼ö ¾øÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, ±×¸² 3.1¿¡¼­ ÇÁ·Î¼¼ ½º XÀÇ ÆäÀÌÁö Å×ÀÌºí¿¡´Â °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 2¿¡ ´ëÇÑ ¿£Æ®¸®°¡ ¾øÀ¸¹Ç·Î, ÇÁ·Î¼¼½º X°¡ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 2¿¡ Æ÷ÇÔµÈ ÁÖ¼Ò¿¡¼­ ÀÐÀ¸·Á°í Çϸé, ÇÁ·Î¼¼¼­´Â ±× ÁÖ¼Ò¸¦ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯ÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ ½ÃÁ¡¿¡¼­ ÇÁ·Î¼¼¼­´Â ¿î¿µÃ¼Á¦¿¡°Ô ÆäÀÌÁö ÆúÆ® °¡ ¹ß»ýÇß´Ù°í Å뺸ÇÑ´Ù.

¸¸¾à ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò°¡ À¯È¿ÇÏÁö ¾ÊÀº °ÍÀ̶ó¸é, ±× ÇÁ·Î¼¼½º´Â Á¢±ÙÇÒ ¼ö ¾ø´Â °¡»ó ÁÖ¼Ò¿¡ Á¢±ÙÇÏ·Á°í ÇÑ °ÍÀÌ´Ù. ´ëü·Î ÀÌ°Ç ¸Þ¸ð¸®ÀÇ ¾Æ¹« ÁÖ¼Ò¿¡³ª °ªÀ» ¾²´Â °Íó·³, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ À߸øµÈ °ÍÀÌ´Ù. ÀÌ °æ¿ì ¿î¿µÃ¼Á¦´Â ÀÌ ÇÁ·Î¼¼½º¸¦ Á¾·á½ÃÄÑ, ½Ã½ºÅÛÀÇ ´Ù¸¥ ÇÁ·Î¼¼½ºµéÀ» ÀÌ À߸øµÈ ÇÁ·Î¼¼½º·ÎºÎÅÍ º¸È£ÇÑ´Ù.

¸¸¾à ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò°¡ À¯È¿ÇÑ °ÍÀε¥, ÁÖ¼Ò°¡ °¡¸®Å°´Â ÆäÀÌÁö°¡ ¸Þ¸ð¸®¿¡ ÇöÀç ¾ø´Ù¸é, ¿î¿µÃ¼Á¦´Â ÇØ´çÇÏ´Â ÆäÀÌÁö¸¦ µð½ºÅ©ÀÇ À̹ÌÁö·ÎºÎÅÍ ¸Þ¸ð¸®¿¡ °¡Á®¿Í¾ß ÇÑ´Ù. µð ½ºÅ© Á¢±ÙÀº »ó´ëÀûÀ¸·Î ±ä ½Ã°£ÀÌ °É¸®¹Ç·Î, ÇÁ·Î¼¼½º´Â ÆäÀÌÁö°¡ µµÂøÇÒ ¶§±îÁö ÇÑÂüÀ» ±â´Ù·Á¾ß ÇÑ´Ù. ½Ã½ºÅÛ¿¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ÇÁ·Î¼¼½º°¡ ÀÖ´Ù¸é ¿î¿µÃ¼Á¦´Â À̵é Áß Çϳª ¸¦ ¼±ÅÃÇÏ¿© ½ÇÇàÇÑ´Ù. °¡Á®¿Â ÆäÀÌÁö´Â ºó ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ¿¡ ±â·ÏµÇ°í, °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ À§ÇÑ ¿£Æ®¸®°¡ ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×ÀÌºí¿¡ Ãß°¡µÈ´Ù. ÀÌÁ¦ ÇÁ·Î¼¼½º´Â ¸Þ¸ð ¸® ÆúÆ®°¡ ¹ß»ýÇß´ø ±â°è¾î ¸í·É¿¡¼­ºÎÅÍ Àç½ÇÇàµÈ´Ù. À̹ø¿¡ ´Ù½Ã °¡»ó ¸Þ¸ð¸® Á¢±ÙÀÌ ÀÌ ·ç¾îÁú ¶§, ÇÁ·Î¼¼¼­´Â °¡»ó ÁÖ¼Ò¸¦ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯ÇÒ ¼ö ÀÖ°Ô µÇ°í, ÇÁ·Î¼¼½º´Â °è¼Ó ½ÇÇàµÈ´Ù.

¸®´ª½º´Â ½ÇÇà À̹ÌÁö¸¦ ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®¿¡ ·ÎµåÇϱâ À§ÇØ ¿ä±¸ ÆäÀÌ¡À» »ç¿ëÇÑ´Ù. ¸í·ÉÀ» ½ÇÇàÇÒ ¶§¸¶´Ù, ¸í·ÉÀ» Æ÷ÇÔÇÏ´Â ÆÄÀÏÀ» ¿­°í, ÆÄÀÏÀÇ ³»¿ëÀÌ ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð ¸®·Î ¸ÅÇεȴÙ. ÀÌ°ÍÀº ÀÌ ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ¸ÊÀ» ±â¼úÇÏ´Â ÀڷᱸÁ¶¸¦ º¯°æÇÏ¿© ÀÌ·ç¾îÁö ¸ç, À̸¦ ¸Þ¸ð¸® ¸ÅÇÎÀ̶ó°í ÇÑ´Ù. ¾î·µç À̹ÌÁöÀÇ Ã¹¹ø° ºÎºÐ¸¸ ½ÇÁ¦·Î ¹°¸®Àû ¸Þ¸ð¸®¿¡ °¡Á®¿À¸ç, ³ª¸ÓÁö ºÎºÐÀº µð½ºÅ©¿¡ ³²¾Æ ÀÖ´Ù. À̹ÌÁö°¡ ½ÇÇàµÊ¿¡ µû¶ó ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ý ÇÏ°í, ¸®´ª½º´Â ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ¸ÊÀ» »ç¿ëÇÏ¿© À̹ÌÁöÀÇ ¾î´À ºÎºÐÀ» ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ¸Þ¸ð¸®¿¡ °¡Á®¿Ã Áö °áÁ¤ÇÑ´Ù.


3.1.2 ½º¿ÍÇÎ(Swapping)

ÇÁ·Î¼¼½º°¡ °¡»ó ÆäÀÌÁö¸¦ ¹°¸®Àû ¸Þ¸ð¸®¿¡ °¡Á®¿Í¾ß Çϴµ¥, ºñ¾î ÀÖ´Â ¹°¸®Àû ÆäÀÌÁö°¡ ¾ø´Ù¸é, ¿î¿µÃ¼Á¦´Â ¹°¸®Àû ¸Þ¸ð¸®¿¡¼­ ´Ù¸¥ ÆäÀÌÁö¸¦ Á¦°ÅÇÏ¿©, °¡Á®¿Ã ÆäÀÌÁö¸¦ À§ÇØ °ø°£ À» ¸¶·ÃÇØ¾ß ÇÑ´Ù.

¹°¸®Àû ¸Þ¸ð¸®¿¡¼­ Á¦°ÅµÉ ÆäÀÌÁö°¡ À̹ÌÁö³ª µ¥ÀÌÅÍ ÆÄÀÏ¿¡¼­ ¿Â °ÍÀÌ°í, ÀÌ ÆäÀÌÁö¿¡ ¾² ¿©Áø °ÍÀÌ ¾ø´Ù¸é, ÆäÀÌÁöÀÇ ³»¿ëÀ» ÀúÀåÇÒ ÇÊ¿ä´Â ¾ø´Ù. ´ë½Å ±×³É Á¦°Å¸¦ ÇÏ°í, ³ªÁß¿¡ ´Ù ½Ã ÇÊ¿äÇÏ°Ô µÇ¸é À̹ÌÁö³ª µ¥ÀÌÅÍ ÆÄÀϷκÎÅÍ ´Ù½Ã ¸Þ¸ð¸®¿¡ ÀоîµéÀÌ¸é µÈ´Ù.

±×·¯³ª ÆäÀÌÁö°¡ º¯°æµÇ¾ú´Ù¸é, ¿î¿µÃ¼Á¦´Â ÆäÀÌÁöÀÇ ³»¿ëÀ» ³ªÁß¿¡ ´Ù½Ã »ç¿ëÇÒ ¼ö ÀÖµµ·Ï º¸Á¸ÇØ¾ß ÇÑ´Ù. ÀÌ·± ÆäÀÌÁö¸¦ ´õƼ ÆäÀÌÁö(dirty page)¶ó°í Çϸç, À̸¦ ¸Þ¸ð¸®¿¡¼­ Á¦°ÅÇÒ ¶§ ½º¿Ò ÆÄÀÏ(swap file)À̶ó´Â Ưº°ÇÑ ÆÄÀÏ¿¡ ÀúÀåÇÑ´Ù. ½º¿Ò ÆÄÀÏ¿¡ Á¢±ÙÇÏ´Â °ÍÀº ÇÁ·Î¼¼¼­³ª ¹°¸®Àû ¸Þ¸ð¸®ÀÇ ¼Óµµ¿¡ ºñÇØ ¸Å¿ì ¿À·¡ °É¸®¹Ç·Î, ¿î¿µÃ¼Á¦´Â ÆäÀÌÁö¸¦ µð½ºÅ©¿¡ ±â·ÏÇÒ Çʿ伺°ú, ´Ù½Ã »ç¿ëµÉ ¼ö ÀÖµµ·Ï ¸Þ¸ð¸®·Î °¡Á®¿À°Ô µÉ Çʿ伺À» Àß ´Ù·ç¾î¾ß ÇÑ´Ù.

¾î¶² ÆäÀÌÁö¸¦ Á¦°Å ¶Ç´Â ½º¿ÒÇÒÁö¸¦ °áÁ¤Çϱâ À§ÇØ »ç¿ëÇÏ´Â ¾Ë°í¸®Áò(½º¿Ò ¾Ë°í¸®Áò)ÀÌ È¿À²ÀûÀÌÁö ¾ÊÀ¸¸é ¾²·¹½Ì(thrashing)4À̶ó°í ºÒ¸®´Â »óÅ°¡ ¹ß»ýÇÑ´Ù. ÀÌ ¶§ ÆäÀÌÁö´Â °è¼Ó µð½ºÅ©¿¡ ±â·ÏµÇ°í ¶Ç ´Ù½Ã Àоî¿À°Ô µÇ¸ç, ¿î¿µÃ¼Á¦´Â ³Ê¹« ¹Ùºü¼­ ½ÇÁ¦ ÀÛ¾÷Àº °ÅÀÇ ¸øÇÏ °Ô µÈ´Ù. ¿¹¸¦ µé¾î ±×¸² 3.1¿¡¼­, ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 1ÀÌ °è¼Ó Á¢±ÙµÈ´Ù¸é, ÀÌ°ÍÀº Çϵåµð½ºÅ©·Î ½º¿ÍÇÎÇÒ ÁÁÀº È帰¡ ¾Æ´Ï´Ù. ÇÁ·Î¼¼½º°¡ ÇöÀç »ç¿ëÇÏ°í ÀÖ´Â ÆäÀÌÁöÀÇ ÁýÇÕ À» ÀÛ¾÷ ÁýÇÕ(working set)À̶ó°í Çϴµ¥, È¿À²ÀûÀÎ ½º¿Ò Á¤Ã¥Àº ¸ðµç ÇÁ·Î¼¼½ºµéÀÇ ÀÛ¾÷ Áý ÇÕÀÌ ¸ðµÎ ¹°¸®Àû ¸Þ¸ð¸®¿¡ ÀÖµµ·Ï ÇÑ´Ù.

¸®´ª½º´Â ½Ã½ºÅÛ¿¡¼­ Á¦°ÅµÉ ÆäÀÌÁö¸¦ °øÁ¤ÇÏ°Ô ¼±ÅÃÇϱâ À§ÇØ, °¡Àå ÃÖ±Ù¿¡ »ç¿ëµÈ(Least Recently Used, LRU) ÆäÀÌÁö ¼ö¸í(page aging) ±â¹ýÀ» »ç¿ëÇÑ´Ù. ÀÌ ±â¹ý¿¡¼­ ½Ã½ºÅÛÀÇ ¸ðµç Æä ÀÌÁö´Â, ±× ÆäÀÌÁö¿¡ Á¢±ÙµÉ ¶§¸¶´Ù º¯°æµÇ´Â ¼ö¸íÀ» °®°í ÀÖ´Ù. ÆäÀÌÁö´Â ÀÚÁÖ Á¢±ÙµÉ¼ö·Ï Àþ¾îÁö°í, Àû°Ô Á¢±ÙµÉ¼ö·Ï ³ªÀÌ°¡ µé°Ô µÈ´Ù. ³ªÀ̵ç ÆäÀÌÁö´Â ½º¿ÍÇÎÀÇ ÁÁÀº Èĺ¸ÀÌ´Ù.


3.1.3 °øÀ¯ °¡»ó ¸Þ¸ð¸®(Shared Virtual Memory)

°¡»ó ¸Þ¸ð¸®´Â ¿©·¯ ÇÁ·Î¼¼½º°¡ ¸Þ¸ð¸®¸¦ ½±°Ô °øÀ¯ÇÏ°Ô ÇØÁØ´Ù. ¸ðµç ¸Þ¸ð¸® Á¢±ÙÀº ÆäÀÌ Áö Å×À̺íÀ» ÅëÇؼ­ ÀÌ·ç¾îÁö¸ç, °¢ ÇÁ·Î¼¼½º´Â µ¶¸³µÈ ÆäÀÌÁö Å×À̺íÀ» °®°í ÀÖ´Ù. µÎ °³ÀÇ ÇÁ·Î¼¼½º°¡ ¹°¸®Àû ¸Þ¸ð¸®ÀÇ ÆäÀÌÁö¸¦ °øÀ¯ÇÏ·Á¸é, ±× ¹°¸®Àû ÆäÀÌÁöÀÇ ÇÁ·¹ÀÓ ¹øÈ£°¡ µÎ ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×ÀÌºí ¸ðµÎ¿¡ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®·Î ÀÖ¾î¾ß ÇÑ´Ù.

±×¸² 3.1Àº µÎ ÇÁ·Î¼¼½º°¡ ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 4¸¦ °øÀ¯ÇÏ´Â °ÍÀ» º¸¿©ÁØ´Ù. ÀÌ ¹°¸® Àû ÆäÀÌÁö´Â ÇÁ·Î¼¼½º X ÀÔÀå¿¡¼­ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 4ÀÌ°í, ÇÁ·Î¼¼½º Y ÀÔÀå¿¡¼­ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 6ÀÌ´Ù. ÀÌ°ÍÀº ÆäÀÌÁö °øÀ¯ÀÇ Àç¹ÌÀÖ´Â Á¡À» º¸¿©ÁØ´Ù. °øÀ¯µÇ´Â ¹°¸®Àû ÆäÀÌÁö´Â ÀÌ ¹°¸®Àû ÆäÀÌÁö¸¦ °øÀ¯ÇÏ´Â ¾î¶² ÇÁ·Î¼¼½º¿¡¼­µµ °¡»ó ¸Þ¸ð¸®ÀÇ °°Àº À§ Ä¡¿¡ ÀÖÀ» ÇÊ¿ä°¡ ¾ø´Ù.


3.1.4 ¹°¸®Àû ÁÖ¼Ò ¸ðµå(Physical Addressing Mode)¿Í °¡»ó ÁÖ¼Ò ¸ðµå(Virtual Addressing Mode)

¿î¿µÃ¼Á¦ ÀÚ½ÅÀÌ °¡»ó ¸Þ¸ð¸®¿¡¼­ µ¿ÀÛÇÏ´Â °ÍÀº º° Àǹ̰¡ ¾ø´Ù. ±×·¸°Ô µÇ¸é ¿î¿µÃ¼Á¦°¡ ÀÚ½ÅÀ» À§ÇØ ÆäÀÌÁö Å×À̺íÀ» À¯ÁöÇØ¾ß ÇÏ´Â ²ûÂïÇÑ »óȲÀÌ ¹ú¾îÁú °ÍÀÌ´Ù. ´ëºÎºÐÀÇ ¹ü¿ë ÇÁ·Î¼¼¼­µéÀº ¹°¸®Àû ÁÖ¼Ò ¸ðµå¿Í °¡»ó ÁÖ¼Ò ¸ðµå¸¦ ÇÔ²² Á¦°øÇÑ´Ù. ¹°¸®Àû ÁÖ¼Ò ¸ðµå¿¡¼­ ´Â ÆäÀÌÁö Å×À̺íÀÌ ÇÊ¿ä¾øÀ¸¸ç, ÀÌ ¸ðµå¿¡¼­ ÇÁ·Î¼¼¼­´Â ¾Æ¹«·± ÁÖ¼Ò º¯È¯µµ ÇÏÁö ¾Ê´Â´Ù. ¸®´ª½º Ä¿³ÎÀº ¹°¸®Àû ÁÖ¼Ò°ø°£¿¡¼­ ½ÇÇàµÇµµ·Ï ¸µÅ©µÇ¾î ÀÖ´Ù.

¾ËÆÄ AXP ÇÁ·Î¼¼¼­´Â Ưº°ÇÑ ¹°¸®Àû ÁÖ¼Ò ¸ðµå¸¦ °®°í ÀÖÁö ¾Ê´Ù. ´ë½Å¿¡ ¸Þ¸ð¸® °ø°£À» ¿©·¯ ºÎºÐÀ¸·Î ³ª´©¾î, ±× ÁßÀÇ µÎ °³¸¦ ¹°¸®ÀûÀ¸·Î ¸ÅÇÎµÈ ÁÖ¼Ò·Î ÁöÁ¤ÇØ µÐ´Ù. ÀÌ Ä¿³Î ÁÖ ¼Ò°ø°£Àº KSEG ÁÖ¼Ò°ø°£À̶ó°í ºÎ¸£¸ç, 0xfffffc0000000000ºÎÅÍ À§ÂÊ ÁÖ¼Ò ÀüºÎ¸¦ Æ÷ÇÔÇÑ´Ù. KSEG¿¡ ¸µÅ©µÈ ÄÚµå(Á¤ÀÇ¿¡ µû¶ó Ä¿³Î ÄÚµåÀÌ´Ù)¸¦ ½ÇÇàÇϰųª KSEGÀÇ µ¥ÀÌÅ͸¦ Á¢±ÙÇϱâ À§Çؼ­´Â ÄÚµå´Â ¹Ýµå½Ã Ä¿³Î ¸ðµå¿¡¼­ ½ÇÇàµÇ¾î¾ß ÇÑ´Ù. ¾ËÆÄ¿¡¼­ÀÇ ¸®´ª½º Ä¿³ÎÀº ÁÖ¼Ò 0xfffffc0000310000·ÎºÎÅÍ ½ÇÇàµÇµµ·Ï ¸µÅ©µÇ¾î ÀÖ´Ù.


±×¸² 3.2 : ¾ËÆÄ AXP ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®

3.1.5 Á¢±Ù Á¦¾î(Access Control)

ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®´Â Á¢±Ù Á¦¾î Á¤º¸µµ °¡Áö°í ÀÖ´Ù. ÇÁ·Î¼¼¼­´Â ÇÁ·Î¼¼½ºÀÇ °¡»ó ÁÖ¼Ò ¸¦ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯Çϱâ À§ÇØ ÀÌ¹Ì ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ »ç¿ëÇϱ⠶§¹®¿¡, ½±°Ô Á¢±Ù Á¦¾î Á¤º¸¸¦ »ç¿ëÇÏ¿©, ÀÌ ÇÁ·Î¼¼½º°¡ Çã¿ëµÇÁö ¾ÊÀº ¹æ½ÄÀ¸·Î ¸Þ¸ð¸®¸¦ Á¢±ÙÇÏÁö ¾Êµµ·Ï ÇÒ ¼ö ÀÖ´Ù.

¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇÑ Á¢±ÙÀ» Á¦ÇÑÇÏ·Á°í ÇÏ´Â ÀÌÀ¯´Â ¸î °¡Áö°¡ ÀÖ´Ù. ½ÇÇà Äڵ带 ´ã°í ÀÖ ´Â °÷ °°Àº ¾î¶² ¸Þ¸ð¸®´Â ÀÚ¿¬È÷ Àбâ Àü¿ë ¸Þ¸ð¸®À̸ç, ¿î¿µÃ¼Á¦´Â ÇÁ·Î¼¼½º°¡ ÀÚ½ÅÀÇ ½Ç Çà ÄÚµå À§¿¡ µ¥ÀÌÅ͸¦ ¾²´Â °ÍÀ» Çã¶ôÇؼ­´Â ¾È µÈ´Ù. ¹Ý´ë·Î, µ¥ÀÌÅ͸¦ ´ã°í ÀÖ´Â ÆäÀÌÁö ´Â ¾²¿©Áú ¼ö ÀÖÁö¸¸ ±× ¸Þ¸ð¸®¸¦ ¸í·É¾î·Î °£ÁÖÇÏ¿© ½ÇÇàÇÏ·Á´Â ½Ãµµ´Â ½ÇÆÐÇØ¾ß ÇÑ´Ù. ´ë ºÎºÐÀÇ ÇÁ·Î¼¼¼­´Â Àû¾îµµ µÎ °¡Áö ½ÇÇà ¸ðµå - Ä¿³Î¸ðµå¿Í »ç¿ëÀÚ¸ðµå - ¸¦ °¡Áö°í ÀÖ´Ù. ÇÁ·Î¼¼¼­°¡ Ä¿³Î ¸ðµå·Î ¼öÇàÁßÀÌ ¾Æ´Ï¶ó¸é, »ç¿ëÀÚ°¡ Ä¿³Î Äڵ带 ½ÇÇàÇϰųª Ä¿³Î Àڷᱸ Á¶¿¡ Á¢±ÙÇÏ´Â °ÍÀ» ¸·°í ½ÍÀ» °ÍÀÌ´Ù.

Á¢±Ù Á¦¾î Á¤º¸´Â PTE¿¡ µé¾îÀÖÀ¸¸ç ÇÁ·Î¼¼¼­¸¶´Ù ´Ù¸£´Ù. ±×¸² 3.2´Â ¾ËÆÄ AXP ÇÁ·Î¼¼¼­ ÀÇ PTE¸¦ º¸¿©ÁØ´Ù. °¢ ºñÆ® ÇʵåÀÇ Àǹ̴ ´ÙÀ½°ú °°´Ù :

¸®´ª½º´Â ´ÙÀ½ µÎ ºñÆ®¸¦ Á¤ÀÇÇÏ¿© »ç¿ëÇÑ´Ù:


3.2 ij½Ã(Cache)

¸¸¾à À§¿¡¼­ ¾ð±ÞÇÑ ÀÌ·ÐÀû ¸ðµ¨À» »ç¿ëÇÏ¿© ½Ã½ºÅÛÀ» ±¸ÇöÇÑ´Ù¸é, µ¿ÀÛÇϱâ´Â ÇÏ°ÚÁö¸¸ ±× ´ÙÁö È¿À²ÀûÀÌÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ¿î¿µÃ¼Á¦¿Í ÇÁ·Î¼¼¼­ ¼³°èÀÚµéÀº ½Ã½ºÅÛ¿¡¼­ ´õ ¸¹Àº ¼º´É À» ¾ò¾î³»±â À§ÇØ ¾Ö¾²°í ÀÖ´Ù. ÇÁ·Î¼¼¼­, ¸Þ¸ð¸® µîÀ» ´õ ºü¸£°Ô ¸¸µå´Â °Í ¿Ü¿¡, °¡Àå ÁÁ Àº ¹æ¹ýÀº ¾î¶² ÀÛ¾÷µéÀ» ´õ ºü¸£°Ô ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï, À¯¿ëÇÑ ÀÚ·á¿Í µ¥ÀÌÅÍÀÇ Ä³½Ã¸¦ °ü ¸®ÇÏ´Â °ÍÀÌ´Ù. ¸®´ª½º´Â ¸Þ¸ð¸® °ü¸®¿Í °ü·ÃÇÏ¿© ¸î°¡Áö ij½Ã¸¦ »ç¿ëÇÑ´Ù:

°¡»ó ÁÖ¼Ò¸¦ ÂüÁ¶ÇÒ ¶§, ÇÁ·Î¼¼¼­´Â TLB ¿£Æ®¸®¿¡¼­ ÀÏÄ¡ÇÏ´Â Ç׸ñÀ» ãÀ¸·Á°í ÇÑ´Ù. ¸¸ ¾à ã´Â´Ù¸é, °¡»ó ÁÖ¼Ò¸¦ ¹Ù·Î ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯ÇÏ¿©, µ¥ÀÌÅÍ¿¡ ´ëÇÑ ¿Ã¹Ù¸¥ ¿¬»êÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù. ÇÁ·Î¼¼¼­°¡ ÀÏÄ¡ÇÏ´Â TLB ¿£Æ®¸®¸¦ ãÁö ¸øÇϸé, ¿î¿µÃ¼Á¦ÀÇ µµ¿òÀ» ¹Þ ¾Æ¾ß ÇÑ´Ù. µµ¿òÀ» ¹Þ±â À§ÇØ ¿î¿µÃ¼Á¦¿¡°Ô TLB¸¦ ãÁö ¸øÇß´Ù´Â(TLB miss) ½ÅÈ£¸¦ º¸³½ ´Ù. ¹®Á¦¸¦ ÇØ°áÇϵµ·Ï ¿î¿µÃ¼Á¦¿¡°Ô ¿¹¿Ü ½ÅÈ£¸¦ Àü´ÞÇϱâ À§Çؼ­´Â ½Ã½ºÅÛ¸¶´Ù ƯÀ¯ÇÑ ¸ÞÄ¿´ÏÁòÀÌ »ç¿ëµÈ´Ù. ¿î¿µÃ¼Á¦´Â ÁÖ¼Ò º¯È¯À» À§ÇØ »õ·Î¿î TLB ¿£Æ®¸®¸¦ »ý¼ºÇÑ´Ù. ¿¹ ¿Ü°¡ ó¸®µÈ ´ÙÀ½, ÇÁ·Î¼¼¼­´Â °°Àº °¡»ó ÁÖ¼Ò º¯È¯À» ´Ù½Ã ½ÃµµÇÑ´Ù. À̹ø¿¡´Â ÀÌ °¡»ó ÁÖ¼Ò¿¡ ÇØ´çÇÏ´Â À¯È¿ÇÑ TLB ¿£Æ®¸®°¡ Àֱ⠶§¹®¿¡ Àß Ã³¸®µÉ °ÍÀÌ´Ù.

Çϵå¿þ¾î ij½ÃÀÌµç ´Ù¸¥ ij½ÃÀ̵ç ij½Ã¸¦ »ç¿ëÇÏ´Â °ÍÀÇ ´ÜÁ¡Àº, ±×·¸°Ô È¿À²À» ³ôÀ̱â À§ Çؼ­ ¸®´ª½º´Â À̵é ij½Ã¸¦ °ü¸®Çϴµ¥ ´õ ¸¹Àº ½Ã°£°ú °ø°£À» »ç¿ëÇØ¾ß ÇÑ´Ù´Â °Í°ú, ij½Ã °¡ ¸Á°¡Áö´Â °æ¿ì ½Ã½ºÅÛÀÌ Á״´ٴ °ÍÀÌ´Ù.


±×¸² 3.3 : 3´Ü°è ÆäÀÌÁö Å×À̺í

3.3 ¸®´ª½º ÆäÀÌÁö Å×À̺í(Linux Page Table)

¸®´ª½º´Â 3´Ü°èÀÇ ÆäÀÌÁö Å×À̺íÀ» °¡Á¤ÇÑ´Ù5. Á¢±ÙµÇ´Â °¢ ÆäÀÌÁö Å×À̺íÀº ´ÙÀ½ ´Ü°èÀÇ ÆäÀÌÁö Å×À̺íÀÇ ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ °®°í ÀÖ´Ù. ±×¸² 3.3Àº °¡»ó ÁÖ¼Ò°¡ ¾î¶»°Ô ¿©·¯°³ÀÇ Ç׸ñÀ¸·Î ³ª´©¾îÁö´ÂÁö º¸¿©ÁØ´Ù. °¢ Ç׸ñÀº ƯÁ¤ ÆäÀÌÁö Å×ÀÌºí¿¡¼­ÀÇ ¿ÀÇÁ¼ÂÀ» Á¦°øÇÑ´Ù. °¡»ó ÁÖ¼Ò¸¦ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯Çϱâ À§ÇØ, ÇÁ·Î¼¼¼­´Â °¢ ´Ü°èÀÇ Ç׸ñÀÇ ³»¿ëÀ» °¡Á®¿Í¼­ ÆäÀÌÁö Å×À̺íÀ» °®°í ÀÖ´Â ¹°¸®Àû ÆäÀÌÁö¿¡ ´ëÇÑ ¿ÀÇÁ¼ÂÀ¸·Î º¯È¯ÇÏ°í, ´ÙÀ½ ´Ü°èÀÇ ÆäÀÌ Áö Å×À̺íÀÇ ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ Àд´Ù. ÀÌ °úÁ¤À» 3ȸ ¹Ýº¹ÇÏ¸é °¡»ó ÁÖ¼Ò¸¦ Æ÷ÇÔÇÏ´Â ¹°¸®Àû ÆäÀÌÁöÀÇ ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ±×¸®°í °¡»ó ÁÖ¼ÒÀÇ ¸¶Áö¸· Ç׸ñÀÎ ¹ÙÀÌÆ® ¿ÀÇÁ¼ÂÀ» »ç¿ëÇÏ¿© ÆäÀÌÁö ³»¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ ¾ò´Â´Ù.

¸®´ª½º¸¦ ½ÇÇàÇÏ´Â Ç÷§ÆûµéÀº, ¹Ýµå½Ã Ä¿³ÎÀÌ Æ¯Á¤ ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×À̺íÀ» Ž»öÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¸ÅÅ©·ÎµéÀ» Áö¿øÇØ¾ß ÇÑ´Ù. ÀÌ°°Àº ¹æ½Ä ´öÅÿ¡ Ä¿³ÎÀº ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸® ÀÇ Çü½ÄÀ̶óµç°¡ ¾î¶»°Ô ¹è¿­µÇ¾î ÀÖ´ÂÁö ¾Ë¾Æ¾ß µÉ ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ·± ¹æ½ÄÀº ¸Å¿ì ¼º°øÀû À̾ ¼¼´Ü°èÀÇ ÆäÀÌÁö Å×À̺íÀ» °¡Áö´Â ¾ËÆÄ ÇÁ·Î¼¼¼­¿Í µÎ ´Ü°èÀÇ ÆäÀÌÁö Å×À̺íÀ» °¡Áö ´Â ÀÎÅÚÀÇ x86°è¿­ÀÇ ÇÁ·Î¼¼¼­¿¡ ´ëÇؼ­ µ¿ÀÏÇÑ ÆäÀÌÁö Å×À̺í ó¸® Äڵ带 »ç¿ëÇÏ°í ÀÖ´Ù.


3.4 ÆäÀÌÁöÀÇ ÇÒ´ç(allocation)°ú ÇØÁ¦(deallocation)

½Ã½ºÅÛ¿¡ ÀÖ´Â ¹°¸®Àû ÆäÀÌÁö¿¡ ´ëÇØ ¿©·¯ ¿ä±¸µéÀÌ ÀÖ´Ù. ¿¹¸¦ µé¾î, À̹ÌÁö¸¦ ¸Þ¸ð¸®¿¡ ·Î µåÇÒ ¶§ ¿î¿µÃ¼Á¦´Â ÆäÀÌÁö¸¦ ÇÒ´çÇØ¾ß ÀÖ´Ù. ±×¸®°í À̹ÌÁöÀÇ ½ÇÇàÀÌ ³¡³ª°í ¾ð·ÎµåµÉ ¶§ ÆäÀÌÁö¸¦ ÇØÁ¦ÇØ¾ß ÇÑ´Ù. ¹°¸®Àû ÆäÀÌÁöÀÇ ¶Ç ´Ù¸¥ ¿ëµµ´Â ÆäÀÌÁö Å×À̺í ÀÚü¿Í °°Àº Ä¿³Î ƯÀ¯ÀÇ ÀڷᱸÁ¶¸¦ ÀúÀåÇϱâ À§ÇÑ °ÍÀÌ´Ù. ÆäÀÌÁö ÇÒ´ç°ú ÇØÁ¦¿¡ »ç¿ëµÇ´Â ¸ÞÄ¿´ÏÁòÀ̳ª ÀÚ ·á±¸Á¶´Â, °¡»ó ¸Þ¸ð¸® ¼­ºê½Ã½ºÅÛÀÇ È¿À²¼º¿¡ °¡Àå Áß¿äÇÑ ¿µÇâÀ» ¹ÌÄ£´Ù.

½Ã½ºÅÛÀÇ ¸ðµç ¹°¸®Àû ÆäÀÌÁö´Â mem_map_t6 ±¸Á¶Ã¼ÀÇ ¸®½ºÆ®ÀÎ mem_map ÀڷᱸÁ¶·Î ³ªÅ¸ ³»¸ç À̵éÀº ºÎÆà ½Ã¿¡ ÃʱâÈ­µÈ´Ù. °¢ mem_map_t ±¸Á¶Ã¼´Â ½Ã½ºÅÛÀÇ ¹°¸®Àû ÆäÀÌÁö Çϳª ¸¦ ±â¼úÇÑ´Ù. ¸Þ¸ð¸® °ü¸®¿¡ °üÇØ Áß¿äÇÑ Ç׸ñµéÀº ´ÙÀ½°ú °°´Ù :

free_area º¤ÅÍ´Â ÆäÀÌÁö¸¦ ÇÒ´çÇÏ´Â Äڵ尡 ÇÁ¸® ÆäÀÌÁö¸¦ ã´Âµ¥ »ç¿ëµÈ´Ù. ÀüüÀûÀÎ ¹öÆÛ °ü¸® °èȹÀº ÀÌ·± ¸ÞÄ¿´ÏÁòÀ¸·Î ÀÌ·ç¾îÁö¸ç ¼¼ºÎÀûÀÎ Äڵ忡 ´ëÇؼ­¶ó¸é, ÇÁ·Î¼¼¼­°¡ »ç¿ëÇÏ´Â ÆäÀÌÁöÀÇ Å©±â¿Í ¹°¸®ÀûÀÎ ÆäÀÌ¡ ¸ÞÄ¿´ÏÁòÀº ¼­·Î ´Ù¸¦ ¼ö ÀÖ´Ù.

free_areaÀÇ °¢ ¿ø¼ÒµéÀº ÆäÀÌÁö ºí·°µé¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù. ¹è¿­ÀÇ Ã¹¹ø° ¿ø¼Ò ´Â ÇÑ ÆäÀÌÁö¸¦, ±× ´ÙÀ½Àº µÎ ÆäÀÌÁöÀÇ ºí·°µéÀ», ±× ´ÙÀ½Àº ³× ÆäÀÌÁöÀÇ ºí·°µéÀ», ÀÌ·±½Ä À¸·Î °è¼Ó 2ÀÇ Á¦°öÀ¸·Î Áõ°¡ÇÏ´Â ÆäÀÌÁöÀÇ ºí·°µéÀ» ±â¼úÇÑ´Ù. list ¿ø¼Ò´Â Å¥ÀÇ Çìµå·Î »ç¿ëµÇ¸ç, mem_map ¹è¿­ ³»ÀÇ page ÀڷᱸÁ¶¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °®°í ÀÖ´Ù. ÆäÀÌÁöÀÇ ÇÁ¸® ºí·°µéÀº ÀÌ Å¥¿¡ ÀúÀåµÈ´Ù. mapÀº ÀÌ Å©±âÀÇ ÇÒ´çµÈ ÆäÀÌÁö ±×·ìÀ» ÃßÀûÇÏ¿© °ü¸®ÇÏ´Â ºñ Æ®¸Ê¿¡ ´ëÇÑ Æ÷ÀÎÅÍÀÌ´Ù. ºñÆ®¸ÊÀÇ ºñÆ® NÀº ÆäÀÌÁöÀÇ N¹ø° ÆäÀÌÁö ºí·°ÀÌ ÇÁ¸®À̸é 1·Î ¼³Á¤µÈ´Ù.

±×¸² 3.4´Â free_area ±¸Á¶Ã¼¸¦ º¸¿©ÁØ´Ù. 0¹ø° ¿ø¼Ò´Â ÇϳªÀÇ ÇÁ¸® ÆäÀÌÁö(ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 0), 2¹ø° ¿ø¼Ò´Â µÎ°³ÀÇ 4 ÆäÀÌÁö Å©±âÀÇ ÇÁ¸® ºí·°À» º¸¿©ÁØ´Ù. ¾ÕÀÇ °ÍÀº ÆäÀÌÁö ÇÁ ·¹ÀÓ ¹øÈ£ 4¿¡¼­, µÚÀÇ °ÍÀº ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 56¿¡¼­ ½ÃÀÛÇÑ´Ù.


±×¸² 3.4 : free_area ÀڷᱸÁ¶

3.4.1 ÆäÀÌÁö ÇÒ´ç(Page Allocation)

¸®´ª½º´Â ÆäÀÌÁö ºí·°À» È¿À²ÀûÀ¸·Î ÇÒ´çÇÏ°í ÇØÁ¦Çϱâ À§ÇØ ¹öµð ¾Ë°í¸®Áò(Buddy algorithm)7À» »ç¿ëÇÑ´Ù. ÆäÀÌÁö ÇÒ´ç ÄÚµå´Â Çϳª ÀÌ»óÀÇ ¹°¸®Àû ÆäÀÌÁö·Î ±¸¼ºµÈ ÇϳªÀÇ ºí ·°À» ÇÒ´çÇÑ´Ù. ÆäÀÌÁöµéÀº 2ÀÇ Á¦°ö Å©±âÀÎ ºí·°À¸·Î ÇÒ´çµÈ´Ù. Áï 1 ÆäÀÌÁö, 2 ÆäÀÌÁö, 4 Æä ÀÌÁö ½ÄÀ¸·Î ºí·°À» ÇÒ´çÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ½Ã½ºÅÛ¿¡ ÀÖ´Â ÇÁ¸® ÆäÀÌÁö°¡ ¿äûÀ» ó¸®ÇÏ ±â¿¡ ÃæºÐÇÏ´Ù¸é(nr_free_pages > min_free_pages), ÇÒ´ç ÄÚµå´Â free_area¿¡¼­ ¿äû ÇÑ Å©±â¿¡ ÇØ´çÇÏ´Â ÆäÀÌÁöÀÇ ºí·°À» Ž»öÇÑ´Ù. free_areaÀÇ °¢ ¿ø¼Ò´Â ÇÒ´çµÈ ¸Ê°ú, ÇØ´ç Å©±â¸¦ °®´Â ÆäÀÌÁöÀÇ ÇÁ¸® ºí·°ÀÇ ¸ÊÀ» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¾î ¹è¿­ÀÇ µÎ¹ø° ¿ø¼Ò´Â, °¢ °¢ 4 ÆäÀÌÁö ±æÀÌÀÇ ÇÒ´çµÈ ºí·°°ú ÇÁ¸® ºí·°À» ±â¼úÇÏ´Â ¸Þ¸ð¸® ¸ÊÀ» °¡Áö°í ÀÖ´Ù.

ÇÒ´ç ¾Ë°í¸®ÁòÀº ¸ÕÀú ¿äûµÈ Å©±âÀÇ ÆäÀÌÁö ºí·°À» °Ë»öÇÑ´Ù. free_area ÀڷᱸÁ¶ÀÇ list ¿ø¼Ò¿¡ Å¥µÇ¾î ÀÖ´Â ÇÁ¸® ÆäÀÌÁöÀÇ °í¸®¸¦ µû¶ó°£´Ù. ¸¸ÀÏ ¿äûµÈ Å©±âÀÇ ÇÁ¸® ÆäÀÌ Áö ºí·°ÀÌ ¾ø´Ù¸é, ±× ´ÙÀ½ Å©±â(¿äûµÈ Å©±âÀÇ µÎ ¹è)ÀÇ ºí·°À» ã¾Æº»´Ù. ÀÌ °úÁ¤Àº ¸ðµç free_area¸¦ ´Ù °Ë»öÇϰųª, »ç¿ëÇÒ ¼ö ÀÖ´Â ÆäÀÌÁö ºí·°À» ã¾Æ³¾ ¶§±îÁö °è¼ÓµÈ´Ù. ã¾Æ ³½ ÆäÀÌÁö ºí·°ÀÌ ¿äûÇÑ Å©±âº¸´Ù Å©´Ù¸é, ±× ÆäÀÌÁö ºí·°Àº ¿äûÇÑ Å©±â°¡ µÉ ¶§±îÁö ºÐ ÇÒÇÑ´Ù. ºí·°¿¡ µé¾îÀÖ´Â ÆäÀÌÁöÀÇ ¼ö´Â µÎ ¹è¾¿ ´Ã¾î³ª´Â Å©±â·Î µÇ¾î Àֱ⠶§¹®¿¡, ºÐÇÒ°ú Á¤Àº ºí·°À» ¹ÝÀ¸·Î À߶󰡱⸸ ÇÏ¸é µÈ´Ù. ÇÁ¸® ºí·°Àº ÇØ´çÇϴ ť¿¡ Å¥µÇ¸ç ÇÒ´çµÈ ÆäÀÌ Áö ºí·°Àº È£ÃâÀÚ¿¡°Ô µÇµ¹·ÁÁø´Ù.

¿¹¸¦ µé¾î, ±×¸² 3.4¿¡¼­ 2 ÆäÀÌÁöÂ¥¸® ºí·°À» ¿äûÇß´Ù¸é, 4 ÆäÀÌÁöÂ¥¸® ù¹ø° ºí·°(ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 4¿¡¼­ ½ÃÀÛÇÏ´Â)Àº 2 ÆäÀÌÁöÂ¥¸® ºí·° µÎ°³·Î ³ª´· °ÍÀÌ´Ù. ÇÁ·¹ÀÓ ¹øÈ£ 4¿¡¼­ ½ÃÀÛÇϴ ù¹ø° ºí·°Àº ÇÒ´çµÈ ÆäÀÌÁö°¡ µÇ¾î È£ÃâÀÚ¿¡°Ô µÇµ¹·ÁÁö°í, ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 6¿¡¼­ ½ÃÀÛÇÏ´Â µÎ¹ø° ºí·°Àº 2 ÆäÀÌÁö Å©±âÀÇ ÇÁ¸® ºí·°À¸·Î free_area ¹è¿­ÀÇ Ã¹¹ø° ¿ø¼Ò¿¡ Àִ ť¿¡ ÀúÀåµÈ´Ù.


3.4.2 ÆäÀÌÁö ÇØÁ¦(Page Deallocation)

ÆäÀÌÁö ºí·°À» ÇÒ´çÇÏ´Â °ÍÀº ´õ Å« ÇÁ¸® ÆäÀÌÁö ºí·°À» ÀÛÀº °ÍÀ¸·Î ÂÉ°³±â ¶§¹®¿¡ ¸Þ¸ð¸® ¸¦ Á¶°¢³»°Ô µÈ´Ù. ÆäÀÌÁö ÇØÁ¦ ÄÚµå´Â °¡´ÉÇÒ ¶§¸¶´Ù ÇÁ¸® ÆäÀÌÁöµéÀ» ´õ Å« ºí·°ÀÇ ÇÁ¸® ÆäÀÌÁö·Î ÇÕÄ£´Ù. »ç½Ç ÆäÀÌÁö ºí·°ÀÇ Å©±â´Â Áß¿äÇѵ¥, ±×°ÍÀÌ ºí·°µéÀ» ´õ Å« ºí·°À¸·Î ½± °Ô ÇÕÄ¥ ¼ö ÀÖ°Ô Çϱ⠶§¹®ÀÌ´Ù.

ÆäÀÌÁö ºí·°ÀÌ ÇØÁ¦µÉ ¶§¸¶´Ù, °°Àº Å©±âÀÇ ÀÎÁ¢ÇÑ ¹öµð(buddy) ºí·°ÀÌ ÇÁ¸®ÀÎÁö °Ë»çÇÑ´Ù. ±×·¸´Ù¸é ±× ºí·°°ú »õ·Î ÇÁ¸® ºí·°ÀÌ µÈ ÆäÀÌÁöµéÀÌ ÇÕÃÄÁ®¼­, »õ·Î¿î ºó ºí·°ÀÌ µÇ¾î ´Ù À½ Å©±âÀÇ ÇÁ¸® ºí·°À» ÀÌ·é´Ù. µÎ°³ÀÇ ÆäÀÌÁö ºí·°ÀÌ ÇÕÃÄÁ®¼­ ´õ Å« ÇÁ¸® ÆäÀÌÁö ºí·°ÀÌ µÉ ¶§¸¶´Ù, ÆäÀÌÁö ÇØÁ¦ ÄÚµå´Â ÀÌ ºí·°À» ´Ù½Ã ÀÎÁ¢ÇÑ °Í°ú ÇÕÃļ­ ´õ Å« °ÍÀ¸·Î ¸¸µé·Á°í ÇÑ´Ù. ÀÌ·¸°Ô Çؼ­ ÇÁ¸® ÆäÀÌÁö ºí·°Àº ¸Þ¸ð¸®°¡ Çã¶ôÇÏ´Â ¸¸Å­ Ä¿Áú ¼ö ÀÖ°Ô µÈ´Ù.

¿¹¸¦ µé¾î, ±×¸² 3.4¿¡¼­ ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 1ÀÌ ÇØÁ¦µÇ¸é, ÀÌ¹Ì ÇØÁ¦µÇ¾î ÀÖ´Â ÆäÀÌÁö ÇÁ ·¹ÀÓ ¹øÈ£ 0°ú ÇÕÃÄÁ® 2ÆäÀÌÁö Å©±âÀÇ ÇÁ¸® ºí·°ÀÌ µÇ¾î, free_areaÀÇ Ã¹¹ø° ¿ø¼ÒÀÇ Å¥¿¡ ¿¬°áµÈ´Ù.


±×¸² 3.5 : °¡»ó ¸Þ¸ð¸®ÀÇ ¿µ¿ªµé

3.5 ¸Þ¸ð¸® ¸ÅÇÎ(Memory Mapping)

À̹ÌÁö¸¦ ½ÇÇàÇÏ·Á¸é, ±× ½ÇÇà À̹ÌÁöÀÇ ³»¿ëÀ» ÇÁ·Î¼¼½ºÀÇ °¡»ó ÁÖ¼Ò°ø°£À¸·Î °¡Á®¿Í¾ß ÇÑ ´Ù. ½ÇÇà À̹ÌÁö°¡ ¸µÅ©Çؼ­ »ç¿ëÇÏ´Â °øÀ¯ ¶óÀ̺귯¸®µµ ¸¶Âù°¡Áö´Ù. ¸®´ª½º´Â ½ÇÇàÆÄÀÏÀ» ½ÇÁ¦·Î ¹°¸®Àû ¸Þ¸ð¸®¿¡ °¡Á®¿À´Â ´ë½Å¿¡, ´ÜÁö ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®¿Í ¿¬°á¸¸ ½ÃŲ´Ù. ±×¸®°í ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¸é¼­ ÇÁ·Î±×·¥ÀÇ ÀϺΰ¡ ÂüÁ¶µÊ¿¡ µû¶ó, ½ÇÇà À̹ÌÁö·ÎºÎÅÍ ÇØ´çÇÏ´Â À̹ÌÁö ºÎºÐÀ» ¸Þ¸ð¸®·Î °¡Á®¿Â´Ù. ÀÌ·¸°Ô À̹ÌÁö¸¦ ÇÁ·Î¼¼½ºÀÇ °¡»ó ÁÖ¼Ò°ø°£¿¡ ¿¬°áÇÏ´Â °ÍÀ» ¸Þ¸ð¸® ¸ÅÇÎÀ̶ó°í ÇÑ´Ù.

¸ðµç ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®´Â mm_struct ÀڷᱸÁ¶·Î Ç¥ÇöµÈ´Ù. ¿©±â¿¡´Â ÇöÀç ½ÇÇàÁßÀÎ À̹ÌÁö(¿¹¸¦ µé¾î, bashÀÇ)¿¡ ´ëÇÑ Á¤º¸¿Í, ¿©·¯°³ÀÇ vm_area_struct ÀڷᱸÁ¶¿¡ ´ëÇÑ Æ÷ ÀÎÅÍ°¡ µé¾î ÀÖ´Ù. °¢°¢ÀÇ vm_area_struct ÀڷᱸÁ¶´Â °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀÇ ½ÃÀÛ°ú ³¡, ÇÁ ·Î¼¼½ºÀÇ Á¢±Ù ±ÇÇÑ, ¸Þ¸ð¸®¿¡ ´ëÇÑ ¿¬»êµé µîÀ» ±â¼úÇÑ´Ù. ¿©±â¼­ ¿¬»êÀº ÀÌ ¿µ¿ªÀÇ °¡»ó ¸Þ¸ð¸®¸¦ ó¸®Çϱâ À§ÇØ ¸®´ª½º°¡ »ç¿ëÇØ¾ß ÇÏ´Â ·çƾµéÀÌ´Ù. ¿¹¸¦ µé¾î, °¡»ó ¸Þ¸ð¸® ¿¬»ê ÁßÀÇ Çϳª´Â, ÇÁ·Î¼¼½º°¡ °¡»ó ¸Þ¸ð¸®¸¦ Á¢±ÙÇÏ·Á´Ù (ÆäÀÌÁö ÆúÆ®¸¦ ÅëÇØ) ±× ¸Þ¸ð¸®°¡ ½ÇÁ¦ ·Î´Â ¹°¸®Àû ¸Þ¸ð¸®¿¡ ¾ø´Ù´Â °ÍÀ» ¾Ë¾ÒÀ» ¶§, À̸¦ ó¸®ÇÏ´Â ¿Ã¹Ù¸¥ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. ÀÌ ¿¬»êÀÌ nopage ¿¬»êÀÌ´Ù. ¸®´ª½º´Â ½ÇÇà À̹ÌÁöÀÇ ÆäÀÌÁö¸¦ ¸Þ¸ð¸®·Î ¿Å±æ °ÍÀ» ¿ä±¸ÇÒ ¶§ nopage ¿¬»êÀ» »ç¿ëÇÑ´Ù.

¾î¶² ½ÇÇà À̹ÌÁö°¡ ÇÁ·Î¼¼½ºÀÇ °¡»ó ÁÖ¼Ò¿¡ ¸ÅÇ뵃 ¶§, ÇÑ ¼¼Æ®ÀÇ vm_area_struct ÀÚ ·á±¸Á¶°¡ ¸¸µé¾îÁø´Ù. °¢ vm_area_struct ÀڷᱸÁ¶´Â ½ÇÇà À̹ÌÁöÀÇ ÇÑ ºÎºÐÀ» ³ªÅ¸³½´Ù - ½ÇÇà ÄÚµå, ÃʱâÈ­µÈ µ¥ÀÌÅÍ(º¯¼ö), ÃʱâÈ­µÇÁö ¾ÊÀº µ¥ÀÌÅÍ(BSS) µîÀÌ´Ù. ¸®´ª½º´Â »ó´ç¼ö ÀÇ Ç¥ÁØ °¡»ó ¸Þ¸ð¸® ¿¬»êÀ» Áö¿øÇϸç, vm_area_struct ÀڷᱸÁ¶°¡ ¸¸µé¾îÁú ¶§, ±×¿¡ ¸Â ´Â ÀÏ·ÃÀÇ °¡»ó ¸Þ¸ð¸® ¿¬»êÀÌ ¿©±â¿¡ ÁöÁ¤µÈ´Ù.


3.6 ¿ä±¸ ÆäÀÌ¡(Demand Paging)

½ÇÇà À̹ÌÁö°¡ ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®¿¡ ¸ÅÇÎµÇ°í ³ª¸é, ½ÇÇàÇÒ ¼ö ÀÖ°Ô µÈ´Ù. À̹ÌÁöÀÇ ¸Ç ¾ÕºÎºÐ¸¸ ¹°¸®ÀûÀ¸·Î ¸Þ¸ð¸®¿¡ ¿Ã¶ó¿Í Àֱ⠶§¹®¿¡, °ð ¾ÆÁ÷ ¹°¸®Àû ¸Þ¸ð¸®¿¡ ÀÖÁö ¾ÊÀº °¡ »ó ¸Þ¸ð¸® ¿µ¿ªÀ» Á¢±ÙÇÏ°Ô µÈ´Ù. ÇÁ·Î¼¼½º°¡ À¯È¿ÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ °®Áö ¾ÊÀº °¡ »ó ÁÖ¼Ò¿¡ Á¢±ÙÇϸé, ÇÁ·Î¼¼¼­´Â ¸®´ª½º¿¡ ÆäÀÌÁö ÆúÆ®¸¦ º¸°íÇÑ´Ù. ÆäÀÌÁö ÆúÆ®´Â ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÑ ÆäÀÌÁö¿Í, ÆäÀÌÁö ÆúÆ®¸¦ ¹ß»ý½ÃŲ ¸Þ¸ð¸® Á¢±ÙÀÇ À¯ÇüÀ» ¼³¸íÇÑ´Ù.

¸®´ª½º´Â ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÑ °÷À» Æ÷ÇÔÇÏ´Â ¸Þ¸ð¸® ¿µ¿ªÀ» ³ªÅ¸³»´Â vm_area_struct ¸¦ ã¾Æ¾ß ÇÑ´Ù. vm_area_struct ÀڷᱸÁ¶¸¦ °Ë»öÇÏ´Â °ÍÀº, ÆäÀÌÁö ÆúÆ®¸¦ È¿À²ÀûÀ¸·Î ó¸®Çϴµ¥ ÀÖ¾î ÇÙ½ÉÀûÀ̱⠶§¹®¿¡, À̵é ÀڷᱸÁ¶´Â AVL(Adelson-Velskii and Landis)8 Æ®¸® ±¸Á¶·Î ¸¸µé¾îÁ® ÀÖ´Ù. ¸¸¾à ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò¿¡ ´ëÇÑ vm_area_struct ÀڷᱸÁ¶ °¡ ¾ø´Ù¸é, ÀÌ ÇÁ·Î¼¼½º´Â ±ÝÁöµÈ °¡»ó ÁÖ¼Ò¿¡ Á¢±ÙÇÑ °ÍÀÌ´Ù. ¸®´ª½º´Â SIGSEGV9 ½Ã±×³Î À» ÀÌ ÇÁ·Î¼¼½º¿¡ º¸³»¸ç, ÀÌ ÇÁ·Î¼¼½º°¡ ±× ½Ã±×³ÎÀ» ó¸®ÇÏ´Â Çڵ鷯¸¦ °®°í ÀÖÁö ¾Ê´Ù¸é, ÇÁ·Î¼¼½º´Â Á¾·áµÉ °ÍÀÌ´Ù.

±×·±´ÙÀ½ ¸®´ª½º´Â ¹ß»ýÇÑ ÆäÀÌÁö ÆúÆ®ÀÇ À¯Çü°ú, °¡»ó ¸Þ¸ð¸®ÀÇ ÀÌ ¿µ¿ª¿¡ ´ëÇØ Çã¿ëµÈ Á¢ ±Ù À¯ÇüÀ» ºñ±³ÇÑ´Ù. ÇÁ·Î¼¼½º°¡ Àб⸸ Çã¿ëµÈ ¿µ¿ª¿¡ ¾²·Á°í ÇÏ´Â °Íó·³, Çã¿ëµÇÁö ¾ÊÀº ¹æ¹ýÀ¸·Î Á¢±ÙÇÏ·Á°í ÇÏ¸é ¸Þ¸ð¸® ¿¡·¯°¡ ½Ã±×³Î·Î Àü´ÞµÈ´Ù.

ÆäÀÌÁö ÆúÆ®°¡ ¿Ã¹Ù¸¥ °ÍÀÌ¶óµµ ÆÇ´ÜÇß´Ù¸é, ¸®´ª½º´Â À̸¦ ó¸®ÇØ¾ß ÇÑ´Ù. ¸®´ª½º´Â ½º¿Ò ÆÄÀÏ¿¡ ÀÖ´Â ÆäÀÌÁö¿Í, µð½ºÅ©ÀÇ ¾îµò°¡¿¡ ÀÖ´Â ½ÇÇà À̹ÌÁöÀÇ ÀϺÎÀÎ ÆäÀÌÁö¸¦ ±¸ºÐÇØ¾ß ÇÑ´Ù. ±¸ºÐÀ» À§ÇØ ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼ÒÀÇ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ »ç¿ëÇÑ´Ù.

±× ÆäÀÌÁöÀÇ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®°¡ À¯È¿ÇÏÁö ¾ÊÁö¸¸ ºñ¾îÀÖÁöµµ ¾Ê´Ù¸é, ÆäÀÌÁö ÆúÆ®´Â ½º¿Ò ÆÄÀÏ¿¡ µé¾îÀÖ´Â ÆäÀÌÁö¿¡ ´ëÇÏ¿© ¹ß»ýÇÑ °ÍÀÌ´Ù. ¾ËÆÄ AXPÀÇ ÆäÀÌÁö Å×À̺íÀ̶ó¸é, À¯È¿ ºñÆ®°¡ ¼³Á¤µÇÁö ¾Ê°í, PFN Ç׸ñ¿¡ 0ÀÌ ¾Æ´Ñ °ªÀ» °¡Áø ¿£Æ®¸®µéÀÌ ÀÌ¿¡ ÇØ´çµÈ´Ù. ÀÌ °æ¿ì PFN Ç׸ñÀº ½º¿Ò ÆÄÀÏÀÇ(±×¸®°í ¾î¶² ½º¿Ò ÆÄÀÏÀÇ) ¾î´À ºÎºÐ¿¡ ±× ÆäÀÌÁö°¡ µé¾îÀÖ´Â Áö¿¡ ´ëÇÑ Á¤º¸¸¦ °®°í ÀÖ´Ù. ½º¿Ò ÆÄÀÏ¿¡ ÀÖ´Â ÆäÀÌÁöµéÀ» ¾î¶»°Ô ´Ù·ç´Â°¡´Â ÀÌ ÀåÀÇ µÚ ¿¡¼­ ¼³¸íÇÑ´Ù.

¸ðµç vm_area_struct ÀڷᱸÁ¶°¡ °¡»ó ¸Þ¸ð¸® ¿¬»êÀ» °®°í ÀÖ´Â °ÍÀº ¾Æ´Ï°í, °¡Áö°í ÀÖ ´Ù°í Çصµ nopage¿¬»êÀ» °¡Áö°í ÀÖÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ÀÌ´Â ±âº»ÀûÀ¸·Î ¸®´ª½º°¡ »õ·Î¿î ¹° ¸®Àû ÆäÀÌÁö¸¦ ÇÒ´çÇÏ°í ÀÌ¿¡ ´ëÇÑ À¯È¿ÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ »ý¼ºÇÏ¿©, À̸¦ ó¸®ÇØ Áֱ⠶§¹®ÀÌ´Ù. ÀÌ °¡»ó ¸Þ¸ð¸® ¿µ¿ª ¿ëÀ¸·Î nopage ¿¬»êÀÌ ÀÖ´Ù¸é, ¸®´ª½º´Â À̸¦ »ç¿ëÇÒ °ÍÀÌ´Ù.

ÀÏ¹Ý nopage ¿¬»êÀº ¸Þ¸ð¸®¿¡ ¸ÅÇÎµÈ ½ÇÇà À̹ÌÁö¸¦ À§ÇØ »ç¿ëµÇ¸ç, ÆäÀÌÁö ij½Ã¸¦ »ç¿ëÇÏ ¿© ¿äûÇÑ ÆäÀÌÁö¸¦ ½ÇÁ¦ ¸Þ¸ð¸®·Î °¡Á®¿Â´Ù.

¾î·µç ¿äûÇÑ ÆäÀÌÁö°¡ ¹°¸®Àû ¸Þ¸ð¸®·Î ¿Ã¶ó¿À¸é, ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×À̺íÀÌ °»½ÅµÈ´Ù. ÀÌ ¿£Æ®¸®¸¦ °»½ÅÇϱâ À§ÇÏ¿©, ƯÈ÷ º¯È¯ ÂüÁ¶ ¹öÆÛ(translation look aside buffer)¸¦ »ç¿ëÇÏ´Â ÇÁ·Î¼¼¼­ÀÇ °æ¿ì¿¡´Â, ƯÁ¤ÇÑ Çϵå¿þ¾î¿¡ ¸Â´Â ÇൿÀÌ ÇÊ¿äÇÒ ¼öµµ ÀÖ´Ù. ÀÌÁ¦ ÆäÀÌÁö ÆúÆ® °¡ 󸮵ǾúÀ¸¹Ç·Î ±× »óȲÀº ÇØÁ¦µÇ¸ç, ÇÁ·Î¼¼½º´Â °¡»ó ¸Þ¸ð¸® Á¢±Ù¿¡ ´ëÇÑ ÆúÆ®¸¦ ¹ß»ý ½ÃÄ×´ø ¸í·É¿¡¼­ºÎÅÍ ½ÇÇàÀ» Àç°³ÇÑ´Ù.


±×¸² 3.6 : ¸®´ª½º ÆäÀÌÁö ij½Ã

3.7 ¸®´ª½º ÆäÀÌÁö ij½Ã

¸®´ª½º ÆäÀÌÁö ij½ÃÀÇ ¿ªÇÒÀº µð½ºÅ©¿¡ ÀÖ´Â ÆÄÀÏ·ÎÀÇ Á¢±Ù ¼Óµµ¸¦ ³ôÀÌ´Â °ÍÀÌ´Ù. ¸Þ¸ð¸® ¸ÅÇÎµÈ ÆÄÀÏÀº Çѹø¿¡ ÇÑ ÆäÀÌÁö¾¿ ÀÐÇôÁö¸ç, À̵é ÆäÀÌÁö´Â ÆäÀÌÁö ij½Ã¿¡ ÀúÀåµÈ´Ù. ±×¸² 3.6Àº ÆäÀÌÁö ij½Ã°¡ mem_map_t ÀڷᱸÁ¶¿¡ ´ëÇÑ Æ÷ÀÎÅ͵éÀÇ º¤ÅÍÀÎ page_hash_table ·Î ±¸¼ºµÇ¾î ÀÖ´Â °ÍÀ» º¸¿©ÁØ´Ù. ¸®´ª½ºÀÇ °¢ ÆÄÀÏÀº VFS inode ÀڷᱸÁ¶(9Àå, ÆÄÀÏ ½Ã½º ÅÛ¿¡¼­ ¼³¸í)¿¡ ÀÇÇØ ½Äº°µÇ¸ç, °¢ VFS inode´Â À¯ÀÏÇϸç, ÇÑ ÆÄÀÏ¿¡ ÀÏ´ëÀÏ·Î ´ëÀÀµÇ¾î ÆÄ ÀÏÀ» ¿ÏÀüÈ÷ ±â¼úÇÑ´Ù. ÆäÀÌÁö Å×ÀÌºí¿¡ ´ëÇÑ À妽º´Â, ÆÄÀÏÀÇ VFS inode¿Í ÆÄÀÏ¿¡¼­ÀÇ ¿ÀÇÁ¼ÂÀ» °¡Áö°í ¸¸µé¾îÁø´Ù.

ÆäÀÌÁö¸¦ ¸Þ¸ð¸® ¸ÅÇÎµÈ ÆÄÀÏ¿¡¼­ ÀÐÀ» ¶§, ¿¹¸¦ µé¾î ¿ä±¸ ÆäÀÌ¡¿¡¼­ ÆäÀÌÁö¸¦ ¸Þ¸ð¸®·Î ´Ù½Ã °¡Á®¿Ã ¶§, ÆäÀÌÁö´Â ÆäÀÌÁö ij½Ã¸¦ ÅëÇØ ÀÐ°Ô µÈ´Ù. ÆäÀÌÁö°¡ ij½Ã¿¡ ÀÖÀ¸¸é, ±× ÆäÀÌ Áö¸¦ ³ªÅ¸³»´Â mem_map_t ÀڷᱸÁ¶¿¡ ´ëÇÑ Æ÷ÀÎÅÍ°¡ ÆäÀÌÁö ÆúÆ® ó¸® ÄÚµå·Î µÇµ¹·ÁÁø´Ù. ij½Ã¿¡ ¾ø´Ù¸é À̹ÌÁö¸¦ °®°í ÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ÆäÀÌÁö¸¦ ¸Þ¸ð¸®·Î °¡Á®¿Í¾ß ÇÑ´Ù. ¸®´ª½º´Â ¹°¸®Àû ÆäÀÌÁö¸¦ ÇÒ´çÇÏ°í µð½ºÅ© »óÀÇ ÆÄÀϷκÎÅÍ ÆäÀÌÁö¸¦ ÀÐ¾î µéÀδÙ.

°¡´ÉÇÏ´Ù¸é ¸®´ª½º´Â ÆÄÀÏÀÇ ´ÙÀ½ ÆäÀÌÁö¿¡ ´ëÇÑ Àб⸦ ½ÃÀÛÇÑ´Ù. ÀÌ·¸°Ô ÇÑ ÆäÀÌÁö¸¦ ¹Ì ¸® Àд °ÍÀº, ÇÁ·Î¼¼½º°¡ ÆÄÀÏÀÇ ÆäÀÌÁö¸¦ ¼øÂ÷ÀûÀ¸·Î Á¢±ÙÇÏ´Â °æ¿ì, ´ÙÀ½ ÆäÀÌÁö°¡ (ÇÁ·Î ¼¼½º°¡ ´ÙÀ½ ¸Þ¸ð¸®¸¦ Àбâ Àü¿¡) ÇÁ·Î¼¼½º¸¦ À§ÇÑ ¸Þ¸ð¸®¿¡ ±â´Ù¸®°í ÀÖ°Ô ÇÑ´Ù.

½Ã°£ÀÌ Èê·¯ À̹ÌÁö¸¦ ÀÐ°í ½ÇÇàÇÔ¿¡ µû¶ó ÆäÀÌÁö ij½Ã°¡ Áõ°¡ÇÏ°Ô µÈ´Ù. ÆäÀÌÁö´Â ´õÀÌ»ó ÇÊ¿ä¾ø°Ô µÇ¸é, °¡·É À̹ÌÁö°¡ ´õÀÌ»ó ¾î¶² ÇÁ·Î¼¼½º¿¡ ÀÇÇؼ­µµ »ç¿ëµÇÁö ¾Ê°Ô µÇ¸é, ij½Ã ·ÎºÎÅÍ Á¦°ÅµÈ´Ù. ¸®´ª½º°¡ ¸Þ¸ð¸®¸¦ »ç¿ëÇØ ³ª°¨¿¡ µû¶ó ¹°¸®Àû ÆäÀÌÁö°¡ ºÎÁ·ÇØÁö±â ½ÃÀÛ ÇÑ´Ù. ÀÌ ¶§ ¸®´ª½º´Â ÆäÀÌÁö ij½ÃÀÇ Å©±â¸¦ ÁÙÀÏ °ÍÀÌ´Ù.


3.8 ÆäÀÌÁöÀÇ ½º¿Ò ¾Æ¿ô(swap out)°ú Æó±â(discarding)

¹°¸®Àû ¸Þ¸ð¸®°¡ ºÎÁ·ÇÏ°Ô µÇ¸é ¸®´ª½º ¸Þ¸ð¸® °ü¸® ¼­ºê½Ã½ºÅÛÀº ¹°¸®Àû ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÏ ·Á ÇÑ´Ù. ÀÌ ÀÏÀº Ä¿³Î ½º¿Ò µ¥¸ó(kswapd)¿¡°Ô ÇÒ´çµÈ´Ù. Ä¿³Î ½º¿Ò µ¥¸óÀº Ä¿³Î ¾²·¹µå¶ó ´Â Ưº°ÇÑ Á¾·ùÀÇ ÇÁ·Î¼¼½ºÀÌ´Ù. Ä¿³Î ¾²·¹µå´Â °¡»ó ¸Þ¸ð¸® ¾øÀÌ, ¹°¸®Àû ¸Þ¸ð¸® °ø°£¿¡¼­ Ä¿³Î¸ðµå·Î ½ÇÇàµÇ´Â ÇÁ·Î¼¼½ºÀÌ´Ù. Ä¿³Î ½º¿Ò µ¥¸óÀ̶ó´Â À̸§Àº ¾à°£ À߸øµÇ¾ú´Âµ¥, ÀÌ´Â ´ÜÁö ÆäÀÌÁö¸¦ ½º¿Ò ¾Æ¿ôÇÏ¿© ½Ã½ºÅÛÀÇ ½º¿Ò ÆÄÀÏ¿¡ ÀúÀåÇÏ´Â °Í ÀÌ»óÀÇ ¿©·¯ ÀÏÀ» Çϱ⠶§ ¹®ÀÌ´Ù. Ä¿³Î ½º¿Ò µ¥¸óÀÇ ¿ªÇÒÀº ¸Þ¸ð¸® °ü¸® ½Ã½ºÅÛÀÌ È¿À²ÀûÀ¸·Î µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï ½Ã½º ÅÛ¿¡ ÃæºÐÇÑ ÇÁ¸® ÆäÀÌÁö°¡ ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ´Ù.

Ä¿³Î ½º¿Ò µ¥¸ó(kswapd)Àº Ä¿³ÎÀÇ init ÇÁ·Î¼¼½º¿¡ ÀÇÇØ ½ÃÀ۵Ǹç Ä¿³Î ½º¿Ò ŸÀ̸Ӱ¡ ÁÖ±â ÀûÀ¸·Î ¸¸·áµÉ ¶§¸¦ ±â´Ù¸®°í ÀÖ´Ù. ŸÀ̸Ӱ¡ ¸¸·áµÉ ¶§¸¶´Ù, ½º¿Ò µ¥¸óÀº ½Ã½ºÅÛÀÇ ÇÁ¸® Æä ÀÌÁö ¼ö°¡ ³Ê¹« ÀûÁö ¾ÊÀºÁö È®ÀÎÇÑ´Ù. free_pages_high¿Í free_pages_low¶ó´Â µÎ°³ÀÇ º¯¼ö¸¦ »ç¿ëÇÏ¿©, ÆäÀÌÁö¸¦ ÇØÁ¦ÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´ÂÁö °áÁ¤ÇÑ´Ù. ½Ã½ºÅÛ¿¡ ³²¾ÆÀÖ´Â ÇÁ¸® ÆäÀÌÁöÀÇ ¼ö°¡ free_pages_highº¸´Ù Å« µ¿¾ÈÀº, Ä¿³Î ½º¿Ò µ¥¸óÀº ¾Æ¹« Àϵµ ÇÏÁö ¾Ê°í ´Ù½Ã Àáµé¾î ´ÙÀ½ ŸÀ̸Ӱ¡ ¸¸·áµÉ ¶§¸¦ ±â´Ù¸°´Ù. ÀÌ È®ÀÎ ÀÛ¾÷À» À§ÇØ, Ä¿³Î ½º¿Ò µ¥¸óÀº ÇöÀç ½º¿Ò ÆÄÀÏ¿¡ ¾º¾îÁö°í ÀÖ´Â ÆäÀÌÁöÀÇ ¼öµµ °í·ÁÇÑ´Ù. ÀÌ °³¼ö´Â nr_async_pages¶ó ´Â Ä«¿îÆ® °ªÀ¸·Î À¯ÁöµÈ´Ù. ÀÌ °ªÀº ¾î¶² ÆäÀÌÁö°¡ ½º¿Ò ÆÄÀÏ¿¡ ¾º¾îÁö±â À§ÇØ Å¥¿¡ µé¾î °¥ ¶§¸¶´Ù Áõ°¡ÇÏ°í, ½º¿Ò ÀåÄ¡¿¡ ¿ÏÀüÈ÷ ¾º¾îÁú ¶§¸¶´Ù °¨¼ÒÇÑ´Ù. free_pages_low¿Í free_pages_high´Â ½Ã½ºÅÛÀÌ ºÎÆÃÇÒ ¶§ ¼³Á¤µÇ¸ç, ½Ã½ºÅÛ¿¡ ÀÖ´Â ½ÇÁ¦ ÆäÀÌÁö ¼ö¿Í °ü·Ã ÀÌ ÀÖ´Ù. ¸¸¾à, ½Ã½ºÅÛ¿¡ ÀÖ´Â ÇÁ¸® ÆäÀÌÁö ¼ö°¡ free_pages_highº¸´Ù, ½ÉÁö¾î´Â free_pages_lowº¸´Ù ÀÛ¾ÆÁö¸é, Ä¿³Î ½º¿Ò µ¥¸óÀº ½Ã½ºÅÛÀÌ »ç¿ëÇÏ´Â ¹°¸®Àû ÆäÀÌÁöÀÇ ¼ö ¸¦ ÁÙÀ̱â À§ÇÏ¿© ´ÙÀ½ ¼¼°¡Áö ¹æ¹ýÀ» ½ÃµµÇÑ´Ù.

½Ã½ºÅÛÀÇ ÇÁ¸® ÆäÀÌÁöÀÇ ¼ö°¡ free_pages_low ÀÌÇÏ·Î ¶³¾îÁö¸é, Ä¿³Î ½º¿Ò µ¥¸óÀº ´ÙÀ½ ¿¡ ½ÇÇàµÇ±â Àü¿¡, 6°³ÀÇ ÆäÀÌÁö¸¦ ÇØÁ¦ÇÏ·Á ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é 3°³ÀÇ ÆäÀÌÁö¸¦ ÇØÁ¦ÇÏ·Á °í ÇÑ´Ù. ÃæºÐÇÑ ÆäÀÌÁöµéÀÌ ÇØÁ¦µÉ ¶§±îÁö À§ÀÇ °¢ ¹æ¹ýÀÌ Â÷·Ê·Î ½ÃµµµÈ´Ù. Ä¿³Î ½º¿Ò µ¥ ¸óÀº ¹°¸®Àû ÆäÀÌÁö¸¦ ÇØÁ¦Çϱâ À§ÇØ Áö³­¹ø¿¡ ¾î¶² ¹æ¹ýÀ» »ç¿ëÇß´ÂÁö ±â¾ïÇÏ°í, ¸Å¹ø ½Ç ÇàµÉ ¶§¸¶´Ù ÃÖÁ¾ÀûÀ¸·Î ¼º°øÇÑ ¹æ¹ýÀ» »ç¿ëÇؼ­ ÆäÀÌÁö¸¦ ÇØÁ¦½ÃÅ°·Á°í ÇÑ´Ù10.

ÃæºÐÇÑ ÆäÀÌÁö¸¦ ÇØÁ¦ÇÑ ÈÄ, ½º¿Ò µ¥¸óÀº ´Ù½Ã Àáµé¾î ŸÀ̸Ӱ¡ ¸¸·áµÇ±æ ±â´Ù¸°´Ù. Ä¿³Î ½º ¿Ò µ¥¸óÀÌ ÆäÀÌÁö¸¦ ÇØÁ¦ÇÑ ÀÌÀ¯°¡, ÇÁ¸® ÆäÀÌÁöÀÇ ¼ö°¡ free_pages_low ÀÌÇÏ·Î ¶³¾îÁ® ¼­ ¿´´Ù¸é, Æò¼Ò¿¡ ÀÚ´ø ½Ã°£ÀÇ Àý¹Ý¸¸ ÀÜ´Ù. ±×·¡¼­ ºó ÆäÀÌÁöÀÇ ¼ö°¡ free_pages_lowº¸ ´Ù Ä¿Áö¸é Ä¿³Î ½º¿Ò µ¥¸óÀº ´õ ¿À·¨µ¿¾È ÀÚ°Ô µÈ´Ù.


3.8.1 ÆäÀÌÁö ij½Ã¿Í ¹öÆÛ Ä³½Ã Å©±â¸¦ ÁÙÀ̱â

ÆäÀÌÁö ij½Ã¿Í ¹öÆÛ Ä³½Ã¿¡ µé¾îÀÖ´Â ÆäÀÌÁö´Â free_area º¤ÅÍ·Î ÇØÁ¦ÇÒ ÁÁÀº È帵éÀÌ´Ù. ¸Þ¸ð¸®¿¡ ¸ÅÇÎµÈ ÆÄÀÏÀÇ ÆäÀÌÁö¸¦ °®°í ÀÖ´Â ÆäÀÌÁö ij½Ã´Â ½Ã½ºÅÛÀÇ ¸Þ¸ð¸®¸¦ ä¿ì°í ÀÖ´Â ºÒÇÊ¿äÇÑ ÆäÀÌÁö¸¦ °®°í ÀÖÀ» ¼ö ÀÖ´Ù. ¸¶Âù°¡Áö·Î ½ÇÁ¦ ÀåÄ¡·Î ¾²°Å³ª ÀÐÀº µ¥ÀÌÅÍ ¹öÆÛ¸¦ °®°í ÀÖ´Â ¹öÆÛ Ä³½Ã ¿ª½Ã ºÒÇÊ¿äÇÑ ¹öÆÛ¸¦ °®°í ÀÖÀ» ¼ö ÀÖ´Ù. ½Ã½ºÅÛÀÇ ½ÇÁ¦ ÆäÀÌÁö°¡ °í °¥µÇ±â ½ÃÀÛÇϸé, À̵é ij½Ã·ÎºÎÅÍ ÆäÀÌÁö¸¦ ¹ö¸®´Â °ÍÀº, ¸Þ¸ð¸®¿¡¼­ ½º¿Ò ¾Æ¿ôÇÏ´Â °æ¿ì¿Í ´Þ¸® ½ÇÁ¦ ÀåÄ¡¿¡ ±â·ÏÇÒ ÇÊ¿ä°¡ ¾øÀ¸¹Ç·Î »ó´ëÀûÀ¸·Î ½±´Ù. À̵é ÆäÀÌÁö¸¦ ¹ö¸®´Â °ÍÀº ½Ç Á¦ ÀåÄ¡¿Í ¸Þ¸ð¸® ¸ÅÇÎµÈ ÆÄÀÏÀ» ¾×¼¼½ºÇÏ´Â ¼Óµµ°¡ ´À·ÁÁø´Ù´Â °ÍÀ» Á¦¿ÜÇÏ°í´Â ´Ù¸¥ ½É°¢ ÇÑ ºÎÀÛ¿ëÀº ¾ø´Ù. ±×¸®°í À̵é ij½Ã·ÎºÎÅÍ ÆäÀÌÁö¸¦ Á¦°ÅÇÏ´Â °ÍÀÌ °øÁ¤ÇÏ°Ô ÀÌ·ç¾îÁø´Ù¸é, ¸ðµç ÇÁ·Î¼¼½ºµéÀº °øÆòÇÏ°Ô ¼ÕÇغ¼ °ÍÀÌ´Ù.

Ä¿³Î ½º¿Ò µ¥¸óÀÌ À̵é ij½Ã¸¦ ÁÙÀÌ·Á°í ÇÒ ¶§ ¸¶´Ù, mem_map ÆäÀÌÁö º¤ÅÍ¿¡ ÀÖ´Â ÆäÀÌÁö ºí·°À» °Ë»çÇÏ¿© ½ÇÁ¦ ¸Þ¸ð¸®¿¡¼­ ¹ö·Áµµ µÉ °ÍÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. Ä¿³Î ½º¿Ò µ¥¸óÀÌ ½ÉÇÏ °Ô ½º¿ÍÇÎÀ» ÇÏ°í ÀÖ´Ù¸é - Áï, ½Ã½ºÅÛÀÇ ÇÁ¸® ÆäÀÌÁöÀÇ ¼ö°¡ ½É°¢ÇÏ°Ô ³·°Ô ¶³¾îÁ³´Ù¸é - °Ë»çÇÒ ÆäÀÌÁö ºí·°ÀÇ Å©±â°¡ Ä¿Áø´Ù. ÆäÀÌÁö ºí·°Àº µ¹¾Æ°¡¸ç °Ë»çµÈ´Ù. Áï ¸Þ¸ð¸® ¸ÊÀ» ÁÙ ÀÌ·Á°í ÇÒ ¶§¸¶´Ù ¼­·Î ´Ù¸¥ ÆäÀÌÁö ºí·°ÀÌ °Ë»çµÈ´Ù. ÀÌ ¹æ¹ýÀº ½Ã°è ¾Ë°í¸®Áò(clock algorithm)À̶ó°í ºÒ¸®´Âµ¥, ½Ã°è ¹Ù´ÃÀÇ ¿òÁ÷ÀÓó·³ Àüü mem_map ÆäÀÌÁö º¤ÅÍ¿¡¼­ Çѹø¿¡ ¸î ÆäÀÌÁö¾¿ Â÷·Ê·Î Á¶»çµÇ±â ¶§¹®ÀÌ´Ù.

Á¶»çµÇ´Â °¢ ÆäÀÌÁö´Â ±×°ÍÀÌ ÆäÀÌÁö ij½Ã³ª ¹öÆÛ Ä³½Ã¿¡ ÀÖ´Â °ÍÀÎÁö °Ë»çµÈ´Ù. ÀÌ ´Ü°è¿¡ ¼­ °øÀ¯ ÆäÀÌÁö´Â °í·ÁµÇÁö ¾ÊÀ¸¸ç, ÇÑ ÆäÀÌÁö°¡ µ¿½Ã¿¡ µÎ ij½Ã¿¡ ¸ðµÎ¿¡ ÀÖÀ» ¼ö ¾ø´Ù´Â °ÍÀ» ±â¾ïÇØ µÎ±â ¹Ù¶õ´Ù. ÆäÀÌÁö°¡ µÎ ij½Ã ¾îµð¿¡µµ ¼ÓÇÏÁö ¾ÊÀ¸¸é mem_map ÆäÀÌÁö º¤ÅÍ ÀÇ ´ÙÀ½ ÆäÀÌÁö°¡ Á¶»çµÈ´Ù.

¹öÆÛÀÇ ÇÒ´ç°ú ÇØÁ¦°¡ ´õ¿í È¿À²ÀûÀ¸·Î ÀÌ·ç¾îÁö°Ô Çϱâ À§ÇÏ¿© (ÆäÀÌÁö ³»ÀÇ ¹öÆÛ°¡ ij½Ã µÇ´Â °ÍÀÌ ¾Æ´Ï¶ó) ÆäÀÌÁö ÀÚü°¡ ¹öÆÛ Ä³½Ã¿¡ ij½ÃµÈ´Ù. ¸Þ¸ð¸® ¸Ê Ãà¼Ò ÄÚµå´Â °Ë»çµÇ´Â ÆäÀÌÁö¿¡ Æ÷ÇÔµÈ ¹öÆÛ¸¦ ÇØÁ¦ÇÏ·Á°í ÇÑ´Ù. ÆäÀÌÁö¿¡ Æ÷ÇÔµÈ ¸ðµç ¹öÆÛ°¡ ÇØÁ¦µÇ¸é, ±×µéÀ» °®°í ÀÖ´ø ÆäÀÌÁöµµ ÇØÁ¦µÈ´Ù. Á¶»çµÈ ÆäÀÌÁö°¡ ¸®´ª½º ÆäÀÌÁö ij½Ã¿¡ ÀÖ´Ù¸é, ÆäÀÌÁö ij½Ã ¿¡¼­ Á¦°ÅµÈ ´ÙÀ½ ÇØÁ¦µÈ´Ù.

ÀÌ·¸°Ô Çؼ­ ÃæºÐÇÑ ÆäÀÌÁö°¡ ÇØÁ¦µÇ¾ú´Ù¸é Ä¿³Î ½º¿Ò µ¥¸óÀº ´ÙÀ½¿¡ ÁÖ±âÀûÀ¸·Î ±ú¾î³ª´Â ½ÃÁ¡±îÁö ±â´Ù¸°´Ù. ÇØÁ¦µÇ´Â ÆäÀÌÁö Áß¿¡´Â ¾î¶² ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®¿¡µµ ¼ÓÇÏÁö ¾ÊÀ¸ ¹Ç·Î (¸ðµÎ ij½ÃµÈ ÆäÀÌÁöÀ̹ǷÎ), ¾Æ¹«·± ÆäÀÌÁö Å×ÀÌºíµµ ¼öÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ij½ÃµÈ Æä ÀÌÁö¸¦ Á¦°ÅÇÏ´Â °É·Î ÃæºÐÇÏÁö ¾ÊÀº °æ¿ì, ½º¿Ò µ¥¸óÀº °øÀ¯ ÆäÀÌÁö¸¦ ½º¿Ò ¾Æ¿ôÇÏ·Á°í ÇÏ °Ô µÈ´Ù.


3.8.2 ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ÆäÀÌÁöÀÇ ½º¿Ò ¾Æ¿ô

½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸®´Â µÑ ÀÌ»óÀÇ ÇÁ·Î¼¼½º°¡ °¡»ó ¸Þ¸ð¸®¸¦ °øÀ¯ÇÏ¿© ±×µé »çÀÌ¿¡ Á¤º¸ ¸¦ Àü¼ÛÇÒ ¼ö ÀÖ´Â ÇÁ·Î¼¼½º°£ Åë½Å(IPC) ¸ÞÄ¿´ÏÁòÀÇ ÀÏÁ¾ÀÌ´Ù. ÇÁ·Î¼¼½ºµéÀÌ ÀÌ ¹æ¹ýÀ¸·Î ¾î¶»°Ô ¸Þ¸ð¸®¸¦ °øÀ¯Çϴ°¡´Â 5Àå¿¡¼­ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù. ¾ÆÁ÷Àº ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸®ÀÇ °¢ ¿µ¿ªÀ» shmid_ds ÀڷᱸÁ¶·Î ±â¼úÇÑ´Ù°í ¾Ë¾ÆµÎ´Â °ÍÀ¸·Î ÃæºÐÇÏ´Ù. ÀÌ ÀڷᱸÁ¶´Â ÀÌ °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀ» °øÀ¯ÇÏ´Â ÇÁ·Î¼¼½º¸¶´Ù Çϳª¾¿ ´ëÀÀµÇ´Â vm_area_struct ÀڷᱸÁ¶ ¸®½ºÆ®¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °®°í ÀÖ´Ù. vm_area_struct ÀڷᱸÁ¶´Â °¢ ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð ¸®ÀÇ ¾îµð¿¡ ÀÌ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸®°¡ ´ëÀÀÇÏ´ÂÁö ³ªÅ¸³½´Ù. ÀÌ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸®¿ë vm_area_struct ÀڷᱸÁ¶µéÀº vm_next_shared, vm_prev_shared Æ÷ÀÎÅÍ·Î ¼­·Î ¿¬°á µÇ¾î ÀÖ´Ù. °¢°¢ÀÇ shmid_ds ÀڷᱸÁ¶´Â À̹ۿ¡ °øÀ¯ °¡»ó ÆäÀÌÁö°¡ ¸ÅÇεǾî ÀÖ´Â ½ÇÁ¦ ÆäÀÌÁö¸¦ ¼³¸íÇÏ°í ÀÖ´Â ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÇ ¸®½ºÆ®µµ °®°í ÀÖ´Ù.

Ä¿³Î ½º¿Ò µ¥¸óÀº ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ÆäÀÌÁö¸¦ ½º¿Ò ¾Æ¿ôÇÒ ¶§¿¡µµ ½Ã°è ¾Ë°í¸®Áò(clock algorithm)À» »ç¿ëÇÑ´Ù. Ä¿³Î ½º¿Ò µ¥¸óÀº ½ÇÇàÇÒ ¶§¸¶´Ù ¸Ç ¸¶Áö¸·À¸·Î ½º¿Ò ¾Æ¿ôÇÑ °øÀ¯ °¡ »ó ¸Þ¸ð¸® ÆäÀÌÁö°¡ ¹«¾ùÀ̾ú´ÂÁö¸¦ ±â¾ïÇÑ´Ù. À̸¦ À§ÇØ µÎ°³ÀÇ À妽º °ªÀ» À¯Áö Çϴµ¥, Çϳª´Â shmid_ds ÀڷᱸÁ¶ ÁýÇÕ¿¡ ´ëÇÑ À妽ºÀÌ°í, ´Ù¸¥ Çϳª´Â ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ¿µ¿ªÀ» ³ªÅ¸³»´Â ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÇ ¸®½ºÆ®¿¡ ´ëÇÑ À妽ºÀÌ´Ù. ÀÌ ¹æ¹ýÀº ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ¿µ¿ªÀÌ °øÁ¤ÇÏ°Ô Èñ»ýµÇ°Ô ÇÑ´Ù.

¾î¶² ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸®ÀÇ °¡»ó ÆäÀÌÁö¿¡ ´ëÇÑ ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£´Â, ÀÌ °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀ» °øÀ¯ÇÏ´Â ¸ðµç ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×ÀÌºí¿¡ µé¾îÀֱ⠶§¹®¿¡, Ä¿³Î ½º¿Ò µ¥ ¸óÀº À̵é ÆäÀÌÁö Å×ÀÌºí ¸ðµÎ¸¦ º¯°æÇÏ¿©, ÀÌ ÆäÀÌÁö°¡ ´õÀÌ»ó ¸Þ¸ð¸®¿¡ ¾ø°í ½º¿Ò ÆÄÀÏ¿¡ µé¾î ÀÖ´Ù´Â °ÍÀ» ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù. ½º¿Ò ¾Æ¿ôµÇ´Â °¢ °øÀ¯ ÆäÀÌÁö¸¶´Ù, Ä¿³Î ½º¿Ò µ¥¸óÀº ÀÌ ÆäÀÌÁö¸¦ °øÀ¯ÇÏ°í ÀÖ´Â ÇÁ·Î¼¼½ºµéÀÇ ÆäÀÌÁö Å×À̺í·ÎºÎÅÍ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ 㠴´٠(°¢ vm_area_struct ÀڷᱸÁ¶¿¡¼­ Æ÷ÀÎÅ͸¦ µû¶ó°¨À¸·Î½á). ÀÌ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð ¸® ÆäÀÌÁö¿¡ ´ëÇÑ ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®°¡ À¯È¿Çϸé, µ¥¸óÀº ±×°ÍÀ» À¯È¿ÇÏÁö ¾Ê°í ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®·Î º¯È¯ÇÏ°í, ÀÌ (°øÀ¯µÈ) ÆäÀÌÁöÀÇ »ç¿ëÀÚ ¼ö¸¦ 1 °¨¼Ò½ÃŲ´Ù. ½º¿Ò ¾Æ¿ôµÈ ½Ã½ºÅÛ V °øÀ¯ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¿¡´Â, shmid_ds ÀڷᱸÁ¶ Áý ÇÕ¿¡ ´ëÇÑ À妽º¿Í, ÀÌ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÇ À妽º °¡ µé¾î ÀÖ´Ù.

°øÀ¯ÇÏ´Â ÇÁ·Î¼¼½ºµéÀÇ ÆäÀÌÁö Å×À̺íÀÌ ¸ðµÎ º¯°æµÇ¾î ±× ÆäÀÌÁöÀÇ Ä«¿îÆ®°¡ 0ÀÌ µÇ¸é, ÀÌ °øÀ¯ ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ·Î ½º¿Ò ¾Æ¿ôÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ÀÌ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ë ÇÑ shmid_ds ÀڷᱸÁ¶°¡ °¡¸®Å°°í ÀÖ´Â ¸®½ºÆ®¿¡ µé¾î ÀÖ´Â ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®µéÀº ½º ¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®·Î ±³Ã¼µÈ´Ù. ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®´Â À¯È¿ÇÏ Áö ¾ÊÁö¸¸, ¿­¸° ½º¿Ò ÆÄÀϵé Áß Çϳª¸¦ °¡¸®Å°´Â À妽º¿Í, ±× ÆÄÀÏ ¾ÈÀÇ ¾îµð¿¡ ½º¿Ò ¾Æ¿ô µÈ ÆäÀÌÁö°¡ ÀÖ´ÂÁö¸¦ ³ªÅ¸³»´Â ¿ÀÇÁ¼ÂÀ» °®°í ÀÖ´Ù. ÀÌ Á¤º¸´Â ±× ÆäÀÌÁö¸¦ ´Ù½Ã ¹°¸®Àû ¸Þ¸ð¸®·Î °¡Á®¿Ã ¶§ »ç¿ëµÈ´Ù.


3.8.3 ÆäÀÌÁöÀÇ ½º¿Ò ¾Æ¿ô°ú Æó±â

½º¿Ò µ¥¸óÀº ½Ã½ºÅÛ¿¡ ÀÖ´Â °¢ ÇÁ·Î¼¼½º¸¦ Â÷·Ê·Î °üÂûÇϸ鼭, ±×°ÍÀÌ ½º¿ÒÇϱâ ÁÁÀº Èĺ¸ ÀÎÁö ÆÇ´ÜÇÑ´Ù. ÁÁÀº È帴 ½º¿ÒµÉ ¼ö ÀÖÀ¸¸é¼­(½º¿ÒµÉ ¼ö ¾ø´Â ÇÁ·Î¼¼½ºµµ ÀÖ´Ù), ¸Þ¸ð¸® ¿¡¼­ ½º¿ÒµÇ°Å³ª Æó±âµÉ ¼ö ÀÖ´Â ÆäÀÌÁö¸¦ Çϳª ÀÌ»ó °¡Áø ÇÁ·Î¼¼½ºµéÀÌ´Ù. ÆäÀÌÁöµéÀº ±× ¾È¿¡ ÀúÀåµÈ µ¥ÀÌÅ͸¦ ´Ù¸¥ ¹æ¹ýÀ¸·Î ¾ò¾î¿Ã ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾øÀ» ¶§¸¸, ¹°¸®Àû ¸Þ¸ð¸®·ÎºÎ ÅÍ ½Ã½ºÅÛÀÇ ½º¿Ò ÆÄÀÏ¿¡ ½º¿Ò ¾Æ¿ôµÈ´Ù.

½ÇÇà À̹ÌÁöÀÇ »ó´ç¼ö´Â ½ÇÇà ÆÄÀÏ¿¡¼­ °¡Á®¿Â °ÍÀ̸ç, ±× ÆÄÀÏ¿¡¼­ ½±°Ô ´Ù½Ã ÀÐÀ» ¼ö ÀÖ ´Ù. ¿¹¸¦ µé¾î À̹ÌÁö¿¡ µé¾îÀÖ´Â ½ÇÇà ¸í·ÉÀº º¯°æµÇÁö ¾Ê±â ¶§¹®¿¡ ½º¿Ò ÆÄÀÏ¿¡ ¾µ ÇÊ¿ä °¡ ¾ø´Ù. À̵é ÆäÀÌÁö´Â ±×³É Æó±âÇÏ°í, ÇÁ·Î¼¼½º°¡ À̵éÀ» ´Ù½Ã ÂüÁ¶ÇÒ ¶§, ½ÇÇà À̹ÌÁö¿¡ ¼­ ¸Þ¸ð¸®¿¡ ´Ù½Ã °¡Á®¿À°Ô µÈ´Ù.

½º¿ÒÇÒ ÇÁ·Î¼¼½º¸¦ °áÁ¤Çϸé, ½º¿Ò µ¥¸óÀº ±× ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀ» ÀüºÎ º¸¸é¼­ °øÀ¯µÇ°Å³ª ¶ôÀÌ °É¸®Áö ¾ÊÀº ¿µ¿ªÀ» ã´Â´Ù. ¸®´ª½º´Â ¼±ÅÃµÈ ÇÁ·Î¼¼½º¿¡ ÀÖ´Â ½º¿Ò °¡´É ÇÑ ÆäÀÌÁö¸¦ ¸ðµÎ ½º¿Ò ¾Æ¿ôÇÏÁö´Â ¾Ê´Â´Ù. ´ë½Å ÆäÀÌÁö ¸î °³¸¸ Á¦°ÅÇÒ »ÓÀÌ´Ù. ¸Þ¸ð¸®¿¡ ¶ôµÇ¾î ÀÖ´Â ÆäÀÌÁö´Â ½º¿ÒÇϰųª Æó±âÇÒ ¼ö ¾ø´Ù.

¸®´ª½º ½º¿Ò ¾Ë°í¸®ÁòÀº ÆäÀÌÁö ¿¡ÀÌ¡(page aging)À» »ç¿ëÇÑ´Ù. °¢ ÆäÀÌÁö´Â Ä«¿îÅ͸¦ °¡Áö °í À־ (mem_map_t ÀڷᱸÁ¶¿¡ ÀúÀåµÇ¾î ÀÖ´Ù), Ä¿³Î ½º¿Ò µ¥¸óÀÌ ¾î¶² ÆäÀÌÁö¸¦ ½º¿Ò ÇÏ´Â °ÍÀÌ ÁÁÀºÁö °áÁ¤Çϴµ¥ µµ¿òÀ» ÁØ´Ù. ÆäÀÌÁö´Â »ç¿ëÇÏÁö ¾ÊÀ¸¸é ³ªÀ̸¦ ¸Ô°í, »ç¿ëÇÒ ¼ö·Ï Àþ¾îÁø´Ù; ½º¿Ò µ¥¸óÀº ³ªÀÌ°¡ ¸¹Àº ÆäÀÌÁö¸¸À» ½º¿Ò ¾Æ¿ôÇÑ´Ù. ÆäÀÌÁö¸¦ óÀ½ ÇÒ´çÇÒ ¶§ ÆäÀÌÁöÀÇ Ãʱ⠳ªÀÌ´Â 3ÀÌ´Ù. ÆäÀÌÁö°¡ »ç¿ëµÉ ¶§¸¶´Ù, ³ªÀÌ°ªÀº 3¾¿ Áõ°¡µÇ¾î ÃÖ´ë 20±î Áö Áõ°¡µÈ´Ù(ÀÌ °ªÀÌ ÀÛÀ»¼ö·Ï ¿À·¡µÈ ÆäÀÌÁöÀÌ´Ù). Ä¿³Î ½º¿Ò µ¥¸óÀÌ ½ÇÇàµÉ ¶§¸¶´Ù ÆäÀÌÁö ÀÇ ³ªÀÌ°ªÀ» 1¾¿ °¨¼Ò½ÃÄÑ ÆäÀÌÁö¸¦ ¿À·¡µÈ °ÍÀ¸·Î ¸¸µç´Ù. ÀÌ ±âº» µ¿ÀÛÀº º¯°æµÉ ¼ö ÀÖÀ¸ ¸ç, ÀÌ·± ÀÌÀ¯·Î (´Ù¸¥ ½º¿Ò °ü·Ã Á¤º¸¿Í ÇÔ²²) swap_control ÀڷᱸÁ¶¿¡ ÀúÀåµÇ¾î ÀÖ´Ù.

ÆäÀÌÁö°¡ ¾ÆÁÖ ¿À·¡µÇ¸é (³ªÀÌ°¡ 0ÀÌ µÇ¸é) ½º¿Ò µ¥¸óÀº ±× ÆäÀÌÁö¸¦ Á» ´õ ó¸®ÇÏ°Ô µÈ´Ù. ´õƼ ÆäÀÌÁö´Â ½º¿Ò ¾Æ¿ôµÉ ¼ö ÀÖ´Â ÆäÀÌÁöÀÌ´Ù. ¸®´ª½º´Â PTE¿¡¼­ ¾ÆÅ°ÅØÃÄ Æ¯À¯ÀÇ ºñÆ® ¸¦ »ç¿ëÇؼ­ ÆäÀÌÁö¸¦ ÀÌ¿Í °°Àº ¹æ½ÄÀ¸·Î ±â¼úÇÑ´Ù (±×¸² 3.2 ÂüÁ¶) ±×·¯³ª, ¸ðµç ´õƼ Æä ÀÌÁö°¡ ¹Ýµå½Ã ½º¿Ò ÆÄÀÏ¿¡ ±â·ÏµÇ¾î¾ß ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¾î¶² ÇÁ·Î¼¼½º´Â ¸ðµç °¡»ó ¸Þ¸ð ¸® ¿µ¿ª¿¡¼­ ÀÚ½ÅÀÇ ½º¿Ò ¿¬»ê(vm_area_structÀÇ vm_ops Æ÷ÀÎÅÍ°¡ °¡¸®Å´)À» °¡Áú ¼ö ÀÖ À¸¸ç, ÀÌ °æ¿ì ±× ¿¬»êÀÌ »ç¿ëµÈ´Ù11. ¿¬»êÀÌ Á¤ÀǵÇÁö ¾Ê¾Ò´Ù¸é ½º¿Ò µ¥¸óÀº ½º¿Ò ÆÄÀÏ¿¡ ÆäÀÌÁö¸¦ ÇÒ´çÇÏ°í ½º¿Ò ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ¿¡ ±â·ÏÇÑ´Ù.

ÀÌÁ¦ ±× ÆäÀÌÁöÀÇ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®´Â À¯È¿ÇÏÁö ¾Ê´Ù°í Ç¥½ÃµÇ¾úÁö¸¸, ¿©±â¿¡´Â ÀÌ Æä ÀÌÁö°¡ ½º¿Ò ÆÄÀÏÀÇ ¾îµð¿¡ ÀúÀåµÇ¾ú´ÂÁö¿¡ ´ëÇÑ Á¤º¸°¡ µé¾î ÀÖ´Ù. ÀÌ Á¤º¸´Â ¾î´À ½º¿Ò ÆÄÀÏÀÌ »ç¿ëµÇ¾ú´ÂÁö, ±×¸®°í ½º¿Ò ÆÄÀÏ ³»¿¡¼­ ÆäÀÌÁö°¡ ÀúÀåµÈ À§Ä¡ÀÇ ¿ÀÇÁ¼ÂÀ¸·Î ±¸¼ºµÈ ´Ù. ¾î¶² ½º¿Ò ¹æ¹ýÀ» »ç¿ëÇÏ¿´µç, ¿ø·¡ÀÇ ¹°¸®Àû ÆäÀÌÁö´Â ´Ù½Ã free_area¿¡ ³Ö¾îÁ®¼­ ÇÁ ¸® »óÅ°¡ µÈ´Ù. Ŭ¸° ÆäÀÌÁö(´õƼÇÏÁö ¾ÊÀº ÆäÀÌÁö)´Â Æó±âµÇ¾î Àç»ç¿ëÇÒ ¼ö ÀÖµµ·Ï free_area¿¡ µé¾î°£´Ù.

½º¿Ò °¡´ÉÇÑ ÇÁ·Î¼¼½º ÆäÀÌÁö¸¦ ÃæºÐÈ÷ ½º¿Ò ¾Æ¿ôÇϰųª Æó±âÇϸé, ½º¿Ò µ¥¸óÀº ´Ù½Ã Àáµç ´Ù. ½º¿Ò µ¥¸óÀÌ ´ÙÀ½¿¡ ±ú¾î³µÀ» ¶§´Â, ½Ã½ºÅÛÀÇ ´ÙÀ½ ÇÁ·Î¼¼½º¸¦ °ËÅäÇÏ°Ô µÈ´Ù. ÀÌ·± ¹æ ½ÄÀ¸·Î ½º¿Ò µ¥¸óÀº ½Ã½ºÅÛÀÌ ´Ù½Ã ±ÕÇü¿¡ À̸¦ ¶§±îÁö °¢ ÇÁ·Î¼¼½ºÀÇ ¹°¸®Àû ÆäÀÌÁö¸¦ Á¶ ±Ý¾¿ ¾ø¾Ø´Ù. ÀÌ°ÍÀº Àüü ÇÁ·Î¼¼½º¸¦ ½º¿Ò ¾Æ¿ôÇÏ´Â °Íº¸´Ù ÈξÀ °øÁ¤ÇÏ´Ù.


3.9 ½º¿Ò ij½Ã(Swap Cache)

¸®´ª½º´Â ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ¿¡ ½º¿Ò ¾Æ¿ôÇÒ ¶§, ÆäÀÌÁö¸¦ ¾µ ÇÊ¿ä°¡ ¾øÀ» ¶© ¾²Áö ¾ÊÀ¸·Á °í ÇÑ´Ù. ¾î¶² ÆäÀÌÁö°¡ ½º¿Ò ÆÄÀÏ°ú ¹°¸®Àû ¸Þ¸ð¸®¿¡ (°°Àº ³»¿ëÀ¸·Î) µ¿½Ã¿¡ Á¸ÀçÇÏ´Â °æ ¿ì°¡ ÀÖ´Ù. ÀÌ·± °æ¿ì´Â ¾î¶² ÆäÀÌÁö°¡ ¸Þ¸ð¸®¿¡¼­ ½º¿Ò ¾Æ¿ôµÇ¾ú´Ù°¡, ÇÑ ÇÁ·Î¼¼½º°¡ ±× Æä ÀÌÁö¿¡ ´Ù½Ã Á¢±ÙÇÏ¿© ¸Þ¸ð¸®·Î ´Ù½Ã µé¾î¿Â °æ¿ì¿¡ ¹ß»ýÇÑ´Ù. ÀÌ ¶§ ¸Þ¸ð¸®»óÀÇ ÆäÀÌÁö°¡ µ¤¾î ¾º¾îÁöÁö ¾Ê´Â ÇÑ ½º¿Ò ÆÄÀÏ¿¡ ÀÖ´Â ÆäÀÌÁöÀÇ º¹»çº»Àº À¯È¿ÇÏ´Ù.

¸®´ª½º´Â ÀÌ·¯ÇÑ ÆäÀÌÁöµéÀ» ÃßÀûÇϱâ À§ÇØ ½º¿Ò ij½Ã¸¦ »ç¿ëÇÑ´Ù. ½º¿Ò ij½Ã´Â ÆäÀÌÁö Å× ÀÌºí ¿£Æ®¸®ÀÇ ¸®½ºÆ®·Î, °¢ ¿£Æ®¸®´Â ½Ã½ºÅÛ¿¡ ÀÖ´Â ¹°¸®Àû ÆäÀÌÁö Çϳª¿¡ ÇØ´çÇÑ´Ù. ÀÌ Æä ÀÌÁö Å×ÀÌºí ¿£Æ®¸®´Â ÇϳªÀÇ ½º¿Ò ¾Æ¿ô ÆäÀÌÁö¿¡ ´ëÇÑ °ÍÀ¸·Î, ±× ÆäÀÌÁö°¡ ¾î´À ½º¿Ò ÆÄ ÀÏ¿¡, ¾î´À À§Ä¡¿¡ ÀÖ´ÂÁö¸¦ ±â¼úÇÑ´Ù. ¸¸¾à ½º¿Ò ij½Ã ¿£Æ®¸® °ªÀÌ 0ÀÌ ¾Æ´Ñ °æ¿ì, º¯°æµÇ Áö ¾ÊÀº ÆäÀÌÁö°¡ ½º¿Ò ÆÄÀÏ ³»¿¡ µé¾î ÀÖ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù. ÆäÀÌÁö°¡ (µ¤¾î ¾º¾îÁ®¼­) º¯ °æµÈ °æ¿ì, ±× ÆäÀÌÁöÀÇ ¿£Æ®¸®´Â ½º¿Ò ij½Ã¿¡¼­ »èÁ¦µÈ´Ù.

¸®´ª½º°¡ ¾î¶² ¹°¸®Àû ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ¿¡ ½º¿Ò ¾Æ¿ôÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§, ¸ÕÀú ½º¿Ò ij½Ã ¿¡ ¹®ÀÇÇϸç, ¸¸¾à ÀÌ ÆäÀÌÁö¿¡ ´ëÇÑ À¯È¿ÇÑ ¿£Æ®¸®°¡ ÀÖ´Â °æ¿ì, ÀÌ ÆäÀÌÁö´Â ½º¿Ò ÆÄÀÏ¿¡ ±â·ÏÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿Ö³ÄÇÏ¸é ¸Þ¸ð¸®¿¡ ÀÖ´Â ÆäÀÌÁöÀÇ ³»¿ëÀÌ ½º¿Ò ÆÄÀϷκÎÅÍ ¸¶Áö¸·À¸·Î ÀÐÀº ´ÙÀ½ Çѹøµµ º¯°æµÇÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.

½º¿Ò ij½ÃÀÇ ¿£Æ®¸®´Â ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÌ´Ù. À̵éÀº À¯È¿ ÇÏÁö ¾Ê´Ù°í Ç¥½ÃµÇ¾î ÀÖÁö¸¸, ¸®´ª½º°¡ ¿Ã¹Ù¸¥ ½º¿Ò ÆÄÀÏ°ú ±× ½º¿Ò ÆÄÀÏ ³»¿¡¼­ÀÇ ¿Ã¹Ù¸¥ ÆäÀÌÁö¸¦ ãÀ» ¼ö ÀÖµµ·Ï ÇÏ´Â Á¤º¸¸¦ °®°í ÀÖ´Ù.


3.10 ÆäÀÌÁö ½º¿Ò ÀÎ(Swapping Pages In)

ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÀÌ¹Ì ½º¿Ò ¾Æ¿ôµÈ ¹°¸®Àû ÆäÀÌÁö¿¡ ÀÖ´Â °¡»ó ¸Þ¸ð¸®¿¡ ¾²·Á°í ÇÏ´Â °æ¿ì ó·³ ½º¿Ò ÆÄÀÏ¿¡ ÀúÀåµÈ ´õƼ ÆäÀÌÁöµéÀÌ ´Ù½Ã ÇÊ¿ä·Î ÇÑ °æ¿ì°¡ ÀÖ´Ù. ¹°¸®Àû ¸Þ¸ð¸®¿¡ ÀÖÁö ¾ÊÀº ÆäÀÌÁö¿¡ Á¢±ÙÇϸé ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÑ´Ù. ÆäÀÌÁö ÆúÆ®´Â ÇÁ·Î¼¼¼­°¡ °¡»ó ÁÖ ¼Ò¸¦ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯ÇÒ ¼ö ¾øÀ» ¶§ ¿î¿µÃ¼Á¦¿¡ º¸³»´Â ½ÅÈ£ÀÌ´Ù. ÀÌ °æ¿ì´Â °¡»ó ¸Þ¸ð ¸® ÆäÀÌÁö°¡ ½º¿Ò ¾Æ¿ôµÇ¾úÀ» ¶§¿¡´Â ÀÌ ÆäÀÌÁö¸¦ ±â¼úÇÏ´Â ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®°¡ À¯È¿ÇÏ Áö ¾Ê´Ù°í Ç¥½ÃµÇ±â ¶§¹®¿¡ ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÏ´Â °ÍÀÌ´Ù. ÇÁ·Î¼¼¼­´Â °¡»ó ÁÖ¼Ò¸¦ ¹°¸® Àû ÁÖ¼Ò·Î º¯È¯ÇÒ ¼ö ¾ø±â¿¡, Á¦¾î¸¦ ¿î¿µÃ¼Á¦¿¡ ³Ñ°ÜÁָ鼭 ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò¿Í Æú Æ®ÀÇ ÀÌÀ¯¸¦ ¾Ë¸°´Ù. ÀÌ Á¤º¸ÀÇ Çü½Ä°ú ÇÁ·Î¼¼¼­°¡ ¿î¿µÃ¼Á¦¿¡ Á¦¾î¸¦ ³Ñ±â´Â ¹æ¹ýÀº ÇÁ·Î ¼¼¼­¿¡ µû¶ó ´Ù¸£´Ù. ÇÁ·Î¼¼¼­¸¶´Ù ´Ù¸£°Ô ±¸ÇöµÇ¾î ÀÖ´Â ÆäÀÌÁö ÆúÆ®¸¦ ó¸®ÇÏ´Â ÄÚµå´Â ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â °¡»ó ÁÖ¼Ò ¿µ¿ªÀ» ³ªÅ¸³»´Â vm_area_struct ÀڷᱸÁ¶¸¦ ã¾Æ¾ß ÇÑ´Ù. ÀÌ ÄÚµå´Â ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò°¡ µé¾îÀÖ´Â ÀڷᱸÁ¶¸¦ ãÀ» ¶§±îÁö, ÇØ´ç ÇÁ·Î¼¼½º°¡ »ç¿ëÇÏ´Â vm_area_struct ÀڷᱸÁ¶¸¦ °Ë»öÇÑ´Ù. ÀÌ ÀÛ¾÷Àº ¸Å¿ì ªÀº ½Ã°£ ¾È¿¡ ÀÌ·ç¾îÁ®¾ß ÇϹǷÎ, ÇÁ·Î¼¼½ºµéÀÌ °¡Áö°í ÀÖ´Â vm_area_struct ÀڷᱸÁ¶ ´Â ÀÌ °Ë»öÀ» °¡´ÉÇÑ »¡¸® ÇÒ ¼ö ÀÖµµ·Ï ¹èÄ¡µÇ¾î ÀÖ´Ù12.

ÇÁ·Î¼¼¼­¿¡ µû¶ó ÀûÀýÇÑ ÀÛ¾÷À» ¼öÇàÇÏ¿© ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò°¡ °¡»ó ¸Þ¸ð¸®ÀÇ À¯È¿ ¿µ¿ªÀ̶ó°í ÆÇ´ÜÇϸé, ÆäÀÌÁö ÆúÆ® 󸮴 ÀÌÁ¦ ÀϹÝÈ­µÇ¾î ¸®´ª½º°¡ µ¿ÀÛÇÏ´Â ¸ðµç ÇÁ·Î¼¼ ¼­¿¡ Àû¿ëµÇ´Â ÄÚµå·Î ³Ñ¾î°¡°Ô µÈ´Ù. ÀϹÝÈ­µÈ ÆäÀÌÁö ÆúÆ® ó¸® ÄÚµå´Â ÆúÆ®°¡ ¹ß»ýÇÑ °¡ »ó ÁÖ¼Ò¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ ã´Â´Ù. ãÀº ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®°¡ ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö¸¦ °¡¸®Å°°í ÀÖÀ¸¸é, ¸®´ª½º´Â ±× ÆäÀÌÁö¸¦ ´Ù½Ã ¹°¸®Àû ¸Þ¸ð¸®·Î °¡Á®¿Í¾ß ÇÑ´Ù. ½º ¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÇ Çü½ÄÀº ÇÁ·Î¼¼¼­¸¶´Ù ´Ù¸£Áö¸¸, ¾î·µç ¸ðµç ÇÁ·Î¼¼¼­µéÀº ÀÌ ÆäÀÌÁö°¡ À¯È¿ÇÏÁö ¾Ê´Ù°í Ç¥½ÃÇÏ°í, ½º¿Ò ÆÄÀÏ¿¡¼­ ÆäÀÌÁöÀÇ À§Ä¡¸¦ ã´Âµ¥ ÇÊ¿äÇÑ Á¤º¸¸¦ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¿¡ ³Ö¾îµÎ°í ÀÖ´Ù. ¸®´ª½º´Â ÆäÀÌÁö¸¦ ´Ù½Ã ¹° ¸®Àû ¸Þ¸ð¸®·Î °¡Á®¿À±â À§ÇØ ÀÌ Á¤º¸¸¦ ÇÊ¿ä·Î ÇÑ´Ù.

ÀÌ ½ÃÁ¡¿¡¼­, ¸®´ª½º´Â ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò¿Í, ÀÌ ÆäÀÌÁö°¡ ¾îµð¿¡ ½º¿ÒµÇ¾î ÀÖ´ÂÁö¿¡ ´ëÇÑ Á¤º¸¸¦ °®°í ÀÖ´Â ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ ¾Ë°í ÀÖ´Ù. vm_area_struct ÀڷᱸÁ¶´Â ÀÚ½ÅÀÌ ±â¼úÇÏ´Â °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀÇ ¾î¶² ÆäÀÌÁö¸¦ ¹°¸®Àû ¸Þ¸ð¸®·Î ½º¿ÒÇÒ ¼ö ÀÖ´Â ·çƾ ¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÖÀ» ¼ö ÀÖ´Ù. ÀÌ°ÍÀÌ swapin ¿¬»êÀÌ´Ù13. ÀÌ °¡»ó ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇØ swapin ¿¬»êÀÌ Á¤ÀǵǾî ÀÖÀ¸¸é ¸®´ª½º´Â ±×°ÍÀ» »ç¿ëÇÑ´Ù. »ç½Ç ½Ã½ºÅÛ V °øÀ¯ ¸Þ ¸ð¸®ÀÇ ½º¿Ò ¾Æ¿ôÀÌ ÀÌ·¸°Ô 󸮵Ǵµ¥, ½º¿Ò ¾Æ¿ôµÈ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸®ÀÇ Çü½ÄÀÌ, ÀÏ¹Ý ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁöÀÇ Æ÷¸Ë°ú ¾à°£ ´Ù¸£±â ¶§¹®¿¡, Ưº°ÇÑ Ã³¸®°¡ ´õ ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù. swapin ¿¬»êÀÌ ¾ø´Â °æ¿ì¿£, ¸®´ª½º´Â À̸¦ ÀÏ¹Ý ÆäÀÌÁö¿©¼­ Ưº°È÷ 󸮰¡ ÇÊ¿ä ¾ø´Ù°í »ý°¢ÇÑ´Ù. ÀÌÁ¦ ºñ¾îÀÖ´Â ¹°¸®Àû ÆäÀÌÁö¸¦ ÇÒ´çÇÏ°í, ½º¿Ò ¾Æ¿ô µÇ¾ú´ø ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ ¿¡¼­ ÀоîµéÀδÙ. ¾î´À ½º¿Ò ÆÄÀÏÀÇ ¾îµð¿¡ ÆäÀÌÁö°¡ ÀÖ´ÂÁö ¾Ë·ÁÁÖ´Â Á¤º¸´Â, ÇØ´çÇÏ´Â À¯ È¿ÇÏÁö ¾ÊÀº ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¿¡¼­ ¾ò´Â´Ù.

¸¸¾à ÆäÀÌÁö ÆúÆ®¸¦ ¹ß»ýÇÑ Á¢±ÙÀÌ ¾²±â°¡ ¾Æ´Ï¶ó¸é, ÆäÀÌÁö´Â ¿©ÀüÈ÷ ½º¿Ò ij½Ã¿¡ ³²¾Æ ÀÖ À¸¸ç, ¸Þ¸ð¸®·Î °¡Á®¿Â ÆäÀÌÁö Å×À̺íÀº ¾²±â°¡ ¾ÈµÈ´Ù°í Ç¥½Ã°¡ µÈ´Ù. µÚ¿¡ ÀÌ ÆäÀÌÁö¿¡ ¾² ±â¸¦ ½ÃµµÇϸé, ¶Ç ´Ù¸¥ ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÏ°í, ÀÌ ½ÃÁ¡¿¡¼­ ±× ÆäÀÌÁö´Â ´õƼ·Î Ç¥½ÃµÇ°í, ½º¿Ò ij½Ã¿¡¼­ ¿£Æ®¸®¸¦ Á¦°ÅÇÏ°Ô µÈ´Ù. ÆäÀÌÁö¿¡ ±â·ÏÇÑ °ÍÀÌ ¾ø°í ´Ù½Ã ½º¿Ò ¾Æ¿ôµÉ ÇÊ¿ä °¡ ÀÖ´Ù¸é, ±× ÆäÀÌÁö´Â ÀÌ¹Ì ½º¿Ò ÆÄÀÏ¿¡ Àֱ⠶§¹®¿¡ ¸®´ª½º´Â ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ¿¡ ¾µ ÇÊ¿ä°¡ ¾ø°Ô µÈ´Ù14.

½º¿Ò ÆÄÀϷκÎÅÍ ÆäÀÌÁö¸¦ °¡Á®¿Àµµ·Ï ÇÑ Á¢±ÙÀÌ ¾²±â ¿¬»êÀ̾ú´Ù¸é, ÀÌ ÆäÀÌÁö´Â ½º¿Ò ij ½Ã¿¡¼­ Á¦°ÅµÇ°í, ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®´Â ´õƼ, ¾²±â °¡´ÉÀ¸·Î Ç¥½ÃµÈ´Ù.


¹ø¿ª : ½É¸¶·Î, °í¾ç¿ì, Á¤Á÷ÇÑ, ±è±â¿ë, ½Å¹®¼®, ÀÌ´ëÇö
Á¤¸® : ÀÌÈ£



Âü°í ÀÚ·á. ÀÎÅÚ 386 º¸È£¸ðµå ¸Þ¸ð¸® ¾ÆÅ°ÅØÃÄ

ÀÌÈ£ (flyduck)

Ä¿³Î¿¡¼­ ¸Þ¸ð¸® °ü¸® ½Ã½ºÅÛÀÇ ±¸ÇöÀº ÇØ´ç CPUÀÇ µµ¿òÀ» ¹Þ¾Æ¾ß ÇÑ´Ù. ¸®´ª½ºÀÇ ¸Þ¸ð¸® °ü¸® ½Ã½ºÅÛÀ» ÀÌ¿ëÇÏ·Á¸é CPU¿¡¼­ ÆäÀÌ¡°ú ¸Þ¸ð¸® º¸È£, ÆäÀÌÁö ÆúÆ® 󸮸¦ ÇÒ ¼ö ÀÖ´Â ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇØ¾ß Çϸç ÀÎÅÚ x86 °è¿­ÀÇ CPU¿¡¼­´Â 80386¿¡¼­ºÎÅÍ ÀÌ·¯ÇÑ ¸Þ¸ð¸® ¾ÆÅ° ÅØÃĸ¦ Á¦°øÇÏ°í ÀÖ´Ù. ¿©±â¼­´Â x86 °è¿­ÀÇ ¸Þ¸ð¸® ¾ÆÅ°ÅØÃĸ¦ °£´ÜÈ÷ »ìÆ캸µµ·Ï ÇÑ´Ù.

8086 CPU´Â 16ºñÆ® ¼¼±×¸ÕÆ®(segment) ·¹Áö½ºÅÍ¿Í 16ºñÆ® ¿ÀÇÁ¼ÂÀ» ÁßøÇÏ¿© 20ºñÆ®, Áï 1MB Å©±âÀÇ ÁÖ¼Ò°ø°£À» Á¦°øÇÑ´Ù. 80286¿¡¼­´Â 8086°ú ¶È°°Àº ÁÖ¼Ò°ø°£À» Á¦°øÇÏ´Â ½ÇÁ¦¸ð µå(real mode)¿Í ÇÔ²², »õ·Î¿î ¹æ½ÄÀÇ ÁÖ¼Ò°ø°£À» Á¦°øÇÏ´Â º¸È£¸ðµå(protected mode)°¡ µµÀ﵂ ¾ú´Ù. 80286 º¸È£¸ðµå¿¡¼­ ¼¼±×¸ÕÆ® ·¹Áö½ºÅÍ´Â ¼¿·ºÅÍ(selector)¶ó´Â À̸§À¸·Î ¹Ù²î¾ú°í, ¼¿ ·ºÅ͸¦ 24ºñÆ®ÀÇ º£À̽º ÁÖ¼Ò(base address)·Î ¹Ù²Ù¾îÁÖ´Â Å×À̺íÀÎ µð½ºÅ©¸³ÅÍ Å×À̺í (descriptor table)ÀÌ µîÀåÇß´Ù. ÀÌ ¸ðµå¿¡¼­´Â 24ºñÆ®ÀÇ º£À̽º ÁÖ¼Ò¿Í 16ºñÆ®ÀÇ ¿ÀÇÁ¼ÂÀ» ´õ ÇÏ¿© ¸ðµÎ 24ºñÆ®ÀÇ ÁÖ¼Ò°ø°£, Áï 16MBÀÇ ÁÖ¼Ò°ø°£À» Á¦°øÇÏ¿´´Ù. ¿©±â¼­ ¼¿·ºÅÍ¿Í µð½ºÅ© ¸³ÅÍ Å×À̺íÀ» ÀÌ¿ëÇÏ¿© ¼±Çü ÁÖ¼Ò°ø°£(linear address space)ÀÇ ÀϺθ¦ °¡¸®Å³ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀ» ¼¼±×¸àÅ×À̼Ç(segmentation)À̶ó°í ÇÑ´Ù. 80386¿¡¼­´Â ÀÌ·¯ÇÑ ¼¼±×¸àÅ×ÀÌ¼Ç ¿Ü¿¡ ¸Þ¸ð¸® °ü¸®¿¡ ÇʼöÀûÀÎ ÆäÀÌ¡ ¸ÞÄ¿´ÏÁòÀÌ Ãß°¡µÇ°í ¸Þ¸ð¸® °ø°£µµ 32ºñÆ®, Áï 4GB·Î È®ÀåµÇ¾ú´Ù.

80386¿¡¼­ ¸Þ¸ð¸® »óÀÇ ÁÖ¼Ò¸¦ °¡¸®Å°´Â µ¥¿¡´Â 16ºñÆ®ÀÇ ¼¿·ºÅÍ(selector) ·¹Áö½ºÅÍ¿Í 32ºñ Æ®ÀÇ ¿ÀÇÁ¼Â(offset)ÀÌ »ç¿ëµÈ´Ù. À̵éÀº ¼¼±×¸àÅ×ÀÌ¼Ç ¸ÞÄ¿´ÏÁòÀ» °ÅÃÄ ¼±Çü ÁÖ¼Ò(linear address)15·Î º¯È¯µÇ°í, ´Ù½Ã ÀÌ ÁÖ¼Ò´Â ÆäÀÌÁö Å×À̺íÀ» ÀÌ¿ëÇÑ ÆäÀÌ¡ ¸ÞÄ¿´ÏÁòÀ» °ÅÃÄ ¹° ¸®ÀûÀÎ ½ÇÁ¦ ÁÖ¼Ò(physical address)·Î ¹Ù²î°Ô µÈ´Ù. ¾ËÆÄ AXP¿Í °°Àº ´Ù¸¥ CPU¿¡¼­´Â ¼¼±×¸à Å×À̼ÇÀ̶ó´Â °ÍÀ» Á¦°øÇÏÁö ¾ÊÀ¸¸ç, ÀÌ´Â ÀÎÅÚ CPUÀÇ Æ¯¼ºÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ¼¼±×¸Õ Æ® ·¹Áö½ºÅÍ¿¡¼­ºÎÅÍ ½ÃÀÛÇÑ ÀÜ»óÀ̶ó°í ÇÒ ¼ö ÀÖÀ¸¸ç, ¸®´ª½º ¿ª½Ã ÀÌ ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê °í ÀÖ´Ù. ´Ù¸¸ ÀÎÅÚ CPU¿¡¼­ µ¿ÀÛÇÏ´Â ´Ù¸¥ ¿î¿µÃ¼°è¿Í ¸¶Âù°¡Áö·Î ¼¼±×¸àÅ×À̼ÇÀ» °ÅÃÄ ³ª¿À´Â ¼±Çü ÁÖ¼Ò°ø°£À» »ç¿ëÀÚ ÁÖ¼Ò°ø°£°ú Ä¿³Î ÁÖ¼Ò°ø°£À¸·Î ºÐ¸®ÇÏ¿©, »ç¿ëÀÚ ÁÖ¼Ò°ø°£ ¿¡ 3GB¸¦ Ä¿³Î ÁÖ¼Ò°ø°£À¸·Î 1GB¸¦ ÇÒ´çÇØ ³õ°í ÀÖ´Ù.

Selector		Linear Address			Physical Address 
	segmentation			paging					memory
	mechanism			mechanism
Offset

¼¿·ºÅÍ´Â µð½ºÅ©¸³ÅÍ Å×ÀÌºí¿¡ ´ëÇÑ À妽º¿Í, ¾î¶² µð½ºÅ©¸³ÅÍ Å×À̺íÀ» °¡¸®Å°´ÂÁö¸¦ ³ª Ÿ³»´Â TI (Table Indicator) Ç׸ñ, ±×¸®°í À̸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ·¹º§À» ³ªÅ¸³»´Â RPL(Requestor Privilege Level) ¼¼°¡Áö·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. TI Ç׸ñÀÌ 0À̸é À妽º´Â Àü¿ª µð½ºÅ©¸³ÅÍ Å×À̺í (Global Descriptor Table, GDT)¿¡ ÀÖ´Â µð½ºÅ©¸³Å͸¦ °¡¸®Å°°í, TI Ç׸ñÀÌ 1À̸é Áö¿ª µð½ºÅ©¸³ ÅÍ Å×À̺í(Local Descriptor Table LDT)¸¦ ³ªÅ¸³½´Ù. ¿©±â¼­ GDT´Â Ä¿³Î ¸ðµå¿¡¼­ »ç¿ëµÇ´Â Å× À̺íÀÌ°í, LDT´Â »ç¿ëÀÚ ¸ðµå¿¡¼­ »ç¿ëµÇ´Â Å×À̺íÀÌ´Ù. º¸Åë GDT'´Â Ä¿³Î ¸ðµå¿ëÀ¸·Î Çϳª °¡ ÀÖÀ¸¸ç, LDT´Â °¢ ÇÁ·Î¼¼½ºº°·Î Çϳª¾¿ ¸¸µé¾îÁø´Ù. À̵é Å×À̺íÀÇ ½ÃÀÛ À§Ä¡´Â °¢°¢ GDTR, LDTRÀ̶ó´Â ·¹Áö½ºÅÍ°¡ °¡¸®Å°°í ÀÖ´Ù.

µð½ºÅ©¸³ÅÍ Å×À̺íÀº 64ºñÆ® Å©±â·Î, 32ºñÆ® Å©±âÀÇ º£À̽º ÁÖ¼Ò¿Í 20ºñÆ® Å©±âÀÇ ¹üÀ§ (limit), ±×¸®°í ±âŸ ¿©·¯ Ç׸ñÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. ¿©±â¼­ º£À̽º ÁÖ¼Ò´Â 4GBÀÇ ¼±Çü ÁÖ¼Ò °ø°£¿¡¼­ÀÇ ½ÃÀÛ À§Ä¡¸¦ °¡¸®Å°°í, ¹üÀ§´Â º£À̽º ÁÖ¼Ò¿¡¼­ ½ÃÀÛÇÏ¿© Á¢±ÙÀÌ °¡´ÉÇÑ ¸Þ¸ð¸® ¹üÀ§¸¦ ³ªÅ¸³½´Ù. ÀÌ°ÍÀº 20ºñÆ® Å©±âÀ̱ä ÇÏÁö¸¸ ÀÔµµ ºñÆ®(granularity bit)°¡ ¼³Á¤µÇ¾î ÀÖÀ¸ ¸é 4KB ´ÜÀ§ÀÇ ¹üÀ§¸¦ ³ªÅ¸³»¹Ç·Î ¸ðµÎ 4GB Å©±âÀÇ ¹üÀ§¸¦ °¡Áú ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ³ª¿Â º£ À̽º ÁÖ¼Ò¿¡ ¿ÀÇÁ¼ÂÀ» ´õÇÏ¸é ½ÇÁ¦ ¼±Çü ÁÖ¼Ò°ø°£¿¡¼­ÀÇ ÁÖ¼Ò°¡ ³ª¿À°Ô µÈ´Ù. Áï, ¼¼±×¸àÅ× ÀÌ¼Ç ¸ÞÄ¿´ÏÁò¿¡¼­´Â ¼¿·ºÅ͸¦ ÀÌ¿ëÇÏ¿© µð½ºÅ©¸³Å͸¦ ã°í, ¿©±â ÀÖ´Â º£À̽º ÁÖ¼Ò¿¡ ¿ÀÇÁ ¼ÂÀ» ´õÇÏ¿© ¼±Çü ÁÖ¼Ò°ø°£¿¡¼­ÀÇ ÁÖ¼Ò¸¦ ¾ò´Â ¿ªÇÒÀ» ÇÑ´Ù.

ÀÌ·¸°Ô ¾ò¾îÁø ¼±Çü ÁÖ¼Ò´Â ½ÇÁ¦ ÁÖ¼Ò°¡ ¾Æ´Ï¸ç, ÆäÀÌ¡ ¸ÞÄ¿´ÏÁòÀ» °ÅÃÄ¾ß ½ÇÁ¦ ÁÖ¼Ò¸¦ ¾ò À» ¼ö ÀÖ´Ù. ÆäÀÌ¡ ¸ÞÄ¿´ÏÁò¿¡¼­´Â ÀÌ ¼±Çü ÁÖ¼Ò¸¦ ´Ù½Ã 10ºñÆ® Å©±âÀÇ ÆäÀÌÁö µð·ºÅ丮 À妽º(page directory index), 10ºñÆ® Å©±âÀÇ ÆäÀÌÁö Å×À̺í À妽º(page table index), 12ºñÆ® Å© ±âÀÇ ¿ÀÇÁ¼ÂÀ¸·Î ÂÉ°µ´Ù. ÆäÀÌÁö µð·ºÅ丮 À妽º¸¦ °¡Áö°í ÆäÀÌÁö µð·ºÅ丮¿¡¼­ ÆäÀÌÁö Å× À̺íÀÇ ÁÖ¼Ò¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ´Ù½Ã ÆäÀÌÁö Å×À̺í À妽º¸¦ °¡Áö°í ¾ÕÀÇ ÆäÀÌÁö µð·ºÅ丮°¡ °¡¸®Å°´Â ÆäÀÌÁö Å×ÀÌºí¿¡¼­ ÆäÀÌÁö ÇÁ·¹ÀÓ(page frame)ÀÇ À§Ä¡¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ¾ò¾î Áø ÆäÀÌÁö ÇÁ·¹ÀÓ ÁÖ¼Ò¿¡ ¿ÀÇÁ¼ÂÀ» ´õÇÏ¸é ½ÇÁ¦ ¹°¸®ÀûÀÎ ÁÖ¼Ò°¡ ³ª¿À°Ô µÈ´Ù. ÀÌ´Â ¾ÕÀÇ ±×¸² 3.3¿¡¼­ ³ª¿À´Â 3´Ü°è ÆäÀÌÁö Å×ÀÌºí¿¡¼­ Çϳª¸¦ »©¼­ 2´Ü°è ÆäÀÌÁö Å×À̺íÀ» »ý°¢ÇÏ ¸é µÈ´Ù. ¿©±â¼­ ¿ÀÇÁ¼ÂÀº 12ºñÆ®À̹ǷΠÇϳªÀÇ ÆäÀÌÁö ÇÁ·¹ÀÓÀº 212, Áï 4KBÀÇ Å©±â¸¦ °¡Áö ¸ç, ¸®´ª½º¿¡¼­ Á¤ÀÇµÈ ÆäÀÌÁö Å©±â´Â ÀÌ °ªÀÌ´Ù. ÀÌ·¸°Ô ÆäÀÌ¡ ¸ÞÄ¿´ÏÁòÀ» ÅëÇÏ¿© ¼±Çü ÁÖ ¼Ò´Â ½ÇÁ¦ ¹°¸®ÀûÀÎ ÁÖ¼Ò·Î º¯È¯µÇ¸ç, ¸®´ª½º´Â CPUÀÇ ÀÌ·± Áö¿øÀ» ÅëÇÏ¿© ÆäÀÌ¡À» ±¸Çö ÇÒ ¼ö ÀÖ´Ù.


¿ªÁÖ 1) ½ÇÁ¦ ÀÎÅÚ 80386¿¡¼­ ¸Þ¸ð¸®¸¦ 4KB ÆäÀÌÁö ´ÜÀ§·Î ´Ù·ç°í ÀÖÀ¸¸ç, ÀÌ ÆäÀÌÁö Å©±â ´Â Çϵå¿þ¾î¿¡¼­ Áö¿øÇÏ´Â Å©±â¸¦ µû¸¥ °ÍÀÌ´Ù. (flyduck)

¿ªÁÖ 2) 4KB´Â 212À̹ǷΠÀÌ ÇÑÆäÀÌÁöÀÇ ÁÖ¼Ò¸¦ ³ªÅ¸³»´Âµ¥ 12ºñÆ®°¡ ÇÊ¿äÇÏ´Ù. ÀÎÅÚ 80385 CPU¿¡¼­´Â ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¿¡ 20ºñÆ®, ¿ÀÇÁ¼Â¿¡ 12ºñÆ®¸¦ »ç¿ëÇÏ¿© ¸ðµÎ 32ºñÆ®ÀÇ ÁÖ¼Ò°ø°£ Áï 4GBÀÇ ÁÖ¼Ò°ø°£À» °®´Â´Ù. (flyduck)

¿ªÁÖ 3) Áï ¹°¸®Àû ÁÖ¼Ò´Â Physical PFN * PAGE_SIZE + offsetÀÌ´Ù. (flyduck)

¿ªÁÖ 4) °è¼Ó ½º¿Ò ÆÄÀÏÀ» Á¢±ÙÇÏ´À¶ó µð½ºÅ©¸¸ °í»ýÇÏ°í ½ÇÁ¦ ÀÛ¾÷Àº ½ÇÇàµÇÁö ¾Ê´Â Çö»ó (½É¸¶·Î)

¿ªÁÖ 5) À̵éÀº °¢±â ÆäÀÌÁö µð·ºÅ丮(page directory), ÆäÀÌÁö Áß°£ µð·ºÅ丮(page middle directory), ÆäÀÌÁö Å×À̺í(page table)À̶ó°í Çϸç, °¢±â pgd_t, pmd_t, pte_t ŸÀÔÀ¸·Î Á¤ÀÇµÇ ¾î ÀÖ´Ù. (flyduck)

6) Çò°¥¸®°Ôµµ ÀÌ ±¸Á¶Ã¼¸¦ ÆäÀÌÁö(page) ±¸Á¶Ã¼¶ó°íµµ ºÎ¸¥´Ù.

7) ¿©±â¿¡ Âü°í ¸ñ·ÏÀ» ÀûÀ» °Í. ¿ªÁÖ 8) ³ôÀÌ ±ÕÇüÀ» ÀÌ·ç´Â ÀÌÁø Æ®¸®, »ç½Ç ÀÌ »ç¶÷ À̸§µéÀº ¸ô¶óµµ µÈ´Ù. (½É¸¶·Î)

¿ªÁÖ 9) Segmentation Fault. (flyduck)

¿ªÁÖ 10) ÀÌ ¹Û¿¡ min_free_pages ¶ó´Â °ªÀÌ Àִµ¥, ÀÌ´Â Ä¿³ÎÀÌ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì ¹Ù·Î ÇÁ¸® ÆäÀÌÁö¸¦ ¾òÀ» ¼ö ÀÖµµ·Ï, ÇÁ¸® ÆäÀÌÁöÀÇ °¹¼ö°¡ ÀÌ °ª ÀÌÇÏ·Î ¶³¾îÁöÁö ¾Êµµ·Ï ÇÑ ´Ù. ÀÌ °ª ¿ª½Ã ºÎÆýÿ¡ ¼³Á¤ÀÌ µÈ´Ù. (flyduck)

¿ªÁÖ 11) vm_area_struct ÀڷᱸÁ¶¿¡´Â ÇØ´ç °¡»ó ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇÑ ¿¬»êÀ» ÇÒ ¶§ »ç¿ë ÇÒ ÇÔ¼öµé¿¡ ´ëÇÑ Æ÷ÀÎÅÍ°¡ µé¾î ÀÖ´Ù. ÀÌ°ÍÀÌ NULL °ªÀ̶ó¸é ±âº» µ¿ÀÛÀ» ¼öÇàÇÏÁö¸¸, µû·Î ÁöÁ¤µÈ °ÍÀÌ ÀÖ´Ù¸é ÇØ´çÇÏ´Â ÇÔ¼ö¸¦ ºÎ¸£°Ô µÈ´Ù. swapoutÀ̳ª swapin ÇÔ¼ö°¡ ¿©±â¿¡ µé¾îÀÖÀ¸¸ç, ÀÌÀü¿¡ ¼³¸íÇÑ nopage ¿¬»êµµ ¿©±â¿¡ ÇÔ¼ö Æ÷ÀÎÅÍ·Î µé¾îÀÖ´Ù. ¿©±â ¼­´Â swapout ¿¬»ê¿¡ ´ëÇÑ Æ÷ÀÎÅÍ°¡ »ç¿ëµÈ´Ù. include/linux/mm.hÀÇ struct vm_area_struct, struct vm_operations_struct ÂüÁ¶. (flyduck)

¿ªÁÖ 12) ¾Õ¿¡¼­ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ ÇÁ·Î¼¼½º¿¡ °ü·ÃµÈ ¸Þ¸ð¸®¸¦ ³ªÅ¸³»´Â mm_struct¿¡´Â vm_area_structÀÇ ¿¬°á ¸®½ºÆ®¿Í ÇÔ²² AVL Æ®¸®¸¦ °°ÀÌ °¡Áö°í ÀÖ´Ù. AVL Æ®¸®¸¦ °ü ¸®ÇÏ´Â °ÍÀº ¾à°£ÀÇ ¿À¹öÇìµå°¡ ÀÖÁö¸¸ ÆäÀÌÁö ÆúÆ®¸¦ »¡¸® ó¸®Çϱâ À§Çؼ­´Â À̸¦ °¨ ¼öÇØ¾ß ÇÑ´Ù. (flyduck)

¿ªÁÖ 13) ¾ÕÀÇ swapout ¿¬»ê°ú ¸¶Âù°¡Áö·Î vm_area_struct ÀڷᱸÁ¶¿¡ ÀÖ´Â vm_ops Æ÷ ÀÎÅÍ¿¡(vm_operations_struct ±¸Á¶Ã¼) ÀÌ Æ÷ÀÎÅÍ°¡ µé¾î ÀÖ´Ù. (flyduck)

¿ªÁÖ 14) ½º¿Ò ij½Ã¿¡¼­ ³ª¿Â¹Ù¿Í °°ÀÌ ½º¿Ò ÆÄÀÏ¿¡ ÀÖ´Â ³»¿ë°ú ¸Þ¸ð¸®¿¡ ÀÖ´Â ³»¿ëÀÌ ´Þ ¶óÁø °æ¿ì¿¡¸¸ ½º¿Ò ij½Ã¿¡¼­ Á¦°ÅÇÒ ¼ö ÀÖµµ·Ï, ù¹ø° ÆäÀÌÁö ÆúÆ®¿¡¼­´Â ¸Þ¸ð¸®·Î °¡ Á®¿À±â¸¸ ÇÏ°í, µÎ¹ø° ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÒ ¶§ ½º¿Ò ij½Ã¿¡¼­ Á¦°ÅÇÏ°Ô µÈ´Ù. (flyduck)

¿ªÁÖ 15) ÀÌ ¼±Çü ÁÖ¼Ò´Â Ä¿³Î¿¡¼­ »ý°¢ÇÏ´Â °¡»ó ÁÖ¼Ò¿Í °°Àº °ÍÀ̶ó°í »ý°¢ÇÏ¸é µÈ´Ù. (flyduck)