kernel-travel 是由 重启之我是loader 三名成员共同开发的基于 LoongArch 的架构的64位操作系统。考虑到未来对于多架构的适配,该系统采用 kbuild 编译框架对项目进行构建,目前支持 LoongArch 架构的硬件开发板(2k1000、3A5000)。
kernel-travel 包含有五大模块,分别为:内存管理、进程管理、文件系统、设备驱动、系统调用。
在区域赛阶段,kernel-travel 自系统启动阶段开始,完成了对内核基本功能的编写,并在此基础上实现了大赛要求的32个系统调用通过了比赛给出的所有测试程序。
在国赛第一阶段中,考虑到要同时兼容多种文件系统,我们在原先的基础上,将不需要依赖底层文件系统的操作抽离出来。参考 Linux 内核源码,引入通用文件模型,形成 VFS 层。并对开源 ext4 文件系统库 lwext4 进行移植与适配。同时我们根据给出的测试指标,对 busybox 进行了适配。在初赛的基础上新增了如 writev 等系统调用,并进一步完善了 mmap、mount 等系统调用。
文档位于 kernel-travel/doc 目录下。
环境配置:
进程管理:
设备驱动:
内存管理:
文件系统:
其他: