Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elkeid-me/jos-lab
MIT 6.828 JOS Lab. A multi-processor and multi-task x86 OS.
https://github.com/elkeid-me/jos-lab
os x86
Last synced: 18 days ago
JSON representation
MIT 6.828 JOS Lab. A multi-processor and multi-task x86 OS.
- Host: GitHub
- URL: https://github.com/elkeid-me/jos-lab
- Owner: Elkeid-me
- Created: 2024-02-06T12:09:26.000Z (11 months ago)
- Default Branch: lab5
- Last Pushed: 2024-09-10T08:27:37.000Z (4 months ago)
- Last Synced: 2024-11-06T15:41:24.303Z (2 months ago)
- Topics: os, x86
- Language: C
- Homepage:
- Size: 235 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JOS Lab
这是北京大学 2023 年秋季《操作系统实验班》课程的实验作业。来源于 MIT 2018 年秋季 6.828 课程的 JOS Lab。
JOS 是一个运行于 IA-32 架构的操作系统,支持抢占式多任务、多处理器,并具有简易的文件系统。
Lab 框架位于 MIT 之存储库 [Index of /2018/jos.git](https://pdos.csail.mit.edu/6.828/2018/jos.git)。
本存储库包含 Lab 1 ~ Lab 5,修复了 MIT 源代码中的错误,并完成了以下挑战(Challenge):
- Lab 1 Challenge 1:JOS 控制台的彩色输出
- Lab 2 Challenge 1:使用 4 MB 大页映射 JOS 内核空间,并且保证仅在支持大页的 IA-32 处理器上启用这一特性。
- Lab 2 Challenge 2:JOS 控制台中与虚拟内存相关的调试命令。这部分代码仅位于分支 `lab2`。不保证其正确性。
- Lab 3 Challenge 2:JOS 控制台的“继续”与“单步运行”调试命令。
- Lab 3 Challenge 3:使用 `sysenter` 与 `sysexit` 指令实现快速系统调用。
- Lab 4 Challenge 3:使用 `fxrstor` 与 `fxsave` 指令进行浮点状态的保存与恢复,并编写了使用 MMX 指令集的测试代码。
- Lab 5 Challenge 2:文件系统内存缓存的驱逐机制。这部分代码比较仓促。默认分支为 `lab5`,因为此分支包含所有代码,包括对 Lab 1 ~ Lab 4 的补丁。
相关的笔记位于:
- [Lab 1](https://elkeid-me.github.io/posts/os-lab-1)
- [Lab 2](https://elkeid-me.github.io/posts/os-lab-2)
- [Lab 3](https://elkeid-me.github.io/posts/os-lab-3)
- [Lab 4](https://elkeid-me.github.io/posts/os-lab-4)
- [Lab 5](https://elkeid-me.github.io/posts/os-lab-5)推荐倒序阅读。