- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 QEMU体系架构分析(2)
说在前面的话 在之前的文章<<QEMU体系架构概览(1)>>中,介绍了一些组成QEMU基本框架的一些元素或软件机制。但是从这些基本元素上你看不出QEMU是怎么工作的,看不出QEMU怎么模拟了一个虚拟机。这时因为这些元素只是QEMU的基础,QEMU在此基础上来构建并模拟虚拟机。...
2019-09-10 10:05:46 2452 4
原创 QEMU体系架构分析(1)
说在前面的话 由于工作需要,需要理解qemu的原理和实现,所以看了qemu的代码,但是发现qemu的代码读起来很困难。一是因为,qemu不是一个简单的软件,而是一个规模比较大的复杂软件。第二个是因为文档较少,特别是成系统的文档基本没有(这时开源软件的通病),只能寻求网上的资源,但是分析qemu代码的网上...
2019-07-31 10:55:12 6212 4
原创 ARM64-KVM时钟虚拟化原理分析
基本介绍 本文介绍ARM64平台KVM的时钟虚拟化的原理和实现。ARM64的KVM时钟虚拟化基本是在内核层的KVM实现的,利用ARM64提供的硬件时钟资源。qemu层只是在必要的(比如迁移)时候会调用ioctl设置虚拟化机时钟的寄存器。ARM64的硬件时钟介绍ARM64-KVM的时钟虚拟化基本原理...
2019-05-30 15:44:54 3611
原创 ARM64 KVM工作流程分析
基本介绍 在kvm虚拟机正常的运行的过程中,guest os正常执行,就好像它在一个物理机上执行一样。当guest执行到敏感指令时,就需要KVM来进行敏感指令的模拟和IO的处理了。因此不严格的可以说KVM的工作(对系统进行虚拟化)主要就是通过对guest的退出进行处理来完成的。本文就讲述ARM64平台K...
2019-04-21 12:11:24 3572 2
原创 KVM虚拟化基本原理介绍(以ARM64架构为例)
一、虚拟化基本概念 最近学习KVM,做了些代码分析,把学习的过程(主要是基于4.15版本内核arm64架构kvm的代码分析)形成几个技术文档。初步计划分为guest os退出处理分析、内存虚拟化分析和guest以及host之前切换分析等几个部分,如果后期有时间的话,补充初始化、中断虚拟化和时钟虚拟化的...
2019-04-20 21:57:28 10526 6
原创 spark架构代码分析-中断机制分析
这是spark架构代码分析的最后一篇,CPU初始化除了内存外的主要机制都已经分析到了,以后也不会再涉及spark相关的代码了。一、T2平台中断硬件机制 要想对Linux里面关于T2中断的代码有深入理解,就要...
2019-04-19 17:36:06 644
原创 sparc架构代码分析-NMI看门狗分析
性能监测功能能够统计软件运行过程中发生的各种事件,比如执行分支指令的次数,发生tlb miss的次数等,从而给软件的性能给出评判,它通常是被perf,oprofile等性能诊断工具所使用。 NMI看门狗能够周...
2019-04-19 16:21:55 680
原创 spark架构代码分析-时钟机制分析
时钟在Linux中拥有广泛的应用,比如基于时间片的进程切换,文件的时间戳,定时器等。这些时钟可以分为两种,我们可以以此加以区别: 1,保存当前的时间和日期,以便能够通过time(),ftime(),和gett...
2019-04-19 15:41:45 262
原创 spark架构代码分析-设备初始化
操作系统在启动时会扫描I/O设备,以确定设备所使用的I/O端口,内存以及中断号等资源,以提供给设备管理模块如驱动等系统其他部分使用,这个过程就叫做设备初始化。不过在T2上,I/O设备扫描的工作并不是由并不是由处于priviled模式下的Linux来完成的,而是由处于hypervilged模式下的hype...
2019-04-19 15:27:50 209
原创 sparc架构代码分析-smp代码分析
多处理器系统(Multi-Processor Systems,MPS),是指一个含有多个处理器的计算机系统。MPS需要硬件和软件的同时支持。在硬件上,根据多处理器之间的相互联系程序和工作特点,MPS又可以简单地分成松耦合多处理器系统、对称多处理器(Symmetric Multi-Processor,SM...
2019-04-19 15:15:16 772
原创 sparc架构代码分析-setup_arch函数分析
setup_arch函数做一下平台相关的基本的初始化,先把setup_arch函数的源代码贴出来,然后再分析,代码如下: 282 void __init setup_arch(char **cmdline_p) 283 { 284 /* Initialize PROM console and command line. */ 285 ...
2019-04-19 12:05:14 759
原创 spark架构代码分析-head.s启动代码分析
基本介绍 这是几年前在做sparc架构开发学习的时候写的技术文档,时间过了很久了,可能很多细节自己已经忘记了,这次把他分享在这里,现在国内估计很少还有人关注sparc架构。这里是第一片,分析的是head.S这段内核执行的第一段汇编代码,是基于2.6.32版本内核的。正文 &nb...
2019-04-19 08:38:03 478
原创 Qemu VirtIO设备模拟分析1-virtio的QOM分析(以VirtIONetPCI为例)
基本介绍 本文直接从VirtIO开始分析,在前期需要一些基础只是特别是Qemu的QOM对象模型,有很多其他的技术文档都分析的很好。VirtIONETPCI设备同样遵循QOM模型。VirtIONetPCI是一个半虚拟化的网卡设备,在guest os中存在virtio网络驱动对其进行操作,在qemu中的Vi...
2019-04-18 17:03:42 1532
原创 开博客了!!
之前在CSDN看了很多技术文章,一直没有写过博客,这是第一次开始写博客,分享一些心得。短期内专注于Qemu/KVM虚拟化方向,也会把一些之前写的技术文章贴进来。希望以后都能养成一个好的写作习惯。...
2019-04-18 16:09:38 161
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人