查看: 21079|回复: 7
收起左侧

[讨论] 虚拟机的工作原理是什么

 关闭 [复制链接]
梦落红尘
发表于 2011-10-30 00:28:01 | 显示全部楼层 |阅读模式
玩了这么久的虚拟机,有谁知道虚拟机的原理是什么么?

今天查了好久。
看到这个:

vmware虚拟化的工作原理是,直接在计算机硬件和操作系统上面插入一个精简的软件层。该软件层包含一个以动态和透明方式分配资源的虚拟机监视器(或称“管理程序”),多个操作系统可以运行在单台物理机上,彼此之间共享硬件资源。由于将整台计算机(包括cpu、内存、操作系统和网络设备)封装起来,由此虚拟机可与所有标准的x86操作系统、应用程序和设备驱动完全兼容。可以同时在单台计算机上安全运行多个操作系统和应用程序,每个操作系统和应用程序都可以在需要的时间访问其所需要的资源。


学习计算机也有一段时间了,操作系统里说过:操作系统是宏观上并行,微观上串行。那么,就是说在主机运行程序,虚拟机也运行程序的时候,就会出现都在占用资源的情况。反应就会慢起来。

大家讨论下,vb不是开源么?有谁研究过源码么?
prawnliu
发表于 2011-10-30 00:45:38 | 显示全部楼层
各虚拟机实现虚拟化的方法都不尽相同吧~
或许VMware和VBox还有共通之处
但和类似Xen之类的就差的比较远了吧~
反正源码我是没研究过~看那玩意X疼……
kavb15
发表于 2011-10-30 06:34:37 | 显示全部楼层
总而言之就是用硬件资源再模拟另外一个操作系统。
kavb15
发表于 2011-10-30 06:50:18 | 显示全部楼层
VB那源代码,真正研究透,没有c编程三年五载的经验,估计是不行。可能还得涉及一些操作系统的专业知识,硬件知识,intel的Cpu的了解和掌握。
605754111
发表于 2011-10-30 10:27:18 | 显示全部楼层
我来学习一下。
梦落红尘
 楼主| 发表于 2011-10-30 18:45:00 | 显示全部楼层
prawnliu 发表于 2011-10-30 00:45
各虚拟机实现虚拟化的方法都不尽相同吧~
或许VMware和VBox还有共通之处
但和类似Xen之类的就差的比较远了 ...

源码刚下好,但不知道是什么语言写的(还没看)。
如果是c或者c++就好了
prawnliu
发表于 2011-10-30 19:25:36 | 显示全部楼层
tk86935367 发表于 2011-10-30 18:45
源码刚下好,但不知道是什么语言写的(还没看)。
如果是c或者c++就好了

cpp和asm混编的~~
这种底层的东西,躲不开汇编的~~
subool
头像被屏蔽
发表于 2011-11-6 11:59:14 | 显示全部楼层
LZ的这个问题太深奥了. 其实你只要想想, 虚拟机原理肯定比你用汇编语言写程序还要复杂得多, 就应该知难而退了. 全球几大虚拟机产家, M$不再把虚拟产品当成重点了, VB开源了, Unix下始终自成一体自搞一套, 只有VM一家独大, 就应该知道VM这技术确定很难.
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 17:38 , Processed in 0.127623 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表