¡¡¡¡ÐéÄ⻯µÄº¬Òå·á¸»£¬Ó¦Óù㷺¡£·þÎñÆ÷ÐéÄ⻯ÊÇÄ¿Ç°Ò»¸öÖ÷ÒªµÄÐéÄ⻯¼¼Êõ£¬¼´ÔÚÒ»¸öËÞÖ÷¼ÆËã»úÉÏÌṩ¶à¸ö¶ÀÁ¢²Ù×÷ϵͳ¡£±¾ÎĽ«Ì½Ë÷ÐéÄ⻯±³ºóµÄ˼Ï룬ȻºóÌÖÂÛʵÏÖÐéÄ⻯µÄһЩ¼¼Êõ¡£ÎÒÃÇ»¹½«Á˽âÏÖÓеÄÆäËûһЩÐéÄ⻯¼¼Êõ£¬ÀýÈçLinuxÉϲÙ×÷ϵͳµÄÐéÄ⻯¡£
¡¡¡¡½øÐÐÐéÄ⻯¾ÍÊÇÒª½«Ä³ÖÖÐÎʽµÄ¶«Î÷ÒÔÁíÍâÒ»ÖÖÐÎʽ³ÊÏÖ³öÀ´¡£¶Ô¼ÆËã»ú½øÐÐÐéÄ⻯¾ÍÊÇÒª½«¼ÆËã»úÒÔ¶ą̀¼ÆËã»ú»òһ̨ÍêÈ«²»Í¬µÄ¼ÆËã»úµÄÐÎʽ³ÊÏÖ³öÀ´¡£
¡¡¡¡ÐéÄ⻯Ҳ¿ÉÒÔ½«¶ą̀¼ÆËã»ú×éºÏ³Éһ̨¼ÆËã»úµÄÐÎʽ³ÊÏÖ³öÀ´¡£Õâͨ³£³ÆΪ·þÎñÆ÷¾ÛºÏ»òÍø¸ñ¼ÆËã¡£
¡¡¡¡ÏÂÃæÈÃÎÒÃÇÊ×ÏÈÀ´¿´Ò»ÏÂÐéÄ⻯µÄÆðÔ´¡£
¡¡¡¡ÐéÄ⻯µÄÀúÊ·
¡¡¡¡ÐéÄ⻯²¢²»ÊÇʲôÐÂÖ÷Ì⣻ʵ¼ÊÉÏ£¬ËüµÄ´æÔÚÒѾ³¬¹ý40ÄêÁË¡£ÐéÄ⻯¼¼Êõ×îÔçµÄһЩÓ÷¨°üÀ¨IBM 7044¡¢ÂéÊ¡Àí¹¤Ñ§Ôº£¨MIT£©ÔÚIBM 704ÉÏ¿ª·¢µÄCTSS£¨Compatible Time Sharing System£©ÒÔ¼°Âü³¹Ë¹ÌØ´óѧµÄAtlasÏîÄ¿£¨ÊÀ½çÉÏ×îÔçµÄ³¬¼¶¼ÆËã»úÖ®Ò»£©£¬ÕâЩ¶¼ÊÇÇëÇóÒ³Ãæµ÷¶ÈºÍ¼à¹Ü½ø³Ìµ÷ÓõÄÏÈÇý¡£
¡¡¡¡Ó²¼þÐéÄ⻯
¡¡¡¡IBMÔçÔÚ20ÊÀ¼Í60Äê´ú¿ª·¢System/360 Model 67´óÐÍ»úʱ¾ÍÈÏʶµ½ÁËÐéÄ⻯µÄÖØÒªÐÔ¡£Model 67ͨ¹ýVMM£¨Virtual Machine Monitor£©¶ÔËùÓеÄÓ²¼þ½Ó¿Ú¶¼½øÐÐÁËÐéÄ⻯¡£ÔÚÔçÆÚ¼ÆËãÖУ¬²Ù×÷ϵͳ±»³ÆΪsupervisor¡£Äܹ»ÔÚÆäËû²Ù×÷ϵͳÉÏÔËÐеIJÙ×÷ϵͳ±»³ÆΪhypervisor£¨Õâ¸öÊõÓïÊÇÔÚ20ÊÀ¼Í70Äê´ú³öÏֵģ©¡£
¡¡¡¡VMM¿ÉÒÔÖ±½ÓÔڵײãÓ²¼þÉÏÔËÐУ¬ÔÊÐíÔËÐжà¸öÐéÄâ»ú£¨VM£©¡£Ã¿¸öVM¶¼¿ÉÒÔÔËÐÐÒ»¸ö×Ô¼ºË½ÓвÙ×÷ϵͳµÄʵÀý¡ª¡ªÔÚÔçЩʱºò£¬Õâ³ÆΪCMS£¨»ò Conversational Monitor System£©¡£Ö®ºóVM¼ÌÐø·¢Õ¹£¬ÏÖÔÚÄú¿ÉÒÔÔÚSystem z9´óÐÍ»úÉÏ·¢ÏÖVM¡£ÕâÌṩÁ˺ܺõÄÏòºó¼æÈÝÐÔ£¬ÉõÖÁÊǶÔSystem/360²úÆ·ÏߵļæÈÝÐÔ¡£
¡¡¡¡´¦ÀíÆ÷ÐéÄ⻯
¡¡¡¡ÐéÄ⻯ÔçÆÚµÄÁíÍâÒ»ÖÖÓ÷¨£¨ÔÚ±¾ÀýÖÐÊǶԴ¦ÀíÆ÷µÄ·ÂÕ棩ÊÇ P-code£¨»òαÂ룩»ú¡£P-codeÊÇÒ»ÖÖ»úÆ÷ÓïÑÔ£¬ÔËÐÐÓÚÐéÄâ»ú¶ø²»ÊÇʵ¼ÊÓ²¼þ¡£P-codeÔçÔÚ20ÊÀ¼Í70Äê´ú¾ÍÒÑÔÚ¼ÓÖÝ´óѧʥµØÑǸç·ÖУ£¨UCSD£©PascalϵͳÉÏÆÄÓÐÃûÆøÁË£¬Ëü½«Pascal³ÌÐò±àÒë³É P-code£¬È»ºóÔÚÒ»¸öP-codeÐéÄâ»úÉÏÔËÐС£Õâ¾ÍʹP-code³ÌÐò¾ßÓÐÁ˸߶ȵĿÉÒÆÖ²ÐÔ£¬¶øÇÒ£¬Ö»ÒªÓпÉÓõÄP-codeÐéÄâ»ú£¬P-code³ÌÐò¾Í¿ÉÒÔÔËÐС£
¡¡¡¡20ÊÀ¼Í60Äê´ú¶ÔBCPL£¨Basic Combined Programming Language£©µÄÉè¼ÆÖÐÒ²²ÉÓÃÁËÏàͬµÄ¸ÅÄCÓïÑÔ¼´ÓÉBCPL·¢Õ¹¶øÀ´¡£ÔÚÕâÖÖÓ÷¨ÖУ¬±àÒëÆ÷»á½«BCPL´úÂë±àÒë³É³ÆΪO-codeµÄÖмä»úÆ÷´úÂë¡£½ÓÏÂÀ´µÄµÚ¶þ¸ö²½ÖèÊǽ«O-code±àÒë³ÉÄ¿±ê»úÆ÷µÄÔʼÓïÑÔ¡£ÏÖ´ú±àÒëÆ÷ËùʹÓõÄÕâÖÖÄ£ÐÍΪ½«±àÒëÆ÷ÒÆÖ²µ½ÐÂÄ¿±êÌåϵ½á¹¹ÉÏÌṩÁ˺ܴóµÄÁé»îÐÔ£¨Í¨¹ýÒ»ÖÖÖмäÓïÑÔ½«Ç°¶ËºÍºó¶Ë·Ö¸ô¿ªÀ´£©¡£
¡¡¡¡Ö¸ÁÐéÄ⻯
¡¡¡¡ÐéÄ⻯×îеķ¢Õ¹³ÆΪָÁÐéÄ⻯£¬»òÕ߶þ½øÖÆת»»¡£ÔÚÕâÖÖÄ£ÐÍÖУ¬ÐéÄâÖ¸Á±»×ª»»³Éµ×²ãÓ²¼þµÄÎïÀíÖ¸Á£¬Õâ¸ö¹ý³Ìͨ³£¶¼ÊǶ¯Ì¬µÄ¡£µ±´úÂëÖ´ÐÐʱ£¬¾Í»á¶Ô´úÂëµÄij¸ö¶Î½øÐÐת»»¡£Èç¹û³öÏÖ·ÖÖ§Çé¿ö£¬¾Í»áµ¼ÈëдúÂ뼯²¢½øÐÐת»»¡£ÕâʹËüÓ뻺´æ²Ù×÷·Ç³£ÀàËÆ£¬ºóÕßÊǽ«Ö¸Áî¿é´ÓÄÚ´æÒƶ¯µ½±¾µØ¿ìËÙ»º´æÖÐÖ´ÐС£
¡¡¡¡ÕâÖÖÄ£ÐÍ×î½üÔÚTransmetaÉè¼ÆµÄCrusoeÖÐÑë´¦Àíµ¥Ôª£¨CPU£©Öеõ½ÁËʹÓ᣶þ½øÖÆת»»ÓÉCode MorphingµÄרÀû¼¼ÊõʵÏÖ¡£ÀàËƵÄÒ»¸öÀý×ÓÊÇÍêÈ«ÐéÄ⻯½â¾ö·½°¸Í¨¹ýÔËÐÐʱ´úÂëɨÃèÀ´²éÕÒºÍÖض¨ÏòÌØȨָÁÓÃÀ´½â¾öÌض¨´¦ÀíÆ÷Ö¸ÁµÄһЩÎÊÌ⣩¡£
¡¡¡¡ÐéÄ⻯µÄÀàÐÍ
¡¡¡¡ÊµÏÖÐéÄ⻯µÄ·½·¨²»Ö¹Ò»ÖÖ¡£Êµ¼ÊÉÏ£¬Óм¸ÖÖ·½·¨¶¼¿ÉÒÔͨ¹ý²»Í¬²ã´ÎµÄ³éÏóÀ´ÊµÏÖÏàͬµÄ½á¹û¡£±¾½Ú½«½éÉÜLinuxÖг£ÓõÄ3ÖÖÐéÄ⻯·½·¨£¬ÒÔ¼°ËüÃÇÏàÓ¦µÄÓÅȱµã¡£Òµ½çÓÐʱ»áʹÓò»Í¬µÄÊõÓïÀ´ÃèÊöÏàͬµÄÐéÄ⻯·½·¨¡£±¾ÎÄÖÐʹÓõÄÊÇ×î³£ÓõÄÊõÓͬʱ¸ø³öÁËÆäËûÊõÓïÒÔ¹©²Î¿¼¡£
¡¡¡¡Ó²¼þ·ÂÕæ
¡¡¡¡ºÁÎÞÒÉÎÊ£¬×ÔÓµÄÐéÄ⻯ʵÏÖ¼¼Êõ¾ÍÊÇÓ²¼þ·ÂÕæ¡£ÔÚÕâÖÖ·½·¨ÖУ¬¿ÉÒÔÔÚËÞÖ÷ϵͳÉÏ´´½¨Ò»¸öÓ²¼þVMÀ´·ÂÕæËùÏëÒªµÄÓ²¼þ£¬Èçͼ1Ëùʾ¡£
¡¡¡¡Í¼1. Ó²¼þ·ÂÕæʹÓÃVMÀ´Ä£ÄâËùÐèÒªµÄÓ²¼þ
¡¡¡¡ÕýÈçÄúËùÄÜÔ¤¼ûµÄÒ»Ñù£¬Ê¹ÓÃÓ²¼þ·ÂÕæµÄÖ÷ÒªÎÊÌâÊÇËٶȻá·Ç³£Âý¡£ÓÉÓÚÿÌõÖ¸Á±ØÐëÔڵײãÓ²¼þÉϽøÐзÂÕ棬Òò´ËËٶȼõÂý100±¶µÄÇé¿öÒ²²¢²»Ï¡Ææ¡£ÈôҪʵÏָ߶ȱ£ÕæµÄ·ÂÕ棬°üÀ¨ÖÜÆÚ¾«¶È¡¢Ëù·ÂÕæµÄCPU¹ÜµÀÒÔ¼°»º´æÐÐΪ£¬Êµ¼ÊËٶȲî¾àÉõÖÁ¿ÉÄÜ»á´ïµ½1000±¶Ö®¶à¡£
¡¡¡¡Ó²¼þ·ÂÕæÒ²ÓÐ×Ô¼ºµÄÓŵ㡣ÀýÈ磬ʹÓÃÓ²¼þ·ÂÕ棬Äú¿ÉÒÔÔÚÒ»¸ö ARM ´¦ÀíÆ÷Ö÷»úÉÏÔËÐÐΪPowerPCÉè¼ÆµÄ²Ù×÷ϵͳ£¬¶ø²»ÐèÒªÈκÎÐ޸ġ£ÄúÉõÖÁ¿ÉÒÔÔËÐжà¸öÐéÄâ»ú£¬Ã¿¸öÐéÄâÆ÷·ÂÕæÒ»¸ö²»Í¬µÄ´¦ÀíÆ÷¡£
¡¡¡¡ÍêÈ«ÐéÄ⻯
¡¡¡¡ÍêÈ«ÐéÄ⻯£¨full virtualization£©£¬Ò²³ÆΪÔʼÐéÄ⻯£¬ÊÇÁíÍâÒ»ÖÖÐéÄ⻯·½·¨¡£ÕâÖÖÄ£ÐÍʹÓÃÒ»¸öÐéÄâ»ú£¬ËüÔÚ¿Í»§²Ù×÷ϵͳºÍÔʼӲ¼þÖ®¼ä½øÐÐе÷£¨²Î¼ûͼ 2£©¡£¡°Ðµ÷¡±ÔÚÕâÀïÊÇÒ»¸ö¹Ø¼ü£¬ÒòΪVMMÔÚ¿Í»§²Ù×÷ϵͳºÍÂãÓ²¼þÖ®¼äÌṩе÷¡£Ìض¨Êܱ£»¤µÄÖ¸Áî±ØÐë±»²¶»ñÏÂÀ´²¢ÔÚhypervisorÖнøÐд¦Àí£¬ÒòΪÕâЩµ×²ãÓ²¼þ²¢²»ÓɲÙ×÷ϵͳËùÓµÓУ¬¶øÊÇÓɲÙ×÷ϵͳͨ¹ýhypervisor¹²Ïí¡£
¡¡¡¡Í¼2. ÍêÈ«ÐéÄ⻯ʹÓÃhypervisorÀ´¹²Ïíµ×²ãÓ²¼þ
¡¡¡¡ËäÈ»ÍêÈ«ÐéÄ⻯µÄËٶȱÈÓ²¼þ·ÂÕæµÄËÙ¶ÈÒª¿ì£¬µ«ÊÇÆäÐÔÄÜÒªµÍÓÚÂãÓ²¼þ£¬ÒòΪÖм侹ýÁËhypervisorµÄе÷¹ý³Ì¡£ÍêÈ«ÐéÄ⻯µÄ×î´óÓŵãÊDzÙ×÷ϵͳÎÞÐèÈκÎÐ޸ľͿÉÒÔÖ±½ÓÔËÐС£Î©Ò»µÄÏÞÖÆÊDzÙ×÷ϵͳ±ØÐëÒªÖ§³Öµ×²ãÓ²¼þ£¨ÀýÈçPowerPC£©¡£
¡¡¡¡³¬ÐéÄ⻯
¡¡¡¡³¬ÐéÄ⻯£¨paravirtualization£©ÊÇÁíÍâÒ»ÖÖÁ÷ÐеÄÐéÄ⻯¼¼Êõ£¬ËüÓëÍêÈ«ÐéÄ⻯ÓÐһЩÀàËÆ¡£ÕâÖÖ·½·¨Ê¹ÓÃÁËÒ»¸öhypervisorÀ´ÊµÏֶԵײãÓ²¼þµÄ¹²Ïí·ÃÎÊ£¬»¹½«ÓëÐéÄ⻯ÓйصĴúÂ뼯³Éµ½Á˲Ù×÷ϵͳ±¾ÉíÖУ¨²Î¼ûͼ3£©¡£ÕâÖÖ·½·¨²»ÔÙÐèÒªÖØбàÒë»ò²¶»ñÌØȨָÁÒòΪ²Ù×÷ϵͳ±¾ÉíÔÚÐéÄ⻯½ø³ÌÖлáÏ໥½ôÃÜÐ×÷¡£
¡¡¡¡Í¼3. ³¬ÐéÄ⻯Óë¿Í»§²Ù×÷ϵͳ¹²Ïí½ø³Ì
¡¡¡¡ÕýÈçÇ°Ãæ½éÉܵÄÒ»Ñù£¬³¬ÐéÄ⻯¼¼ÊõÐèҪΪhypervisorÐ޸Ŀͻ§²Ù×÷ϵͳ£¬ÕâÊÇËüµÄÒ»¸öȱµã¡£µ«Êdz¬ÐéÄ⻯ÌṩÁËÓëδ¾ÐéÄ⻯µÄϵͳÏà½Ó½üµÄÐÔÄÜ¡£ÓëÍêÈ«ÐéÄ⻯ÀàËÆ£¬³¬ÐéÄ⻯¼¼Êõ¿ÉÒÔͬʱ֧³Ö¶à¸ö²»Í¬µÄ²Ù×÷ϵͳ¡£
¡¡¡¡²Ù×÷ϵͳ¼¶µÄÐéÄ⻯
¡¡¡¡ÎÒÃÇÒª½éÉܵÄ×îºóÒ»ÖÖ¼¼ÊõÊDzÙ×÷ϵͳ¼¶µÄÐéÄ⻯£¬ËüʹÓõļ¼ÊõÓëÇ°ÃæËù½éÉܵÄÓÐËù²»Í¬¡£ÕâÖÖ¼¼ÊõÔÚ²Ù×÷ϵͳ±¾ÉíÖ®ÉÏʵÏÖ·þÎñÆ÷µÄÐéÄ⻯¡£ÕâÖÖ·½·¨Ö§³Öµ¥¸ö²Ù×÷ϵͳ£¬²¢¿ÉÒÔ½«¶ÀÁ¢µÄ·þÎñÆ÷Ï໥¼òµ¥µØ¸ôÀ뿪À´£¨²Î¼ûͼ4£©¡£
¡¡¡¡Í¼4. ²Ù×÷ϵͳ¼¶ÐéÄ⻯ʵÏÖ·þÎñÆ÷µÄ¸ôÀë
¡¡¡¡²Ù×÷ϵͳ¼¶µÄÐéÄ⻯ҪÇó¶Ô²Ù×÷ϵͳµÄÄں˽øÐÐһЩÐ޸ģ¬µ«ÊÇÆäÓŵãÊÇ¿ÉÒÔ»ñµÃÔʼÐÔÄÜ¡£
¡¡¡¡ÔÚ±¾ÎĵÄÏ°벿·ÖÖУ¬ÎÒÃǽ«½éÉÜΪʲôÐéÄ⻯ÄÇôÖØÒªÒÔ¼°¶ÔÍêÈ«ÐéÄ⻯µÄÓ²¼þÖ§³Ö¡£