Projects
Project

Milkyway OS - 使用C與RISC-V從零開始實作的OS

WIP

為了更深入學習CS做的專案。同時支援在真實RISC-V CPU C906與QEMU上運行。

CRISC-VOSMMUInterruptProcess SchedulingUARTMakeGDBOpenSBI

Overview

除了QEMU模擬之外,為了更能理解硬體機制,我也買了一塊有RISC-V CPU(C906)的開發版 Milkv Duo S來實驗,這也是這個專案叫做Milkyway OS的由來。

What's Implemented

模組說明
BootQEMU: mret實作 M-mode → S-mode. Milkv Duo S: 透過OpenSBI → S-mode。
MemoryPhysical Memory → Linked List。 Virtual Memory → Sv39
Trap實作基本 trap handler 與 CSR 操作
Process實作兩個Kernel Process做Context Switch
Sys Call施工中...

Status

正在實作Process部分。

Related Posts

【OS】兩個Process做Context Switch實現CPU Time Slicing機制

【OS】OpenSBI 開啟Timer Interrupt

【RISC-V】Sv39 - 開啟MMU實現虛擬記憶體

【RISC-V】常用Register以及Caller/Callee Saved

【RISC-V】指令、Regitster、Address長度小筆記