2.1 Qemu系统模拟:简介

2023-10-10 04:44
文章标签 简介 qemu 2.1 系统模拟

本文主要是介绍2.1 Qemu系统模拟:简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 1 后端/加速器
    • 2 特性简介
    • 3 运行

1 后端/加速器

  • 系统模拟主要用于在host设备上运行guest OS
  • QEMU支持多种hypervisors,同时也支持JIT模拟方案(TCG)
    • 加速器
    • 例如从上表我们可以看出,运行在x86硬件上的Linux系统支持KVM,Xen,TCG

2 特性简介

  • 提供了多种设备模型device model用于模拟你想要加入到模拟及其上的各类设备
    • 多种设备模拟方案:直接模拟(即由qemu主程序进行设备管理),独立模拟(基于VirtIO或Multi-process QEMU),设备直传(即将真实设备“穿透”到VM中,需要硬件支持
  • feature block layer:用于支持复杂存储拓扑的构建
  • chardev:一种灵活的字符设备模拟方案,可以基于stdio、file、Sockets等实现对字符设备的模拟
  • 多种管理接口Management Interface
    • Human Monitor Protocal(HMP)
    • QEME Monitor Protocal(QMP)

3 运行

  • Qemu提供了非常丰富且复杂的接口
    • 部分体系结构下支持基于disk image的“一键启动”,但这种方式隐藏了很多可控的细节
  • 除了通过命令行的方式进行虚拟机管理外,基于QMP构建的libvirt框架现在也有非常的,可用的,更友好的虚拟机管理工具
  • 系统模拟的command line一般形式
    • command line
      • Qemu并没有提供一个统一的命令行工具,而是依据模拟方案以及模拟目标进行划分,例如途中的qemu-system-x86_64表示针对x86的系统模拟(system)命令行工具
    • 选项概览
        1. Machine选项定义了模拟及其的类型,各种不同的设备可能包含默认device
        1. Device选项用于定义Machine选项中没有默认值的设备
        1. Backends选项定义了模拟机器的“工作模式”
  • 案例:
$ qemu-system-aarch64 \
# machine相关选项
-machine type=virt,virtualization=on,pflash0=rom,pflash1=efivars \
-m 4096 \# CPU相关选项
-cpu max,pauth-impdef=on \
-smp 4 \
-accel tcg \# device相关选项
-device virtio-net-pci,netdev=unet \
-device virtio-scsi-pci \
-device scsi-hd,drive=hd \# 对特定device进行配置
-netdev user,id=unet,hostfwd=tcp::2222-:22 \
-blockdev driver=raw,node-name=hd,file.driver=host_device,file.filename=/dev/lvm-disk/debian-bullseye-arm64 \# 管理与输出配置
-serial mon:stdio \  # 令Qemu monitor复用(stdio)
-display none \  # 无显示配置# 启动配置
-blockdev node-name=rom,driver=file,filename=(pwd)/pc-bios/edk2-aarch64-code.fd,read-only=true \
-blockdev node-name=efivars,driver=file,filename=$HOME/images/qemu-arm64-efivars

这篇关于2.1 Qemu系统模拟:简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178037

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。

【2.1 深度学习中的感知机是什么】

2.1 深度学习中的感知机是什么 深度学习是机器学习的一个分支,它模拟人脑的工作方式来处理数据,尤其是通过神经网络的结构来自动提取数据的特征并进行分类、回归或其他复杂的任务。在深度学习的早期发展中,许多基础概念和模型为后续的复杂网络奠定了基础。其中,**感知机(Perceptron)**是一个非常重要的基础模型,它实际上是神经网络和深度学习的前身之一。 感知机的基本概念 感知机是一种二分

SaaS、PaaS、IaaS简介

云计算、云服务、云平台……现在“云”已成了一个家喻户晓的概念,但PaaS, IaaS 和SaaS的区别估计还没有那么多的人分得清,下面就分别向大家普及一下它们的基本概念: SaaS 软件即服务 SaaS是Software-as-a-Service的简称,意思是软件即服务。随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。 它是一种通过Internet提供

LIBSVM简介

LIBSVM简介 支持向量机所涉及到的数学知识对一般的化学研究者来说是比较难的,自己编程实现该算法难度就更大了。但是现在的网络资源非常发达,而且国际上的科学研究者把他们的研究成果已经放在网络上,免费提供给用于研究目的,这样方便大多数的研究者,不必要花费大量的时间理解SVM算法的深奥数学原理和计算机程序设计。目前有关SVM计算的相关软件有很多,如LIBSVM、mySVM、SVMLight等,这些