hzx4585 / ostep-projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projects for an Operating Systems Class

This repository holds a number of projects that can be used in an operating systems class aimed at upper-level undergraduates and (in some cases) beginning graduate students. They are based on years of teaching such a course at the University of Wisconsin-Madison.

C/Linux Projects

Initial Projects

These projects are meant to get you warmed up with programming in the C/UNIX environment. None are meant to be particularly hard, but should be enough so that you can get more comfortable programming.

Realize the best thing you can do to learn to program in any environment is to program a lot. These small projects are only the beginning of that journey; you'll have to do more on your own to truly become proficient.

  • Unix Utilities (cat, grep, zip/unzip)
  • Sort (text-based)
  • Sort (binary)

Processes and Scheduling

Virtual Memory

Concurrency

File Systems

Distributed Systems

Kernel Hacking Projects (xv6)

These projects all are to be done inside the xv6 kernel developed at MIT. Unlike the C/Linux projects, these give you direct experience inside a real, working operating system (albeit a simple one).

Initial Projects

Processes and Scheduling

Virtual Memory

Concurrency

File Systems

About


Languages

Language:C 100.0%