Sunday, July 29, 2007

CS452: Real-time Operating Systems

I've spent far too much of the last three months in the trains lab (well, also in the phones lab programming this monstrosity).

What were we doing in the trains lab? Writing a microkernel operating system for the x86 architecture (what most people have inside their computers). This was different from ECE354, where we wrote a monolithic operating system for the M68K architecture (the ones that powered early Macintosh PowerPCs).

The course is broken down into 7 assignments: 1 introductory one, 3 where you build the OS, and 3 where you write user programs to run on the OS to track trains and do something cool with them. Our final project was a 911 dispatch service that estimate train arrival times at callee locations. The final thing was on the order of 20,000 lines of code and took several hundred hours of development time.

Since two our of three of the group members were MSFT interns, we stole a few motifs from our corporate masters, inclulding this common sight during the early days of coding:



Our console window:



The track:



One of our group members, Nima, wrote some beautiful code that applied artificial intelligence (in the form of Bayesian networks) to give us a very robust, accurate train tracking subprocess that could even learn about the trains it was tracking over time. This video shows our OS tracking 7 trains simultaneously -- which is pretty damned impressive.

Real-time was a lot of work, but definitely one of the most satisfying courses I've taken. I attribute both to its "messiness" -- interacting with real-world, unreliable systems made the course a lot more difficult, but also a lot more rewarding.

That's not to say there weren't several times that I ended up saying "I hate my life" (usually, this would be during a 30-hour marathon of coding/debugging.) And I'm not the only one -- prior students have composed songs to express their frustration with the course requirements.

Comments:
dear colin,

i always knew you were smart but that blog makes me think you and your friends are even smarter than i realize. At what point is your plan for world domination going to deploy, and where do i fit in to the scheme?
 
ps that song is soooo 1996
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?