virtio-blk简介[转]】的更多相关文章

V0.1.0 feature base knowledge: Architecture of the Kernel-based Virtual Machine (KVM) 用rust-vmm打造未来的虚拟化架构 KVM内核文档阅读笔记 <Mastering KVM Virtualization>:第二章 KVM内部原理 Using the KVM API (org) Example for a simple vmm (github, search pub fn test_vm()) kvm-i…
我的微信公众号 aCloudDeveloper 专注于云计算技术,互联网技术,生活感悟,打造干货分享平台,每周至少一更,欢迎小伙伴们多多关注! 什么是 virtio virtio 是一种 I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用 I/O 设备的抽象.提供了一套上层应用与各 Hypervisor 虚拟化设备(KVM,Xen,VMware等)之间的通信框架和编程接口,减少跨平台所带来的兼容性问题,大大提高驱动程序开发效率. 为什…
1 进程管理简介 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 2 常用命令 2.1 pstree 2.1.1 功能描述 树形结构展示进程树 2.1.2 命令的安装 首先确保你安装了psmisc. [root@localhost ~]# yum install psmisc -y 2.1.3 命令使用语法 pstree [-a, --arguments] [-c, --compact] [-h, --highlig…
什么是 vhost vhost 是 virtio 的一种后端实现方案,在 virtio 简介中,我们已经提到 virtio 是一种半虚拟化的实现方案,需要虚拟机端和主机端都提供驱动才能完成通信,通常,virtio 主机端的驱动是实现在用户空间的 qemu 中,而 vhost 是实现在内核中,是内核的一个模块 vhost-net.ko.为什么要实现在内核中,有什么好处呢,请接着往下看. 为什么要用 vhost 在 virtio 的机制中,guest 与 用户空间的 Hypervisor 通信,会造…
作者 : 韩曙亮 转载请出名出处 : http://blog.csdn.net/shulianghan/article/details/38636827 一. Linux 内核简介 1. 内核功能简介 (1) 操作系统 和 内核 简介 操作系统 : -- 功能 : 完成基本功能 和 系统管理; -- 组成 : 内核(kernel), 设备驱动程序(driver), 启动引导程序(bootloader), 命令行(shell), 用户界面(UI), 文件系统(filesystem), 管理工具;…
1 进程管理简介 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 2 常用命令 2.1 pstree 2.1.1 功能描述 树形结构展示进程树 2.1.2 命令的安装 首先确保你安装了psmisc. [root@localhost ~]# yum install psmisc -y 2.1.3 命令使用语法 pstree [-a, --arguments] [-c, --compact] [-h, --highlig…
Linux 内核引导选项简介 作者:金步国 连接地址:http://www.jinbuguo.com/kernel/boot_parameters.html 参考参数:https://www.cnblogs.com/shengs/p/4608441.html 版权声明 本文作者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布. 无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失. 自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加…
一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 虚拟化的类型: 全虚拟化 半虚拟化(涉及修改guestos内核,因此仅支持开源kernel的系统) 硬件辅助虚拟化(主板上开启虚拟化支持) 几种虚拟化软件简介 KVM 完全虚拟化 架构:寄居架构(linux…
Blktrace简介 Blktrace是一个用户态的工具,用来收集磁盘IO信息中当IO进行到块设备层(block层,所以叫blk trace)时的详细信息(如IO请求提交,入队,合并,完成等等一些列的信息). 块设备层处于下图(借用褚霸的图)中的 “block layer”   Blktrace工作原理 (1)     blktrace测试的时候,会分配物理机上逻辑cpu个数个线程,并且每一个线程绑定一个逻辑cpu来收集数据 (2)     blktrace在debugfs挂载的路径(默认是/s…
1.spice介绍 1.1 spice简介 spice是由Qumranet开发的开源网络协议,2008年红帽收购了Qumranet获得了这个协议.SPICE是红帽在虚拟化领域除了KVM的又一“新兴技术”,它提供与虚拟桌面设备的远程交互实现,主要应用在桌面虚拟化,支持图像,2D传输,720P视频播放 目前,spice主要目标是为qemu虚拟机提供高质量的远程桌面访问,它致力于克服传统虚拟桌面的一些弊端,并且强调用户体验 spice包含有3个组件: SPICE Driver:SPICE驱动器 存在于…
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(BlogID=102) 环境说明 Ubuntu 18.04 gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) Bochs 2.6 As86 version: 0.16.17 前言   自从我近段时间开始温习一些基础知识以来,其中觉得以前学的很浅的就是OS原理.为啥这样…
ps:本文基于4.19.204内核 Q:vqueue的结构成员解释: A:结构如下,解析附后: struct virtqueue { struct list_head list;//caq:一个virtio设备所有的vq串接 void (*callback)(struct virtqueue *vq);//caq:buf 被消费之后的回调,比如 virtblk_done, const char *name;//caq:vq的名字,比如virtio_blk的vq名字叫req.x,x为编号,而net…
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服务器.Razor视图编译以及Azure相关的特性.要将现有项目更新到ASP.NET Core 1.1 ,您需要执行以下操作: 1. 下载并安装更新的.NET Core 1.1  SDK2. 按照.NET Core 1.1 升级公告(下一节介绍)中的说明将项目更新为使用.NET Core 1.1 3.…
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中的实现(三)命令绑定 MVVM模式解析和在WPF中的实现(四)事件绑定 MVVM模式解析和在WPF中的实现(五)View和ViewModel的通信 MVVM模式解析和在WPF中的实现(六)用依赖注入的方式配置ViewModel并注册消息 0x00 写在前面的废话 我大概是从2012年底开始接…
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介绍. 接触Cassandra的原因与接触Neo4J的原因相同:我们的产品需要能够记录一系列关系型数据库所无法快速处理的大量数据.Cassandra,以及后面将要介绍的MongoDB,都是我们在技术选型过程中的一个备选方案.虽然说最后我们并没有选择Cassandra,但是在整个技术选型过程中所接触到的一系列内部…
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. 在您将看到的这一篇文章中,我们将对REST,尤其是基于HTTP的REST服务进行详细地介绍.通过这些文章,您不仅可以了解到什么是REST,更能清晰地了解到您在编写REST服务时所需要遵守的各个守则,设计RESTful API时需要考虑的各种因素以及实现过程中可能遇到的问题等内容. REST示例 我…
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Microservice架构模式设计及搭建一个具有良好扩展性并可持续开发的系统.除此之外,该书还将基于该模式的系统演化流程与Continuous Delivery等当前甚为流行的开发流程结合在了一起,使得Microservice架构模式看起来非常具有吸引力.基于这些原因,该架构模式迅速被业界所熟知,并在多个产品中被…
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编译 ( 编译之前处理 ),const是编译阶段. 编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误. 宏的好处:宏能定义一些函数,方法,const不能. 宏的坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换. 注意:很多Blog都说使用宏,会消耗很多内存,我…
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SSL加密层. HTTP是明文传输,而现在HTTPS把明文加密后 再给TCP传输. 2.HTTPS实现的简化版 2.1.HTTPS在三次握手的时候用非对称加密生成 一个密钥,后面的数据通信就用这个密钥进行对称加密通信.这样既做到了安全性,又避免了非对称加密的效率问题. 2.2.有的时候我们需要做接口的安…
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结合视频学习和书籍基础的笔记所得.本系列文章将采用理论结合实践方式编写.首先介绍机器学习和深度学习的范畴,然后介绍关于训练集.测试集等介绍.接着分别介绍机器学习常用算法,分别是监督学习之分类(决策树.临近取样.支持向量机.神经网络算法)监督学习之回归(线性回归.非线性回归)非监督学习(K-means聚…
Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile,但是由于cesium基于WebGL来渲染3D的,所以对浏览器有要求,必须支持WebGL才行.参照cesium官网的说明文档,浏览器支持版本:IE11或者以上.谷歌.火狐版本比较高级等等,其实测试浏览器支不支持,运行demo就可以测试,会…
1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发;           b.大大减少代码量;           c.性能稍高(不能与数据库高手相比,较一般数据库使用者编写的代码具有一定的优势):           d.跨数据库平台: ORM(Object Relation Mapping): Object 实体类 属性 数据类型 对象 Relation 表名 字段 数据类型 记录 Mapping 把Object类型数据映射到关系型数据库中,这样就可以只操作对象…
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 04 - 模块系统 Node.js 教程 05 - EventEmitter(事件监听/发射器) Node.js 教程 06 - 函数 ▁▃▅ Node.js 教程 01 - 简介.安装及配置 ▅▃▁ 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Ch…
Spark简介 视频教程: 1.优酷 2.YouTube 简介: Spark是加州大学伯克利分校AMP实验室,开发的通用内存并行计算框架.Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目Spark以其先进的设计理念,迅速成为社区的热门项目,围绕着Spark推出了Spark SQL.Spark Streaming.MLLib和GraphX等组件,也就是BDAS(伯克利数据分析栈),这些组件逐渐形成大数据处理一站式解决平台. Spark使用Scala语言实现,…
Linux硬件IO的优化简介 首先简单介绍下有哪些硬件设备如下(由于硬件种类厂家等各种因素我就不在此多做介绍有兴趣的可以自行学习): 1.CPU:中央处理器,是计算机运算控制的核心部件之一,相当于人的大脑.如下图 2.RAM:内存条与CPU沟通的桥梁,很多数据和运算在内存中做临时处理,相当于你在做快速记忆运算的状态,如下图: 3.Disk:硬盘使我们用来存放数据和资料的仓库,因为内存是临时存储断电后会释放其中的所有数据,所以要保存备份数据就要用到硬盘,且硬盘空间要比内存大.好比你的笔记本俗话说的…
kvm上的Linux虚拟机使用virtio磁盘 系统:centos6.6  64位 网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘 因为centos6或以上系统已经包含了virtio驱动,所以不需要再执行下面语句加载内核模块 modprobe virtio virtio_pci virtio_blk virtio_net mkinitrd --with virtio --with virtio_pci --with virtio_blk --with virtio_net…
ENode是什么 ENode是一个.NET平台开源的应用开发框架,为开发人员提供了一套完整的基于DDD+CQRS+ES+(in-memory)+EDA架构风格的解决方案. ENode的特色是什么 解决CQRS架构的C端的高并发写的问题,以及CQ两端数据同步的顺序性保证和幂等性问题: 将并发写降低到最低,从而做到最大程度的并行.最大的吞吐量: 通过基于分布式消息队列横向扩展的方式实现系统的可伸缩性: 聚合根常驻内存,可以完全以OO的方式来设计实现聚合根,不必为ORM的阻抗失衡而烦恼: 基于EDA的…
最近我在用图形数据库来完成对一个初创项目的支持.在使用过程中觉得这种图形数据库实际上挺有意思的.因此在这里给大家做一个简单的介绍. NoSQL数据库相信大家都听说过.它们常常可以用来处理传统的关系型数据库所难以解决的一系列问题.通常情况下,这些NoSQL数据库分为Graph,Document,Column Family以及Key-Value Store等四种.这四种类型的数据库分别使用了不同的数据结构来记录数据.因此它们所适用的场景也不尽相同. 其中最为特别的便是图形数据库了.可以说,它和其它的…
本文中,我们将对ZooKeeper进行介绍.简单地说,ZooKeeper是一个用来在构成应用的各个子服务之间进行协调的一个服务. 由于其本身并没有特别复杂的机制,因此我们将会把更多的笔墨集中在如何对ZooKeeper进行使用方面.当然,这也是和其它博文所略有不同的地方,否则我也不会花费时间去写这这篇博客. ZooKeeper简介 我们已经在前面一系列和集群相关的博文中提到过,一个大型服务常常是由一系列子服务共同组成的.这些服务常常包含一系列动态的配置,以告知子服务当前程序运行环境的变化.那么我们…
在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法.其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率. 除了能够提高服务的运行效率之外,服务端缓存还常常用来提高服务的扩展性.因此一些大规模的Web应用,如Facebook,常常构建一个庞大的服务端缓存.而它们所最常使用的就是Memcached. 在本文中,我们就将对Memcached进行简单地介绍. Memcached简介 在介绍Memcached之前,让我们首先通过一个示例…