Skip to content

Repository files navigation

MIT 6.1810 — Operating System Engineering (Fall 2025)

This repository contains my solutions to the laboratory assignments of MIT’s 6.1810 – Operating System Engineering course (Fall 2025).

The course focuses on the design and implementation of operating systems, and their role as a foundation for systems programming. Key topics include:

  • Kernel design
  • Hardware/software interaction
  • Interrupts and system calls
  • Virtual memory
  • Threads and context switching
  • File systems
  • Interprocess communication and synchronization

Throughout the course, xv6, a simple multi-processor operating system for RISC-V, is used to illustrate these concepts. The labs involve extending xv6 with features such as advanced virtual memory mechanisms and networking support.

Labs

At the end of each chapter there are some labs. Labs per chapter are availble on the same branches;.

  1. Lab 1 (Introduction to xv6): Unix Utilities

    Built some Unix-like utilities

    Branch: util

  2. Lab 2 (OS Design): System Calls

    Implemention of system call

    Branch: syscall

  3. In progress


xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented for a modern RISC-V multiprocessor using ANSI C.

About

This repository contains my solutions to the laboratory assignments of MIT’s 6.1810 Fall2025 – Operating System Engineering course. The course uses xv6 (RISC-V) to explore core OS concepts.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages