# pantheon_visionfive **Repository Path**: lo-ferris/pantheon_visionfive ## Basic Information - **Project Name**: pantheon_visionfive - **Description**: pantheon os competition - **Primary Language**: Rust - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-07-25 - **Last Updated**: 2026-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![](docs/assets/hdu1.png) # Pantheon #### 项目简介 Pantheon是一个基于 RISCV-64 硬件平台实现的采用无栈协程架构、支持多核CPU的宏内核操作系统。 #### 完成情况 初赛阶段满分: ![](docs/assets/step1.jpg) 决赛第一阶段,截至7.31晚11:20总分排名第一: 其中iperf、ltp单个测试排名第一 ![](docs/assets/决赛第一阶段.png) #### 项目结构 ``` Pantheon ├─ cargo-config ├─ docs ├─ pantheon │ ├─ kernel │ │ ├─ cargo-config │ │ ├─ src │ │ │ ├─ devices │ │ │ ├─ drivers │ │ │ ├─ fs │ │ │ ├─ io │ │ │ ├─ ipc │ │ │ ├─ kmm │ │ │ ├─ knet │ │ │ ├─ platform │ │ │ ├─ syscall │ │ │ ├─ task │ │ │ ├─ trap │ │ │ ├─ entry.rs │ │ │ ├─ impls.rs │ │ │ ├─ linker.ld │ │ │ ├─ main.rs │ │ │ └─ panic.rs │ │ ├─ Cargo.toml │ │ ├─ Makefile │ │ └─ build.rs │ ├─ lib │ │ ├─ arch │ │ ├─ config │ │ ├─ executor │ │ ├─ fat32 │ │ ├─ hart │ │ ├─ kalloc │ │ ├─ klog │ │ ├─ kmem │ │ ├─ kpath │ │ ├─ ksync │ │ ├─ ktime │ │ ├─ lwext4_rust │ │ ├─ nix │ │ ├─ task │ │ ├─ trap │ │ ├─ utils │ │ └─ vfs │ ├─ user │ │ ├─ apps │ │ │ ├─ initproc │ │ │ ├─ runtests │ │ │ ├─ shell │ │ │ ├─ step1 │ │ │ ├─ Makefile │ │ │ └─ linker.ld │ │ └─ libd │ └─ jh7110-visionfive-v2.dtb ├─ part ├─ Cargo.lock ├─ Cargo.toml ├─ Makefile ├─ README.md ├─ qemu.dtb ├─ qemu.dts ├─ rust-toolchain.toml └─ rustfmt.toml ``` #### 项目整体架构 如图所示,Pantheon 系统基于从低到高搭建内核的思想进行架构开发,概括分为三层:Base Layer层、Kernel Layer层、App Layer层。 ![](docs/assets/系统整体架构.jpg) #### 内核构建 - 在项目根目录下构建os内核 ``` bash make all ``` - 运行os内核 ``` bash make run ``` - 清理内核映像 ``` bash make clean ``` #### 项目分工 **初赛阶段:** - 李梁锋 :负责进程模块和地址空间的设计与构建、编写测试环境 - 张锦轩 :负责完善地址空间与文件系统,代码审查与调试,修复内核问题 - 周家正 :负责文件系统模块的构建以及地址空间的完善 **决赛第一阶段:** - 李梁锋 :完善进程模块和信号模块,负责代码的调试和运行 - 张锦轩 :负责网络模块的构建,代码审查与调试,修复内核问题 - 周家正 :负责文件系统模块的完善和板卡驱动的适配 #### 指导老师 章复嘉,邬惠峰 #### 项目文档 [初赛文档](/docs/Pantheon初赛文档%20.pdf) [TODO](docs/todolist.md) [决赛第一阶段文档](/决赛第一阶段文档.pdf) #### 与参考作品对比与优势 在Pantheon的开发过程中,主要参考了往届作品[BTD OS](https://gitlab.eduxiji.net/bite_the_disk/oskernel2023_bitethedisk)的基础架构和设计理念,并在其基础上进行了创新和优化,通过深入分析和优化关键模块,实现了在进程管理、信号系统、内存管理、文件系统、网络模块以及IO模块等方面的显著提升。下图是具体的区别和这些创新所带来的优势: ![](docs/assets/对比表.png) 额外的,本系统在开发过程中还参考了其他的优秀的开源作品,由于仅参考了部分模块设计理念,总结如下: 1. 网络模块:参考开源优秀作品[DragonOS](https://github.com/DragonOS-Community/DragonOS/tree/master/kernel/src/net),定义了统一的网络地址结构体,同时定义一个统一的内核Endpoint,用于对接收到各类Endpoint进行统一的转换和处理,方便内核的其他模块进行处理。 2. 无栈协程基础模块:参考开源优秀作品[TitanixOS](https://gitlab.eduxiji.net/202318123101314/oskernel2023-Titanix),定义了全局的内核异步协程调度器,任务添加器spawn_task,和全局定时器队列全局管理内核定时任务。