KVM虚拟化源码分析之KVM_TOOLS(二)

来源:互联网 发布:javascript 移除元素 编辑:程序博客网 时间:2024/05/23 23:54

入口main

kvm-tools是一个普通的应用程序,所以入口是main函数,在源码树中,根目录下就有一个main.c,显然这就是入口文件。

这里写图片描述

非常简短,显然主要核心在于handle_command,即根据用户传进来的命令做不同的处理。我们发现第一个参数是一个全局变量,我们看看是什么

这里写图片描述

我们发现是一个cmd_struct结构体数组

这里写图片描述

命令名字,命令执行函数指针,命令帮助信息,可选项

handle_command

这里写图片描述

利用用户传进来的命令行参数,利用kvm_get_command得到一个cmd_struct结构体,然后执行其中的fn指针。所以我们的核心就得看命令函数,上边的kvm_commands中有各个命令函数,显然,我们最关心的是kvm_cmd_run,他用于跑起一个gust

kvm_cmd_run

这里写图片描述

首先利用kvm_cmd_run_init 进行跑虚拟机前的初始化工作然后利用kvm_cmd_run_work 跑gust最后利用kvm_cmd_run_exit 做清理工作这三个函数是核心,所以相对来说比较复杂,我们分别开博文分析。
0 0
原创粉丝点击