[oscamp 2025A]周雨工作进展 #11
Replies: 7 comments
-
本周工作进展这是第一次重写文件系统,经验有所不足。发现自己之前一直是在机械的翻译每一行代码。rust的高级特性没有用上,导致写出一个c味特浓的文件系统,我吸取了这次的教训。 |
Beta Was this translation helpful? Give feedback.
-
第三周工作进展已完成的工作
功能测试测试代码mkdir(&mut block_Dev, fs, "/test_dir/");
let mut tmp_buffer: [u8; 9000] = [b'R'; 9000];
let test_str = "Hello ext4 rust!".as_bytes();
tmp_buffer[8999] = b'L';
mkfile(&mut block_Dev, fs, "//test_dir/testfile", Some(&tmp_buffer));
mkfile(&mut block_Dev, fs, "//test_dir/testfile2", Some(&test_str));
let data = read_file(&mut block_Dev, fs, "//test_dir/testfile2").unwrap().unwrap();
let string = String::from_utf8(data).unwrap();
error!("read: {}", string);### 测试结果
[rustsbi] Implementation : RustSBI-QEMU Version 0.2.0-alpha.2
[rustsbi] Platform Name : riscv-virtio,qemu
[rustsbi] Platform SMP : 1
[rustsbi] Platform Memory : 0x80000000..0x88000000
[rustsbi] Boot HART : 0
[rustsbi] Device Tree Region : 0x87000000..0x87000ef2
[rustsbi] Firmware Address : 0x80000000
[rustsbi] Supervisor Address : 0x80200000
[rustsbi] pmp01: 0x00000000..0x80000000 (-wr)
[rustsbi] pmp02: 0x80000000..0x80200000 (---)
[rustsbi] pmp03: 0x80200000..0x88000000 (xwr)
[rustsbi] pmp04: 0x88000000..0x00000000 (-wr)
[ERROR] read: Hello ext4 rust!
尚未完成的工作,下周的工作
|
Beta Was this translation helpful? Give feedback.
-
2025.12.8-2025.12.10工作总结1.这三天通过和老师协作完成了ext4的hashtree功能,加速了目录文件的查找速度。2.支持ordered模式的journal日志系统。
不足和bug:文件/文件夹的创建的边界处理还不到位。ext4的一些不常用的feature没有实现。 本周剩下的几天主要重心倾向于与Starryos的对接。 |
Beta Was this translation helpful? Give feedback.
-
2025.12.12-2025.12.14工作总结1.这三天主要是在实现高层api和优化性能。其次是接入starryos进行测试不足和bug:目前还不支持超过4G的文件读写(很快会实现,由于大量随意使用as来截断导致的) 接下来2天将会修复和完成以上内容。并且进行大量测试,确保rsext4代码健壮. 然后就开始着手开始新的task |
Beta Was this translation helpful? Give feedback.
-
2025.12.15日工作总结1.今天将rsext4接入starryos进行了测试。测试结果vim安装:成功 性能优化在read_at 和write_at 的api进行offset预计算,仅取出部分extend来提升读写速度。 问题rsext4采用多缓存来减少io操作,延迟落盘。由此引发问题,如果中途断电,内存缓存丢失->journal事务没有提交->文件丢失。 下一步计划明天将会修复journal的旧日志处理问题,继续优化读写性能。在Starryos增加新的定时任务框架,新增journal进程,在io空闲时周期性把内存缓存flush进journal/主磁盘中。 |
Beta Was this translation helpful? Give feedback.
-
2025.12.16-2025.12.18日工作总结
今日已提交pr到arceos仓库,接下来转战x86平台的驱动完善任务,将结合完成“Rust 全栈部署 AI 训练营”的任务3:libuvc获取视频流,送入rknn推理框架进行推理识别目标(没有rk3588板子,用其它推理框架代替),然后操作uart端口控制机械臂(由于没有机械臂,会模拟操作) |
Beta Was this translation helpful? Give feedback.
-
在项目阶段基于改进文件系统选题的工作总结根据linux标准使用RUST实现了轻量的ext4的文件系统(rsext4),为StarryOS的文件系统选择提供了新的选择。 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Rust 重写 lwext4 项目周报
本周工作总结
时间周期: 2025年11月19日 - 2025年11月21日
已完成内容
构建 ext4 基本数据结构
重写数学工具和计算工具
编写全面的单元测试
下周工作计划
时间周期: 2025年11月22日 - 2025年11月26日
计划完成的核心功能
磁盘读写功能
块缓存功能
项目目标
Beta Was this translation helpful? Give feedback.
All reactions