Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jan 1998 19:24:40 -0500 (EST)
From:      Bill Maniatty <maniattb@cs.rpi.edu>
To:        freebsd-questions@freebsd.com (Free BSD Questions list)
Subject:   FreeBSD and Education/RAMDisk
Message-ID:  <199801060024.TAA19300@glob.cs.rpi.edu>

next in thread | raw e-mail | index | archive | help
Hello All:

I am in the process of revising the curriculum for a course I teach here at
Rennselear (Senior level Operating Systems) which is an upper division
computer science undergraduate course and a lower division undergraduate
course.  Since this is my first posting to the mailing lists (I intend to
also post this to usenet too) please let me know the correct mailing
lists for this sort of discussion and feel free to forard this to (or point ot
to me) any people who might be especially useful to discuss this with.

We have a pool of FreeBSD machines in our department suitable for
systems programming (i.e. students can occasionally crash them without
it being the end of the world).  I tried to do a brief literature search
and found the nice McKusick et. al. ``The Design and Implementation of the
4.4 BSD Operating System'', and Uresh Valhalia's guide as well as some 
on line sources, but none giving a sort of tutorial on how to do what
I would like to do.

In any event I was thinking about developing a series of projects spanning
most of the term involving the FreeBSD systems software as follows:

   (1) A Virtual Memory RAM Disk device (raw/unformatted)
   (2) Imposing a (possibly existing) local file system on top of the
       RAM Disk from (1)
   (3) Support file level and byte level locking of (2)
   (4) Permit multithreaded remote access (perhaps via a library)
       to (3).  This might involve adding thread safe semaphores.

Some general questions I have are:
   (i) Is this a reasonable project overview (too hard/easy)?
   (ii) Am I missing some important systems software details?
   (iii) Is there a better series of projects that could be done?

Some near term unresolved issues in the existing plan are:
   (1) A Virtual Memory RAM Disk device (raw/unformatted)
       (a) What are the steps for creating a virtual memory device
           driver for a RAM Disk (have people done this)?
            (i)   Which files need to modified.
            (ii)  Can it be done in a stepwise fashion?
            (iii) Does this need to be done in the kernel?
            (iv)  Is there a good overview of the 4.4 BSD internals?
           An overview of the big picture would help here.
       (b) What is the mechanism for allocating the virtual memory
           segment for the RAM Disk (Does it need to done in the Kernel)?
       (c) Other important questions that I am missing.

In the longer term I could use tutorials on putting a file system on a raw
device and some of the other issues also.

Thanks:

Bill Maniatty

---
|
|	maniattb@cs.rpi.edu - in real life Bill Maniatty
|	URL: http://www.cs.rpi.edu/~maniattb
|



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