Skip to content

MIT6.1810 OS公开课个人源码及文档,6.1810为6.828/6.S801的2022最新版。6.828于2019年更新为6.S081,于2022年更新为6.1810。

Notifications You must be signed in to change notification settings

sakura-ysy/MIT6.1810

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image-20230626153641805

课程介绍

MIT6.1810 Operating System Engineering 是麻省理工学院计算机科学本科的中级课程,前身是 6.s081 和 6.828。6.828 于 2019 年更新为 6.S081,于 2022 年更新为 6.1810。课程基于 RISCV 架构以及类 unix 操作系统 xv6,介绍了操作系统最重要的几个基本概念,比如系统调用、页表、中断、多线程、网络、文件系统等等。课程以 10 个 lab 为主体,每个 lab 都有独立的分支,评测代码在本地。

相关资料

Lab 文档

一共 10 个实验,针对于 OS 的不同概念,每个实验都有几个子实验,官方给子实验标注了难度,分为 easy、moderate、hard,但我建议不要去看难度标注,所做的工作都是线性的,慢慢都能做完。

  • Lab: Xv6 and Unix utilities

    • 目标:初步了解 xv6,实现一些简单的用户态命令和 utilities。
    • 文档doc-lab1
  • Lab: system calls

    • 目标:实现一些简单的系统调用,借此熟悉 xv6 系统调用的工作流程。
    • 文档doc-lab2
  • Lab: page tables

    • 目标:探索 xv6 页表机制,熟悉如何使用页表。
    • 文档doc-lab3
  • Lab: traps

    • 目标:探索 RSIC-V 汇编指令集,熟悉 xv6 的 trap 机制。
    • 文档doc-lab4
  • Lab: Copy-on-Write Fork for xv6

    • 目标:实现写时复制(cow),利用 page fault 进行触发。
    • 文档doc-lab5
  • Lab: Multithreading

    • 目标:熟悉 xv6 的线程切换实现机制
    • 文档doc-lab6
  • Lab: network driver

    • 目标:使用网卡 E1000 完成 xv6 对链路帧的收发。
    • 文档doc-lab7

About

MIT6.1810 OS公开课个人源码及文档,6.1810为6.828/6.S801的2022最新版。6.828于2019年更新为6.S081,于2022年更新为6.1810。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published