¸Þ¸ð¸® °ü¸® ¼ºê½Ã½ºÅÛÀº ¿î¿µÃ¼Á¦¿¡¼ °¡Àå Áß¿äÇÑ ºÎºÐ Áß ÇϳªÀÌ´Ù. ÃÊâ±âÀÇ ÄÄÇ»ÅÍ¿¡ ¼ºÎÅÍ, ½Ã½ºÅÛ¿¡ ¹°¸®ÀûÀ¸·Î Á¸ÀçÇÏ´Â °Íº¸´Ù ´õ ¸¹Àº ¾çÀÇ ¸Þ¸ð¸®¸¦ ÇÊ¿äÇØ¿Ô´Ù. ¹°¸®Àû ÀÎ ¸Þ¸ð¸®ÀÇ ÇѰ踦 ±Øº¹Çϱâ À§ÇÑ ¿©·¯ ±â¹ýµéÀÌ °³¹ßµÇ¾ú´Âµ¥, °¡»ó ¸Þ¸ð¸® ±â¹ýÀÌ °¡Àå ¼º°øÀûÀÌ´Ù. °¡»ó ¸Þ¸ð¸®(virtual memory)´Â ¸Þ¸ð¸®¸¦ ÇÊ¿ä·Î ÇÏ´Â ¼·Î °æÀïÇÏ´Â ÇÁ·Î¼¼½º »çÀÌ¿¡ ¸Þ¸ð¸®¸¦ °øÀ¯Çϵµ·Ï ÇÏ¿©, ½Ã½ºÅÛÀÌ ½ÇÁ¦ °¡Áø °Íº¸´Ù ´õ ¸¹Àº ¸Þ¸ð¸®¸¦ °¡Áø °Íó ·³ º¸À̵µ·Ï ÇÑ´Ù.
°¡»ó ¸Þ¸ð¸®´Â ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸®¸¦ ´Ã¸®´Â Àϸ¸ ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¸Þ¸ð¸® °ü¸® ¼ºê½Ã½ºÅÛ Àº ´ÙÀ½°ú °°Àº °ÍÀ» Á¦°øÇÑ´Ù.
°øÀ¯ ¸Þ¸ð¸®´Â ¶ÇÇÑ µÎ °³ ÀÌ»óÀÇ ÇÁ·Î¼¼½º°¡ ±×µé ¸ðµÎ¿¡°Ô °øÅëÀûÀÎ ¸Þ¸ð¸®¸¦ ÅëÇØ Á¤ º¸¸¦ ±³È¯ÇÔÀ¸·Î½á, ÇÁ·Î¼¼½º°£ Åë½Å(IPC) ¸ÞÄ¿´ÏÁòÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. ¸®´ª½º´Â À¯´Ð ½º ½Ã½ºÅÛ VÀÇ °øÀ¯ ¸Þ¸ð¸® IPC¸¦ Áö¿øÇÑ´Ù.
ÇÁ·Î¼¼¼°¡ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§, ÇÁ·Î¼¼¼´Â ¸Þ¸ð¸®·ÎºÎÅÍ ¸í·É¾î¸¦ ÀÐ¾î ¿Í¼ Çؼ®ÇÑ´Ù. ¸í·ÉÀ» Çؼ®ÇÏ´Â µ¥¿¡´Â ¸Þ¸ð¸®ÀÇ ¾î¶² À§Ä¡¿¡ ÀÖ´Â ³»¿ëÀ» °¡Á®¿À°Å³ª ÀúÀåÇØ¾ß Çϱ⵵ ÇÑ ´Ù. ÇÁ·Î¼¼¼´Â ¸í·É¾î¸¦ ½ÇÇàÇÏ°í ÇÁ·Î±×·¥ÀÇ ´ÙÀ½ ¸í·É¾î·Î À̵¿ÇÑ´Ù. ÀÌ·¸°Ô ÇÏ¿© ÇÁ·Î¼¼ ¼´Â ¾ðÁ¦³ª ¸í·É¾î¸¦ °¡Á®¿À°Å³ª, µ¥ÀÌÅ͸¦ °¡Á®¿À°Å³ª ÀúÀåÇϱâ À§ÇØ ¸Þ¸ð¸®¿¡ Á¢±ÙÇÑ´Ù.
°¡»ó ¸Þ¸ð¸® ½Ã½ºÅÛ¿¡¼ ÀÌ ÁÖ¼ÒµéÀº ¸ðµÎ ¹°¸®Àû ÁÖ¼Ò°¡ ¾Æ´Ï¶ó °¡»ó ÁÖ¼ÒÀÌ´Ù. ÀÌ °¡»ó ÁÖ¼ÒµéÀº ¿î¿µÃ¼Á¦°¡ °ü¸®ÇÏ´Â Å×À̺íµé¿¡ ÀúÀåµÈ Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î ÇÁ·Î¼¼¼¿¡ ÀÇÇØ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯µÈ´Ù.
ÀÌ º¯È¯À» ½±°Ô Çϱâ À§ÇØ °¡»ó ¸Þ¸ð¸®¿Í ¹°¸®Àû ¸Þ¸ð¸®´Â ÆäÀÌÁö¶ó´Â ÀÛÀº Á¶°¢À¸·Î ³ª´¶ ´Ù. ÀÌ ÆäÀÌÁöµéÀº ¸ðµÎ °°Àº Å©±âÀε¥, ²À °°Àº Å©±âÀÏ ÇÊ¿ä´Â ¾øÁö¸¸, ±×·¸Áö ¾Ê´Ù¸é ½Ã½º ÅÛÀ» °ü¸®ÇϱⰡ ¹«Ã´ ¾î·Á¿öÁú °ÍÀÌ´Ù. ¸®´ª½º´Â ¾ËÆÄ 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¿¡¼ ÇÁ·Î¼¼ ½º XÀÇ ÆäÀÌÁö Å×ÀÌºí¿¡´Â °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 2¿¡ ´ëÇÑ ¿£Æ®¸®°¡ ¾øÀ¸¹Ç·Î, ÇÁ·Î¼¼½º X°¡ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 2¿¡ Æ÷ÇÔµÈ ÁÖ¼Ò¿¡¼ ÀÐÀ¸·Á°í Çϸé, ÇÁ·Î¼¼¼´Â ±× ÁÖ¼Ò¸¦ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯ÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ ½ÃÁ¡¿¡¼ ÇÁ·Î¼¼¼´Â ¿î¿µÃ¼Á¦¿¡°Ô ÆäÀÌÁö ÆúÆ® °¡ ¹ß»ýÇß´Ù°í Å뺸ÇÑ´Ù.
¸¸¾à ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò°¡ À¯È¿ÇÏÁö ¾ÊÀº °ÍÀ̶ó¸é, ±× ÇÁ·Î¼¼½º´Â Á¢±ÙÇÒ ¼ö ¾ø´Â °¡»ó ÁÖ¼Ò¿¡ Á¢±ÙÇÏ·Á°í ÇÑ °ÍÀÌ´Ù. ´ëü·Î ÀÌ°Ç ¸Þ¸ð¸®ÀÇ ¾Æ¹« ÁÖ¼Ò¿¡³ª °ªÀ» ¾²´Â °Íó·³, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ À߸øµÈ °ÍÀÌ´Ù. ÀÌ °æ¿ì ¿î¿µÃ¼Á¦´Â ÀÌ ÇÁ·Î¼¼½º¸¦ Á¾·á½ÃÄÑ, ½Ã½ºÅÛÀÇ ´Ù¸¥ ÇÁ·Î¼¼½ºµéÀ» ÀÌ À߸øµÈ ÇÁ·Î¼¼½º·ÎºÎÅÍ º¸È£ÇÑ´Ù.
¸¸¾à ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò°¡ À¯È¿ÇÑ °ÍÀε¥, ÁÖ¼Ò°¡ °¡¸®Å°´Â ÆäÀÌÁö°¡ ¸Þ¸ð¸®¿¡ ÇöÀç ¾ø´Ù¸é, ¿î¿µÃ¼Á¦´Â ÇØ´çÇÏ´Â ÆäÀÌÁö¸¦ µð½ºÅ©ÀÇ À̹ÌÁö·ÎºÎÅÍ ¸Þ¸ð¸®¿¡ °¡Á®¿Í¾ß ÇÑ´Ù. µð ½ºÅ© Á¢±ÙÀº »ó´ëÀûÀ¸·Î ±ä ½Ã°£ÀÌ °É¸®¹Ç·Î, ÇÁ·Î¼¼½º´Â ÆäÀÌÁö°¡ µµÂøÇÒ ¶§±îÁö ÇÑÂüÀ» ±â´Ù·Á¾ß ÇÑ´Ù. ½Ã½ºÅÛ¿¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ÇÁ·Î¼¼½º°¡ ÀÖ´Ù¸é ¿î¿µÃ¼Á¦´Â À̵é Áß Çϳª ¸¦ ¼±ÅÃÇÏ¿© ½ÇÇàÇÑ´Ù. °¡Á®¿Â ÆäÀÌÁö´Â ºó ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ¿¡ ±â·ÏµÇ°í, °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¸¦ À§ÇÑ ¿£Æ®¸®°¡ ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×ÀÌºí¿¡ Ãß°¡µÈ´Ù. ÀÌÁ¦ ÇÁ·Î¼¼½º´Â ¸Þ¸ð ¸® ÆúÆ®°¡ ¹ß»ýÇß´ø ±â°è¾î ¸í·É¿¡¼ºÎÅÍ Àç½ÇÇàµÈ´Ù. À̹ø¿¡ ´Ù½Ã °¡»ó ¸Þ¸ð¸® Á¢±ÙÀÌ ÀÌ ·ç¾îÁú ¶§, ÇÁ·Î¼¼¼´Â °¡»ó ÁÖ¼Ò¸¦ ¹°¸®Àû ÁÖ¼Ò·Î º¯È¯ÇÒ ¼ö ÀÖ°Ô µÇ°í, ÇÁ·Î¼¼½º´Â °è¼Ó ½ÇÇàµÈ´Ù.
¸®´ª½º´Â ½ÇÇà À̹ÌÁö¸¦ ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®¿¡ ·ÎµåÇϱâ À§ÇØ ¿ä±¸ ÆäÀÌ¡À» »ç¿ëÇÑ´Ù. ¸í·ÉÀ» ½ÇÇàÇÒ ¶§¸¶´Ù, ¸í·ÉÀ» Æ÷ÇÔÇÏ´Â ÆÄÀÏÀ» ¿°í, ÆÄÀÏÀÇ ³»¿ëÀÌ ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð ¸®·Î ¸ÅÇεȴÙ. ÀÌ°ÍÀº ÀÌ ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ¸ÊÀ» ±â¼úÇÏ´Â ÀڷᱸÁ¶¸¦ º¯°æÇÏ¿© ÀÌ·ç¾îÁö ¸ç, À̸¦ ¸Þ¸ð¸® ¸ÅÇÎÀ̶ó°í ÇÑ´Ù. ¾î·µç À̹ÌÁöÀÇ Ã¹¹ø° ºÎºÐ¸¸ ½ÇÁ¦·Î ¹°¸®Àû ¸Þ¸ð¸®¿¡ °¡Á®¿À¸ç, ³ª¸ÓÁö ºÎºÐÀº µð½ºÅ©¿¡ ³²¾Æ ÀÖ´Ù. À̹ÌÁö°¡ ½ÇÇàµÊ¿¡ µû¶ó ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ý ÇÏ°í, ¸®´ª½º´Â ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ¸ÊÀ» »ç¿ëÇÏ¿© À̹ÌÁöÀÇ ¾î´À ºÎºÐÀ» ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ¸Þ¸ð¸®¿¡ °¡Á®¿Ã Áö °áÁ¤ÇÑ´Ù.
¹°¸®Àû ¸Þ¸ð¸®¿¡¼ Á¦°ÅµÉ ÆäÀÌÁö°¡ À̹ÌÁö³ª µ¥ÀÌÅÍ ÆÄÀÏ¿¡¼ ¿Â °ÍÀÌ°í, ÀÌ ÆäÀÌÁö¿¡ ¾² ¿©Áø °ÍÀÌ ¾ø´Ù¸é, ÆäÀÌÁöÀÇ ³»¿ëÀ» ÀúÀåÇÒ ÇÊ¿ä´Â ¾ø´Ù. ´ë½Å ±×³É Á¦°Å¸¦ ÇÏ°í, ³ªÁß¿¡ ´Ù ½Ã ÇÊ¿äÇÏ°Ô µÇ¸é À̹ÌÁö³ª µ¥ÀÌÅÍ ÆÄÀϷκÎÅÍ ´Ù½Ã ¸Þ¸ð¸®¿¡ ÀоîµéÀÌ¸é µÈ´Ù.
±×·¯³ª ÆäÀÌÁö°¡ º¯°æµÇ¾ú´Ù¸é, ¿î¿µÃ¼Á¦´Â ÆäÀÌÁöÀÇ ³»¿ëÀ» ³ªÁß¿¡ ´Ù½Ã »ç¿ëÇÒ ¼ö ÀÖµµ·Ï º¸Á¸ÇØ¾ß ÇÑ´Ù. ÀÌ·± ÆäÀÌÁö¸¦ ´õƼ ÆäÀÌÁö(dirty page)¶ó°í Çϸç, À̸¦ ¸Þ¸ð¸®¿¡¼ Á¦°ÅÇÒ ¶§ ½º¿Ò ÆÄÀÏ(swap file)À̶ó´Â Ưº°ÇÑ ÆÄÀÏ¿¡ ÀúÀåÇÑ´Ù. ½º¿Ò ÆÄÀÏ¿¡ Á¢±ÙÇÏ´Â °ÍÀº ÇÁ·Î¼¼¼³ª ¹°¸®Àû ¸Þ¸ð¸®ÀÇ ¼Óµµ¿¡ ºñÇØ ¸Å¿ì ¿À·¡ °É¸®¹Ç·Î, ¿î¿µÃ¼Á¦´Â ÆäÀÌÁö¸¦ µð½ºÅ©¿¡ ±â·ÏÇÒ Çʿ伺°ú, ´Ù½Ã »ç¿ëµÉ ¼ö ÀÖµµ·Ï ¸Þ¸ð¸®·Î °¡Á®¿À°Ô µÉ Çʿ伺À» Àß ´Ù·ç¾î¾ß ÇÑ´Ù.
¾î¶² ÆäÀÌÁö¸¦ Á¦°Å ¶Ç´Â ½º¿ÒÇÒÁö¸¦ °áÁ¤Çϱâ À§ÇØ »ç¿ëÇÏ´Â ¾Ë°í¸®Áò(½º¿Ò ¾Ë°í¸®Áò)ÀÌ È¿À²ÀûÀÌÁö ¾ÊÀ¸¸é ¾²·¹½Ì(thrashing)4À̶ó°í ºÒ¸®´Â »óÅ°¡ ¹ß»ýÇÑ´Ù. ÀÌ ¶§ ÆäÀÌÁö´Â °è¼Ó µð½ºÅ©¿¡ ±â·ÏµÇ°í ¶Ç ´Ù½Ã Àоî¿À°Ô µÇ¸ç, ¿î¿µÃ¼Á¦´Â ³Ê¹« ¹Ùºü¼ ½ÇÁ¦ ÀÛ¾÷Àº °ÅÀÇ ¸øÇÏ °Ô µÈ´Ù. ¿¹¸¦ µé¾î ±×¸² 3.1¿¡¼, ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 1ÀÌ °è¼Ó Á¢±ÙµÈ´Ù¸é, ÀÌ°ÍÀº Çϵåµð½ºÅ©·Î ½º¿ÍÇÎÇÒ ÁÁÀº È帰¡ ¾Æ´Ï´Ù. ÇÁ·Î¼¼½º°¡ ÇöÀç »ç¿ëÇÏ°í ÀÖ´Â ÆäÀÌÁöÀÇ ÁýÇÕ À» ÀÛ¾÷ ÁýÇÕ(working set)À̶ó°í Çϴµ¥, È¿À²ÀûÀÎ ½º¿Ò Á¤Ã¥Àº ¸ðµç ÇÁ·Î¼¼½ºµéÀÇ ÀÛ¾÷ Áý ÇÕÀÌ ¸ðµÎ ¹°¸®Àû ¸Þ¸ð¸®¿¡ ÀÖµµ·Ï ÇÑ´Ù.
¸®´ª½º´Â ½Ã½ºÅÛ¿¡¼ Á¦°ÅµÉ ÆäÀÌÁö¸¦ °øÁ¤ÇÏ°Ô ¼±ÅÃÇϱâ À§ÇØ, °¡Àå ÃÖ±Ù¿¡ »ç¿ëµÈ(Least Recently Used, LRU) ÆäÀÌÁö ¼ö¸í(page aging) ±â¹ýÀ» »ç¿ëÇÑ´Ù. ÀÌ ±â¹ý¿¡¼ ½Ã½ºÅÛÀÇ ¸ðµç Æä ÀÌÁö´Â, ±× ÆäÀÌÁö¿¡ Á¢±ÙµÉ ¶§¸¶´Ù º¯°æµÇ´Â ¼ö¸íÀ» °®°í ÀÖ´Ù. ÆäÀÌÁö´Â ÀÚÁÖ Á¢±ÙµÉ¼ö·Ï Àþ¾îÁö°í, Àû°Ô Á¢±ÙµÉ¼ö·Ï ³ªÀÌ°¡ µé°Ô µÈ´Ù. ³ªÀ̵ç ÆäÀÌÁö´Â ½º¿ÍÇÎÀÇ ÁÁÀº Èĺ¸ÀÌ´Ù.
±×¸² 3.1Àº µÎ ÇÁ·Î¼¼½º°¡ ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 4¸¦ °øÀ¯ÇÏ´Â °ÍÀ» º¸¿©ÁØ´Ù. ÀÌ ¹°¸® Àû ÆäÀÌÁö´Â ÇÁ·Î¼¼½º X ÀÔÀå¿¡¼ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 4ÀÌ°í, ÇÁ·Î¼¼½º Y ÀÔÀå¿¡¼ °¡»ó ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 6ÀÌ´Ù. ÀÌ°ÍÀº ÆäÀÌÁö °øÀ¯ÀÇ Àç¹ÌÀÖ´Â Á¡À» º¸¿©ÁØ´Ù. °øÀ¯µÇ´Â ¹°¸®Àû ÆäÀÌÁö´Â ÀÌ ¹°¸®Àû ÆäÀÌÁö¸¦ °øÀ¯ÇÏ´Â ¾î¶² ÇÁ·Î¼¼½º¿¡¼µµ °¡»ó ¸Þ¸ð¸®ÀÇ °°Àº À§ Ä¡¿¡ ÀÖÀ» ÇÊ¿ä°¡ ¾ø´Ù.
¾ËÆÄ AXP ÇÁ·Î¼¼¼´Â Ưº°ÇÑ ¹°¸®Àû ÁÖ¼Ò ¸ðµå¸¦ °®°í ÀÖÁö ¾Ê´Ù. ´ë½Å¿¡ ¸Þ¸ð¸® °ø°£À» ¿©·¯ ºÎºÐÀ¸·Î ³ª´©¾î, ±× ÁßÀÇ µÎ °³¸¦ ¹°¸®ÀûÀ¸·Î ¸ÅÇÎµÈ ÁÖ¼Ò·Î ÁöÁ¤ÇØ µÐ´Ù. ÀÌ Ä¿³Î ÁÖ ¼Ò°ø°£Àº KSEG ÁÖ¼Ò°ø°£À̶ó°í ºÎ¸£¸ç, 0xfffffc0000000000ºÎÅÍ À§ÂÊ ÁÖ¼Ò ÀüºÎ¸¦ Æ÷ÇÔÇÑ´Ù. KSEG¿¡ ¸µÅ©µÈ ÄÚµå(Á¤ÀÇ¿¡ µû¶ó Ä¿³Î ÄÚµåÀÌ´Ù)¸¦ ½ÇÇàÇϰųª KSEGÀÇ µ¥ÀÌÅ͸¦ Á¢±ÙÇϱâ À§Çؼ´Â ÄÚµå´Â ¹Ýµå½Ã Ä¿³Î ¸ðµå¿¡¼ ½ÇÇàµÇ¾î¾ß ÇÑ´Ù. ¾ËÆÄ¿¡¼ÀÇ ¸®´ª½º Ä¿³ÎÀº ÁÖ¼Ò 0xfffffc0000310000·ÎºÎÅÍ ½ÇÇàµÇµµ·Ï ¸µÅ©µÇ¾î ÀÖ´Ù.
¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇÑ Á¢±ÙÀ» Á¦ÇÑÇÏ·Á°í ÇÏ´Â ÀÌÀ¯´Â ¸î °¡Áö°¡ ÀÖ´Ù. ½ÇÇà Äڵ带 ´ã°í ÀÖ ´Â °÷ °°Àº ¾î¶² ¸Þ¸ð¸®´Â ÀÚ¿¬È÷ Àбâ Àü¿ë ¸Þ¸ð¸®À̸ç, ¿î¿µÃ¼Á¦´Â ÇÁ·Î¼¼½º°¡ ÀÚ½ÅÀÇ ½Ç Çà ÄÚµå À§¿¡ µ¥ÀÌÅ͸¦ ¾²´Â °ÍÀ» Çã¶ôÇؼ´Â ¾È µÈ´Ù. ¹Ý´ë·Î, µ¥ÀÌÅ͸¦ ´ã°í ÀÖ´Â ÆäÀÌÁö ´Â ¾²¿©Áú ¼ö ÀÖÁö¸¸ ±× ¸Þ¸ð¸®¸¦ ¸í·É¾î·Î °£ÁÖÇÏ¿© ½ÇÇàÇÏ·Á´Â ½Ãµµ´Â ½ÇÆÐÇØ¾ß ÇÑ´Ù. ´ë ºÎºÐÀÇ ÇÁ·Î¼¼¼´Â Àû¾îµµ µÎ °¡Áö ½ÇÇà ¸ðµå - Ä¿³Î¸ðµå¿Í »ç¿ëÀÚ¸ðµå - ¸¦ °¡Áö°í ÀÖ´Ù. ÇÁ·Î¼¼¼°¡ Ä¿³Î ¸ðµå·Î ¼öÇàÁßÀÌ ¾Æ´Ï¶ó¸é, »ç¿ëÀÚ°¡ Ä¿³Î Äڵ带 ½ÇÇàÇϰųª Ä¿³Î Àڷᱸ Á¶¿¡ Á¢±ÙÇÏ´Â °ÍÀ» ¸·°í ½ÍÀ» °ÍÀÌ´Ù.
Á¢±Ù Á¦¾î Á¤º¸´Â PTE¿¡ µé¾îÀÖÀ¸¸ç ÇÁ·Î¼¼¼¸¶´Ù ´Ù¸£´Ù. ±×¸² 3.2´Â ¾ËÆÄ AXP ÇÁ·Î¼¼¼ ÀÇ PTE¸¦ º¸¿©ÁØ´Ù. °¢ ºñÆ® ÇʵåÀÇ Àǹ̴ ´ÙÀ½°ú °°´Ù :
¹öÆÛ Ä³½Ã´Â ÀåÄ¡ ½Äº°ÀÚ¿Í ¿øÇÏ´Â ºí·° ¹øÈ£¿¡ ÀÇÇØ »öÀεǾî ÀÖ°í, ÀÌ »öÀÎÀ» ÅëÇØ µ¥ ÀÌÅÍ ºí·°À» »¡¸® ãÀ» ¼ö ÀÖ´Ù. ºí·° ÀåÄ¡´Â ¹öÆÛ Ä³½Ã¸¦ ÅëÇؼ¸¸ Á¢±ÙµÈ´Ù. µ¥ÀÌÅÍ°¡ ¹öÆÛ Ä³½Ã¿¡¼ ¹ß°ßµÇ¸é ÇÏµå µð½ºÅ©°°Àº ¹°¸®Àû ºí·° ÀåÄ¡¿¡¼ ÀÐÀ» ÇÊ¿ä°¡ ¾øÀ¸¸ç, µû ¶ó¼ ÈξÀ ºü¸£°Ô Á¢±ÙµÈ´Ù.
Çϵå¿þ¾î ij½ÃÀÌµç ´Ù¸¥ ij½ÃÀ̵ç ij½Ã¸¦ »ç¿ëÇÏ´Â °ÍÀÇ ´ÜÁ¡Àº, ±×·¸°Ô È¿À²À» ³ôÀ̱â À§ Çؼ ¸®´ª½º´Â À̵é ij½Ã¸¦ °ü¸®Çϴµ¥ ´õ ¸¹Àº ½Ã°£°ú °ø°£À» »ç¿ëÇØ¾ß ÇÑ´Ù´Â °Í°ú, ij½Ã °¡ ¸Á°¡Áö´Â °æ¿ì ½Ã½ºÅÛÀÌ Á״´ٴ °ÍÀÌ´Ù.
¸®´ª½º¸¦ ½ÇÇàÇÏ´Â Ç÷§ÆûµéÀº, ¹Ýµå½Ã Ä¿³ÎÀÌ Æ¯Á¤ ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×À̺íÀ» Ž»öÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¸ÅÅ©·ÎµéÀ» Áö¿øÇØ¾ß ÇÑ´Ù. ÀÌ°°Àº ¹æ½Ä ´öÅÿ¡ Ä¿³ÎÀº ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸® ÀÇ Çü½ÄÀ̶óµç°¡ ¾î¶»°Ô ¹è¿µÇ¾î ÀÖ´ÂÁö ¾Ë¾Æ¾ß µÉ ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ·± ¹æ½ÄÀº ¸Å¿ì ¼º°øÀû ÀÌ¾î¼ ¼¼´Ü°èÀÇ ÆäÀÌÁö Å×À̺íÀ» °¡Áö´Â ¾ËÆÄ ÇÁ·Î¼¼¼¿Í µÎ ´Ü°èÀÇ ÆäÀÌÁö Å×À̺íÀ» °¡Áö ´Â ÀÎÅÚÀÇ x86°è¿ÀÇ ÇÁ·Î¼¼¼¿¡ ´ëÇؼ µ¿ÀÏÇÑ ÆäÀÌÁö Å×À̺í ó¸® Äڵ带 »ç¿ëÇÏ°í ÀÖ´Ù.
½Ã½ºÅÛÀÇ ¸ðµç ¹°¸®Àû ÆäÀÌÁö´Â 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¿¡¼ ½ÃÀÛÇÑ´Ù.
ÇÒ´ç ¾Ë°í¸®ÁòÀº ¸ÕÀú ¿äûµÈ Å©±âÀÇ ÆäÀÌÁö ºí·°À» °Ë»öÇÑ´Ù. free_area ÀڷᱸÁ¶ÀÇ list ¿ø¼Ò¿¡ Å¥µÇ¾î ÀÖ´Â ÇÁ¸® ÆäÀÌÁöÀÇ °í¸®¸¦ µû¶ó°£´Ù. ¸¸ÀÏ ¿äûµÈ Å©±âÀÇ ÇÁ¸® ÆäÀÌ Áö ºí·°ÀÌ ¾ø´Ù¸é, ±× ´ÙÀ½ Å©±â(¿äûµÈ Å©±âÀÇ µÎ ¹è)ÀÇ ºí·°À» ã¾Æº»´Ù. ÀÌ °úÁ¤Àº ¸ðµç free_area¸¦ ´Ù °Ë»öÇϰųª, »ç¿ëÇÒ ¼ö ÀÖ´Â ÆäÀÌÁö ºí·°À» ã¾Æ³¾ ¶§±îÁö °è¼ÓµÈ´Ù. ã¾Æ ³½ ÆäÀÌÁö ºí·°ÀÌ ¿äûÇÑ Å©±âº¸´Ù Å©´Ù¸é, ±× ÆäÀÌÁö ºí·°Àº ¿äûÇÑ Å©±â°¡ µÉ ¶§±îÁö ºÐ ÇÒÇÑ´Ù. ºí·°¿¡ µé¾îÀÖ´Â ÆäÀÌÁöÀÇ ¼ö´Â µÎ ¹è¾¿ ´Ã¾î³ª´Â Å©±â·Î µÇ¾î Àֱ⠶§¹®¿¡, ºÐÇÒ°ú Á¤Àº ºí·°À» ¹ÝÀ¸·Î À߶󰡱⸸ ÇÏ¸é µÈ´Ù. ÇÁ¸® ºí·°Àº ÇØ´çÇϴ ť¿¡ Å¥µÇ¸ç ÇÒ´çµÈ ÆäÀÌ Áö ºí·°Àº È£ÃâÀÚ¿¡°Ô µÇµ¹·ÁÁø´Ù.
¿¹¸¦ µé¾î, ±×¸² 3.4¿¡¼ 2 ÆäÀÌÁöÂ¥¸® ºí·°À» ¿äûÇß´Ù¸é, 4 ÆäÀÌÁöÂ¥¸® ù¹ø° ºí·°(ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 4¿¡¼ ½ÃÀÛÇÏ´Â)Àº 2 ÆäÀÌÁöÂ¥¸® ºí·° µÎ°³·Î ³ª´· °ÍÀÌ´Ù. ÇÁ·¹ÀÓ ¹øÈ£ 4¿¡¼ ½ÃÀÛÇϴ ù¹ø° ºí·°Àº ÇÒ´çµÈ ÆäÀÌÁö°¡ µÇ¾î È£ÃâÀÚ¿¡°Ô µÇµ¹·ÁÁö°í, ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 6¿¡¼ ½ÃÀÛÇÏ´Â µÎ¹ø° ºí·°Àº 2 ÆäÀÌÁö Å©±âÀÇ ÇÁ¸® ºí·°À¸·Î free_area ¹è¿ÀÇ Ã¹¹ø° ¿ø¼Ò¿¡ Àִ ť¿¡ ÀúÀåµÈ´Ù.
ÆäÀÌÁö ºí·°ÀÌ ÇØÁ¦µÉ ¶§¸¶´Ù, °°Àº Å©±âÀÇ ÀÎÁ¢ÇÑ ¹öµð(buddy) ºí·°ÀÌ ÇÁ¸®ÀÎÁö °Ë»çÇÑ´Ù. ±×·¸´Ù¸é ±× ºí·°°ú »õ·Î ÇÁ¸® ºí·°ÀÌ µÈ ÆäÀÌÁöµéÀÌ ÇÕÃÄÁ®¼, »õ·Î¿î ºó ºí·°ÀÌ µÇ¾î ´Ù À½ Å©±âÀÇ ÇÁ¸® ºí·°À» ÀÌ·é´Ù. µÎ°³ÀÇ ÆäÀÌÁö ºí·°ÀÌ ÇÕÃÄÁ®¼ ´õ Å« ÇÁ¸® ÆäÀÌÁö ºí·°ÀÌ µÉ ¶§¸¶´Ù, ÆäÀÌÁö ÇØÁ¦ ÄÚµå´Â ÀÌ ºí·°À» ´Ù½Ã ÀÎÁ¢ÇÑ °Í°ú ÇÕÃļ ´õ Å« °ÍÀ¸·Î ¸¸µé·Á°í ÇÑ´Ù. ÀÌ·¸°Ô Çؼ ÇÁ¸® ÆäÀÌÁö ºí·°Àº ¸Þ¸ð¸®°¡ Çã¶ôÇÏ´Â ¸¸Å Ä¿Áú ¼ö ÀÖ°Ô µÈ´Ù.
¿¹¸¦ µé¾î, ±×¸² 3.4¿¡¼ ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£ 1ÀÌ ÇØÁ¦µÇ¸é, ÀÌ¹Ì ÇØÁ¦µÇ¾î ÀÖ´Â ÆäÀÌÁö ÇÁ ·¹ÀÓ ¹øÈ£ 0°ú ÇÕÃÄÁ® 2ÆäÀÌÁö Å©±âÀÇ ÇÁ¸® ºí·°ÀÌ µÇ¾î, free_areaÀÇ Ã¹¹ø° ¿ø¼ÒÀÇ Å¥¿¡ ¿¬°áµÈ´Ù.
¸ðµç ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®´Â mm_struct ÀڷᱸÁ¶·Î Ç¥ÇöµÈ´Ù. ¿©±â¿¡´Â ÇöÀç ½ÇÇàÁßÀÎ À̹ÌÁö(¿¹¸¦ µé¾î, bashÀÇ)¿¡ ´ëÇÑ Á¤º¸¿Í, ¿©·¯°³ÀÇ vm_area_struct ÀڷᱸÁ¶¿¡ ´ëÇÑ Æ÷ ÀÎÅÍ°¡ µé¾î ÀÖ´Ù. °¢°¢ÀÇ vm_area_struct ÀڷᱸÁ¶´Â °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀÇ ½ÃÀÛ°ú ³¡, ÇÁ ·Î¼¼½ºÀÇ Á¢±Ù ±ÇÇÑ, ¸Þ¸ð¸®¿¡ ´ëÇÑ ¿¬»êµé µîÀ» ±â¼úÇÑ´Ù. ¿©±â¼ ¿¬»êÀº ÀÌ ¿µ¿ªÀÇ °¡»ó ¸Þ¸ð¸®¸¦ ó¸®Çϱâ À§ÇØ ¸®´ª½º°¡ »ç¿ëÇØ¾ß ÇÏ´Â ·çƾµéÀÌ´Ù. ¿¹¸¦ µé¾î, °¡»ó ¸Þ¸ð¸® ¿¬»ê ÁßÀÇ Çϳª´Â, ÇÁ·Î¼¼½º°¡ °¡»ó ¸Þ¸ð¸®¸¦ Á¢±ÙÇÏ·Á´Ù (ÆäÀÌÁö ÆúÆ®¸¦ ÅëÇØ) ±× ¸Þ¸ð¸®°¡ ½ÇÁ¦ ·Î´Â ¹°¸®Àû ¸Þ¸ð¸®¿¡ ¾ø´Ù´Â °ÍÀ» ¾Ë¾ÒÀ» ¶§, À̸¦ ó¸®ÇÏ´Â ¿Ã¹Ù¸¥ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. ÀÌ ¿¬»êÀÌ nopage ¿¬»êÀÌ´Ù. ¸®´ª½º´Â ½ÇÇà À̹ÌÁöÀÇ ÆäÀÌÁö¸¦ ¸Þ¸ð¸®·Î ¿Å±æ °ÍÀ» ¿ä±¸ÇÒ ¶§ nopage ¿¬»êÀ» »ç¿ëÇÑ´Ù.
¾î¶² ½ÇÇà À̹ÌÁö°¡ ÇÁ·Î¼¼½ºÀÇ °¡»ó ÁÖ¼Ò¿¡ ¸ÅÇ뵃 ¶§, ÇÑ ¼¼Æ®ÀÇ vm_area_struct ÀÚ ·á±¸Á¶°¡ ¸¸µé¾îÁø´Ù. °¢ vm_area_struct ÀڷᱸÁ¶´Â ½ÇÇà À̹ÌÁöÀÇ ÇÑ ºÎºÐÀ» ³ªÅ¸³½´Ù - ½ÇÇà ÄÚµå, ÃʱâÈµÈ µ¥ÀÌÅÍ(º¯¼ö), ÃʱâȵÇÁö ¾ÊÀº µ¥ÀÌÅÍ(BSS) µîÀÌ´Ù. ¸®´ª½º´Â »ó´ç¼ö ÀÇ Ç¥ÁØ °¡»ó ¸Þ¸ð¸® ¿¬»êÀ» Áö¿øÇϸç, vm_area_struct ÀڷᱸÁ¶°¡ ¸¸µé¾îÁú ¶§, ±×¿¡ ¸Â ´Â ÀÏ·ÃÀÇ °¡»ó ¸Þ¸ð¸® ¿¬»êÀÌ ¿©±â¿¡ ÁöÁ¤µÈ´Ù.
¸®´ª½º´Â ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÑ °÷À» Æ÷ÇÔÇÏ´Â ¸Þ¸ð¸® ¿µ¿ªÀ» ³ªÅ¸³»´Â 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)¸¦ »ç¿ëÇÏ´Â ÇÁ·Î¼¼¼ÀÇ °æ¿ì¿¡´Â, ƯÁ¤ÇÑ Çϵå¿þ¾î¿¡ ¸Â´Â ÇൿÀÌ ÇÊ¿äÇÒ ¼öµµ ÀÖ´Ù. ÀÌÁ¦ ÆäÀÌÁö ÆúÆ® °¡ 󸮵ǾúÀ¸¹Ç·Î ±× »óȲÀº ÇØÁ¦µÇ¸ç, ÇÁ·Î¼¼½º´Â °¡»ó ¸Þ¸ð¸® Á¢±Ù¿¡ ´ëÇÑ ÆúÆ®¸¦ ¹ß»ý ½ÃÄ×´ø ¸í·É¿¡¼ºÎÅÍ ½ÇÇàÀ» Àç°³ÇÑ´Ù.
ÆäÀÌÁö¸¦ ¸Þ¸ð¸® ¸ÅÇÎµÈ ÆÄÀÏ¿¡¼ ÀÐÀ» ¶§, ¿¹¸¦ µé¾î ¿ä±¸ ÆäÀÌ¡¿¡¼ ÆäÀÌÁö¸¦ ¸Þ¸ð¸®·Î ´Ù½Ã °¡Á®¿Ã ¶§, ÆäÀÌÁö´Â ÆäÀÌÁö ij½Ã¸¦ ÅëÇØ ÀÐ°Ô µÈ´Ù. ÆäÀÌÁö°¡ ij½Ã¿¡ ÀÖÀ¸¸é, ±× ÆäÀÌ Áö¸¦ ³ªÅ¸³»´Â mem_map_t ÀڷᱸÁ¶¿¡ ´ëÇÑ Æ÷ÀÎÅÍ°¡ ÆäÀÌÁö ÆúÆ® ó¸® ÄÚµå·Î µÇµ¹·ÁÁø´Ù. ij½Ã¿¡ ¾ø´Ù¸é À̹ÌÁö¸¦ °®°í ÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ÆäÀÌÁö¸¦ ¸Þ¸ð¸®·Î °¡Á®¿Í¾ß ÇÑ´Ù. ¸®´ª½º´Â ¹°¸®Àû ÆäÀÌÁö¸¦ ÇÒ´çÇÏ°í µð½ºÅ© »óÀÇ ÆÄÀϷκÎÅÍ ÆäÀÌÁö¸¦ ÀÐ¾î µéÀδÙ.
°¡´ÉÇÏ´Ù¸é ¸®´ª½º´Â ÆÄÀÏÀÇ ´ÙÀ½ ÆäÀÌÁö¿¡ ´ëÇÑ Àб⸦ ½ÃÀÛÇÑ´Ù. ÀÌ·¸°Ô ÇÑ ÆäÀÌÁö¸¦ ¹Ì ¸® Àд °ÍÀº, ÇÁ·Î¼¼½º°¡ ÆÄÀÏÀÇ ÆäÀÌÁö¸¦ ¼øÂ÷ÀûÀ¸·Î Á¢±ÙÇÏ´Â °æ¿ì, ´ÙÀ½ ÆäÀÌÁö°¡ (ÇÁ·Î ¼¼½º°¡ ´ÙÀ½ ¸Þ¸ð¸®¸¦ Àбâ Àü¿¡) ÇÁ·Î¼¼½º¸¦ À§ÇÑ ¸Þ¸ð¸®¿¡ ±â´Ù¸®°í ÀÖ°Ô ÇÑ´Ù.
½Ã°£ÀÌ Èê·¯ À̹ÌÁö¸¦ ÀÐ°í ½ÇÇàÇÔ¿¡ µû¶ó ÆäÀÌÁö ij½Ã°¡ Áõ°¡ÇÏ°Ô µÈ´Ù. ÆäÀÌÁö´Â ´õÀÌ»ó ÇÊ¿ä¾ø°Ô µÇ¸é, °¡·É À̹ÌÁö°¡ ´õÀÌ»ó ¾î¶² ÇÁ·Î¼¼½º¿¡ ÀÇÇؼµµ »ç¿ëµÇÁö ¾Ê°Ô µÇ¸é, ij½Ã ·ÎºÎÅÍ Á¦°ÅµÈ´Ù. ¸®´ª½º°¡ ¸Þ¸ð¸®¸¦ »ç¿ëÇØ ³ª°¨¿¡ µû¶ó ¹°¸®Àû ÆäÀÌÁö°¡ ºÎÁ·ÇØÁö±â ½ÃÀÛ ÇÑ´Ù. ÀÌ ¶§ ¸®´ª½º´Â ÆäÀÌÁö ij½ÃÀÇ Å©±â¸¦ ÁÙÀÏ °ÍÀÌ´Ù.
Ä¿³Î ½º¿Ò µ¥¸ó(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 ÀÌÇÏ·Î ¶³¾îÁ® ¼ ¿´´Ù¸é, Æò¼Ò¿¡ ÀÚ´ø ½Ã°£ÀÇ Àý¹Ý¸¸ ÀÜ´Ù. ±×·¡¼ ºó ÆäÀÌÁöÀÇ ¼ö°¡ free_pages_lowº¸ ´Ù Ä¿Áö¸é Ä¿³Î ½º¿Ò µ¥¸óÀº ´õ ¿À·¨µ¿¾È ÀÚ°Ô µÈ´Ù.
Ä¿³Î ½º¿Ò µ¥¸óÀÌ À̵é ij½Ã¸¦ ÁÙÀÌ·Á°í ÇÒ ¶§ ¸¶´Ù, mem_map ÆäÀÌÁö º¤ÅÍ¿¡ ÀÖ´Â ÆäÀÌÁö ºí·°À» °Ë»çÇÏ¿© ½ÇÁ¦ ¸Þ¸ð¸®¿¡¼ ¹ö·Áµµ µÉ °ÍÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. Ä¿³Î ½º¿Ò µ¥¸óÀÌ ½ÉÇÏ °Ô ½º¿ÍÇÎÀ» ÇÏ°í ÀÖ´Ù¸é - Áï, ½Ã½ºÅÛÀÇ ÇÁ¸® ÆäÀÌÁöÀÇ ¼ö°¡ ½É°¢ÇÏ°Ô ³·°Ô ¶³¾îÁ³´Ù¸é - °Ë»çÇÒ ÆäÀÌÁö ºí·°ÀÇ Å©±â°¡ Ä¿Áø´Ù. ÆäÀÌÁö ºí·°Àº µ¹¾Æ°¡¸ç °Ë»çµÈ´Ù. Áï ¸Þ¸ð¸® ¸ÊÀ» ÁÙ ÀÌ·Á°í ÇÒ ¶§¸¶´Ù ¼·Î ´Ù¸¥ ÆäÀÌÁö ºí·°ÀÌ °Ë»çµÈ´Ù. ÀÌ ¹æ¹ýÀº ½Ã°è ¾Ë°í¸®Áò(clock algorithm)À̶ó°í ºÒ¸®´Âµ¥, ½Ã°è ¹Ù´ÃÀÇ ¿òÁ÷ÀÓó·³ Àüü mem_map ÆäÀÌÁö º¤ÅÍ¿¡¼ Çѹø¿¡ ¸î ÆäÀÌÁö¾¿ Â÷·Ê·Î Á¶»çµÇ±â ¶§¹®ÀÌ´Ù.
Á¶»çµÇ´Â °¢ ÆäÀÌÁö´Â ±×°ÍÀÌ ÆäÀÌÁö ij½Ã³ª ¹öÆÛ Ä³½Ã¿¡ ÀÖ´Â °ÍÀÎÁö °Ë»çµÈ´Ù. ÀÌ ´Ü°è¿¡ ¼ °øÀ¯ ÆäÀÌÁö´Â °í·ÁµÇÁö ¾ÊÀ¸¸ç, ÇÑ ÆäÀÌÁö°¡ µ¿½Ã¿¡ µÎ ij½Ã¿¡ ¸ðµÎ¿¡ ÀÖÀ» ¼ö ¾ø´Ù´Â °ÍÀ» ±â¾ïÇØ µÎ±â ¹Ù¶õ´Ù. ÆäÀÌÁö°¡ µÎ ij½Ã ¾îµð¿¡µµ ¼ÓÇÏÁö ¾ÊÀ¸¸é mem_map ÆäÀÌÁö º¤ÅÍ ÀÇ ´ÙÀ½ ÆäÀÌÁö°¡ Á¶»çµÈ´Ù.
¹öÆÛÀÇ ÇÒ´ç°ú ÇØÁ¦°¡ ´õ¿í È¿À²ÀûÀ¸·Î ÀÌ·ç¾îÁö°Ô Çϱâ À§ÇÏ¿© (ÆäÀÌÁö ³»ÀÇ ¹öÆÛ°¡ ij½Ã µÇ´Â °ÍÀÌ ¾Æ´Ï¶ó) ÆäÀÌÁö ÀÚü°¡ ¹öÆÛ Ä³½Ã¿¡ ij½ÃµÈ´Ù. ¸Þ¸ð¸® ¸Ê Ãà¼Ò ÄÚµå´Â °Ë»çµÇ´Â ÆäÀÌÁö¿¡ Æ÷ÇÔµÈ ¹öÆÛ¸¦ ÇØÁ¦ÇÏ·Á°í ÇÑ´Ù. ÆäÀÌÁö¿¡ Æ÷ÇÔµÈ ¸ðµç ¹öÆÛ°¡ ÇØÁ¦µÇ¸é, ±×µéÀ» °®°í ÀÖ´ø ÆäÀÌÁöµµ ÇØÁ¦µÈ´Ù. Á¶»çµÈ ÆäÀÌÁö°¡ ¸®´ª½º ÆäÀÌÁö ij½Ã¿¡ ÀÖ´Ù¸é, ÆäÀÌÁö ij½Ã ¿¡¼ Á¦°ÅµÈ ´ÙÀ½ ÇØÁ¦µÈ´Ù.
ÀÌ·¸°Ô Çؼ ÃæºÐÇÑ ÆäÀÌÁö°¡ ÇØÁ¦µÇ¾ú´Ù¸é Ä¿³Î ½º¿Ò µ¥¸óÀº ´ÙÀ½¿¡ ÁÖ±âÀûÀ¸·Î ±ú¾î³ª´Â ½ÃÁ¡±îÁö ±â´Ù¸°´Ù. ÇØÁ¦µÇ´Â ÆäÀÌÁö Áß¿¡´Â ¾î¶² ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®¿¡µµ ¼ÓÇÏÁö ¾ÊÀ¸ ¹Ç·Î (¸ðµÎ ij½ÃµÈ ÆäÀÌÁöÀ̹ǷÎ), ¾Æ¹«·± ÆäÀÌÁö Å×ÀÌºíµµ ¼öÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ij½ÃµÈ Æä ÀÌÁö¸¦ Á¦°ÅÇÏ´Â °É·Î ÃæºÐÇÏÁö ¾ÊÀº °æ¿ì, ½º¿Ò µ¥¸óÀº °øÀ¯ ÆäÀÌÁö¸¦ ½º¿Ò ¾Æ¿ôÇÏ·Á°í ÇÏ °Ô µÈ´Ù.
Ä¿³Î ½º¿Ò µ¥¸óÀº ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ÆäÀÌÁö¸¦ ½º¿Ò ¾Æ¿ôÇÒ ¶§¿¡µµ ½Ã°è ¾Ë°í¸®Áò(clock algorithm)À» »ç¿ëÇÑ´Ù. Ä¿³Î ½º¿Ò µ¥¸óÀº ½ÇÇàÇÒ ¶§¸¶´Ù ¸Ç ¸¶Áö¸·À¸·Î ½º¿Ò ¾Æ¿ôÇÑ °øÀ¯ °¡ »ó ¸Þ¸ð¸® ÆäÀÌÁö°¡ ¹«¾ùÀ̾ú´ÂÁö¸¦ ±â¾ïÇÑ´Ù. À̸¦ À§ÇØ µÎ°³ÀÇ À妽º °ªÀ» À¯Áö Çϴµ¥, Çϳª´Â shmid_ds ÀڷᱸÁ¶ ÁýÇÕ¿¡ ´ëÇÑ À妽ºÀÌ°í, ´Ù¸¥ Çϳª´Â ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ¿µ¿ªÀ» ³ªÅ¸³»´Â ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÇ ¸®½ºÆ®¿¡ ´ëÇÑ À妽ºÀÌ´Ù. ÀÌ ¹æ¹ýÀº ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ¿µ¿ªÀÌ °øÁ¤ÇÏ°Ô Èñ»ýµÇ°Ô ÇÑ´Ù.
¾î¶² ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸®ÀÇ °¡»ó ÆäÀÌÁö¿¡ ´ëÇÑ ¹°¸®Àû ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£´Â, ÀÌ °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀ» °øÀ¯ÇÏ´Â ¸ðµç ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×ÀÌºí¿¡ µé¾îÀֱ⠶§¹®¿¡, Ä¿³Î ½º¿Ò µ¥ ¸óÀº À̵é ÆäÀÌÁö Å×ÀÌºí ¸ðµÎ¸¦ º¯°æÇÏ¿©, ÀÌ ÆäÀÌÁö°¡ ´õÀÌ»ó ¸Þ¸ð¸®¿¡ ¾ø°í ½º¿Ò ÆÄÀÏ¿¡ µé¾î ÀÖ´Ù´Â °ÍÀ» ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù. ½º¿Ò ¾Æ¿ôµÇ´Â °¢ °øÀ¯ ÆäÀÌÁö¸¶´Ù, Ä¿³Î ½º¿Ò µ¥¸óÀº ÀÌ ÆäÀÌÁö¸¦ °øÀ¯ÇÏ°í ÀÖ´Â ÇÁ·Î¼¼½ºµéÀÇ ÆäÀÌÁö Å×À̺í·ÎºÎÅÍ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ 㠴´٠(°¢ vm_area_struct ÀڷᱸÁ¶¿¡¼ Æ÷ÀÎÅ͸¦ µû¶ó°¨À¸·Î½á). ÀÌ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð ¸® ÆäÀÌÁö¿¡ ´ëÇÑ ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®°¡ À¯È¿Çϸé, µ¥¸óÀº ±×°ÍÀ» À¯È¿ÇÏÁö ¾Ê°í ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®·Î º¯È¯ÇÏ°í, ÀÌ (°øÀ¯µÈ) ÆäÀÌÁöÀÇ »ç¿ëÀÚ ¼ö¸¦ 1 °¨¼Ò½ÃŲ´Ù. ½º¿Ò ¾Æ¿ôµÈ ½Ã½ºÅÛ V °øÀ¯ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¿¡´Â, shmid_ds ÀڷᱸÁ¶ Áý ÇÕ¿¡ ´ëÇÑ À妽º¿Í, ÀÌ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÇ À妽º °¡ µé¾î ÀÖ´Ù.
°øÀ¯ÇÏ´Â ÇÁ·Î¼¼½ºµéÀÇ ÆäÀÌÁö Å×À̺íÀÌ ¸ðµÎ º¯°æµÇ¾î ±× ÆäÀÌÁöÀÇ Ä«¿îÆ®°¡ 0ÀÌ µÇ¸é, ÀÌ °øÀ¯ ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ·Î ½º¿Ò ¾Æ¿ôÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ÀÌ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ë ÇÑ shmid_ds ÀڷᱸÁ¶°¡ °¡¸®Å°°í ÀÖ´Â ¸®½ºÆ®¿¡ µé¾î ÀÖ´Â ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®µéÀº ½º ¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®·Î ±³Ã¼µÈ´Ù. ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®´Â À¯È¿ÇÏ Áö ¾ÊÁö¸¸, ¿¸° ½º¿Ò ÆÄÀϵé Áß Çϳª¸¦ °¡¸®Å°´Â À妽º¿Í, ±× ÆÄÀÏ ¾ÈÀÇ ¾îµð¿¡ ½º¿Ò ¾Æ¿ô µÈ ÆäÀÌÁö°¡ ÀÖ´ÂÁö¸¦ ³ªÅ¸³»´Â ¿ÀÇÁ¼ÂÀ» °®°í ÀÖ´Ù. ÀÌ Á¤º¸´Â ±× ÆäÀÌÁö¸¦ ´Ù½Ã ¹°¸®Àû ¸Þ¸ð¸®·Î °¡Á®¿Ã ¶§ »ç¿ëµÈ´Ù.
½ÇÇà À̹ÌÁöÀÇ »ó´ç¼ö´Â ½ÇÇà ÆÄÀÏ¿¡¼ °¡Á®¿Â °ÍÀ̸ç, ±× ÆÄÀÏ¿¡¼ ½±°Ô ´Ù½Ã ÀÐÀ» ¼ö ÀÖ ´Ù. ¿¹¸¦ µé¾î À̹ÌÁö¿¡ µé¾îÀÖ´Â ½ÇÇà ¸í·ÉÀº º¯°æµÇÁö ¾Ê±â ¶§¹®¿¡ ½º¿Ò ÆÄÀÏ¿¡ ¾µ ÇÊ¿ä °¡ ¾ø´Ù. À̵é ÆäÀÌÁö´Â ±×³É Æó±âÇÏ°í, ÇÁ·Î¼¼½º°¡ À̵éÀ» ´Ù½Ã ÂüÁ¶ÇÒ ¶§, ½ÇÇà À̹ÌÁö¿¡ ¼ ¸Þ¸ð¸®¿¡ ´Ù½Ã °¡Á®¿À°Ô µÈ´Ù.
½º¿ÒÇÒ ÇÁ·Î¼¼½º¸¦ °áÁ¤Çϸé, ½º¿Ò µ¥¸óÀº ±× ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀ» ÀüºÎ º¸¸é¼ °øÀ¯µÇ°Å³ª ¶ôÀÌ °É¸®Áö ¾ÊÀº ¿µ¿ªÀ» ã´Â´Ù. ¸®´ª½º´Â ¼±ÅÃµÈ ÇÁ·Î¼¼½º¿¡ ÀÖ´Â ½º¿Ò °¡´É ÇÑ ÆäÀÌÁö¸¦ ¸ðµÎ ½º¿Ò ¾Æ¿ôÇÏÁö´Â ¾Ê´Â´Ù. ´ë½Å ÆäÀÌÁö ¸î °³¸¸ Á¦°ÅÇÒ »ÓÀÌ´Ù. ¸Þ¸ð¸®¿¡ ¶ôµÇ¾î ÀÖ´Â ÆäÀÌÁö´Â ½º¿ÒÇϰųª Æó±âÇÒ ¼ö ¾ø´Ù.
¸®´ª½º ½º¿Ò ¾Ë°í¸®ÁòÀº ÆäÀÌÁö ¿¡ÀÌ¡(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¿¡ µé¾î°£´Ù.
½º¿Ò °¡´ÉÇÑ ÇÁ·Î¼¼½º ÆäÀÌÁö¸¦ ÃæºÐÈ÷ ½º¿Ò ¾Æ¿ôÇϰųª Æó±âÇϸé, ½º¿Ò µ¥¸óÀº ´Ù½Ã Àáµç ´Ù. ½º¿Ò µ¥¸óÀÌ ´ÙÀ½¿¡ ±ú¾î³µÀ» ¶§´Â, ½Ã½ºÅÛÀÇ ´ÙÀ½ ÇÁ·Î¼¼½º¸¦ °ËÅäÇÏ°Ô µÈ´Ù. ÀÌ·± ¹æ ½ÄÀ¸·Î ½º¿Ò µ¥¸óÀº ½Ã½ºÅÛÀÌ ´Ù½Ã ±ÕÇü¿¡ À̸¦ ¶§±îÁö °¢ ÇÁ·Î¼¼½ºÀÇ ¹°¸®Àû ÆäÀÌÁö¸¦ Á¶ ±Ý¾¿ ¾ø¾Ø´Ù. ÀÌ°ÍÀº Àüü ÇÁ·Î¼¼½º¸¦ ½º¿Ò ¾Æ¿ôÇÏ´Â °Íº¸´Ù ÈξÀ °øÁ¤ÇÏ´Ù.
¸®´ª½º´Â ÀÌ·¯ÇÑ ÆäÀÌÁöµéÀ» ÃßÀûÇϱâ À§ÇØ ½º¿Ò ij½Ã¸¦ »ç¿ëÇÑ´Ù. ½º¿Ò ij½Ã´Â ÆäÀÌÁö Å× ÀÌºí ¿£Æ®¸®ÀÇ ¸®½ºÆ®·Î, °¢ ¿£Æ®¸®´Â ½Ã½ºÅÛ¿¡ ÀÖ´Â ¹°¸®Àû ÆäÀÌÁö Çϳª¿¡ ÇØ´çÇÑ´Ù. ÀÌ Æä ÀÌÁö Å×ÀÌºí ¿£Æ®¸®´Â ÇϳªÀÇ ½º¿Ò ¾Æ¿ô ÆäÀÌÁö¿¡ ´ëÇÑ °ÍÀ¸·Î, ±× ÆäÀÌÁö°¡ ¾î´À ½º¿Ò ÆÄ ÀÏ¿¡, ¾î´À À§Ä¡¿¡ ÀÖ´ÂÁö¸¦ ±â¼úÇÑ´Ù. ¸¸¾à ½º¿Ò ij½Ã ¿£Æ®¸® °ªÀÌ 0ÀÌ ¾Æ´Ñ °æ¿ì, º¯°æµÇ Áö ¾ÊÀº ÆäÀÌÁö°¡ ½º¿Ò ÆÄÀÏ ³»¿¡ µé¾î ÀÖ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù. ÆäÀÌÁö°¡ (µ¤¾î ¾º¾îÁ®¼) º¯ °æµÈ °æ¿ì, ±× ÆäÀÌÁöÀÇ ¿£Æ®¸®´Â ½º¿Ò ij½Ã¿¡¼ »èÁ¦µÈ´Ù.
¸®´ª½º°¡ ¾î¶² ¹°¸®Àû ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ¿¡ ½º¿Ò ¾Æ¿ôÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§, ¸ÕÀú ½º¿Ò ij½Ã ¿¡ ¹®ÀÇÇϸç, ¸¸¾à ÀÌ ÆäÀÌÁö¿¡ ´ëÇÑ À¯È¿ÇÑ ¿£Æ®¸®°¡ ÀÖ´Â °æ¿ì, ÀÌ ÆäÀÌÁö´Â ½º¿Ò ÆÄÀÏ¿¡ ±â·ÏÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿Ö³ÄÇÏ¸é ¸Þ¸ð¸®¿¡ ÀÖ´Â ÆäÀÌÁöÀÇ ³»¿ëÀÌ ½º¿Ò ÆÄÀϷκÎÅÍ ¸¶Áö¸·À¸·Î ÀÐÀº ´ÙÀ½ Çѹøµµ º¯°æµÇÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.
½º¿Ò ij½ÃÀÇ ¿£Æ®¸®´Â ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÌ´Ù. À̵éÀº À¯È¿ ÇÏÁö ¾Ê´Ù°í Ç¥½ÃµÇ¾î ÀÖÁö¸¸, ¸®´ª½º°¡ ¿Ã¹Ù¸¥ ½º¿Ò ÆÄÀÏ°ú ±× ½º¿Ò ÆÄÀÏ ³»¿¡¼ÀÇ ¿Ã¹Ù¸¥ ÆäÀÌÁö¸¦ ãÀ» ¼ö ÀÖµµ·Ï ÇÏ´Â Á¤º¸¸¦ °®°í ÀÖ´Ù.
ÇÁ·Î¼¼¼¿¡ µû¶ó ÀûÀýÇÑ ÀÛ¾÷À» ¼öÇàÇÏ¿© ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò°¡ °¡»ó ¸Þ¸ð¸®ÀÇ À¯È¿ ¿µ¿ªÀ̶ó°í ÆÇ´ÜÇϸé, ÆäÀÌÁö ÆúÆ® 󸮴 ÀÌÁ¦ ÀϹÝÈµÇ¾î ¸®´ª½º°¡ µ¿ÀÛÇÏ´Â ¸ðµç ÇÁ·Î¼¼ ¼¿¡ Àû¿ëµÇ´Â ÄÚµå·Î ³Ñ¾î°¡°Ô µÈ´Ù. ÀϹÝÈµÈ ÆäÀÌÁö ÆúÆ® ó¸® ÄÚµå´Â ÆúÆ®°¡ ¹ß»ýÇÑ °¡ »ó ÁÖ¼Ò¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ ã´Â´Ù. ãÀº ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®°¡ ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö¸¦ °¡¸®Å°°í ÀÖÀ¸¸é, ¸®´ª½º´Â ±× ÆäÀÌÁö¸¦ ´Ù½Ã ¹°¸®Àû ¸Þ¸ð¸®·Î °¡Á®¿Í¾ß ÇÑ´Ù. ½º ¿Ò ¾Æ¿ôµÈ ÆäÀÌÁö¿¡ ´ëÇÑ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®ÀÇ Çü½ÄÀº ÇÁ·Î¼¼¼¸¶´Ù ´Ù¸£Áö¸¸, ¾î·µç ¸ðµç ÇÁ·Î¼¼¼µéÀº ÀÌ ÆäÀÌÁö°¡ À¯È¿ÇÏÁö ¾Ê´Ù°í Ç¥½ÃÇÏ°í, ½º¿Ò ÆÄÀÏ¿¡¼ ÆäÀÌÁöÀÇ À§Ä¡¸¦ ã´Âµ¥ ÇÊ¿äÇÑ Á¤º¸¸¦ ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¿¡ ³Ö¾îµÎ°í ÀÖ´Ù. ¸®´ª½º´Â ÆäÀÌÁö¸¦ ´Ù½Ã ¹° ¸®Àû ¸Þ¸ð¸®·Î °¡Á®¿À±â À§ÇØ ÀÌ Á¤º¸¸¦ ÇÊ¿ä·Î ÇÑ´Ù.
ÀÌ ½ÃÁ¡¿¡¼, ¸®´ª½º´Â ÆúÆ®°¡ ¹ß»ýÇÑ °¡»ó ÁÖ¼Ò¿Í, ÀÌ ÆäÀÌÁö°¡ ¾îµð¿¡ ½º¿ÒµÇ¾î ÀÖ´ÂÁö¿¡ ´ëÇÑ Á¤º¸¸¦ °®°í ÀÖ´Â ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¸¦ ¾Ë°í ÀÖ´Ù. vm_area_struct ÀڷᱸÁ¶´Â ÀÚ½ÅÀÌ ±â¼úÇÏ´Â °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀÇ ¾î¶² ÆäÀÌÁö¸¦ ¹°¸®Àû ¸Þ¸ð¸®·Î ½º¿ÒÇÒ ¼ö ÀÖ´Â ·çƾ ¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÖÀ» ¼ö ÀÖ´Ù. ÀÌ°ÍÀÌ swapin ¿¬»êÀÌ´Ù13. ÀÌ °¡»ó ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇØ swapin ¿¬»êÀÌ Á¤ÀǵǾî ÀÖÀ¸¸é ¸®´ª½º´Â ±×°ÍÀ» »ç¿ëÇÑ´Ù. »ç½Ç ½Ã½ºÅÛ V °øÀ¯ ¸Þ ¸ð¸®ÀÇ ½º¿Ò ¾Æ¿ôÀÌ ÀÌ·¸°Ô 󸮵Ǵµ¥, ½º¿Ò ¾Æ¿ôµÈ ½Ã½ºÅÛ V °øÀ¯ ¸Þ¸ð¸®ÀÇ Çü½ÄÀÌ, ÀÏ¹Ý ½º¿Ò ¾Æ¿ôµÈ ÆäÀÌÁöÀÇ Æ÷¸Ë°ú ¾à°£ ´Ù¸£±â ¶§¹®¿¡, Ưº°ÇÑ Ã³¸®°¡ ´õ ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù. swapin ¿¬»êÀÌ ¾ø´Â °æ¿ì¿£, ¸®´ª½º´Â À̸¦ ÀÏ¹Ý ÆäÀÌÁö¿©¼ Ưº°È÷ 󸮰¡ ÇÊ¿ä ¾ø´Ù°í »ý°¢ÇÑ´Ù. ÀÌÁ¦ ºñ¾îÀÖ´Â ¹°¸®Àû ÆäÀÌÁö¸¦ ÇÒ´çÇÏ°í, ½º¿Ò ¾Æ¿ô µÇ¾ú´ø ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ ¿¡¼ ÀоîµéÀδÙ. ¾î´À ½º¿Ò ÆÄÀÏÀÇ ¾îµð¿¡ ÆäÀÌÁö°¡ ÀÖ´ÂÁö ¾Ë·ÁÁÖ´Â Á¤º¸´Â, ÇØ´çÇÏ´Â À¯ È¿ÇÏÁö ¾ÊÀº ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®¿¡¼ ¾ò´Â´Ù.
¸¸¾à ÆäÀÌÁö ÆúÆ®¸¦ ¹ß»ýÇÑ Á¢±ÙÀÌ ¾²±â°¡ ¾Æ´Ï¶ó¸é, ÆäÀÌÁö´Â ¿©ÀüÈ÷ ½º¿Ò ij½Ã¿¡ ³²¾Æ ÀÖ À¸¸ç, ¸Þ¸ð¸®·Î °¡Á®¿Â ÆäÀÌÁö Å×À̺íÀº ¾²±â°¡ ¾ÈµÈ´Ù°í Ç¥½Ã°¡ µÈ´Ù. µÚ¿¡ ÀÌ ÆäÀÌÁö¿¡ ¾² ±â¸¦ ½ÃµµÇϸé, ¶Ç ´Ù¸¥ ÆäÀÌÁö ÆúÆ®°¡ ¹ß»ýÇÏ°í, ÀÌ ½ÃÁ¡¿¡¼ ±× ÆäÀÌÁö´Â ´õƼ·Î Ç¥½ÃµÇ°í, ½º¿Ò ij½Ã¿¡¼ ¿£Æ®¸®¸¦ Á¦°ÅÇÏ°Ô µÈ´Ù. ÆäÀÌÁö¿¡ ±â·ÏÇÑ °ÍÀÌ ¾ø°í ´Ù½Ã ½º¿Ò ¾Æ¿ôµÉ ÇÊ¿ä °¡ ÀÖ´Ù¸é, ±× ÆäÀÌÁö´Â ÀÌ¹Ì ½º¿Ò ÆÄÀÏ¿¡ Àֱ⠶§¹®¿¡ ¸®´ª½º´Â ÆäÀÌÁö¸¦ ½º¿Ò ÆÄÀÏ¿¡ ¾µ ÇÊ¿ä°¡ ¾ø°Ô µÈ´Ù14.
½º¿Ò ÆÄÀϷκÎÅÍ ÆäÀÌÁö¸¦ °¡Á®¿Àµµ·Ï ÇÑ Á¢±ÙÀÌ ¾²±â ¿¬»êÀ̾ú´Ù¸é, ÀÌ ÆäÀÌÁö´Â ½º¿Ò ij ½Ã¿¡¼ Á¦°ÅµÇ°í, ÆäÀÌÁö Å×ÀÌºí ¿£Æ®¸®´Â ´õƼ, ¾²±â °¡´ÉÀ¸·Î Ç¥½ÃµÈ´Ù.
¹ø¿ª : ½É¸¶·Î, °í¾ç¿ì, Á¤Á÷ÇÑ, ±è±â¿ë, ½Å¹®¼®, ÀÌ´ëÇö
Á¤¸® : ÀÌÈ£
ÀÌÈ£ (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)