This is a reimplemented version of the MIT xv6 operating system. This simple OS is targeted for RISC-V architecture. The main reason for setting up this project is that I want to deeply understand the basic concepts of operating system. Practice is the sole criterion for testing truth, so it is meaningful to implement an operating system. This project will also try to add graphic interfaces for it, and make two simple game demos. The to-do list of this project is as follows:
- The makefile of this project.
- The initialization of the xv6 operating system.
- Spinlock.
- A print module based on the UART protocol.
- The mechanism of physical memory management.
- Page table.
- The foundation of user processes.
- Handlers of exceptions and interrupts.
- Scheduler.
- File system.
- System calls.
- Graphic interfaces.
- A Tetris demo.
- A Flappy Bird demo
这是一个重新实现的麻省理工学院(MIT)xv6 操作系统版本。这个简单的操作系统以RISC - V 架构为目标平台。设立这个项目的主要原因是,我希望通过这个项目,深入理解操作系统的基本概念。实践是检验真理的唯一标准,所以实现一个操作系统是很有意义的。这个项目还将尝试为其添加图形界面,并制作两个简单的游戏Demo。该项目计划实现如下功能:
- 完成项目的makefile文件编写。
- 实现xv6 操作系统的初始化。
- 实现自旋锁。
- 实现基于UART协议的print模块。
- 实现物理内存管理机制。
- 实现页表。
- 实现用户进程的基础功能。
- 实现异常和中断的处理程序。
- 实现调度机制。
- 实现文件系统。
- 实现常用的系统调用。
- 实现图形界面。
- 实现一个俄罗斯方块Demo。
- 实现一个Flappy Bird的Demo。