操作系统实验指导教程 --基于RISC-V代理内核 第 1章 RISC-V体系结构 1.1 RISC-V发展历史 1.2 RISC-V汇编语言 1.2.1 寄存器 1.2.2 指令格式 1.2.3访存和寻址模式 1.2.4 C语言内嵌汇编 1.2.5 一个例子 1.3 机器的特权状态 1.3.1 机器模式下的CSR 1.3.2 监管模式下的CSR 1.3.3 CSR寄存器的读写指令 1.4 中断和中断处理 1.4.1 中断的概念与分类 1.4.2中断向量表 1.4.3中断处理例程 1.4.4 RISC-V的中断代理机制 1.5 页式虚存管理 1.5.1 Sv39中的物理地址与逻辑���址 1.5.2 Sv39中的页式地址空间管理与页表 1.5.3 satp、Sv48、TLB和非基础页—— 第 2章 PKE实验和实验环境配置 2.1 PKE实验简介 2.1.1 代理内核的工作原理 2.1.2 PKE实验的构成 2.2构建本地开发环境 2.2.1本地开发环境的方案选择 2.2.2安装支撑软件 2.2.3 PKE实验代码的获取 2.3使用在线开发和评测环境 2.4相关工具软件 2.4.1 源代码版本管理工具git 2.4.2 RISC-V交叉编译器 2.4.3 RISC-V模拟器Spike 2.4.4 Linux文件查看工具file 第3章 中断处理 3.1 实验1的基础知识 3.1.1 RISC-V程序的编译和链接 3.1.2 指定符号的逻辑地址 3.1.3 代理内核的构造过程 3.1.4 代理内核的启动过程 3.1.5 ELF文件(app)的加载过程 3.1.6 Spike的HTIF接口 3.2 实验1系统调用 3.3 实验2异常处理 3.4 实验3 (外部)中断 3.5 实验4 挑战实验 第4章 内存管理 4.1 实验2的基础知识 4.1.1 Sv39虚地址管理方案回顾 4.1.2 物理内存布局与规划 4.1.3 PKE操作系统和应用进程的逻辑地址空间结构 4.1.4 与页表操作相关的重要函数 4.2 实验1 虚实地址转换 4.3 实验2 简单内存分配和回收 4.4 实验3 缺页异常 4.5 实验4挑战实验 第5章 进程管理 5.1 实验3的基础知识 5.1.1 多任务环境下进程的封装 5.1.2 进程的启动与终止 5.1.3 就绪进程的管理与调度 5.2 实验1进程创建 5.3 实验2进程yield 5.4 实验3循环轮转调度 5.5 实验4挑战实验 第6章 文件系统 6.1实验4的基础知识 6.1.1 文件系统概述 6.1.2 PKE的文件系统架构 6.1.3 文件系统提供的接口 6.1.4 虚拟文件系统 6.1.5 RFS文件系统 6.2 实验1文件 6.3 实验2目录文件 6.4 实验3硬链接 6.5 实验4挑战实验 操作系统实验指导教程 --基于RISC-V代理内核 第 1章 RISC-V体系结构 1.1 RISC-V发展历史 1.2 RISC-V汇编语言 1.2.1 寄存器 1.2.2 指令格式 1.2.3访存和寻址模式 1.2.4 C语言内嵌汇编 1.2.5 一个例子 1.3 机器的特权状态 1.3.1 机器模式下的CSR 1.3.2 监管模式下的CSR 1.3.3 CSR寄存器的读写指令 1.4 中断和中断处理 1.4.1 中断的概念与分类 1.4.2中断向量表 1.4.3中断处理例程 1.4.4 RISC-V的中断代理机制 1.5 页式虚存管理 1.5.1 Sv39中的物理地址与逻辑地址 1.5.2 Sv39中的页式地址空间管理与页表 1.5.3 satp、Sv48、TLB和非基础页—— 第 2章 PKE实验和实验环境配置 2.1 PKE实验简介 2.1.1 代理内核的工作原理 2.1.2 PKE实验的构成 2.2构建本地开发环境 2.2.1本地开发环境的方案选择 2.2.2安装支撑软件 2.2.3 PKE实验代码的获取 2.3使用在线开发和评测环境 2.4相关工具软件 2.4.1 源代码版本管理工具git 2.4.2 RISC-V交叉编译器 2.4.3 RISC-V模拟器Spike 2.4.4 Linux文件查看工具file 第3章 中断处理 3.1 实验1的基础知识 3.1.1 RISC-V程序的编译和链接 3.1.2 指定符号的逻辑地址 3.1.3 代理内核的构造过程 3.1.4 代理内核的启动过程 3.1.5 ELF文件(app)的加载过程 3.1.6 Spike的HTIF接口 3.2 实验1系统调用 3.3 实验2异常处理 3.4 实验3 (外部)中断 3.5 实验4 挑战实验 第4章 内存管理 4.1 实验2的基础知识 4.1.1 Sv39虚地址管理方案回顾 4.1.2 物理内存布局与规划 4.1.3 PKE操作系统和应用进程的逻辑地址空间结构 4.1.4 与页表操作相关的重要函数 4.2 实验1 虚实地址转换 4.3 实验2 简单内存分配和回收 4.4 实验3 缺页异常 4.5 实验4挑战实验 第5章 进程管理 5.1 实验3的基础知识 5.1.1 多任务环境下进程的封装 5.1.2 进程的启动与终止 5.1.3 就绪进程的管理与调度 5.2 实验1进程创建 5.3 实验2进程yield 5.4 实验3循环轮转调度 5.5 实验4挑战实验 第6章 文件系统 6.1实验4的基础知识 6.1.1 文件系统概述 6.1.2 PKE的文件系统架构 6.1.3 文件系统提供的接口 6.1.4 虚拟文件系统 6.1.5 RFS文件系统 6.2 实验1文件 6.3 实验2目录文件 6.4 实验3硬链接 6.5 实验4挑战实验