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>