易截截图软件、单文件、免安装、纯绿色、仅160KB

Virtio:针对 Linux 的 I/O 虚拟化框架

概而言之,virtio
是半虚拟化 hypervisor 中位于设备之上的抽象层。virtio
由 Rusty Russell 开发,他当时的目的是支持自己的虚拟化解决方案 lguest
。本文在开篇时介绍半虚拟化和模拟设备,然后探索 virtio
的细节。本文的重点是来自 2.6.30 内核发行版的 virtio
框架。
Linux 是 hypervisor 展台。如我的 剖析 Linux hypervisor
所述,Linux 提供各种 hypervisor 解决方案,这些解决方案都有自己的特点和优点。这些解决方案包括 Kernel-based Virtual Machine (KVM)、lguest
和 User-mode Linux 等。在 Linux 上配备这些不同的 hypervisor 解决方案会给操作系统带来负担,负担的大小取决于各个解决方案的需求。其中的一项开销为设备的虚拟化。virtio
并没有提供多种设备模拟机制(针对网络、块和其他驱动程序),而是为这些设备模拟提供一个通用的前端,从而标准化接口和增加代码的跨平台重用。
完全虚拟化和半虚拟化
加入 My developerWorks 上的绿色小组
在 My developerWorks 上的 GReen IT Report 空间
和 绿色计算小组
上讨论关于能源、效率和环境的主题并共享资源。
让我们快速讨论一下两种类型完全不同的虚拟化模式:完全虚拟化和半虚拟化。在完全虚拟化
中,来宾操作系统运行在位于物理机器上的 hypervisor 之上。来宾操作系统并不知道它已被虚拟化,并且不需要任何更改就可以在该配置下工作。相反,在半虚拟化
中,来宾操作系统不仅知道它运行在 hypervisor 之上,还包含让来宾操作系统更高效地过渡到 hypervisor 的代码(见 图 1
)。

完全虚拟化模式中,hypervisor
必须模拟设备硬件,它是在会话的最低级别进行模拟的(例如,网络驱动程序)。尽管在该抽象中模拟很干净,但它同时也是最低效、最复杂的。在半虚拟化模式
中,来宾操作系统和 hypervisor 能够共同合作,让模拟更加高效。半虚拟化方法的缺点是操作系统知道它被虚拟化,并且需要修改才能工作。


图 1. 在完全虚拟化和半虚拟化环境下的设备模拟

硬件随着虚拟化技术而不断改变。新的处理器通过纳入高级指令来让来宾操作系统到 hypervisor 的过渡更加高效。此外,硬件也随着输入/输出(I/O)虚拟化而不断改变(参见 参考资料
了解 Peripheral Controller Interconnect [PCI] passthrough 和 single- and
multi-root I/O 虚拟化)。
virtio 的替换者
virtio
并不是该领域中的唯一霸主。Xen 提供半


相关文档:

打造嵌入式领域的Linux平台! TOPPERS项目组的目标

0.Introduction
一说起操作系统, 我们的脑海马上就会闪出Windows, 据说Windows已经被安装到了1.5亿台计算机上.
然而在这里我还要提到另一种操作系统, 据估计这种类型的操作系统已经被安装到了全球30亿到40亿台家用电子产品中.
如果普及程度按照机器数量来计的话, 它的普及程度竟然是Windows的数十倍. 这款操作系统叫做TR ......

Linux系统下MySQL相关命令


一、总结一下:
1.Linux系统下启动MySQL的命令:
mysqladmin start
/etc/init.d/mysql start (前面为mysql的安装路径)
2.linux下重启mysql的命令:
mysqladmin restart
/etc/init.d/mysql restart (前面为mysql的安装路径)
3.linux下关闭mysql的命令:
mysqladmin shutdown
/etc/init.d/mysql   shutd ......

linux内核情景分析{中断 系统调用 内存}


Linux的系统调用是通过中断来实现的,从用户态进入系统态。用户态和系统态有很清晰的区分,保证了安全。系统调用表是系统调用的跳转表。使用寄存器传递参数,而不是栈,因为用户态是无法访问系统栈的。地址错误是通过页面异常来处理的。
Linux内核并不支持真正意义上的线程,
LinuxThreads
是用与普通进程具有同样内核 ......

朝鲜自主研发Linux有何意义?






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
        根据国外媒体报道,近日,朝鲜(
North
Korea
)推出一款自主品牌
Linux
发行版,此举有何意义?
 
      (北)朝鲜是一个很特别的国度,国 ......

linux 驱动mmap操作


三、VMA和PAGE结构 和mmap函数
 
1.page  主要成员
   atomic_t count; 
//这个页的引用数. 当这个 count 掉到 0, 这页被返回给空闲列表.
void *virtual; 
//如果页被映射,则表示这页的内核虚拟地址; 否则, NULL.
unsigned long flags; 
//描述页状态的一套位标志. 这些包括 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号