实验简介
更新日志
实验之前
环境部署
GDB 调试方法*
实验指导
实验指导零
摘要
创建项目
移除标准库依赖
移除运行时环境依赖
编译为裸机目标
生成内核镜像
调整内存布局
重写程序入口点
使用 QEMU 运行
接口封装和代码整理
小结
实验指导一
摘要
什么是中断
RISC-V 中的中断
程序运行状态
状态的保存与恢复
进入中断处理流程
时钟中断
小结
实验指导二
摘要
动态内存分配
物理内存探测
物理内存管理
小结
实验指导三
摘要
从虚拟地址到物理地址
修改内核
实现页表
实现内核重映射
页面置换*
小结
实验指导四
摘要
线程和进程
线程的创建
线程的切换
线程的结束
内核栈
线程调度
小结
实验指导五
摘要
设备树
virtio
驱动和块设备驱动
文件系统
小结
实验指导六
摘要
构建用户程序框架
打包为磁盘镜像
解析 ELF 文件并创建线程
实现系统调用
处理文件描述符
条件变量
小结
实验题
实验一:中断
实验二:内存分配
实验三:虚实地址转换
实验四(上):线程
实验四(下):线程调度
实验六:系统调用
开发笔记
文档代码划分
文档格式规范
代码格式规范
Published with GitBook
文档代码划分
文档代码划分
文档和代码功能划分和注意事项
文档专注于 OS 的原理和同时涉及 OS 和 Rust 特性的 Rust 语言特性,不会花篇幅来讲解 Rust 语言本身;
文档中引用的代码和代码目录中代码保持一致;
代码中书写的注释专注于功能性,不会有流程性和原理性的介绍;
文档应有全面的包括流程性、原理性和功能性的介绍。
results matching "
"
No results matching "
"
results matching "
"
No results matching "
"