实验简介
更新日志
实验之前
环境部署
GDB 调试方法*
实验指导
实验指导零
摘要
创建项目
移除标准库依赖
移除运行时环境依赖
编译为裸机目标
生成内核镜像
调整内存布局
重写程序入口点
使用 QEMU 运行
接口封装和代码整理
小结
实验指导一
摘要
什么是中断
RISC-V 中的中断
程序运行状态
状态的保存与恢复
进入中断处理流程
时钟中断
小结
实验指导二
摘要
动态内存分配
物理内存探测
物理内存管理
小结
实验指导三
摘要
从虚拟地址到物理地址
修改内核
实现页表
实现内核重映射
页面置换*
小结
实验指导四
摘要
线程和进程
线程的创建
线程的切换
线程的结束
内核栈
线程调度
小结
实验指导五
摘要
设备树
virtio
驱动和块设备驱动
文件系统
小结
实验指导六
摘要
构建用户程序框架
打包为磁盘镜像
解析 ELF 文件并创建线程
实现系统调用
处理文件描述符
条件变量
小结
实验题
实验一:中断
实验二:内存分配
实验三:虚实地址转换
实验四(上):线程
实验四(下):线程调度
实验六:系统调用
开发笔记
文档代码划分
文档格式规范
代码格式规范
Published with GitBook
小结
总结
这一章的实验指导中,我们成功单独生成 ELF 格式的用户程序,并打包进文件系统中;同时,从中读取,创建并运行用户进程;而为了可以让用户程序享受到操作系统的功能,我们使用系统调用为用户程序提供服务。
results matching "
"
No results matching "
"
results matching "
"
No results matching "
"