4 ms·
This reminds me of a (much much simpler) assignment for my Operating System class during my Bachelor. We had to develop our own microkernel with multitasking on
by Morgawr 12y ago
This reminds me of a (much much simpler) assignment for my Operating System class during my Bachelor. We had to develop our own microkernel with multitasking on a MIPS virtual machine. Setting up the scheduler was easy but handling interrupts and message passing in a way that each task would not incur into some context switching while a message was not yet fully acknowledged/replied was hell.
I was 19 back then and I didn't know much (I learned a lot during that assignment) about OS design and concurrency, I remember spending a few nights just wondering why my code wasn't working at times. I mean, after all it's just two instructions one next to the other, right? It's too unlikely that a context switch were to happen right between these two lines of code, right?
How wrong I was.
Awesome read, by the way.