Concepts in operating system analysis and design. General topics of process, resource and file management are presented and analyzed in the context of different system architectures and performance constraints.
You can't take an operating systems class without programming a process scheduler. It's against the Geneva code or something. Design a program that implements several different CPU scheduling algorithms.
A twist on a classic "build your own shell". The very basic shell is already written, but you will choose five (5) shell builtins (or shell-adjacent) commands to rewrite into Go, and integrate into the Go shell.