4 ms·
We used this set of labs as the basis for the master's OS course at UW. They're fantastic and fairly straightforward, providing scaffolding and then having you
by YorkianTones 12y ago
We used this set of labs as the basis for the master's OS course at UW. They're fantastic and fairly straightforward, providing scaffolding and then having you implement basic versions of interesting OS facilities like context switching, exception handling, interrupts, scheduling, RPC. Really rewarding (and sometimes quite painful - debugging an errant OS can be quite a bitch).
- tbagman 12y agoAgreed on the fantastic-ness -- the first 4-5 in the sequence in particular give you a very nice flavor of working in kernel-space, and they are doable. I taught a senior ugrad OS course and experimented with using this as the project sequence. Some folks excelled (though they put in 15+ hours per week on average, which is quite high), some cratered and I needed a backup plan for them to make progress.
- bmiranda 12y agoI took the class (6.828) last semester at MIT, and the labs do a great job of handling a lot of the annoying x86 stuff so that you can focus on the more interesting parts of writing an OS. I know this because for the final project my partner and I ported the OS to 64bit. Although the number of changes was not too large, we spent hours debugging low level x86_64 stuff. Although we learned a lot, I think it is a good idea the labs provide the boilerplate.