The UCB CS162 course Operating Systems and Systems Programming includes projects which is based on the Pintos.
Pintos is a mini OS like MIT's xv6.
Pintos is a simple operating system framework for the 80x86 architecture. It supports kernel threads, loading and running user programs, and a file system, but it implements all of these in a very simple way.
In the Pintos projects, you and your project team will strengthen its support in all three of these areas. You will also add a virtual memory implementation.
This repository record my procedure of accomplishing these projects.
And here is posts about Pintos projects published in my personal site: