只有偏执狂才能生存
发布时间:2013-06-10 11:41:58
最近用一些零碎的时间学习KVM,算算大概也快有一个月了吧,进度还是很缓慢的,感觉该写一些类似读书笔记的东西了。欢迎大家来讨论,如果有错误,还请不吝赐教KVM 即 Kernel Based Virtual Machine, 是一个内核模块,使用它需要CPU支持虚拟化。加载KVM模块后,系统中会有一个/dev/kvm 设备,这个设备提供 i.........【阅读全文】
发布时间:2013-06-10 08:34:17
1, KVM结构及工作原理1.1 KVM结构KVM基本结构有两部分组成。一个是KVM Driver ,已经成为Linux 内核的一个模块。负责虚拟机的创建,虚拟内存的分配,虚拟CPU寄存器的读写以及虚拟CPU的运行等。另外一个是稍微修改过的Qemu,用于模拟PC硬件的用户空间组件,提供I/O设备模型以.........【阅读全文】
发布时间:2013-06-10 00:38:29
virtio-blk原理:1.处理数据请求有两条路径1).request路径:virtblk_requestvirtio_blk结构体中的gendisk结构的request_queue队列接收block层的bio请求,按照request_queue队列默认处理过程,bio请求会在io调度层转化为request,然后进入request_queue队列,最后调用virtblk_request将request转化为vbr结构。2).bi.........【阅读全文】
发布时间:2013-06-10 00:35:34
1.中断两任务:1).当设备的配置信息发生改变(config changed),会产生一个中断(称为change中断),中断处理程序需要调用相应的处理函数(需要驱动定义)。2).当设备向队列中写入信息时,会产生一个中断(称为vq中断),中断处理函数需要调用相应的队列的回调函数(需要驱动定义)。2.三种中断处理方式:1.........【阅读全文】