My first class I took at Georgia Tech’s OMSCS program was cs-6200, or Graduate Introduction to Operating Systems (GIOS). I took it in Spring 2024. This is my first formal CS class, ever. I took a couple in college but they were mostly fluff and designed around numerical applications of code. I took it alongside ml4t.
I loved the class. It’s probably my favorite class I’ve taken in anything, ever.
In GIOS, the cool thing is that the projects are open-ended. All you have to do is pass a test suite they provided. For Project 1, I did it strictly by the book. For Project 3, I did something very weird and zany to the point where the Autograder actually got confused by my project. Project 4 was my least favorite: it uses gRPC and C++, and I ended up disliking both by the end of it (mostly the C++ API of gRPC, I’ve used the protocol in other languages successfully).
In all honesty, I wasn’t really interested in the class material. It’s relatively outdated for modern OS development. Which is fine, I’m not expecting much for how little I’m paying for this education. Just something to keep in mind.
The projects don’t really reflect “OS development”. It’s more, “you’re developing an application using OS constructs”. I didn’t really mind it to be clear, it just that what you’re tested on and study, and what you do are very different.
Notes I wrote because of this class
sending-fds-through-uds: I utilized this in Project 3.
fcntl-atomic-locks: I utilized this in Project 3, though I had to scrap my usage of it because I discovered it doesn’t work as expected.
macos-native-docker: The class environment is an Ubuntu 20.04 x86 environment, I needed to run a class-provided docker image to perfectly replicate our testing environment to make sure I wasn’t dealing with quirks. I use a M1 Pro Macbook 14 that I absolutely adore, and didn’t want to deal with a Cloud VM to develop.
basic-fstream: I spent over 3 hours debugging this problem in Project 4. I hate C++.
destructive-moves: A design choice I made in Project 4 was rendered impossible due to this.