Hi all,

We've kicked this around before, but I don't think we went into depth. I'm
thinking about an operating systems course next fall, and wonder what kind
of ideas might be floating around in all y'alls heads.

Context/Background
===============

I'm teaching Computer Organization this term with "Elements of Computing
Systems." I think it is a marvelous text, and I love constructive/hands-on
approaches to teaching computing.

When I studied Operating Systems, we used NachOS.

http://homes.cs.washington.edu/~tom/nachos/

Next Semester
===============

I'm teaching Operating Systems in the fall.

I could go the NachOS route.

It would be very cool to do something with FreeRTOS, perhaps even with real
hardware (a lab of R-Pis, the BeagleBone, or perhaps an AllWinner A10-based
board?). Or, even, to contribute to/write/rewrite components and explore
performance/correctness/etc. as a result of what we do. (For example, what
if we remove the (likely very savvy) scheduler from FreeRTOS and replace it
with a simple round-robin scheduler?)

http://www.freertos.org

Question/Ask
===============

I think we have a colleague on the list from the FreeRTOS project. If I
want my students to have a constructive/hands-on exposure to operating
systems, could we sketch out (in this space or elsewhere) what a course
built around FreeRTOS might look like? (Ideas follow... but, it's
brainstormy at this point.)

For example, when one goes the NachOS route, students write an NFS
component, then a scheduler, then a filesystem, etc. I'm not suggesting
that we *have* to do those kinds of things, but they're what are *in my
head*. And, I don't have personal experience (at this moment) with
FreeRTOS... so, I have reading to do. And it's hard for me to imagine what
I might do. But, textbook choices are coming up, and I have to decide if
I'll use a text, or just use articles from the ACM/IEEE, etc.

So, I thought I'd throw this half-baked question out to the hive mind, and
see what kinds of ideas come back. My primary concern is time: that is, the
from-scratch course design for next fall will take a lot of time, whereas a
NachOS approach is well traveled, and I'll find a lot of resources to
support me. But, it might be that I can follow a NachOS-like roadmap, but
use a smaller codebase that is actually used in the world, and do something
interesting with it that is of high value to the students.

Thoughts?

Many thanks,
Matt
_______________________________________________
tos mailing list
tos@teachingopensource.org
http://lists.teachingopensource.org/mailman/listinfo/tos

Reply via email to