项目简介
NEMU(NJU Emulator)是为教学设计的简单但完整的x86全系统模拟器。此项目是天津大学智能与计算学院ICS(计算机系统导论)课程的编程作业,源自南京大学2016年的项目。主要用于模拟小型x86程序的运行,包含简单调试器和多种硬件设备模拟。
项目的主要特性和功能
- NEMU模拟器:具备小型监控器,支持单步执行、寄存器/内存检查等调试功能;CPU核心支持常用x86保护模式指令;模拟DRAM,含行缓冲和突发传输;有两级统一缓存;支持IA - 32分段和分页机制及TLB;处理IA - 32中断和异常;模拟定时器、键盘等6种设备;支持端口映射I/O和内存映射I/O两种I/O方式。
- 测试用例:包含一些小型C程序,用于测试NEMU实现。
- uClibc库:适用于嵌入式系统的C库,运行时支持需求少,适合NEMU。
- 简化版Nanos内核:单任务内核,有Ramdisk和IDE两种设备驱动、ELF32加载器、分页内存管理、简单文件系统和6种系统调用。
- 打字游戏:移植到NEMU的打字游戏,源自南京大学2013年的oslab0演示。
- NEMU - PAL:移植到NEMU的SDLPAL项目,由Wei Mingzhi的SDLPAL项目重构和移植而来。
安装使用步骤
- 下载源码:用户已下载本项目的源码文件。
- 编译NEMU:进入NEMU目录,执行
make
命令进行编译。 - 运行测试用例:使用编译好的NEMU模拟器运行
testcase
目录下的测试程序,验证NEMU功能。 - 运行内核和应用:编译并运行
kernel
目录下的简化版Nanos内核,以及typing game
和NEMU - PAL
目录下的应用。 - 调试和测试:使用NEMU自带的监控器和调试功能,对模拟器和应用进行调试和测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】