Expand description
程序入口为 mod arch/riscv/mod.rs 中的函数 entry ( 也是build.rs中的ENTRY(_start) ), 函数 entry 将cpu_id存到tp寄存器并设置好初始的内核栈与页表后,跳转到 start_kernel 启动
Modules
- arch 🔒
- OS运行时用到的常量
- 错误类型
- 文件类抽象,包含文件系统、stdin/stdout、管道等
- fsio 🔒
- 内存管理模块
- 信号模块,用于 sigaction / sigreturn / kill 等 syscall 信号模块和 task 管理的进程/线程相关,但又相对独立; 且如果单纯作为线程的一部分,容易因为信号发送的任意性导致死锁,因此单独列出来。
- 系统调用实现
- 任务管理
- 测例文件示例
- 中断异常处理
- 一些不知道该放进哪个模块里的通用工具
Macros
- 打印格式字串,使用与 print 不同的 Mutex 锁
- 打印格式字串,使用与 println 不同的 Mutex 锁
- 打印格式字串,无换行
- 打印格式字串,有换行