virtualbox源码分析 1:安装目录解析

一 安装目录文件说明:

本系列文章里的Virtualbox是基于windows的版本,Linux的版本类似,只是对于的文件名是so之类结尾
Virtualbox安装完成之后,会在C:\Program Files\Oracle\VirtualBox目录下释放所有需要的文件:
在这里插入图片描述
文件看起来很多,但有部分是第三方,addon,UI和工具
其中比较重要的文件主要有一下几类:

1.1 exe:

在这里插入图片描述
Virtualbox.exe : 虚拟机管理界面进程
VirtualboxVM.exe : 带UI版本的虚拟机进程,这个进程是我们主要分析的进程
VBoxHeadless.exe: 不带UI版本的虚拟机,这个是很神奇的进程,虚拟机在默默的运行,但是没有任何UI。
VBoxSVC.exe: 这个是个服务进程,提供一些com接口和virtualboxVM.exe交互,管理所有虚拟机和他们的配置。
VBoxManage.exe:提供一些command命令行参数,我们在命令行里运行一下,可以看到这个进程提供了很多的命令:
在这里插入图片描述
可以通过这些command修改虚拟机配置,也可以通过这个command启动一个虚拟机
比如:VBoxManage.exe startvm samplevm --type gui
可以启动一个名字是samplevm的虚拟机。

1.2 Dll:

在这里插入图片描述

其中需要重点关注的dll有:
VBoxDD.dll/VBoxDD2.dll/VBoxDDU.dll: 用于设备模拟的dll,比如audio设备/network设备/graphic/storage设备,对应VBoxDDR0.r0的驱动。
VBoxVMM.dll: 对应于VMMR0.r0的R3实现,CPU虚拟化/内存虚拟化等。
VBoxDragAndDropSvc.dll: 这类 svc结尾的dll是addon插件的实现,文件拖拽/共享目录/剪切板等功能。
VirtualBoxVM.dll: 这类有同名exe的dll是同名exe对应加载的dll。

1.3 Driver:

VBox驱动有两种:
一种是安装的时候安装到客户端上:
在这里插入图片描述
一种是虚拟机启动的时候才会动态加载的驱动
在这里插入图片描述
VMMR0.r0 是基于VT的虚拟化软件,提供硬件级别的虚拟化支持
VBoxDDR0.r0 是设备模拟的内核部分

1.4 Addon:

VBoxGuestAdditions.iso
这个文件是需要在虚拟安装完成之后单独安装的,提供虚拟机内外的交换功能,比如共享内存/剪贴板/3D加速/虚拟显卡等

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值