1、安装虚拟机
Fusion and Workstation | VMware
注册账号,登录,搜索:VMware Workstation Pro
有一个承认链接
百度网盘:
通过网盘分享的文件:VMware-workstation-full-17.6.2-24409262.exe
链接: https://pan.baidu.com/s/1Nvt6w0yqQesj2a-gq59ivQ?pwd=d6ey 提取码: d6ey
2、下载ubuntu-20.04.3-desktop-amd64.iso
Ubuntu 20.04.6 LTS (Focal Fossa)
硬件兼容性默认,不要动
虚拟机运行的 Ubuntu 有如下的推荐配置:
- 双核 2 GHz 处理器或更高
- 4 GB 系统内存
- 25 GB 磁盘存储空间
- 可访问的互联网
- 光驱或 USB 安装介质
3、安装此类所需的所有软件
安装完成并启动虚拟机后输入以下命令下载必要工具,主要是c/c++编译工具集,riscv64架构的gnu工具集,qemu虚拟机,git,适用于riscv64架构的gdb。
RISC-V 版本: QEMU 5.1+、GDB 8.3+、GCC 和 Binutils。
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
4、下载Xv6的git仓库
git clone git://g.csail.mit.edu/xv6-labs-2021
进入刚才git后的文件夹
输入下面的指令
make clean
make qemu
好的,我们来了解一下 QEMU。
QEMU 是什么?
QEMU 是 Quick EMUlator 的缩写,中文可以理解为 快速模拟器。
它是一个非常强大且多功能的开源虚拟化软件。简单来说,QEMU 主要有两大核心功能:
- 系统模拟器 (System Emulator):
- 这是 QEMU 最基本也最强大的功能。它可以模拟整个计算机系统,包括 CPU、内存、各种硬件设备(如硬盘、网卡、显卡等)。
- 最重要的是,QEMU 能够模拟不同架构的 CPU。这意味着你可以在一台 x86 架构的电脑上运行 ARM 架构的操作系统(比如 Android 或树莓派的系统),反之亦然。这种能力叫做 全系统模拟 (Full System Emulation) 或 跨架构虚拟化 (Cross-Architecture Virtualization)。
- 通过这种方式,你可以在一个“虚拟机”中安装和运行几乎任何操作系统,就像你在一台独立的物理机上操作一样。
- 用户模式模拟器 (User-mode Emulator):
- 在这种模式下,QEMU 可以模拟单个程序或进程的执行。它允许你在一种 CPU 架构上运行为另一种 CPU 架构编译的程序,而不需要模拟整个操作系统。
- 例如,你可以在 x86 Linux 系统上直接运行为 ARM Linux 编译的二进制文件。这在软件开发和测试中非常有用。
QEMU 的主要特点和用途:
- 开源免费: QEMU 是一个自由开源的项目,可以免费使用和修改。
- 跨平台: 它可以在多种操作系统上运行,包括 Linux、Windows、macOS 等。
- 支持多种架构: 它可以模拟 x86、ARM、PowerPC、SPARC、MIPS 等多种 CPU 架构。
- 硬件虚拟化支持: QEMU 可以结合硬件虚拟化扩展(如 Intel VT-x 或 AMD-V),通过利用宿主机 CPU 的虚拟化能力来显著提升虚拟机性能。当与 KVM (Kernel-based Virtual Machine) 结合使用时,QEMU 可以提供接近原生的虚拟化性能,这时它更像是虚拟机的管理程序(Hypervisor)。
- 灵活性高: QEMU 通过命令行参数提供了极高的灵活性,可以精细地控制虚拟机的各种硬件配置。
- 广泛应用:
- 开发和测试: 开发者可以在不同的操作系统或硬件架构上测试他们的软件,而无需购买物理设备。
- 学习和研究: 学生和研究人员可以用 QEMU 来学习操作系统、计算机体系结构或进行系统安全研究。
- 云计算和服务器虚拟化: QEMU 是许多云计算平台和虚拟化解决方案(如 OpenStack、Proxmox VE)的底层组件。
- 嵌入式系统开发: 模拟嵌入式设备,方便软件开发和调试。
- 游戏机模拟: 有些游戏模拟器也基于 QEMU。
QEMU 和 FEMU 的关系:
之前关于 FEMU 的讨论,可以看到 FEMU 是在 QEMU 的基础上进行扩展开发的。
- QEMU 提供了模拟计算机系统的基础框架。 它知道如何模拟 CPU、内存、PCIe 总线等。
- FEMU 在 QEMU 的基础上增加了对 NVMe SSD 的深度模拟能力。 QEMU 本身可以模拟一个简单的存储设备,但 FEMU 针对 NVMe 协议和 SSD 内部特性(如 FTL、GC、磨损均衡等)做了更细致、更真实的模拟,使其成为研究和测试 NVMe SSD 行为的专业工具。
简而言之,QEMU 是一个通用的虚拟机和模拟器,而 FEMU 是 QEMU 在 NVMe SSD 模拟领域的一个特定且高级的扩展。 你可以把 QEMU 看作是一辆汽车的基本框架,而 FEMU 则是在这个框架上打造出的一辆专门用于测试轮胎性能的专业赛车。