Skip to content

OSH-2025/oooooS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

283 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oooooS

该小组由以下成员组成:

项目文档地址(当前为私有):https://www.notion.so/OS-1aab81604736804c85eeedbab0b51d42?pvs=4

项目简介

RusT-thread 是基于 RT-Thread 理念,采用 Rust 语言打造的轻量级实时操作系统内核,已在 ARM Cortex-M4 上成功实现,并有望拓展至更多芯片平台。它支持多线程创建、调度及优先级管理,提供多种调度算法,如优先级、优先级 + RR 等。同时可选伙伴系统、小内存分配器等多种内存分配方式,满足动态内存分配需求。此外,还实现了高精度定时器,支持单次和周期定时功能,并具备完整的异常和中断处理机制。RusT-thread 的 Rust 实现保障内存安全,模块化设计便于扩展和移植,支持资源受限的嵌入式系统,为开发者提供了安全、高效、精简的 Rust 原生实时操作系统选择。

项目进度

项目阶段 日期 项目进展 工作安排
选题 3月2日-9日 开展了第一次会议,研究往届选题,对可选题方向进行大致讨论后确定每个人选择一个方向进行调研 小组分工:
陈琳波:AI + OS;
李丁:Rust改写系统;
罗浩民:高性能计算;
刘时:AR + VR + 机器人(无人机,机器狗等);
赵于洋:虚拟化 + 容器
选题 3月8日 开展了选题会议,各成员就自己的调研内容分享和讨论了项目方向与可行性分析,形成了感兴趣的大作业列表 等老师反馈
选题 3月11日 接到老师反馈,并线上投票,确定选题 准备开会进入初步调研
初步调研 3月12日-19日 开展了线下会议,进行选题可行性等调研,重新确定选题为Rust改写RT-Thread系统 分工编写调研报告:
赵于洋:项目背景;
罗浩民:立项依据;
陈琳波:前瞻性分析;
刘时: 相关工作;
李丁:前言与文章整合
可行性调研 3月23日 开展了线下会议,完成了各成员RT-Thread运行平台的搭建,审定了小组调研报告,对下一步技术路线的尝试进行了可行性调研的分工,安排了下一次会议的时间 Rearch_report
技术路线的分工如下:
基于cargo构建:罗浩民、李丁
基于scons构建:刘时、陈琳波
其他可能路线:赵于洋
可行性调研 3月26日 开展了线下会议, 确定可行性调研报告的框架与分工,确定了下一步的工作安排与时间节点 将可行性调研报告分为以下几个部分:
RT-Thread的源码分析:各自负责一个模块
Rust实现的可行性分析
Rust+C 联合编译的可行性分析:陈琳波、赵于洋、李丁
调试与验证工具链:刘时、罗浩民
可行性调研 4月6日 开展了线下会议,汇总完善了可行性报告的内容,暂定了要使用的构建系统,讨论中期报告的事宜和要改写的模块,各成员准备学习Rust语言,确定了下次会议的主题和时间 Feasibility_report
确定了改写模块的顺序,各成员学习Rust语言
中期报告 4月13日 开展了线下会议,分享了 Rust 语言学习的经验,进一步讨论并深入了解 RT-Thread 内核架构和各模块内容,讨论了中期报告的框架和分工,确定了下一步的工作安排与会议时间 中期报告分工:项目背景与项目概况: 陈琳波
前瞻性与创新点: 李丁
理论依据与技术依据,开发路线: 刘时
整合:赵于洋
讲演人及讲稿:罗浩民
中期汇报 4月20日 开展线下会议,协商讨论了中期汇报PPT的制作情况并修改完善,分享了自底向上修改RT-Thread系统的困难和问题以及已有的尝试。确定下一步的工作安排。 全体组员学习Rust语言以及Rust语言的嵌入式开发。尝试自顶向下和自底向上两种修改路线。
Rust 改写尝试 4月27日 开展线下会议,就中期报告的反馈协商讨论了新的技术路线。就五一期间的对Rust改写方向的探索工作进行了讨论和分工。 五一分工安排: 陈琳波:中断 刘时:时钟 罗浩民:整体架构、线程规划 赵于洋:内存管理 李丁:研究其他Rust系统的编写经验
Rust 改写 5月6日 开展了线下会议,各成员首先分享了五一期间在各自探索方向上的工作进展和尝试。经过充分讨论,明确了新的项目路线:采用自底向上的开发方式,基于ARM架构,使用Rust语言从头开发一个类RT-Thread的操作系统,以避免混合编译带来的问题。随后,各成员分享了开发过程中遇到的bug,并共同进行了调试和解决。最后确定了下次会议时间和具体工作安排。 下一步工作安排:优先开发中断/特权模块,同步开发内存管理模块,采用自底向上的方式逐步搭建系统。
Rust 改写 5月11日 开展线下会议,小组成员相互分享了工作成果并统一了工作进度,还交流了改写Rust的经验和接口需求 下一步,继续完成中断/特权模块、内存管理模块的剩余部分,完成接口对接
Rust 改写 5月25日 开展线下会议,各成员汇报近期进展,涵盖线程、中断、时钟、内存等模块,明确了对接的需求;指出代码依赖性问题和QEMU运行障碍,并探讨排除了这些障碍,并初步讨论最小可运行单元的实现方案。 完善核心模块,构建可运行单元并进行基础测试。
Rust 改写 5月30日 开展线下会议,汇报了各自的工作进展,讨论端午节期间的工作安排,分享了在Rust改写过程中遇到的挑战和解决方案。 端午节期间继续完善系统核心模块,确保最小可运行单元的实现。并逐步开展各个模块的单元测试。
Rust 改写 6月1日 开展线下会议,统一了工作进度,初步完成基础功能,开始推进系统的测试和调试工作。各成员分享了在实现过程中遇到的具体问题和解决方案。 继续完善系统功能,重点关注系统稳定性和性能优化,准备下一阶段的集成测试。
调优与测试 6月24日 开始进行系统的整合,整理当前项目结构和代码,确保各模块的接口一致性。逐步开展项目的集成测试,确保系统的稳定性和性能。 继续进行系统的调优和测试,重点关注内存管理和线程调度的性能优化。准备下一阶段的项目总结和报告。
调优与测试 6月28日 开展线下会议,汇报了测试的进展情况。各成员分享了在调试过程中遇到的问题和解决方案。讨论了项目总结报告的框架和内容,完成分工。 准备项目总结报告,并继续系统的调优和测试工作。
总结与报告 7月1日 开展线下会议,总结了项目的基本情况,进一步讨论了结课报告文档的总体框架,并完成分工。 完成结课报告各模块内容。
总结与报告 7月3日 开展线下会议,商讨知乎/ RT-Thread 论坛上报告的总体框架,并完成分工。 完成知乎报告的各模块内容。

项目地址

项目 RusT-Thread

知乎地址

Rust-Thread: 基于Rust面向资源受限嵌入式设备的操作系统的尝试

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors