Nemu
核心概念
NEMU(类似模拟器)是一个通过软件模拟计算机硬件的程序,它能在宿主系统上创建虚拟硬件环境来执行其它程序。简单说,NEMU是"一个用来执行其它程序的程序"。
三种执行程序的方式比较
- 直接在操作系统上运行程序
- 程序 → GNU/Linux → 真实硬件
-
程序通过操作系统提供的接口与硬件交互
-
通过模拟器运行游戏
- 超级玛丽 → 模拟的红白机硬件 → 红白机模拟器 → GNU/Linux → 真实硬件
-
游戏无法区分自己是在真实硬件还是模拟硬件上运行
-
通过NEMU运行程序
- 程序 → NEMU模拟的硬件 → NEMU → GNU/Linux → 真实硬件
- NEMU在操作系统看来只是普通用户程序,但它提供了模拟硬件环境
模拟实现方式
- 每个硬件部件用程序数据对象(变量、数组、结构体等)表示
- 对硬件操作通过操作相应数据对象来模拟
- 例如:用数组模拟内存,对数组的读写就是对模拟内存的读写