Skip to content
/ jos Public
forked from phlalx/jos

MIT 6.828: Operating System Engineering lab / JOS

Notifications You must be signed in to change notification settings

askmarkio/jos

This branch is up to date with phlalx/jos:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

47c3cb1 · Aug 1, 2018

History

51 Commits
Sep 3, 2012
May 23, 2017
May 23, 2017
May 23, 2017
May 23, 2017
May 23, 2017
May 23, 2017
May 23, 2017
Sep 3, 2012
Sep 3, 2012
May 23, 2017
Sep 3, 2012
Aug 1, 2018
May 23, 2017
Jul 27, 2018
Sep 3, 2012
May 23, 2017
May 23, 2017
May 23, 2017
May 23, 2017
May 23, 2017
May 23, 2017
Sep 6, 2012
Sep 3, 2012

Repository files navigation

MIT 6.828: Operating System Engineering lab / JOS

This is my implementation of the labs from MIT's operating system graduate class 6.828. (MIT gracefully offers their course material to the public).

The following is quoted from the website.

The lab is split into 6 major parts that build on each other, culminating in a primitive operating system on which you can run simple commands through your own shell. We reserve the last lecture for you to demo your operating system to the rest of the class.

The operating system you will build, called JOS, will have Unix-like functions (e.g., fork, exec), but is implemented in an exokernel style (i.e., the Unix functions are implemented mostly as user-level library instead of built-in to the kernel). The major parts of the JOS operating system are:

  • Booting
  • Memory management
  • User environments
  • Preemptive multitasking
  • File system, spawn, and shell
  • Network driver
  • Open-ended project

We will provide skeleton code for pieces of JOS, but you will have to do all the hard work.

INSTALLATION

See the lab webpage for the full configuration.

A simple way to try the project is to use a docker image.

docker build -t jos .

It can be used with:

docker run -v $(pwd):/to_build -it jos

This open a shell in an environement with the right compiler and qemu.

make
make qemu-nox

TODO: add gdb and qemu with X

About

MIT 6.828: Operating System Engineering lab / JOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 96.4%
  • Python 1.8%
  • Assembly 0.7%
  • Makefile 0.5%
  • C++ 0.4%
  • Perl 0.1%
  • Other 0.1%