X86 virtualization
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

Contents

1 X86 °¡»óÈ­
2 °¡»óÈ­ ¶õ
2.1 °¡»óÈ­ÀÇ ¿ø¸®
2.1.1 user ¸ðµå¿Í kernel ¸ðµå
2.1.2 virtualizable mode ¿Í non-virtualizable mode
3 °¡»óÈ­ Á¾·ù
3.1 Hypervisor
3.2 Ring
3.3 Paravirtualization
3.4 Full Virtualization
3.5 Hardware Virtualization
3.6 Type-I ÇÏÀÌÆÛ¹ÙÀÌÀú
3.7 Type-II ÇÏÀÌÆÛ¹ÙÀÌÀú
4 È÷½ºÅ丮

1 X86 °¡»óÈ­

X86 °¡»óÈ­´Â x86±â¹ÝÀÇ È£½ºÆ® ¿î¿µÃ¼Á¦¿¡¼­ (Ä¿³ÎÀÇ ¼öÁ¤ ¾øÀÌ È¤Àº ÃÖ¼ÒÇÑÀÇ ¼öÁ¤¸¸À¸·Î)´Ù¸¥ x86±â¹ÝÀÇ °Ô½ºÆ® ¿î¿µÃ¼Á¦¸¦ ¿î¿µÇÏ´Â ±â¼úÀ» ¸»ÇÑ´Ù. vmware´Â 1999³â°æ ÀÌ ±â¼úÀ» ½ÃÀå¿¡ óÀ½ (»óǰÀ¸·Î¼­)¼Ò°³ÇÑ ±â¾÷ÀÌ´Ù. ³»°¡ óÀ½ vmware¸¦ ¼³Ä¡ÇÑ°Ô ¾Æ¸¶ 2002³â ¶§ÂëÀÎ ? °ÍÀ¸·Î ±â¾ïÇÑ´Ù. ´ç½Ã ¸®´ª½º¸¦ µ¥½ºÅ©Å¾À¸·Î »ç¿ëÇϰí ÀÖ¾ú´Âµ¥, ºÎÆÃ¾øÀÌ À©µµ¿ì ¿î¿µÃ¼Á¦¸¦ ½ÇÇàÇÏ·Á´Â ¸ñÀûÀ¸·Î ¼³Ä¡Çß´Ù. ³Ê¹« ´À·Á¼­ Æ÷±âÇß´Ù. ½Å±âÇÑ ±â¼úÀ̱ä ÇÏÁö¸¸ ÀÌ°É ¾îµð¿¡ ½á¸ÔÀ» ¼ö ÀÖÁö ? ÀÌ·± ´À³¦À̾ú´Ù.

20004³â ±îÁö´Â vmwareÀÇ µ¶ÁÖ¿´´Âµ¥, Linux ±â¹ÝÀÇ °¡»óÈ­ ¼Ö·ç¼ÇÀÎ Xen°ú KvmµîÀÌ ³ª¿À¸é¼­ ½ÃÀåÀÇ ¾ç»óÀÌ ´Þ¶óÁö±â ½ÃÀÛÇÑ´Ù. ÇöÀç ½ÃÀåÀº vmware¿Í xenÀÌ ÁÖµµÇÏ´Â °ÍÀ¸·Î º¸ÀδÙ. °¡»óÈ­ ¼Ö·ù¼ÇÀ» °£´ÜÈ÷ Á¤¸®Çß´Ù.
  1. 1998
    • VMware ¼³¸³
  2. 1999
    • workstation
  3. 2000
    • VMware Server
  4. 2001
    • ESX Server
  5. 2002
    • ¹é¸¸ VMware À¯Àú ´Þ¼º
  6. 2003
    • VirtualCenter
  7. 2004
    • Xen Linux v1 - ¹Ý°¡»óÈ­
    • VMotion
  8. 2005
    • Xen Linux v2 - ¹Ý°¡»óÈ­
  9. 2007
    • Xen Linux v3 - Àü°¡»óÈ­¸¦ Áö¿øÇϸ鼭 À©µµ¿ìµî »ó¿ë ¿î¿µÃ¼Á¦ Áö¿ø
    • innoteck : VirtualBox OSE (Open Source edition)
  10. 2008
    • RedHat Linux KVM
  11. 2009
    • Citrix : Xen À» ±â¹ÝÀ¸·ÎÇÑ »ó¿ë ¼Ö·ù¼Ç XenServer
    • Sun Microsystems : innotek·Î ºÎÅÍ VirtualBox ȹµæ
  12. 2010
    • Oracle : SunÀ» ÀμöÇϸ鼭 Oracle VM VirtualBox·Î Á¦Ç°¸í º¯°æ
  13. 2011
    • Linux Ä¿³Î 2.6.37 ºÎÅÍ Xen Á¤½Ä Æ÷ÇÔ
    • Qemu(:12)ÀÇ ¾ÈÁ¤¹öÀü 1.0

2 °¡»óÈ­ ¶õ

ÄÄÇ»ÅÍ ÀÚ¿øÀ» Ãß»óÈ­ÇÏ´Â ±â¼úÀ» ÀÏÄ´´Ù. ¿¹¸¦ µé¾î ÇϳªÀÇ ¹°¸®ÀûÀÎ CPU¸¦ ³í¸®ÀûÀÎ CPU·Î Ãß»óÈ­ ÇÔÀ¸·Î½á ¸¶Ä¡ ¿©·¯ CPUÀÎ °Íó·³ º¸ÀÌ°Ô ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇØ¼­ ÇϳªÀÇ ¹°¸®ÀûÀÎ ÄÄÇ»ÅÍ È£½ºÆ®¸¦ ¿©·¯ °³ÀÇ (³í¸®Àû) ÄÄÇ»ÅÍ·Î ±¸¼ºÇÒ ¼ö ÀÖÀ¸¸ç, °¢ ³í¸®Àû ÄÄÇ»ÅÍ À§¿¡ ¿©·¯ °³ÀÇ ¿î¿µÃ¼Á¦¸¦ µ¿½Ã¿¡ ¿î¿ëÇÒ ¼ö ÀÖ´Ù.

2.1 °¡»óÈ­ÀÇ ¿ø¸®

2.1.1 user ¸ðµå¿Í kernel ¸ðµå

CPU ¸í·É¸ðµå´Â user ¸ðµå·Î kernel ¸ðµå·Î ³ª´¶´Ù. kenel ¸ðµå¿¡¼­ ÀÛµ¿ ÇÒ¶§¸¸ ÄÄÇ»ÅÍ ÀÚ¿ø¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ÀÏ¹Ý ¾ÖÇø®ÄÉÀ̼ÇÀº À¯Àú ¸ðµå·Î ÀÛµ¿Çϸç, Ä¿³Î¸¸ÀÌ Ä¿³Î¸ðµå·Î ÀÛµ¿ÇÑ´Ù. À¯Àú ¾ÖÇø®ÄÉÀ̼ÇÀÌ Çϵå¿þ¾î ÀÚ¿øÀ» »ç¿ëÇØ¾ß ÇÒ °æ¿ì, Ä¿³Î¿¡ ÀÚ¿ø »ç¿ëÀ» ¿äûÇÏ´Â °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù.

2.1.2 virtualizable mode ¿Í non-virtualizable mode

À¯Àú ¾ÖÇø®ÄÉÀ̼ÇÀº virtualizable ¸ðµå¿¡¼­ ÀÛµ¿ÇÏ´Ï´Ù. Ãß»óÈ­µÈ ³í¸®ÀûÀΠȯ°æÀ̹ǷΠ¿©·¯ °³ÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ý¸é OS´Â non-virtualizable ¸ðµå¿¡¼­ ÀÛµ¿ÇÕ´Ï´Ù. Ư±Ç ¸ðµå¶ó°íµµ ºÎ¸£´Â ÀÌ ¸ðµå´Â ¿ÀÁ÷ ÇϳªÀÇ OS¸¸ ¿Ã¶ó°¥ ¼ö ÀÖ½À´Ï´Ù.


°¡»óÈ­´Â Ư±Ç ¸ðµå¿¡ ¿î¿µÃ¼Á¦°¡ ´ë½Å Hypervisor°¡ ³õÀÔ´Ï´Ù. ¿î¿µÃ¼Á¦´Â virtualizable mode·Î ¿Ã·Á¹ö¸®°í, ¿î¿µÃ¼Á¦·Î ÇÏ¿©±Ý Ư±Ç¸ðµå¿¡ ÀÖ´Â °Íó·³ Âø°¢ÇÏ°Ô ¸¸µì´Ï´Ù. ÀÌ·¸°Ô ÇØ¼­ ¸¶Ä¡ ¾ÖÇø®ÄÉÀÌ¼Ç Ã³·³ ¿©·¯ °³ÀÇ ¿î¿µÃ¼Á¦¸¦ ¿Ã¸®´Â °Ì´Ï´Ù. ¿î¿µÃ¼Á¦¸¦ ¾î¶»°Ô ¿Ã¸®´ÂÁö¿¡ µû¶ó¼­ °¡»óÈ­ Á¾·ù°¡ ºÐ·ùµË´Ï´Ù.


3 °¡»óÈ­ Á¾·ù


3.1 Hypervisor

È£½ºÆ® ÄÄÇ»ÅÍ¿¡¼­ ´Ù¼öÀÇ ¿î¿µÃ¼Á¦¸¦ µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö Àִ ȯ°æÀ» ¸¸µé¾îÁÖ´Â Ç÷§ÆûÀÔ´Ï´Ù. VMM (Virtual machine monitor)À̶ó°í ºÎ¸£±âµµ ÇÕ´Ï´Ù. °£´ÜÈ÷ VMM°ú ÇÏÀÌÆÛ¹ÙÀÌÀú´Â °°Àº°Å¶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù.

3.2 Ring

Protection Ring´Â ÄÄÇ»ÅÍÀÇ ÀÚ¿øÀ» º¸È£Çϱâ À§ÇÑ °èÃþÀû ±ÇÇÑ ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÕ´Ï´Ù. RingÀº Ring 0¿¡¼­ Ring 3±îÁö 4 °èÃþÀÇ ±ÇÇÑ ´Ü°è¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.

x86Àº 4°³ÀÇ ringÀ» °¡Áö°í ÀÖ½À´Ï´Ù.


Ring 0ÀÌ Æ¯±Ç °èÃþÀ¸·Î ÄÄÇ»ÅÍ Çϵå¿þ¾î¿¡ Á÷Á¢ Á¢±ÙÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» °¡Áý´Ï´Ù. ¿î¿µÃ¼Á¦°¡ Ring 0¿¡ À§Ä¡ÇÕ´Ï´Ù. ÀÏ¹Ý ÀÀ¿ë ¾ÖÇø®ÄÉÀ̼ÇÀº Ring 3 ´Ü°è¿¡¼­ ½ÇÇà µË´Ï´Ù. Ring 1°ú Ring 2´Â Device Drivers¸¦ À§ÇØ ³²°ÜµÐ ±ÇÇÑ °èÃþÀÔ´Ï´Ù.

3.3 Paravirtualization

°Ô½ºÆ® ¿î¿µÃ¼Á¦´Â HypercallÀ̶ó´Â °¡»óÈ­ È£ÃâÀ» Virtualization Layer·Î Àü¼ÛÇÕ´Ï´Ù. Virtualization Layer´Â HypercallÀ» ½ÇÁ¦ÀûÀÎ OS ¸í·ÉÀ» È£ÃâÇÕ´Ï´Ù. ¹Ý°¡»óÈ­¶ó°íµµ ºÎ¸£´Â Paravirtualization ±â¼úÀ» »ç¿ëÇÏ·Á¸é ¿î¿µÃ¼Á¦°¡ Hypercall¸¦ È£ÃâÇϵµ·Ï Ä¿³ÎÀ» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±×·¯¹Ç·Î À©µµ¿ì¿Í °°Àº »ó¿ë ¿î¿µÃ¼Á¦¿¡´Â Àû¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. Ä¿³ÎÀ» ÀÚÀ¯·Ó°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ´Â ¸®´ª½º °è¿­ÀÇ ¿î¿µÃ¼Á¦¿¡ ÁÖ·Î »ç¿ëÇÏ´Â °¡»óÈ­ ±â¼úÀÔ´Ï´Ù. ¿À¹öÇìµå°¡ Àû¾î¼­ È¿À²ÀûÀ¸·Î ÀÛµ¿ÇÑ´Ù´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù.

}

3.4 Full Virtualization

Full virtualization (¿ÏÀü°¡»óÈ­)´Â °Ô½ºÆ® ¿î¿µÃ¼Á¦¿Í Çϵå¿þ¾î »çÀÌ¿¡ VMMÀ» ¹èÄ¡ÇÕ´Ï´Ù. VMMÀÌ °Ô½ºÆ® ¿î¿µÃ¼Á¦¿Í Çϵå¿þ¾î»çÀ̸¦ ÁßÀçÇÏ´Â °ÅÁÒ. ÇÏÀÌÆÛ ¹ÙÀÌÀú°¡ ¸í·ÉÀ» ÁßÀçÇϱ⠶§¹®¿¡ ¼Ò½ºÄڵ带 ¼öÁ¤ÇÒ ÇÊ¿ä ¾øÀÌ °Ô½ºÆ® ¿î¿µÃ¼Á¦¸¦ °¡»óÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.


3.5 Hardware Virtualization

°¡»óÈ­°¡ ´ë¼¼°¡ µÇÀÚ Çϵå¿þ¾î º¥µåµéµµ °¡»óÈ­ ±â¼ú È®º¸¿¡ ´«À» µ¹¸³´Ï´Ù. ±× °á°ú AMD-V¿Í VT-X¿Í °°Àº °¡»óÈ­ ±â¼úÀÌ Åº»ýÇß½À´Ï´Ù.ÀÌ µÎ ±â¼úÀº ±âÁ¸ÀÇ CPU ¾ÆÅ°ÅØÃ³¿¡ »õ·Î¿î ½ÇÇà¸ðµå¸¦ Ãß°¡Çß½À´Ï´Ù. ±âÁ¸ÀÇ CPU ¾ÆÅ°ÅØÃ³ÀÇ °¡Àå ¹Ø¹Ù´Ú¿¡´Â Ring 0°¡ ÀÖ¾ú´Âµ¥, ¿©±â¿¡ Root Mode Privilege Levels¶ó´Â °ÍÀ» Çϳª ´õ Ãß°¡Çß½À´Ï´Ù. ÀÌÁ¦ Ring 0±îÁö°¡ ºñƯ±Ç ¸ðµå°¡ µÇ¾î¼­ Çϳª ÀÌ»óÀÇ ¿î¿µÃ¼Á¦°¡ ¿Ã¶ó°¥ ¼ö ÀÖ°Ô µÈ°Ì´Ï´Ù. »õ·Î Ãß°¡µÈ Ư±Ç°èÃþ¿¡´Â VMMÀÌ ¿Ã¶ó°©´Ï´Ù. Intel¿¡¼­´Â Ãß°¡µÈ ¸ðµå¸¦ VMX ·çÆ® ¸ðµå¶ó°í ºÎ¸¨´Ï´Ù.

VMMÀº °Ô½ºÆ® ¿î¿µÃ¼Á¦ÀÇ ¿äûÀ» °¡·Îä¼­ ´ë½Å 󸮸¦ ÇÕ´Ï´Ù. Xen, VirtualBox, KVM µîÀÌ VMMÀ¸·Î (°ø°³ Çϵå¿þ¾î ¾Ö¹Ä·¹À̼ÇÀÎ)Qemu¸¦ ÀÌ¿ëÇÕ´Ï´Ù.


¿î¿µÃ¼Á¦ÀÇ Ä¿³ÎÀ» ¼öÁ¤ÇÒ ÇÊ¿ä ¾øÀÌ °¡»óÈ­ ÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù.

3.6 Type-I ÇÏÀÌÆÛ¹ÙÀÌÀú

Çϵå¿þ¾î ¹Ù·Î À§¿¡ ½ÇÇàµÇ´Â ÇÏÀÌÆÛ ¹ÙÀÌÀú·Î Native ÇÏÀÌÆÛ¹ÙÀÌÀú ȤÀº Bare-metal ÇÏÀÌÆÛ¹ÙÀÌÀú¶ó°í ºÎ¸¨´Ï´Ù. Type-I ¹æ½ÄÀÇ ÇÏÀÌÆÛ¹ÙÀÌÀú´Â 1960³â´ë IBMÀÌ °³¹ßÇÑ CP/CMS¿¡¼­ ½ÃÀ۵ƽÀ´Ï´Ù. VMware ESX Server, XenÀÌ ÀÌ ¹æ½ÄÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù.


3.7 Type-II ÇÏÀÌÆÛ¹ÙÀÌÀú

OS À§¿¡¼­ ½ÇÇàµÇ´Â ÇÏÀÌÆÛ ¹ÙÀÌÀú·Î Hosted ÇÏÀÌÆÛ¹ÙÀÌÀú¶ó°íµµ ÇÕ´Ï´Ù. Ä£¼÷ÇÑ OSÀ§¿¡¼­ ´Ù¸¥ ¿î¿µÃ¼Á¦¸¦ È£ÃâÇÒ ¼ö Àֱ⠶§¹®¿¡, ÀÏ¹Ý »ç¿ëÀÚµµ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¿î¿µÃ¼Á¦ À§¿¡¼­ ½ÇÇàÇÏ´Â ¸¸Å­ È¿À²ÀûÀÌÁö ¾Ê´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. VirtualBox¿Í VMware Server, KVMÀÌ ´ëÇ¥ÀûÀÎ Type-II °¡»óÈ­ µµ±¸ÀÔ´Ï´Ù.


KVMÀÇ °¡»óÈ­ ¹æ¹ýÀ» ¼³¸íÇÏ´Â ±×¸²ÀÔ´Ï´Ù. QEMU·Î Çϵå¿þ¾î¸¦ ¾Ö¹Ä·¹ÀÌ¼Ç ÇÏ°í ±× À§¿¡ °Ô½ºÆ® ¿î¿µÃ¼Á¦°¡ ¿Ã¶ó°©´Ï´Ù.

4 È÷½ºÅ丮

  1. ÀÛ¼ºÀÏ : 2011³â 12¿ù 2ÀÏ


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