我经常听到这个词,我有点困惑。
它只是一个建立在一个操作系统上的软件应用程序,可以模拟另一个操作系统吗?
当有人编写虚拟机代码时,他们是否基本上着手制作操作系统,而不是直接访问硬件,他们只是调用他们需要的适当陷阱指令?但是,您将无法模拟某些受保护的操作,例如中断,对吗?
除了我能够从 Windows 中远程连接并运行 Linux 桌面之外,还有其他原因可能有用吗?
什么是“虚拟机监视器”?
Java 虚拟机的意义何在,为什么不做其他语言做的事呢?
干杯
我经常听到这个词,我有点困惑。
它只是一个建立在一个操作系统上的软件应用程序,可以模拟另一个操作系统吗?
当有人编写虚拟机代码时,他们是否基本上着手制作操作系统,而不是直接访问硬件,他们只是调用他们需要的适当陷阱指令?但是,您将无法模拟某些受保护的操作,例如中断,对吗?
除了我能够从 Windows 中远程连接并运行 Linux 桌面之外,还有其他原因可能有用吗?
什么是“虚拟机监视器”?
Java 虚拟机的意义何在,为什么不做其他语言做的事呢?
干杯
那里有很多问题,我将开始解释我使用虚拟机的经验。
它们是在不同操作系统版本上测试代码或应用程序的好方法,例如 vista vs windows 7 或不同版本的 android,例如 2.3 vs 4.0。
它们也是保持主台式计算机清洁的好方法。也许我想安装一些测试版软件,或者测试版操作系统,我不想让我的主机不稳定。我可以安装 Windows 8 预览版并随意使用它,然后再将其丢弃。Windows 8 预览版不够稳定,不能作为我的主要机器,但我可能需要对其进行评估。
我还可以制作虚拟机并拍摄快照。这意味着如果我想测试应用程序,我可以回滚到快照,以便在测试应用程序时知道机器的确切状态。
虚拟机监视器是一个应用程序,我可以在其中查看所有虚拟机的当前状态。也许我正在运行一个运行多个实时服务器的生产系统。如果它们是 Web 服务器,它们都可以在虚拟机中运行。虚拟机监视器是我可以查看它们各自使用多少 CPU 的地方。增加内存、添加服务器、删除服务器、安装新服务器等。
虚拟机在这种情况下非常有用,因为您可以克隆、增加内存、减少内存、添加更多服务器等,这些操作都可以很容易地完成。
Java虚拟机和虚拟机是两个完全不同的东西。
虚拟机确实会捕获中断并像您的计算机一样运行。从面向开发人员的角度来看,它们对于测试和调试不同的操作系统非常有用。在服务器环境中,它们非常适合单个大型机的虚拟化。
Java 虚拟机(JVM) 用于解释 Java 字节码。Java 被“编译”为中间状态,JVM 以对开发人员完全透明的方式在主机上运行它。
它只是一个建立在一个操作系统上的软件应用程序,可以模拟另一个操作系统吗?
它是基于另一个操作系统的硬件平台的软件模拟。
当有人编写虚拟机代码时,他们是否基本上着手制作操作系统,而不是直接访问硬件,他们只是调用他们需要的适当陷阱指令?但是,您将无法模拟某些受保护的操作,例如中断,对吗?
是和不是。通常为虚拟化提供硬件支持。例如,参见:x86 虚拟化 - 硬件支持
除了我能够从 Windows 中远程连接并运行 Linux 桌面之外,还有其他原因可能有用吗?
很多原因。
Java 虚拟机的意义何在,为什么不做其他语言做的事呢?
平台无关。