-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path6月工作技术报告
More file actions
44 lines (27 loc) · 4.63 KB
/
Copy path6月工作技术报告
File metadata and controls
44 lines (27 loc) · 4.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# 6月工作总结
## 完成的工作内容
1. 为arceos初步实现支持ext4文件系统,并优化了部分读写性能
2. 为支持虚拟化特性做了前置的基础工作
3. 为飞腾派上开发arceos驱动编写指导手册
4. dora项目设计了初步思路,下周和相关老师加强交流进一步讨论重构方案
5. docker训练营本月主要参与了项目阶段具体设计以及实验作业的审核
## 具体的工作内容与遇到的问题
1. 为arceos初步实现ext4文件系统,起初是希望合并下游仓库的提交,后来经讨论,原来的设计方案不太满意,与柏乔森工程师合作重新设计了编写了相关模块,并对调用的依赖库lwext4_rust进行了修改,减少了调试日志,对核心的几个功能进行了封装(原库是c库,萧络元老师设计了一版简单的封装,在此基础上再进行了一些修改),这是相关的pr:https://github.com/arceos-org/arceos/pull/262
除此之外还有一些其他文件系统相关的优化:
[fix]: incorrect writev implementation:https://github.com/arceos-org/arceos/pull/267
[fix] sys_writev return value:https://github.com/arceos-org/arceos/pull/260
Upgrade axio to 0.1.1 and optimize default_read_to_end:https://github.com/arceos-org/arceos/pull/268
2. 为支持虚拟化特性做了前置的基础工作。主要是对于具体架构设置了虚拟化切换寄存器的修改,尤其是最新版的arceos主线将axcpu作为一个crate发布出去后,要分别对axcpu发起修改并对arceos主线发起修改,目前已完成的工作
[feat] functions essential to hypervisor implementation:https://github.com/arceos-org/axcpu/pull/10
3. 为飞腾派上开发arceos驱动编写指导手册,为积累体系结构开发经验参与了飞腾派驱动开发训练营,完成了第一周的实验并编写了指导手册部分内容
add 0.1 hardware_intro:https://github.com/chenlongos/Phytium-Pi-Driver/pull/1
4. dora项目设计了初步思路,下周和相关老师加强交流进一步讨论重构方案。和李明老师构想在飞腾派上运行arceos并运行机械臂,
但目前进行了初步尝试,机械臂自带操控系统难以在目前的飞腾派上运行,目前从软硬件两个方向入手:硬件方面更换香橙派试图运行
目前已有的识别算法,实现机械臂操控;软件方面,推进dora-rs移植到arceos的unikernel架构的工作,这部分目前一方面在和
从事dora-rs开发工作的老师交流,另一方面联系到了本科同样毕业于中科大的一位目前于rice大学攻读phd学位的学长,他们目前有一套相对成熟的机械臂开发项目,下周与其交流软件操控部分的内容
5. docker训练营本月主要参与了项目阶段具体设计以及实验作业的审核,这部分没有具体工作代码的说明,暂且略过
## 下月工作计划
1. 对ext4文件系统进行性能优化:主要在读写性能上,首先是读取文件信息,目前采取的还是打开文件读取信息再关闭的方式,但了解现代操作系统的都知道目前主流的方式都是将文件信息记录在inode上,这样的读写方式尤其对于大文件信息读取来说是致命的,下一步修改方向就是实现inode来简化这部分工作;其次同样是读写性能部分,目前采用的同步互斥是简单的mutex,这就涉及到经典的读者写者问题,希望实现多个读者而不是单读者
2. 推进虚拟化的实现,目前最艰难的前置工作已经完成,下一步适配具体的rk3588开发板,补充相关的中断处理寄存器配置,并支持新版本的allocator以令其能正确地在虚拟化的状态下正常工作,按照预期工作安排,虚拟化的需求能初步实现
3. 推进飞腾派驱动开发,结合dora项目一起进行。目前的工作主要还是希望能够完成对dora的重构以令其在单进程的unikernel架构下运行起来,以应用于一些小型化场景,但相比前两个项目,这个项目还需要更多讨论才能形成更具体的工作方案,因为目前遇到的问题还在尝试从软硬件两方面着手解决,硬件更换香橙派后由于香橙派采用的是npu,也涉及到软件的重构部分,所以归根结底软件方面的重构必不可少
4. 承担docker训练营项目阶段的教学工作,首先是jupyter相关的容器开发,而后是开源操作系统训练营相关的环境配置docker任务设计,目前预期分别作为项目阶段的项目一和项目三,都由我担任助教,后者希望在结营后能实现docker对os训练的配置简化,运用于9月底开始的秋冬季开源操作系统训练营