当前位置: 首页 > news >正文

哪些网络公司可以做机票预订网站/百度人工客服电话

哪些网络公司可以做机票预订网站,百度人工客服电话,手机兼职平台网站开发,seo关键词优化的技巧和方法官网:https://www.xhypervisor.org/ quick-start 文档:https://github.com/xvisor/xvisor/blob/master/docs/riscv/riscv64-qemu.txt 零、Xvisor 介绍 下面这部分是 Xvisor 官方的介绍 Xvisor 是一款开源的 Type-1 虚拟机管理程序,旨在提供一…

官网:https://www.xhypervisor.org/
quick-start 文档:https://github.com/xvisor/xvisor/blob/master/docs/riscv/riscv64-qemu.txt

零、Xvisor 介绍

下面这部分是 Xvisor 官方的介绍

Xvisor® 是一款开源的 Type-1 虚拟机管理程序,旨在提供一种整体式、轻量级、可移植且灵活的虚拟化解决方案。

它为 ARMv7a-ve、ARMv8a、x86_64、RISC-V 及其他 CPU 架构提供高性能、低内存占用的虚拟化方案。与其他 ARM 平台的虚拟机管理程序相比,Xvisor 是少数支持具有 ARM 虚拟化扩展的 32 位 ARM 处理器的方案之一。而在 RISC-V 领域,Xvisor 是全球首款 Type-1 RISC-V 虚拟机管理程序。

Xvisor 具有高度的可移植性,只要目标架构具备分页内存管理单元(PMMU)并支持 GNU C 编译器(GCC),就可以轻松移植到大多数通用的 32 位或 64 位架构上。

Xvisor 主要支持完全虚拟化,因此可以运行各种未经修改的客户机操作系统。同时,Xvisor 也提供可选的半虚拟化支持,并采用与架构无关的方式(如 VirtIO PCI/MMIO 设备),以确保客户机操作系统无需修改即可使用半虚拟化功能。

Xvisor 拥有现代虚拟机管理程序所具备的大部分关键特性,包括:[基于设备树的配置]、无滴答(tickless)和高精度计时、线程管理框架、主机设备驱动框架、I/O 设备仿真框架、可运行时加载的模块、直通硬件访问、动态客户机创建与销毁、管理终端、网络虚拟化、输入设备虚拟化、显示设备虚拟化等

根据主机硬件访问、CPU 虚拟化和客户机 I/O 仿真方式的不同,虚拟机管理程序可以分为以下三类:

  • 完全宏内核化(Complete Monolithic):完全宏内核化虚拟机管理程序(如 Xvisor)采用统一的软件架构,负责主机硬件访问、CPU 虚拟化和客户机 I/O 仿真。
  • 部分宏内核化(Partially Monolithic):部分宏内核化虚拟机管理程序(如 KVM)通常是通用宏内核操作系统(如 Linux®、FreeBSD®、NetBSD® 等)的扩展,其内核负责主机硬件访问和 CPU 虚拟化,而客户机 I/O 仿真则由用户态软件(如 QEMU®)完成。
  • 微内核化(Micro-kernelized):微内核化虚拟机管理程序(如 Xen®)通常采用轻量级微内核,在内核中提供基础的主机硬件访问和 CPU 虚拟化,其余功能依赖管理客户机(如 Xen 的 Dom0),后者负责完整的主机硬件访问、管理接口以及客户机 I/O 仿真。

Xvisor 是一个完全宏内核化的虚拟机管理程序,而大多数开源虚拟机管理程序要么是部分宏内核化的,要么是微内核化的。

个人认为的几个关注点:

  • Xvisor 基于设备树的配置(使用设备树作为 guest 资源的配置文件,使用时注意区分其和 Linux 使用的设备树)
  • Xvisor 有管理终端,可以通过命令进行动态客户机创建与销毁
  • Xvisor 是一个宏内核化 Type-1 Hypervisor,本身包含设备驱动,支持全虚拟化和半虚拟化

启动 Xvisor 需要

  1. Xvisor 自身的镜像文件 vmm.bin
  2. xvisor 使用的根文件系统 disk.img,包含配置 Guest Linux 资源的配置文件(设备树),Guest Linux Image、Guest Linux 使用的设备树等内容

一、根据 Xvisor 的文档准备镜像

对 docs/riscv/riscv64-qemu.txt 的部分进行了划分,使整体结构更清晰

  • Xvisor 镜像
  • Xvisor 启动 Guest 时,先执行 Basic Firmware(执行一些准备工作),然后跳转执行 Guest Image
  • Basic Firmware 也就是虚拟的固件程序,完成一些 Guest 执行前的初始化工作,例如搬运数据到内存
  • OpenSBI
  • Linux
  • Xvisor 使用根文件系统
CROSS_COMPILE=riscv64-unknown-linux-gnu-# 1. Build Xvisor
cd <xvisor_source_directory>
make ARCH=riscv generic-64b-defconfig
make# Build Basic Firmware
make -C tests/riscv/virt64/basic# 2. Build OpenSBI
cd <opensbi_source_directory>
make PLATFORM=generic# 3. Build Linux
cd <linux_source_directory>
cp arch/riscv/configs/defconfig arch/riscv/configs/tmp-virt64_defconfig
<xvisor_source_directory>/tests/common/scripts/update-linux-defconfig.sh -p arch/riscv/configs/tmp-virt64_defconfig -f <xvisor_source_directory>/tests/riscv/virt64/linux/linux_extra.config
make O=<linux_build_directory> ARCH=riscv tmp-virt64_defconfig
make O=<linux_build_directory> ARCH=riscv Image dtbs# 4. Create disk image for Xvisor
cd <xvisor_source_directory>
mkdir -p ./build/disk/tmp
mkdir -p ./build/disk/system
cp -f ./docs/banner/roman.txt ./build/disk/system/banner.txt
cp -f ./docs/logo/xvisor_logo_name.ppm ./build/disk/system/logo.ppm
mkdir -p ./build/disk/images/riscv/virt64
# 4.0 准备 Guest 的配置文件(设备树配置)
dtc -q -I dts -O dtb -o ./build/disk/images/riscv/virt64-guest.dtb ./tests/riscv/virt64/virt64-guest.dts
# 4.1 拷贝 basic firmware
cp -f ./build/tests/riscv/virt64/basic/firmware.bin ./build/disk/images/riscv/virt64/firmware.bin
cp -f ./tests/riscv/virt64/linux/nor_flash.list ./build/disk/images/riscv/virt64/nor_flash.list
cp -f ./tests/riscv/virt64/linux/cmdlist ./build/disk/images/riscv/virt64/cmdlist
cp -f ./tests/riscv/virt64/xscript/one_guest_virt64.xscript ./build/disk/boot.xscript # 自动执行,类似于 Linux 使用的 init
# 4.2 拷贝 Guest Linux Image
cp -f ~/riscv-linux-devel/arch/riscv/boot/Image ./build/disk/images/riscv/virt64/Image # Linux Image
# 4.3 准备 Guest Linux 使用的设备树
dtc -q -I dts -O dtb -o ./build/disk/images/riscv/virt64/virt64.dtb ./tests/riscv/virt64/linux/virt64.dts
# 4.4 拷贝 Guest Linux 使用的 rootfs
cp -f ../busybox-1.33.1/rootfs.img ./build/disk/images/riscv/virt64/rootfs.img # Linux rootfs
genext2fs -B 1024 -b 32768 -d ./build/disk ./build/disk.img

二、在 Qemu 中运行

Xvisor 具备解析设备树的能力,借助设备树探测并驱动设备
并且会执行启动参数中的 vmm.bootcmd 命令
Launch QEMU

qemu-system-riscv64 -M virt -m 512M -nographic \-kernel ./build/vmm.bin \-initrd ./build/disk.img \-append 'vmm.bootcmd="vfs mount initrd /;vfs run /boot.xscript;vfs cat /system/banner.txt"'

启动 Guest Linux

# 1. Kick Guest0 to start Basic Firmware
XVisor# guest kick guest0
# 2. Bind to virtual UART
XVisor# vserial bind guest0/uart0
# 3. Copy linux from NOR flash to RAM and start linux booting from RAM, 执行 cmdlist
[guest0/uart0] basic# autoexec
# 4. Wait for Linux prompt to come-up and then try out some commands
[guest0/uart0] / # ls
(Note: "autoexec" is a short-cut command)
(Note: The <xvisor_source_directory>/tests/riscv/virt64/linux/cmdlist file which we have added to guest NOR flash contains set of commands for booting linux from NOR flash)
Enter character seqence 'ESCAPE+x+q" return to Xvisor prompt]
[guest0/uart0] / #

进入 xvisor
在这里插入图片描述

进入 guest linux
在这里插入图片描述

补充:【已经过验证】
Xvisor 包含了中断控制器的驱动,Xvisor 自身可以驱动 AIA 硬件,并可以提供虚拟的 PLIC 供 Guest 使用

相关文章:

初学 Xvisor 之理解并跑通 Demo

官网&#xff1a;https://www.xhypervisor.org/ quick-start 文档&#xff1a;https://github.com/xvisor/xvisor/blob/master/docs/riscv/riscv64-qemu.txt 零、Xvisor 介绍 下面这部分是 Xvisor 官方的介绍 Xvisor 是一款开源的 Type-1 虚拟机管理程序&#xff0c;旨在提供一…...

深度内容运营与开源AI智能名片2+1链动模式S2B2C商城小程序在打造种草社区中的应用研究

摘要&#xff1a;移动互联网的迅猛发展极大地改变了消费者的购物行为和消费习惯&#xff0c;传统的购物体验已难以满足用户日益增长的个性化需求。在这种背景下&#xff0c;深度内容运营和实时互动成为提升用户购物体验、影响用户购物行为的重要手段。同时&#xff0c;开源AI智…...

RNN/LSTM/GRU 学习笔记

文章目录 RNN/LSTM/GRU一、RNN1、为何引入RNN&#xff1f;2、RNN的基本结构3、各种形式的RNN及其应用4、RNN的缺陷5、如何应对RNN的缺陷&#xff1f;6、BPTT和BP的区别 二、LSTM1、LSTM 简介2、LSTM如何缓解梯度消失与梯度爆炸&#xff1f; 三、GRU四、参考文献 RNN/LSTM/GRU …...

音频录制一般在什么情况下会选择保存为PCM?什么情况会选择保存为WAV?

在音频开发中&#xff0c;选择保存为 PCM 或 WAV 格式取决于具体的应用场景和需求。以下是两种格式的特点以及适用场景的分析&#xff1a; PCM 格式 特点&#xff1a; 原始音频数据&#xff1a; PCM 是未压缩的原始音频数据&#xff0c;没有任何文件头或元数据。数据直接以二进…...

C#常用744单词

1.visual 可见的 2.studio 工作室 3.dot 点 4.net 网 5.harp 尖端的&#xff0c;锋利的。 6.amework 骨架&#xff0c;构架&#xff0c;框架 7.beta 测试版&#xff0c;试用版 8.XML&#xff08;全称&#xff1a;eXtensible Markup Language&#xff09…...

如何理解算法的正确性?

循环不变式&#xff08;Loop Invariant&#xff09; 是算法设计和程序验证中的一个核心概念&#xff0c;用于证明循环的正确性。它是在循环的每次迭代开始和结束时均保持为真的一种条件或性质&#xff0c;帮助开发者确保循环按预期工作&#xff0c;最终达到目标状态。 循环不变…...

蓝桥杯试题:排序

一、问题描述 给定 nn 个正整数 a1,a2,…,ana1​,a2​,…,an​&#xff0c;你可以将它们任意排序。现要将这 nn 个数字连接成一排&#xff0c;即令相邻数字收尾相接&#xff0c;组成一个数。问&#xff0c;这个数最大可以是多少。 输入格式 第一行输入一个正整数 nn&#xff…...

实验十一 Servlet(二)

实验十一 Servlet(二) 【实验目的】 1&#xff0e;了解Servlet运行原理 2&#xff0e;掌握Servlet实现方式 【实验内容】 改造实验10&#xff0c;引入数据库&#xff0c;创建用户表&#xff0c;包括用户名和密码&#xff1a;客户端通过login.jsp发出登录请求&#xff0c;请求…...

第五天 初步了解ArkTS和ArkUI

初步了解ArkTS和ArkUI&#xff0c;可以从以下几个方面进行概述&#xff1a; 一、ArkTS简介 定义与关系&#xff1a; ArkTS是HarmonyOS&#xff08;鸿蒙系统&#xff09;优选的主力应用开发语言。它基于TypeScript&#xff08;TS&#xff09;进行扩展&#xff0c;兼容TS的所有特…...

java中的锁面试题

1、多线程中 synchronized 锁升级的原理是什么&#xff1f; synchronized 是JVM层面的锁&#xff0c;是 Java 关键字&#xff0c;通过 monitor 对象来完成&#xff0c;synchronized 的实现涉及到锁的升级&#xff0c;具体为无锁、偏向锁、自旋锁、重量级锁 synchronized 锁升级…...

ES6 变量解构赋值总结

1. 数组的解构赋值 1.1 基本用法 // 基本数组解构 const [a, b, c] [1, 2, 3]; console.log(a); // 1 console.log(b); // 2 console.log(c); // 3// 跳过某些值 const [x, , y] [1, 2, 3]; console.log(x); // 1 console.log(y); // 3// 解构剩余元素 const [first, ...re…...

知识蒸馏教程 Knowledge Distillation Tutorial

来自于&#xff1a;Knowledge Distillation Tutorial 将大模型蒸馏为小模型&#xff0c;可以节省计算资源&#xff0c;加快推理过程&#xff0c;更高效的运行。 使用CIFAR-10数据集 import torch import torch.nn as nn import torch.optim as optim import torchvision.tran…...

DeepSeek各版本说明与优缺点分析

DeepSeek各版本说明与优缺点分析 DeepSeek是最近人工智能领域备受瞩目的一个语言模型系列&#xff0c;其在不同版本的发布过程中&#xff0c;逐步加强了对多种任务的处理能力。本文将详细介绍DeepSeek的各版本&#xff0c;从版本的发布时间、特点、优势以及不足之处&#xff0…...

java进阶专栏的学习指南

学习指南 java类和对象java内部类和常用类javaIO流 java类和对象 类和对象 java内部类和常用类 java内部类精讲Object类包装类的认识String类、BigDecimal类初探Date类、Calendar类、SimpleDateFormat类的认识java Random类、File类、System类初识 javaIO流 java IO流【…...

kamailio-osp模块

该文档详细讲解了如何在Kamailio中配置和使用OSP模块&#xff08;Open Settlement Protocol Module&#xff09;&#xff0c;以实现基于ETSI标准的安全多边对等互联&#xff08;Secure Multi-Lateral Peering&#xff09;。以下是核心内容的总结&#xff1a; 1. 模块功能 OSP模…...

【TensorFlow】T1:实现mnist手写数字识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 1、设置GPU import tensorflow as tf gpus tf.config.list_physical_devices("GPU")if gpus:gpu0 gpus[0]tf.config.experimental.set_memory_g…...

Rapidjson 实战

Rapidjson 是一款 C 的 json 库. 支持处理 json 格式的文档. 其设计风格是头文件库, 包含头文件即可使用, 小巧轻便并且性能强悍. 本文结合样例来介绍 Rapidjson 一些常见的用法. 环境要求 有如何的几种方法可以将 Rapidjson 集成到您的项目中. Vcpkg安装: 使用 vcpkg instal…...

【React】受控组件和非受控组件

目录 受控组件非受控组件基于ref获取DOM元素1、在标签中使用2、在组件中使用 受控组件 表单元素的状态&#xff08;值&#xff09;由 React 组件的 state 完全控制。组件的 state 保存了表单元素的值&#xff0c;并且每次用户输入时&#xff0c;React 通过事件处理程序来更新 …...

Ollama+deepseek+Docker+Open WebUI实现与AI聊天

1、下载并安装Ollama 官方网址&#xff1a;Ollama 安装好后&#xff0c;在命令行输入&#xff0c; ollama --version 返回以下信息&#xff0c;则表明安装成功&#xff0c; 2、 下载AI大模型 这里以deepseek-r1:1.5b模型为例&#xff0c; 在命令行中&#xff0c;执行&…...

DEEPSEKK GPT等AI体的出现如何重构工厂数字化架构:从设备控制到ERP MES系统的全面优化

随着深度学习&#xff08;DeepSeek&#xff09;、GPT等先进AI技术的出现&#xff0c;工厂的数字化架构正在经历前所未有的变革。AI的强大处理能力、预测能力和自动化决策支持&#xff0c;将大幅度提升生产效率、设备管理、资源调度以及产品质量管理。本文将探讨AI体&#xff08…...

阿莱(arri)mxf文件变0字节的恢复方法

阿莱(arri)是专业级的影视产品软硬件供应商&#xff0c;很多影视作品都是使用阿莱(arri)的设备拍摄出来的。总体上来讲阿莱(arri)的文件格式有mov和mxf两种&#xff0c;这次恢复的是阿莱(arri)的mxf&#xff0c;机型是arri mini,素材保存在一个8t的硬盘上&#xff0c;使用的是e…...

初识 Node.js

在当今快速发展的互联网技术领域&#xff0c;Node.js 已经成为了一个非常流行且强大的平台。无论是构建高性能的网络应用、实时协作工具还是微服务架构&#xff0c;Node.js 都展示了其独特的优势。本文将带您走进 Node.js 的世界&#xff0c;了解它的基本概念、核心特性以及如何…...

debug-vscode调试方法

debug - vscode gdb调试指南 文章目录 debug - vscode gdb调试指南前言一、调试代码二、命令查看main反汇编查看寄存器打印某个变量打印寄存器&#xff0c;如pc打印当前函数栈信息&#xff08;当前执行位置&#xff09;打印程序栈局部变量x命令的语法如下所示&#xff1a;打印某…...

Cypher进阶(函数、索引)

文章目录 Cypher进阶Aggregationcount()函数统计函数collect()函数 unwindforeachmergeunionload csvcall 函数断言函数all()any()~~exists()~~is not nullnone()single() 标量函数coalesce()startNode()/endNode()id()length()size() 列表函数nodes()keys()range()reduce() 数…...

XML Schema 数值数据类型

XML Schema 数值数据类型 引言 XML Schema 是一种用于描述 XML 文档结构的语言。它定义了 XML 文档中数据的有效性和结构。在 XML Schema 中,数值数据类型是非常重要的一部分,它定义了 XML 文档中可以包含的数值类型。本文将详细介绍 XML Schema 中常用的数值数据类型,以及…...

Window获取界面空闲时间

‌GetLastInputInfo‌是一种Windows API函数&#xff0c;用于获取上次输入操作的时间。 该函数通过LASTINPUTINFO结构返回最后一次输入事件的时间。 原型如下 BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO plii);那么可以利用GetLastInputInfo来得到界面没有操作的时长 uint…...

Java进阶(vue基础)

目录 1.vue简单入门 ?1.1.创建一个vue程序 1.2.使用Component模板(组件&#xff09; 1.3.引入AXOIS ?1.4.vue的Methods&#xff08;方法&#xff09; 和?compoted&#xff08;计算&#xff09; 1.5.插槽slot 1.6.创建自定义事件? 2.Vue脚手架安装? 3.Element-UI的…...

Mac电脑上好用的压缩软件

在Mac电脑上&#xff0c;有许多优秀的压缩软件可供选择&#xff0c;这些软件不仅支持多种压缩格式&#xff0c;还提供了便捷的操作体验和强大的功能。以下是几款被广泛推荐的压缩软件&#xff1a; BetterZip 功能特点&#xff1a;BetterZip 是一款功能强大的压缩和解压缩工具&a…...

Ubuntn24.04安装

1.镜像下载 https://cn.ubuntu.com/download Ubuntu 24.04.1 (Noble Numbat) 进入下载即可 2.安装系统 打开虚拟机 选择语言 输入用户名和密码 安装ssh 安装完成重启即可。 3.可能出现的问题 关于Ubuntu系统虚拟机出现频繁闪屏&#xff0c;移动和屏幕适应大小问题_vmware安…...

基于ansible部署elk集群

ansible部署 ELK部署 ELK常见架构 &#xff08;1&#xff09;ElasticsearchLogstashKibana&#xff1a;这种架构是最常见的一种&#xff0c;也是最简单的一种架构&#xff0c;这种架构通过Logstash收集日志&#xff0c;运用Elasticsearch分析日志&#xff0c;最后通过Kibana中…...