Crate maturin

source ·
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 锁
  • 打印格式字串,无换行
  • 打印格式字串,有换行

Structs

Functions