1. ¸Þ¸ð¸®(Memory) ¶õ ?
ÄÄÇ»ÅÍ¿¡¼ `±â¾ï' ÇÏ´Â ´É·ÂÀ» °®°í ÀÖ´Ù´Â °ÍÀº ¸Å¿ì Áß¿äÇÕ´Ï´Ù. ÄÄÇ»ÅÍ·Î ÀÛ¾÷Çß´ø ¸ðµç ³»¿ëÀÌ ±â¾ïµÇ¾îÁöÁö ¾Ê´Â´Ù¸é ¾Æ¹«·± ¼Ò¿ëÀÌ ¾øÀ¸´Ï±î¿ä...
ÀϹÝÀûÀ¸·Î ¸Þ¸ð¸®(MEMORY)´Â ÄÄÇ»ÅÍÀÇ ÀÛ¾÷ ¿µ¿ªÀ» ¸»ÇÏ´Â °ÍÀ¸·Î, ÀÌ·¯ÇÑ ¸Þ¸ð¸®´Â »ç¿ëÀÚ°¡ ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ë½Ã, Áß¾Óó¸®ÀåÄ¡(CPU)°¡ »ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ ÀÛ¾÷À» ¼öÇàÇÏ´Â µ¿¾È ÇÊ¿äÇÑ ÇÁ·Î±×·¥°ú ÀÚ·á µîÀ» º¸°üÇØ µÎ´Â Àå¼Ò¸¦ ¶æÇÕ´Ï´Ù.
DOS¸¦ »ç¿ëÇÏ¸é¼ »ç¿ëÀÚµéÀÌ Á¦ÀÏ ºÒ¸¸À» °¡Á³´ø °Íµé Áß¿¡ Çϳª°¡ ¸Þ¸ð¸®¿¡ °ü·ÃµÈ ¹®Á¦µéÀÔ´Ï´Ù. óÀ½ ÄÄÇ»Å͸¦ »ç¿ëÇÏ´Â »ç¶÷µéÀº ´ëºÎºÐÀÌ ±¸ÀÔó¿¡¼ ¸¸µé¾î ÁØ ¸Þ¸ð¸® »óÅ·Π»ç¿ëÇÏ´Ù°¡ »õ·Î¿î ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ëÇÑ´Ù´øÁö ÇÒ °æ¿ì ¸¸¾à »õ·Î¿î ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ½Ã½ºÅÛÀÇ ¸Þ¸ð¸® »óȲ¿¡ ¹Î°¨ÇÏ°Ô ¹ÝÀÀÇÏ´Â ÇÁ·Î±×·¥À̶ó¸é À̶§ºÎÅÍ ¸Þ¸ð¸®¿ÍÀÇ ¿øÇÏÁö ¾Ê´Â ÇÑÆÇ ÀüÀïÀ» Ä¡·ç¾î¾ß Çß½À´Ï´Ù.
2. ¸Þ¸ð¸®ÀÇ ÀÌÇØ
1) ±âº» ¸Þ¸ð¸® (Conventional Memory)
IBM ¿¡¼ óÀ½ °³Àοë ÄÄÇ»Å͸¦ ¹ßÇ¥ÇßÀ»¶§ ´ëºÎºÐÀÇ ÄÄÇ»ÅÍ¿¡¼´Â 64 kb ¾ÈÆÆÀÇ ¸Þ¸ð¸®°¡ µé¾î ÀÖ¾ú½À´Ï´Ù. ±×·± »óȲ¿¡¼ IBM ÀÇ ¼³°èÀÚµéÀº 640KBÀÇ ¸Þ¸ð¸®¸¸À¸·Îµµ ÃæºÐÈ÷ ÄÄÇ»Å͸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù°í ÆÇ´ÜÇÏ¿´´ø°ÅÁÒ. ÀÌ ´ç½ÃÀÇ ÇÁ·Î±×·¥µéÀº Å©±â°¡ ±â²¯ÇØ¾ß 70K¡80K Á¤µµ¿´À¸´Ï ±× ´ç½Ã¸¸ ÇÏ´õ¶óµµ 1024KB¶ó´Â Å©±â´Â ¾öû³ ¾çÀ̾ú½À´Ï´Ù. ÀÌ¿¡ µû¶ó 8088 CPU¸¦ ±â¹ÝÀ¸·Î Çؼ DOSµµ 1MB ¶ó´Â ÇÑ°è·®À» ¼³Á¤ÇÏ°Ô µË´Ï´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ÆÇ´ÜÀº À߸øµÈ °ÍÀ¸·Î ¼ÒÇÁÆ®¿þ¾îÀÇ Å©±â°¡ Ä¿Áö°í ó¸® µ¥ÀÌŸÀÇ ¾çÀÌ ¸¹¾ÆÁü¿¡ µû¶ó ±× ÇѰ踦 µå·¯³»¾ú½À´Ï´Ù.
ÀÌ¿¡ ±× ´ëÃ¥À¸·Î 640kb ÀÌ»óÀÇ ¸Þ¸ð¸®¸¦ °ü¸®ÇÏ´Â ¹æ¹ýÀÌ ³ªÅ¸³µ´Âµ¥, ¹Ù·Î ¾Æ·¡¿¡¼ ¼³¸íÇÒ ¿¬¼ÓÈ®Àå ¸Þ¸ð¸®¿Í ÁßøȮÀå ¸Þ¸ð¸®ÀÔ´Ï´Ù.
ÀÌÁß 0 kb ¿¡¼ 640 KB »çÀÌÀÇ ¸Þ¸ð¸®¸¦ µµ½º°¡ °ü¸®ÇÒ ¼ö ÀÖ´Â ±âº»¸Þ¸ð¸®¶ó°í ÇÕ´Ï´Ù.
Áï DOS°¡ °¡Áö´Â ¸Þ¸ð¸®ÀÇ ÇÑ°èÀÎ ±âº» ¸Þ¸ð¸®°¡ 640KB¶ó´Â °ÍÀÔ´Ï´Ù.
DOS´Â ÀÓÀÇÀÇ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄ×À» °æ¿ì ±× ÇÁ·Î±×·¥ÀÇ ¼öÇà¿¡ °ü·ÃµÈ ÆÄÀϵéÀ» ±âº» ¸Þ¸ð¸®·Î ºÒ·¯µé¿© ÀÛ¾÷À» ¼öÇàÇÏ°Ô ÇÕ´Ï´Ù. À̶§ ÇÁ·Î±×·¥ÀÇ ¼öÇà¿¡ ÇÊ¿äÇÑ ¸Þ¸ð¸®º¸´Ù »ç¿ë°¡´ÉÇÑ ±âº» ¸Þ¸ð¸®°¡ ºÎÁ·ÇÏ°Ô µÇ¸é Out of memory ¶ó´Â Â¥Áõ³ª´Â ¿¡·¯ ¸Þ¼¼Áö¸¦ Á¢ÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. °ÅÀÇ ´ëºÎºÐÀÇ µµ½º¿ë ÇÁ·Î±×·¥ÀÌ ÀÌ ¿µ¿ª¿¡¼ ½ÇÇàµÇ±â ¶§¹®¿¡, ´ëºÎºÐÀÇ ¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥ÀÇ ¸ñÀûÀÌ º¸´Ù ¸¹Àº ±âº» ¸Þ¸ð¸®¸¦ È®º¸Çϴµ¥ ¸ÂÃçÁ® ÀÖ´Ù´Â »ç½Çµµ ÀÌ ¿µ¿ªÀÇ Á߿伺À» Àß ¼³¸íÇØÁÝ´Ï´Ù.
¹°·Ð °è¼ÓÀûÀÎ ÄÄÇ»ÅÍÀÇ ¹ßÀüÀ¸·Î CPU °¡ ¿î¿µ°¡´ÉÇÑ ÃÖ´ë ¸Þ¸ð¸®ÀÇ ¾çµµ ´Ã¾î³µÁö¸¸ ¿©ÀüÈ÷ ±âº» ¸Þ¸ð¸® 640KB¶ó´Â Á¦¾à¿¡ ¹¿© ÀÖ´Â ÀÌÀ¯´Â DOS°¡ ÇÏÀ§ ¹öÀüÀÇ ÀÀ¿ë ÇÁ·Î±×·¥µé°úÀÇ È£È¯¼º µîÀÇ ÀÌÀ¯·Î ±âº» ¸Þ¸ð¸®ÀÇ ÇѰ踦 ¾ø¾ÖÁö ¸øÇϱ⠶§¹®ÀÔ´Ï´Ù.
2) »óÀ§ ¸Þ¸ð¸® (UMA, Upper Memory Area)
±×·³ 640KB ¿Ü¿¡ 384KB´Â ¹«¾ùÀ» À§ÇÑ °÷Àΰ¡?
ÀÌ°÷Àº ÄÄÇ»ÅÍ¿¡ ³»ÀåµÈ ROM ¹ÙÀÌ¿À½º¿Í ºñµð¿À ·¥, µð½ºÅ© µå¶óÀ̺ê ÄÁÆ®·Ñ·¯, ROM BASIC, EMS ÆäÀÌÁöÇÁ·¹ÀÓ°ú °°Àº Çϵå¿þ¾îÀûÀÎ È®Àå¿¡ ´ëºñÇؼ ¿¹¾àÀÌ µÇ¾îÀÖ´Â °ø°£ÀÔ´Ï´Ù. º¸Åë 384KB ¿µ¿ªÀ» Ç¥ÇöÇÒ °æ¿ì´Â UMA ¶ó°í Çϸç, ÀÌÁß 386 ÀÌ»ó ±âÁ¾¿¡¼ Çϵå¿þ¾î°¡ Á¡À¯ÇÑ Áö¿ªÀ» Á¦¿ÜÇÑ ³ª¸ÓÁö ¿µ¿ªÀ» µµ½º¿¡¼ ¸Þ¸ð¸®·Î »ç¿ëÇÒ ¼ö Àִµ¥ ÀÌ·¸°Ô »ç¿ëÇÏ´Â ¸Þ¸ð¸®ÀÇ ºí·°À» »óÀ§ ¸Þ¸ð¸® ºí·°(UMBs, Upper Memory Blocks) À̶ó°í ±¸ºÐÇؼ Ç¥ÇöÇϱ⵵ ÇÕ´Ï´Ù.
ÀÌ UMB ¿¡ DOS 5.0ºÎÅÍ´Â ÀåÄ¡±¸µ¿ÆÄÀÏ°ú ·¥»óÁÖ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏ¿© ±âº»¸Þ¸ð¸®¸¦ ´õ¿í ´Ã·Á ¾µ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù.
±×·¯³ª 286 NEAT ±âÁ¾À» Á¦¿ÜÇÑ 286 ÀÌÇÏÀÇ ±âÁ¾Àº ÀÌ·¯ÇÑ »óÀ§ ¸Þ¸ð¸® ¿µ¿ªÀ» Á÷Á¢ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. 386 CPUºÎÅÍ ÀÌ·¯ÇÑ »óÀ§ ¸Þ¸ð¸®·ÎÀÇ ¼³Ä¡°¡ °¡´ÉÇؼ ±×¸¸ÅÀÇ ±âº» ¸Þ¸ð¸®¸¦ ÃÖ´ëÇÑ Àý¾àÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª ÀÌ·¸°Ô »óÀ§ ¸Þ¸ð¸®·ÎÀÇ ÀåÄ¡ ±¸µ¿ÆÄÀÏÀ̳ª ·¥»óÁÖ ÇÁ·Î±×·¥ µîÀ» ¼³Ä¡ÇÏ´Â °ÍÀÌ Á¦´ë·Î Àß µÇÁö ¾Ê±â ¶§¹®¿¡ Á¶±ÝÀÌ¶óµµ ±âº» ¸Þ¸ð¸®¸¦ È®º¸Çϱâ À§Çؼ´Â ¸¹Àº ³ë·ÂÀÌ ±â¿ï¿©Áö´Â °ÍÀÔ´Ï´Ù.
¢Ã ÇÏÀÌ ¸Þ¸ð¸® (HMA : High Memory Area)
DOS´Â ¸Þ¸ð¸®¸¦ È¿À²ÀûÀ¸·Î »ç¿ëÇϱâ À§ÇØ ¸Þ¸ð¸®¿¡´Ù ¹øÁö(Address) ¸¦ ÁöÁ¤ÇØ ³õ¾Ò½À´Ï´Ù. ¸¸¾à 1 MBÀÇ ¸Þ¸ð¸®°¡ ÀåÂøµÇ¾î ÀÖ´Ù¸é 0¡640¹øÁö ±îÁö°¡ ±âº» ¸Þ¸ð¸® ¿µ¿ªÀ̸ç 641¡1024¹øÁö ±îÁöÀÇ ¿µ¿ªÀÌ »óÀ§ ¸Þ¸ð¸®ÀÔ´Ï´Ù. ±×·±µ¥ È®Àå ¸Þ¸ð¸®°¡ ½ÃÀ۵DZâ ÀüÀÇ 1025¡1088¹øÁö »çÀÌÀÇ 64 KBÀÇ ¿µ¿ªÀÌ Á¸ÀçÇÕ´Ï´Ù. ÀÌ°÷ÀÌ ¹Ù·Î HMA ¿µ¿ªÀÔ´Ï´Ù. ÀÌ ¿µ¿ªÀº DOS 5.0 À̻󿡼 CONFIG.SYS¿¡ DEVICE=C:DOSHIMEM.SYS ¿Í DOS=HIGH ¶ó´Â ÀÌ µÎÇàÀ» Ãß°¡ÇØÁÖ¸é »ý¼ºµÇ´Âµ¥ ÀÌ ¿µ¿ªÀ¸·Î µµ½º Ä¿³ÎÀÇ ÀϺκÐÀ» ¿Å±â¹Ç·Î ±âº» ¸Þ¸ð¸®¸¦ ¾à 40¡50KB Á¤µµ Àý¾àÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
3) ¿¬Àå ¸Þ¸ð¸® (XMS, EXTENDED MEMORY)
IBM ¿¡¼´Â 640 KB ·Î´Â ºÎÁ·ÇÏ´Ù´Â »ç½ÇÀ» °ð ±ú´Ý°í´Â ÀÌ ÇѰ踦 ³Ñ±â À§ÇÏ¿© ±ÔÄ¢À» Á¤ÇÏ¿´½À´Ï´Ù. Áï ÄÄÇ»ÅÍÀÇ º¸µå »ó¿¡ ¸Þ¸ð¸®¸¦ ´õ ²È°í ÀÌ·¸°Ô ´õ ´Ã¸° ¸Þ¸ð¸®¸¦ µµ½º¿¡°Ô ¾Ë¸®°í ¾µ ¼ö ÀÖµµ·Ï µµ½º¿¡¼ Á¦°øÇÏ´Â ÇÁ·Î±×·¥ÀÌ ¹Ù·Î HIMEM.SYS ÀÔ´Ï´Ù.
µµ½º´Â HIMEM.SYS¶ó´Â ¿¬Àå ¸Þ¸ð¸® °ü¸®ÀÚ¸¦ »ç¿ëÇÏ¿© 1MB ÀÌ»óÀÇ ¿µ¿ª¿¡¼ °°Àº ¾îµå·¹½º¿¡ µ¿½Ã¿¡ µÎ °³ ÀÌ»óÀÇ ÇÁ·Î±×·¥ÀÌ °ãÃļ »ç¿ëµÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ¿©±â¼ HIMEM.SYS¿¡ ÀÇÇØ °ü¸®µÇ´Â ¸Þ¸ð¸®¸¦ XMS(eXtended Memory Specification) ¸Þ¸ð¸®¶ó°í ÇÕ´Ï´Ù.
ÀÌ·± ¹æ¹ýÀ¸·Î ¸Þ¸ð¸®¸¦ ´Ã¸®´Âµ¥ °¡Àå Å« ÀåÁ¡Àº °¡°ÝÀÌ EMS ¸Þ¸ð¸®º¸´Ù ½Î´Ù´Â °ÍÀÔ´Ï´Ù.
ÇÏÁö¸¸ EMS ¸Þ¸ð¸®¸¦ Áö¿øÇÏ´Â ÇÁ·Î±×·¥Àº ¸¹Áö¸¸, ÀÌ XMS ÇüÅÂÀÇ ¸Þ¸ð¸®¸¦ ÀνÄÇؼ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥Àº ¸Å¿ì Àû½À´Ï´Ù. ±×·¡¼ ÀÌ °¡°ÝÀÌ ½Ñ XMS ¸¦ ºñ½Ñ EMS ¸Þ¸ð¸®·Î ÀÌ¿ëÇϱâ À§ÇØ ´ÙÀ½¿¡ ¼³¸íÇÏ´Â EMM386.EXE °¡ ³ªÅ¸³ª°Ô µÇ¾ú½À´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº ½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ ¸ðµç XMS ¸Þ¸ð¸®¸¦, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ XMS ÇüŸ¦ ¿øÇϸé XMS ·Î, EMS ¸Þ¸ð¸®¸¦ ¿øÇϸé EMS ÇüÅ·ΠÁ¦°øÇØ ÁÝ´Ï´Ù.
4) È®Àå ¸Þ¸ð¸® (EMS, EXPANDED MEMORY)
ÀÌ°ÍÀº ½ºÇÁ·¹Æ® ½ÃÆ® ÇÁ·Î±×·¥À» °³¹ßÇÑ ·ÎÅͽº»ç¿¡¼ 640KB ÀÇ ÇѰ踦 ³Ñ±â À§ÇÏ¿© ¸¸µç ±ÔÄ¢ÀÔ´Ï´Ù.
¸ÞÀκ¸µå À§¿¡´Ù Ä«µåÇüÅ·Π¸Þ¸ð¸®¸¦ ´õ ¼³Ä¡Çؼ ¾²ÀÚ´Â °ÍÀ̾ú´Âµ¥, ÀÌ·¸°Ô È®ÀåµÈ ¸Þ¸ð¸®¸¦ È®Àå¸Þ¸ð¸®¶ó ºÒ·¶ÁÒ. ÀÌ °úÁ¤¿¡¼ ·ÎÅͽº»ç´Â ÀÎÅÚ, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç¿Í ÇÔ²² ÀÌ·¸°Ô ¼³Ä¡ÇÑ Ä«µå¸¦ ÀÌ¿ëÇϱâ À§ÇØ ±Ô°ÝÀ» ¸¸µé¾ú´Âµ¥ ÀÌ ±Ô°ÝÀ» EMS (Expanded Memory Specification)¶ó°í ºÎ¸¨´Ï´Ù.
È®Àå ¸Þ¸ð¸®´Â È®Àå ¸Þ¸ð¸® °ü¸®ÀÚ(EMM, Expanded Memory Manager)ÇÁ·Î±×·¥ÀÌ °ü¸®Çϸç ÀÌ·ÐÀûÀ¸·Î 286Àº 16MB±îÁö, 386 ÀÌ»óÀÇ ÄÄÇ»ÅÍ´Â 4GB ±îÁö È®Àå ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
È®Àå ¸Þ¸ð¸®´Â ÆäÀÌÁöÇÁ·¹ÀÓÀ̶ó ºÎ¸£´Â 64KB Å©±âÀÇ ÁöÁ¤µÈ ¸Þ¸ð¸® ±¸¿ªÀ» ÅëÇÏ¿© ¿¬Àå ¸Þ¸ð¸®¸¦ EMMÀÌ 16KB ºí·°À¸·Î ÀÚ¸£°í ÀÌ ¸Þ¸ð¸®¸¦ ¸ÅÇÎ(Mapping)ÇÑ ÈÄ È®Àå ¸Þ¸ð¸®¸¦ ¿ä±¸ÇÏ´Â ÇÁ·Î±×·¥¿¡°Ô ¹èºÐÇÏ´Â ½ÄÀ¸·Î »ç¿ëµË´Ï´Ù.
386 À̻󿡼 EMS¸¦ °ü¸®ÇÏ´Â ¸Þ¸ð¸® °ü¸®Àڷδ µµ½ºÀÇ EMM386.EXE¿Í ±×¿Ü QEMM, 86MAX µîÀÌ ÀÖ½À´Ï´Ù.