Skip to content

Nemu

核心概念

NEMU(类似模拟器)是一个通过软件模拟计算机硬件的程序,它能在宿主系统上创建虚拟硬件环境来执行其它程序。简单说,NEMU是"一个用来执行其它程序的程序"。

三种执行程序的方式比较

  1. 直接在操作系统上运行程序
  2. 程序 → GNU/Linux → 真实硬件
  3. 程序通过操作系统提供的接口与硬件交互

  4. 通过模拟器运行游戏

  5. 超级玛丽 → 模拟的红白机硬件 → 红白机模拟器 → GNU/Linux → 真实硬件
  6. 游戏无法区分自己是在真实硬件还是模拟硬件上运行

  7. 通过NEMU运行程序

  8. 程序 → NEMU模拟的硬件 → NEMU → GNU/Linux → 真实硬件
  9. NEMU在操作系统看来只是普通用户程序,但它提供了模拟硬件环境

模拟实现方式

  • 每个硬件部件用程序数据对象(变量、数组、结构体等)表示
  • 对硬件操作通过操作相应数据对象来模拟
  • 例如:用数组模拟内存,对数组的读写就是对模拟内存的读写