9 无根浮萍(wugenfuping)

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 31w+

QEMU体系架构分析(2)

说在前面的话         在之前的文章<<QEMU体系架构概览(1)>>中,介绍了一些组成QEMU基本框架的一些元素或软件机制。但是从这些基本元素上你看不出QEMU是怎么工作的,看不出QEMU怎么模拟了一个虚拟机。这时因为这些元素只是QEMU的基础,QEMU在此基础上来构建并模拟虚拟机。...

2019-09-10 08:38:39

QEMU体系架构分析(1)

说在前面的话        由于工作需要,需要理解qemu的原理和实现,所以看了qemu的代码,但是发现qemu的代码读起来很困难。一是因为,qemu不是一个简单的软件,而是一个规模比较大的复杂软件。第二个是因为文档较少,特别是成系统的文档基本没有(这时开源软件的通病),只能寻求网上的资源,但是分析qemu代码的网上...

2019-07-31 10:55:12

ARM64-KVM时钟虚拟化原理分析

基本介绍        本文介绍ARM64平台KVM的时钟虚拟化的原理和实现。ARM64的KVM时钟虚拟化基本是在内核层的KVM实现的,利用ARM64提供的硬件时钟资源。qemu层只是在必要的(比如迁移)时候会调用ioctl设置虚拟化机时钟的寄存器。ARM64的硬件时钟介绍ARM64-KVM的时钟虚拟化基本原理...

2019-05-30 15:44:54

ARM64 KVM工作流程分析

基本介绍        在kvm虚拟机正常的运行的过程中,guest os正常执行,就好像它在一个物理机上执行一样。当guest执行到敏感指令时,就需要KVM来进行敏感指令的模拟和IO的处理了。因此不严格的可以说KVM的工作(对系统进行虚拟化)主要就是通过对guest的退出进行处理来完成的。本文就讲述ARM64平台K...

2019-04-21 12:11:24

KVM虚拟化基本原理介绍(以ARM64架构为例)

一、虚拟化基本概念         最近学习KVM,做了些代码分析,把学习的过程(主要是基于4.15版本内核arm64架构kvm的代码分析)形成几个技术文档。初步计划分为guest os退出处理分析、内存虚拟化分析和guest以及host之前切换分析等几个部分,如果后期有时间的话,补充初始化、中断虚拟化和时钟虚拟化的...

2019-04-20 21:57:28

spark架构代码分析-中断机制分析

        这是spark架构代码分析的最后一篇,CPU初始化除了内存外的主要机制都已经分析到了,以后也不会再涉及spark相关的代码了。一、T2平台中断硬件机制        要想对Linux里面关于T2中断的代码有深入理解,就要...

2019-04-19 17:36:06

sparc架构代码分析-NMI看门狗分析

        性能监测功能能够统计软件运行过程中发生的各种事件,比如执行分支指令的次数,发生tlb miss的次数等,从而给软件的性能给出评判,它通常是被perf,oprofile等性能诊断工具所使用。        NMI看门狗能够周...

2019-04-19 16:21:55

spark架构代码分析-时钟机制分析

        时钟在Linux中拥有广泛的应用,比如基于时间片的进程切换,文件的时间戳,定时器等。这些时钟可以分为两种,我们可以以此加以区别:        1,保存当前的时间和日期,以便能够通过time(),ftime(),和gett...

2019-04-19 15:41:45

spark架构代码分析-设备初始化

        操作系统在启动时会扫描I/O设备,以确定设备所使用的I/O端口,内存以及中断号等资源,以提供给设备管理模块如驱动等系统其他部分使用,这个过程就叫做设备初始化。不过在T2上,I/O设备扫描的工作并不是由并不是由处于priviled模式下的Linux来完成的,而是由处于hypervilged模式下的hype...

2019-04-19 15:27:50

sparc架构代码分析-smp代码分析

        多处理器系统(Multi-Processor Systems,MPS),是指一个含有多个处理器的计算机系统。MPS需要硬件和软件的同时支持。在硬件上,根据多处理器之间的相互联系程序和工作特点,MPS又可以简单地分成松耦合多处理器系统、对称多处理器(Symmetric Multi-Processor,SM...

2019-04-19 15:15:16

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

spark架构代码分析-head.s启动代码分析

基本介绍        这是几年前在做sparc架构开发学习的时候写的技术文档,时间过了很久了,可能很多细节自己已经忘记了,这次把他分享在这里,现在国内估计很少还有人关注sparc架构。这里是第一片,分析的是head.S这段内核执行的第一段汇编代码,是基于2.6.32版本内核的。正文  &nb...

2019-04-19 08:38:03

Qemu VirtIO设备模拟分析1-virtio的QOM分析(以VirtIONetPCI为例)

基本介绍        本文直接从VirtIO开始分析,在前期需要一些基础只是特别是Qemu的QOM对象模型,有很多其他的技术文档都分析的很好。VirtIONETPCI设备同样遵循QOM模型。VirtIONetPCI是一个半虚拟化的网卡设备,在guest os中存在virtio网络驱动对其进行操作,在qemu中的Vi...

2019-04-18 17:03:42

开博客了!!

之前在CSDN看了很多技术文章,一直没有写过博客,这是第一次开始写博客,分享一些心得。短期内专注于Qemu/KVM虚拟化方向,也会把一些之前写的技术文章贴进来。希望以后都能养成一个好的写作习惯。...

2019-04-18 16:09:38
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。