[虚拟化/云][全栈demo] 为qemu增长一个PCI的watchdog外设(一)

目的:

结合如今比较流行的技术,经过一个demo 展现一个全栈式设计的各类技能。python

一个全栈式的工程师,应该能设计经过verilog/VHDL作logical设计。能写内核驱动,能架站。linux

要熟悉verilog/VHDL, C/C++, shell, python, JS, HTML, CSS等语言。shell

发现本身不少细节还须要了解。网站

首先理解2个概念

qemu是什么

简单的说,qemu 是一个开源软件,能够模拟整个计算机系统, 包括多种CPU和各类外设。spa

咱们能够形象的比喻 qemu就是一个虚拟的攒机器商。或者简单的理解为,他就是神舟或者联想。设计

用qemu生成一个电脑过程,不少人都去过中关村攒过机器(DIY)过程同样。htm

好比说咱们列一个清单,须要2个x86的CPU, 须要2G RAM, 须要一个网卡,须要一个声卡,须要一个20G的硬盘。 如今交给 qemu来完成。请 执行 ($ man qemu) 查看qemu的用法。接口

$ sudo qemu-system-x86_64 -boot c -m 20480 -hda /home/kvm/winxp.img -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no -clock rtc -soundhw es1370 -smp 2ip

qemu-system-x86_64 表示是x86的CPU, -smp 2表示是2个CPU内存

-m 20480 即是是2G 内存。

 -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no表示增长的了一个网卡接口。

-soundhw es1370 表示声卡。

-hda /home/kvm/winxp.im 就是咱们的硬盘。 具体大小是咱们建立的时候的大小。 经过qemu-image来建立这个硬盘,而且制定硬盘大小。 请 执行($ man qemu-image)来查看用法。

咱们的这个电脑就攒好了。

qemu模拟的CPU是经过一个动态二进制编译的技术, 请参考《编译原理》。

详情,请参考

qemu 官方网站:  http://wiki.qemu.org/Main_Page

wikibooks: http://en.wikibooks.org/wiki/QEMU

KVM是 什么

是一个开源的系统虚拟化模块。简单的说,他就是一个linux 驱动, 能提供一个执行跟运行KVM自身相同的CPU的指令集的环境。

KVM的虚拟化须要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的彻底虚拟化。

详情,请参考 kvm官方网站 http://www.linux-kvm.org/page/Main_Page

qemu与KVM

经过上面的简单介绍,咱们知道,qemu能够经过模拟的CPU执行指令。

而KVM 则能用硬件提供的虚拟化功能, 直接让真 实CPU执行虚拟机内存里的指令。

那咱们确定回想,可让qemu直接调用kvm而不使用模拟的CPU吗?

是的,能够。

$ sudo qemu-system-x86_64 --enable-kvm ...

经过KVM, qem模拟的电脑能够接近真实电脑的速度。

相关文章
相关标签/搜索