2 ms·
To be clear, the reason it is hard is the grueling pace of the project. And to be honest, most of the individual tasks were not hard since this was a follow on
by Eridrus 12y ago
To be clear, the reason it is hard is the grueling pace of the project.
And to be honest, most of the individual tasks were not hard since this was a follow on to another OS course, but Milestone 6 was where shit really hit the fan for me when we needed to implement on-demand paging, and everything was easy enough in user space (catch fault, get the page from disk, map it into memory, restart the thread), but dealing with paging in an event-based kernel where you can't take a fault was pretty painful (where syscalls had a memory component) and resulted in some ghetto memory pinning.
So while this course wasn't really covering much new ground compared to the OS course we had already taken (I do recall some new material about how caches work and when you need to flush them, but not a lot else), the experience is definitely seared into my memory and I remember the details of that project like no other.
EDIT: To be clear, the lectures had a lot of new material, but it was not in the project, and .: not really tested. It did teach us about how things like VMs work.