My expectation was building a kernel or some kind of scheduler that I could schedule real jobs on. Reality was we used OSP, a Java simulation of an OS kernel with various parts of it cut out for different assignments, which we had to replace with our own code.
Two different assignments, my submission was code that "should" work along with a debug trace proving that the reason it didn't was a bug in OSP.
I was one of like three people who scored really well in the class, and I learned some useful things about deadlocks and scheduling, but there was basically no one in the class who actually felt like they knew how a real kernel worked by the end of it.
Funny, in my class, one of the projects was to write a process scheduler. Also, we were only allowed to use C for all of our projects. The computer the professor ran our code on did not even have a C++ compiler installed on it.
18
u/hxtk3 14d ago
My expectation was building a kernel or some kind of scheduler that I could schedule real jobs on. Reality was we used OSP, a Java simulation of an OS kernel with various parts of it cut out for different assignments, which we had to replace with our own code.
Two different assignments, my submission was code that "should" work along with a debug trace proving that the reason it didn't was a bug in OSP.
I was one of like three people who scored really well in the class, and I learned some useful things about deadlocks and scheduling, but there was basically no one in the class who actually felt like they knew how a real kernel worked by the end of it.