Kernel-based Virtual Machine (2)
来源:互联网 发布:海南网络有线电视台 编辑:程序博客网 时间:2024/04/27 20:49
KVM的运作原理 http://www.linuxinsight.com/finally-user-friendly-virtualization-for-linux.html
目前虚拟化的做法可以分为三种一是Paravirtualization 但缺点是Guest OS 需要经过修改才能使用,所以在Paravirtualization 下是不可能运作Windows 系统的.另外一种则是Full Virtualization 但这作法是将硬体以模拟的方式呈现,所以又会让Guest OS 的效能变差.第三种则是让CPU 去支援虚拟化Intel (VT) and AMD (AMD-V) ,因为有CPU 的支援第一种Paravirtualization 虚拟化的方式似乎变成多余了.
这就是KVM 所支援的方式,直接透过有虚拟化的CPU 去让系统支援Full Virtualization 的Guest OS.另外一个重点是KVM 不须独立的Linux 核心当VMM(Virtual Machine Monitor) ,它透过一般Linux 核心加入KVM 再让这Linux 核心当作VMM ,直接让虚拟化带入到一般核心的世界中.也因此在KVM 下的Guest OS 对于Linux 核心而言都只是一个Process(行程).
传统的Linux 在执行时有以区分为Kernel mode(supervisor mode) 和user mode 就如下图所示:
Linux的核心(或是其他作业系统的核心)会运作在Kernel mode(supervisor mode)而一般的应用程式(Applications)就运作在user mode.如果应用程式(Applications)需要硬体资源时就透过system call向kernel提出请求.让Kernel完成作业.这样的架构可以确保系统的安全性.请参考CPU - Ring的说明 http://benjr.tw/?q=node/216
但是透 Intel (VT) and AMD (AMD-V) 的支援,Linux 的核心(就是VMM)再加上KVM 的功能,就可以直接实现虚拟化的环境,其实KVM 的运作方式和Xen 的Full virtualization 类似,除了原本的Kernel 和User 模式外还多了一个Guest mode 模式(这模式可以让Guest OS 自己拥有Kernel 和User 模式),每一个Virtual Machine 对Linux 而言就如同一个 Process(行程).
KVM 是由两个主要的元件(components)所组成:
1.Kernel Device Driver(managing the virtualization hardware) - 用来管理和模拟Virtual Machine 的硬体
2.User space process - qemu 是一个PC 硬体模拟器,经过KVM 的修改过而成为kqemu
- Kernel-based Virtual Machine (2)
- (Kernel-based Virtual Machine) + KQEMU
- Kernel-based Virtual Machine (1)
- 【KVM】 Kernel Based Virtual Machine
- Kernel-based Virtual Machine (KVM) 基本操作备忘
- 【脚本】Stack-based Virtual Machine and Interpreter
- Stack based vs Register based Virtual Machine Architecture
- Linux KVM: Kernel Virtual Machine Monitor
- KVM(kernel virtual machine)简介知识
- KVM(Kenerl-based virtual machine)安装包分析研究
- Stack based vs Register based Virtual Machine Architecture, and the Dalvik VM
- virtualization--Create Virtual Machine#2
- virtual machine
- Virtual machine
- 【译】Virtual-Machine-based Intrusion Detection on File-aware Block Level Storage
- 机器学习中基于核的模式识别(Kernel-based pattern recognition in machine learning)
- Introduction to java virtual machine(2)
- case based machine learning
- HDU 1022 (栈的问题)
- XEN: Linux虚拟机软体
- [Qt Topic] – 全局热键、托盘功能和随机启动
- Kernel-based Virtual Machine (1)
- 写的一款安全期避孕计算软件 (IWOMAN女性生理周期计算) 强力推荐!
- Kernel-based Virtual Machine (2)
- 一个好的学术资源论坛~~~确实很好 ,一起分享~~
- 关于这个blog
- 努力
- 虚拟化技术
- "database too small: /var/db/locate.database" IN freebsd
- 去掉编辑框的默选中状态
- jfreechart动态显示投票结果
- JFreeChart组件在基于JSP的Web统计图表中的应用与实现