上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
关于这几个寄存器,每次翻看intel手册都很不好找,干脆直接贴在这里吧! Read More
posted @ 2016-11-29 20:20 jack.chen Views(3637) Comments(0) Diggs(0) Edit
2016-11-22 前面在看软中断的时候,牵扯到不少进程调度的知识,这方面自己确实一直不怎么了解,就趁这个机会好好学习下。 现代的操作系统都是多任务的操作系统,尽管随着科技的发展,硬件的处理器核心越来越多,但是仍然不能保证一个进程对应一个核心,这就势必需要一个管理单元,负责调度进程,由管理单元来决 Read More
posted @ 2016-11-28 20:13 jack.chen Views(11447) Comments(0) Diggs(0) Edit
2016-11-02 中断这个特性相比大家都不会陌生,稍微懂点操作系统知识的人都可以说到一二。但是要真正把中断描述清楚,以及LInux中和windows中的实现方式,这可能还是有点难度的。今天笔者就想彻头彻尾的把中断给详细分析下。 说到中断还不得不从现代操作系统的特性说起,无论是桌面PC操作系统还是 Read More
posted @ 2016-11-24 16:19 jack.chen Views(32030) Comments(0) Diggs(3) Edit
2016-11-18 记得之前看windows内核原理与实现的时候,在内存管理部分,看到涉及到PAE模式的部分,提到此模式下可以让系统在虚拟地址还是32位宽的情况下,支持64GB的物理内存或者更多。当时就没怎么想明白,今天突然想起就结合intel手册仔细研读了一番,但是手册所讲主要是其寻址过程以及各 Read More
posted @ 2016-11-18 16:32 jack.chen Views(6006) Comments(0) Diggs(1) Edit
2016-11-08 在虚拟化环境下,intel CPU在处理器级别加入了对内存虚拟化的支持。即扩展页表EPT,而AMD也有类似的成为NPT。在此之前,内存虚拟化使用的一个重要技术为影子页表。 背景: 在虚拟化环境下,虚拟机使用的是客户机虚拟地址GVA,而其本身页表机制只能把客户机的虚拟地址转换成客 Read More
posted @ 2016-11-16 19:55 jack.chen Views(19711) Comments(0) Diggs(0) Edit
2016-11-08 前段时间大致整理了下virtIO后端驱动的工作模式以及原理,今天就从前端驱动的角度描述下目前Linux内核代码中的virtIO驱动是如何配合后端进行工作的。 注:本节代码参考Linux 内核3.11.1代码 virtIO驱动从架构上来讲可以分为两部分,一个是其作为PCI设备本身 Read More
posted @ 2016-11-15 15:48 jack.chen Views(8645) Comments(2) Diggs(0) Edit
2016-11-15 本来这是在前端驱动后期分析的,但是这部分内容比较多,且分析了后端notify前端的机制,所以还是单独拿出一节分析比较好! 还是拿网络驱动部分做案例,网络驱动部分有两个队列,(忽略控制队列):接收队列和发送队列;每个队列都对应一个virtqueue,两个队列之间是互不影响的。 前 Read More
posted @ 2016-11-15 15:43 jack.chen Views(13807) Comments(5) Diggs(2) Edit
2016-10-08 virtIO是一种半虚拟化驱动,广泛用于在XEN平台和KVM虚拟化平台,用于提高客户机IO的效率,事实证明,virtIO极大的提高了VM IO 效率,配备virtIO前后端驱动的情况下,客户机IO效率基本达到和宿主机一样的水平。咱们本次的分析以qemu-kvm架构的虚拟化平台为 Read More
posted @ 2016-11-06 16:25 jack.chen Views(15918) Comments(6) Diggs(0) Edit
由于功能需要,体验了手动编译安装Libvrt,还是碰到了不少问题,这里总结如下仅限于centos7: 1、configure: error: You must install the pciaccess module to build with udev 解决方案:yum install libpc Read More
posted @ 2016-11-02 19:08 jack.chen Views(4423) Comments(0) Diggs(0) Edit
因为要给特殊的虚拟机关联文件指定selinux标签,而默认的Libvirt没有这个功能,所以需要修改LIbvirt源代码,重新编译安装Libvirt,而手动编译安装的LIbvirt,没有办法使用systemctl管理libvirtd服务,只能通过libvirtd -d的方式手动启动。然而,手动启动的 Read More
posted @ 2016-11-02 18:44 jack.chen Views(7956) Comments(0) Diggs(0) Edit
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页

以马内利