Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Oct 1997 22:58:26 -0600 (MDT)
From:      Wes Peters <softweyr@xmission.com>
To:        Stephen McKay <syssgm@dtir.qld.gov.au>
Cc:        chat@freebsd.org
Subject:   Re: FreeBSD for Operating Systems Course 
Message-ID:  <199710140458.WAA09689@obie.softweyr.ml.org>
In-Reply-To: <199710131142.VAA17994@ogre.dtir.qld.gov.au>
References:  <199710120351.WAA09609@pulsar.cs.wku.edu> <199710130146.TAA08173@obie.softweyr.ml.org> <199710131142.VAA17994@ogre.dtir.qld.gov.au>

next in thread | previous in thread | raw e-mail | index | archive | help
Stephen McKay writes:
 > Casting my mind back to my undergraduate OS course days, the most important
 > aspect was simplicity, which roughly equates to size, or lack thereof.  For
 > study purposes, performance and ease of installation are unimportant.  You
 > need a system you can get your head around.

In that case, you probably want to study the uC/OS (pronounced micro
controller operating system) and the accompanying book by Jean
J. Labrosse.  I met Jean last week, he's quite an interesting fellow to
talk to.  uC/OS is a small, embeddable kernel sans I/O system suitable
for placing into tiny devices like programmable thermostats, etc.  The
code compiles to about 8K on an x86.

On the other hand, this is not exactly what you'd call a full-featured
system.  ;^)

 > You want your students to absorb some facts presumably through practical
 > experimentation and not just theory.  So, you should get the simplest device
 > that shows some real world behaviour that they can play with, and usually

I'll argue this point.  Weber State received kudos from most of the
local employers of programmers for courses like their device drivers
series, where students get to develop drivers for, and crash and debug,
actual Sun and Digital systems.  Writing a device driver for VMS is
*anything but* simple.

 > break, but perhaps improve.  I don't count adding a do-nothing system call
 > as good enough.  I would expect more, or not bother doing the course.

Agreed.

 > At least I'd expect something along the lines of changing the scheduling
 > policy or some paging or swapping policy.  Our experiments with biasing
 > disk priority along with CPU priority showed us how easy it is to make a
 > total botch of things. :-)

My experience with adding a system call to Minix to allow the
application to sleep for a single clock tick was pretty instructive (in
my early years) of the level of detail you had to prepare for in order
to do kernel warfare.  While simple, it was significantly less simple
than it originally seemed.  ;^)

 > For our course, we used XINU and another homebaked microkernel (really not
 > much more than a scheduler).  These were simple enough to get your head
 > around, and simple enough that we could easily find bits to improve.  Part
 > of the fun was writing a disk driver for some horrendously old PDP11 disk.
 > Forget which one now, but I should have kept a souvenir.
 > 
 > I recommend that you use Minix, together with its fine book.  Linux
 > or FreeBSD (well, you could guess which I really prefer) would be more
 > appropriate as support tools in a compiler course, or web technology
 > course, or whatever.  Or for a year long postgrad OS research project.
 > I think they are too complex for your average undergraduate with 20
 > other things on their mind.  You want them to remember some of your course,
 > not just marvel at how complex your props are.

I'd agree if it is a 2nd year undergraduate course in "intro to"
operating systems.  For a fourth year course on details of operating
systems, I'd dive into a *real* system like FreeBSD or Linux.

 > Or perhaps I've been unfair.  I see a clear distinction between teaching
 > students how to be OS users and teaching them how to be OS builders.  I
 > have assumed you want them to be OS builders.  If I'm wrong, forget I
 > was here.

I had made the same assumption.

 > On Monday, 13th October 1997, Wes Peters wrote:
 > >I welcome contrasting viewpoints, not that I'm likely to find any here.
 > 
 > This is a little meta, but, don't you think we have a higher proportion
 > of contrasting viewpoints over here in the FreeBSD camp than those other
 > more fixated types? ;-)

It would seem so; I've gotten several contrasting viewpoints, even those
that agreed with me agreed on contrasting points.  ;^)

-- 
          "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                       Softweyr LLC
http://www.xmission.com/~softweyr                       softweyr@xmission.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710140458.WAA09689>