GithubHelp home page GithubHelp logo

storm9768 / mit6.1810 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sakura-ysy/mit6.1810

0.0 0.0 0.0 2.44 MB

MIT6.1810 forked

Shell 0.01% Python 7.22% Perl 0.23% C 86.20% Emacs Lisp 0.03% Assembly 3.05% Makefile 3.26% GDB 0.01%

mit6.1810's Introduction

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

mit6.1810's People

Contributors

sakura-ysy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.