跳至主要內容

DragonOS招新任务

Chiichen原创大约 2 分钟DragonOSDragonOS

简介

ramfs 指内存文件系统,其显著特性为所有文件均保存于内存中,不同于通常理解的保存在硬盘上的文件。因此内存文件系统屏蔽掉了跟硬盘这类底层硬件交互的部分,抽离出来了文件系统的基础功能,适合作为操作系统入门任务。

任务介绍

  1. 系统中已经有完成的 ramfs 模块,位于kernel/src/filesystem/ramfs/mod.rs中,你需要做的就是把这个 ramfs 替换为自己的实现,当然,对现有代码的借鉴是允许的,但是你要知其然并知其所以然,知道代码这样设计背后的含义,比如为什么要加锁,为什么要用 Arc。
  2. 替换完之后你需要编写测试程序测试你的 ramfs,现在的推荐做法是在内核初始化文件系统的代码中,多初始化一个 ramfs 并挂载到根目录,然后编写用户程序,测试这个文件系统的基本功能,例如创建、删除目录,读写文件。

FAQ

怎么编写用户程序?

  • NovaShellopen in new window为例,这是一个在 DragonOS 中运行的 shell 程序,这是用 rust 编写用户空间程序的标准范例。你需要注意两点,第一,在用户空间程序代码目录下的.cargo/config.toml文件中指定 target 为"x86_64-unknown-linux-musl",第二,在 DragonOS 项目代码目录下创建一个配置文件,例如user/dadk/config/nova_shell-0.1.0.dadk,配置文件可以手动写,也可以用dadk new这个命令来交互式的配置。

遇到问题怎么办?

相关链接

DragonOS 开源社区open in new window
DragonOS 项目仓库open in new window