rCore Lab 第二期:批处理系统
如何用 Rust
从零实现一个批处理系统。
前言
这篇文章主要梳理一下关于 rCore 第二章批处理系统的思路。
- 整体架构
- 各个架构详细描述
- 理解难点梳理
整体架构
对于应用层的软件来说,可以把操作系统当做一个服务,也可以称之为 Runtime,或者是文档中提到的运行环境(Environment Execution)
引用文档中的一张图片,参考这张图就很容易理解了:
图片来源: https://rcore-os.github.io/rCore-Tutorial-Book-v3/chapter2/1rv-privilege.html
下层给上层提供运行环境,即功能和接口,上层调用接口获得能力。
整体来看系统分为三层:最上层的应用软件、操作系统(Supervisor)、操作系统Runtime(硬件+简单软件)。操作系统通过ABI即systemcall(系统调用)为应用软件提供能力支持,操作系统Runtime(在riscv中被称为SBI)通过SBI为