Assignment 3 的主要目标,是使自己的操作系统能够运行用户态程序。这个 Assignment 中,需要实现特权级别切换、上下文切换、调度器、系统调用处理、虚拟内存等代码。并将之前实现的 shell 移动至用户态,做为一个进程来运行。
Stanford CS140e 学习笔记 (3):文件系统
Assignment 2 实现了一个 FAT32 文件系统,以及其所依赖的内存申请释放程序、SD 卡驱动。同时,也需要实现 ls, pwd, cd, cat 等命令行工具,方便进行文件系统操作,验证文件系统是否可用。
Stanford CS140e 学习笔记 (2):驱动、bootloader、shell
在 CS140e Assignment 0 中,主要通过点亮 LED,来熟悉 Rust 和 Raspberry Pi 的开发环境。Assignment 1 正式开始操作系统的编写,主要包括驱动、bootloader 和 shell。
本文记录了 Assignment 1: Shell 的学习过程。
Stanford CS140e 学习笔记 (1):Rust 基础、LED 闪烁
CS140e 是 Stanford 的一门操作系统课程。与其他操作系统课程相比,该课程使用现代的程序设计语言 Rust 来编写实验代码;且所有代码运行在 Raspberry Pi 3 上,通过真实硬件进行实验,学习起来应该更有乐趣。
目前有进一步熟悉操作系统基础知识的想法,而且手上刚好有一块正在吃灰的 Raspberry Pi,所以打算从这门课开始学习。
本文主要记录 Assignment 0: Blinky 的学习经过。