littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于x86模拟器的计算机系统教学项目

项目简介

本项目是南京大学计算机科学与技术系《计算机系统导论》课程的编程作业。主要包含名为NEMU的x86模拟器,以及测试用例、嵌入式C库、简化版操作系统内核、打字游戏和NEMU平台上的游戏模拟器等辅助组件。旨在通过实际编程和模拟,加深学生对计算机系统工作原理的理解。

项目的主要特性和功能

NEMU

  • x86模拟器:支持大部分常用保护模式下的x86指令。
  • 调试器:具备单步执行、寄存器/内存检查、表达式求值、监视点和回溯等功能。
  • 内存管理:包含行缓冲、突发传输、两级统一缓存、分段和分页机制(不支持保护)。
  • 中断和异常处理:支持IA - 32中断和异常(不支持保护)。
  • 设备模拟:涵盖定时器、键盘、VGA、串口、IDE硬盘和i8259 PIC中断控制器。

测试用例

提供小型C程序用于测试NEMU的实现。

newlib

嵌入式C库,适用于NEMU,提供最小化的运行时支持。

内核

简化版的Nanos操作系统,支持RAM磁盘和IDE设备驱动、ELF32加载器、分页内存管理、简单文件系统(固定数量和大小的文件,无目录)和6个系统调用。

打字游戏

移植到NEMU的打字游戏,用于教学演示。

NEMU - PAL

基于SDLPAL的游戏模拟器,经过重构和移植到NEMU。

安装使用步骤

假设用户已经下载了本项目的源码文件。 1. 进入项目目录bash cd ics2015 2. 编译NEMUbash cd NEMU make 3. 运行测试用例bash cd testcase ./run_tests.sh 4. 编译和运行内核bash cd kernel make ./run_kernel.sh 5. 运行打字游戏bash cd typing_game make ./typing_game 6. 运行NEMU - PALbash cd NEMU - PAL make ./nemu - pal 通过以上步骤,用户可以体验和测试NEMU及其相关组件的功能,进一步理解计算机系统的工作原理。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】