home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!stanford.edu!agate!darkstar.UCSC.EDU!osr
- From: mamisra@pollux.usc.edu (Manavendra Misra)
- Newsgroups: comp.os.research
- Subject: Summary of responses to OS class suggestions request.
- Date: 26 Jan 1993 21:09:30 GMT
- Organization: University of Southern California, Los Angeles, CA
- Lines: 615
- Approved: comp-os-research@ftp.cse.ucsc.edu
- Message-ID: <1k49aaINN5da@darkstar.UCSC.EDU>
- NNTP-Posting-Host: ftp.cse.ucsc.edu
- Originator: osr@ftp
-
-
- A few days ago I had posted an inquiry about what Operating Systems
- were available out there that I could use for an Operating Systems
- Class at the Colorado School of Mines. I got some very helpful
- responses and I thought they might be useful to other people, so I'm
- going ahead and reposting them.
-
- Peter Danzig at USC suggested that I look into Nachos from Berkeley.
- I've gone ahead and decided to use Nachos--an instructional OS
- developed at Berkeley by Tom Anderson, Wayne Christopher, Stephen
- Procter (and others?). It's available by anonymous ftp from
- ftp.cs.berkeley.edu in /ucb/pub. Tom's email address is
- tea@cs.berkeley.edu. The only problem is that I have to port it to an
- RS6000 environment. Has anyone used Nachos in the RS6000 environment
- (or in any environment)? I'd certainly like to get feedback about
- what I should and should not be doing.
-
- Thanks again to everyone who responded!
-
- Manav.
-
- PS. I believe I have got permission to repost these articles. If I've
- goofed up, please forgive me.
-
- *****************************************************************************
-
- Manavendra Misra
- Stratton Hall 406
- Dept of Mathematical and Computer Sciences
- Colorado School of Mines
- Golden, CO 80401
-
- Ph. (303)-273-3873
-
- email: mmisra@mines.colorado.edu
-
- *****************************************************************************
-
-
-
-
- Return-Path: sjc@cs.purdue.edu
- From: "Steve Chapin" <sjc@cs.purdue.edu>
- Dr-Seuss-Quote: I will not eat them here or there,
- I will not eat them anywhere!
- I do not like green eggs and ham,
- I do not like them, Sam-I-am.
-
- Manav,
-
- I've TA'ed the OS class here at Purdue (and taught classes some) 9
- times, so I think I can give you some decent advice :-)
-
- I suggest a hands-on approach. As you guessed, being able to actually
- look at the code, compile it, and run it on a box makes the class much
- more interesting.
-
- There are several packages out there that should adapt well to use in
- the classroom. I know of three off the top of my head:
-
- o Xinu: developed at Purdue by Doug Comer, and others (including me).
- It's designed to be small, and layered, so that the code is succint
- and easily understandable. It is intended for education, and is a
- "conventional" operating system. Xinu runs on the IBM PC, Sun-3,
- sparc, LSI, MIPS, Macintosh, and VAX architectures. (Obviously, this
- is the one with which I'm most familiar.)
-
- o Minix: developed by Andy Tanenbaum. It is a (mostly)
- Unix-lookalike (from the outside) based on message passing. I believe
- Minix runs on PC-based machines.
-
- o (Some ignorance; I can't remember the name): I believe some
- professors at SUNY-Buffalo developed an OS simulator specifically for
- the classroom/lab situation. I'll see if I can track the info down (I
- have it somewhere).
-
- ...
- sc
- --
-
-
- Return-Path: reiher@FICUS.CS.UCLA.EDU
- From: reiher@FICUS.CS.UCLA.EDU (Peter Reiher)
-
- In article <1jmq2tINN876@darkstar.UCSC.EDU> you write:
- ....
-
- You probably want to get hold of Tannenbaum's operating system textbook.
- (I believe it's called "Modern Operating Systems", but I wouldn't swear
- to it.) He wrote a very minimal Unix-style operating system called
- Minix that is discussed in the book. For minimal costs (media and
- shipping, I believe), you can get hold of Minix. In the past, I think
- they've even sold copies of the book that include a floppy with Minix
- on it, and they may still. In addition to having an actual, readily
- available operating system to work with, Tannenbaum is an excellent
- text book writer.
-
- --
- Peter Reiher
- reiher@wells.cs.ucla.edu
-
-
- ================
-
-
- Return-Path: sanjiv@redbird.umsl.edu
- From: sanjiv@redbird.umsl.edu (Sanjiv K. Bhatia)
-
- In comp.os.research you write:
-
- ...
-
- Well, you can use OSP which is an Operating Systems Simulator. It is available
- via anonymous ftp from cs.sunysb.edu and is an excellent tool for OS
- instruction. There is a book that goes with it and is published by
- Addison-Wesley. It is not very well written but the authors of OSP provide
- excellent support. I have been very happy with it despite the shortcomings of
- the book and will recommend it to anyone.
-
- Sanjiv
- --
- Sanjiv K. Bhatia Department of Mathematics & Computer Science
- sanjiv@redbird.umsl.edu University of Missouri -- St. Louis
- voice: (314)-553-6520 8001 Natural Bridge Road
- fax : (314)-553-5415 St. Louis, MO 63121-4499
-
- ==============
-
- Return-Path: johnsonm@stolaf.edu
- From: johnsonm@stolaf.edu (Michael K Johnson)
-
-
- One possibility is to use minix, as there is a matching textbook and
- it comes with complete source code. Unfortunately, the source code is
- not that great, and is harder to modify than that of several other
- choices.
-
- Another choice is to use Linux. Linux is a free unix clone that is
- well written and works extremely well. The downside is that there is
- little documentation finished on it yet, because it has been in beta
- test, and features have changed a bit to be as good as possible.
- However, it is pretty stable, and documentation is now being written.
- If this option interests you, I can get you more info -- just mail me.
-
- If you have not decided on a textbook, BTW, I would suggest Stallings'
- _Operating Systems_ if you want to teach an in-depth course, and
- perhaps Tanenbaum if you don't want to get quite as in-depth. Mail me
- on this, too, if you have any questions.
-
- michaelkjohnson
- johnsonm@stolaf.edu
-
- ==============
-
- Return-Path: daniels@walleye.cse.ogi.edu
- From: daniels@walleye.cse.ogi.edu (Scott David Daniels)
-
- Consider teaching from Andrew Tannenbaum's book "Operating
- Systems -- Design and Implementation". I taught a course
- using that and "Operating System Concepts -- Third Edition"
- by A. Silberschatz, J. Peterson, and P. Galvin. You can use
- Minix (a unix-like OS) and have them hack a "real" OS. The
- students were split on whether Tannenbaum was great (concrete
- thinkers, I suspect) and Silberschatz was useless or vice
- versa (theory-based learning). The mix was great, usually
- one or the other had a clear explanation. About a third of
- the minix book is minix source (well-commented and built for
- real program source).
-
- -Scott David Daniels
- daniels@cse.ogi.edu
-
- ============
-
-
- Return-Path: neilsen@a.cs.okstate.edu
- Cc: neilsen@a.cs.okstate.edu
- From: Mitch Neilsen <neilsen@a.cs.okstate.edu>
-
-
- Hello Manav,
-
- I have been involved with teaching both graduate and undergraduate
- operating systems courses for several years now. I will try to
- address your questions in turn:
-
- > Hi! I am teaching a course on Operating Systems at the Colorado School
- ....
-
- May I ask, which text are you using? I am currently using Tanenbaum's
- new text entitled "Modern Operating Systems", which is very good.
-
- Projects: I generally assign students in the undergraduate course
- 3 programming problems:
-
- (1) A process synchronization problem, such as the dining philosophers
- problem, to be solved using UNIX SysV semaphores. So they have to
- learn about: fork(), semop(), semctl(), etc. system calls. The
- problem I assigned last fall was the Japanese Bathroom Problem.
- I can send you all the details and working solutions for SysV UNIX.
-
- (2) The next major section is on memory management, so I had them
- write C code to simulate a swapping system using the standard
- algorithms: first fit, next fit, etc. In addition, the swapper
- is to do compaction if there is not enough space left in any
- one of the holes and compaction will help.
-
- (3) The last project I assign them is to write some client-server
- code, such as a simple file server. Last semester, for a change
- of pace, I had them write a semaphore server, run the server
- in the background and have a client request for semaphore
- operations.
-
- Public UNIX: There are currently two major free UNIX products - 386BSD
- and Linux. However, for teaching a class (or even for a nice implementation
- course) I would recommend MINIX. This is a layered UNIX OS written by
- Tanenbaum and distributed through Prentice-Hall. The cost is around $160,
- but that includes a site license, so students can make copies. Tanenbaum
- also has a text on Minix, I think an updated text is due out soon.
- MINIX will run on most IBM compatible machines, even with 80286 processors.
- However, Linux, for example, requires at least a 386 with about 4MB of
- memory, more if you want to run X, but it is very nice. I have Linux
- running on a 486-33 with an SMC Elite 16 ethernet card connected to
- the network and it works very well.
-
- I hope this helps, if you have other questions or if you would like the
- complete problem sets with solutions, let me know.
-
- Cheers,
-
- Mitch Neilsen
- Asst. Professor
- Computer Science Dept.
- 219 Math Sciences
- Oklahoma State University
- Stillwater, OK 74078
-
- E-mail: neilsen@a.cs.okstate.edu
- Phone: (405) 744-5670 (if it rings more than 3 times, I'm not in...)
-
-
- ===========
-
-
- Return-Path: yodaiken@chelm.cs.umass.edu
- From: yodaiken@chelm.cs.umass.edu (victor yodaiken)
-
- In article <1jmq2tINN876@darkstar.UCSC.EDU> you write:
- ....
-
- for an introductory course, use Minix or Xinu, two unix variants that
- have been the subject of books, run on cheap PC's and have freely available
- source code. For a medium level course I'd use Linux or 386BSD, there are
- newsgroups for both of these modern UNIX variatns that come with source, but
- no books as of yet --- for 386BSD there is the McKissik book on
- Berkelely unix. For an advanced course, we are goning to try to use
- Plan-9 which can be obtained free of charge from Bell Labs.
-
- =================
-
- Return-Path: hartley@emily.emba.uvm.edu
- From: hartley@emily.emba.uvm.edu (Stephen J. Hartley)
-
- Sounds like what you want is Tanenbaum's MINIX. The source code for
- this UNIX-look-alike is in the book and also available from Prentice-Hall
- for a number of machines.
-
- =====================
-
- Return-Path: jhowatt@eeyore.stcloud.msus.edu
- From: jhowatt@eeyore.stcloud.msus.edu (Jim Howatt)
-
-
- I'm currently teaching a 2 quarter sequence in software engineering.
- I'm using "Operating Systems Concepts, 3rd ed" by Silberschatz, et al.
- (It's a good text, especially if you use "Operating Systems, 2nd ed" by
- Deitel as an alternate source of material).
-
- For the lab part of the course, I ordered the Minix operating system for
- PCs. It's a full-up, Unix-like OS that comes with all the source code.
- For projects, I'm having the students modify scheduling algorithms,
- memory algorithms, and the like. The students are impressed that they
- can actually modify and run a real OS on real hardware. Tanenbaum structured
- the OS code as a teaching tool, so it's very readable and maintainable
- (subscribe to Comp.os.minix for more info).
-
- Hope this helps.
-
- Jim
-
- +-----------------------------------+---------------------------------------+
- | James W. (Jim) Howatt | 139 Engineering and Computing Center |
- | Department of Computer Science | St. Cloud State University |
- | jhowatt@eeyore.StCloud.MSUS.edu | St. Cloud, MN 56301-4498 |
- +-----------------------------------+---------------------------------------+
-
- ===============
-
- Return-Path: wu@cs.ukans.edu
-
- Hi!
-
- Knowing that your need suggestion on the projects for OS course, I think you
- might be interested in what we have in our OS course. One of the projects we
- have is to write a program to simulate the Dinning Philosopher problem. There
- can be two types. One is with UNIX pipe, with 5 process simulating 5 philosoph-
- ers and communicating with pipes (not 1-1). The other is with UNIX socket, with
- 5 processes on 5 different machines simulating 5 persons.
-
- If you are interested, I can send you my source code to you.
-
- --Hao
-
- =============
-
- Return-Path: acmrlb@gsusgi2.gsu.edu
- From: acmrlb@gsusgi2.gsu.edu (Ronald L. Bolin)
-
- Here at GSU our operating system course is based on OSP. Students are
- able to write particular modules for the OS, compile their modules
- and fine tune performance. OSP is Operating System Projects, and is
- published by Addison-Wesley. Authors Michael Kifer & Scott A. Smolka.
-
- You do not get the entire source to OSP, but do get a good manual
- and some templates. Students write and link their code and run OSP
- on a UNIX box under simulation.
-
- Ron
-
-
- --
- Ron Bolin BellSouth Telecommunications
- Georgia State Univ acmrlb@gsusgi2.gsu.edu
- BellSouth Tele rlb@bsts03.bss.com
- Voice 404-529-3945
-
- ============
-
-
- Return-Path: peterd@pjd.dev.cdx.mot.com
- From: Peter Desnoyers <peterd@merlin.dev.cdx.mot.com>
-
- In comp.os.research you write:
-
- ....
-
- Students like being given a complex system and modifying parts of it,
- rather than writing everything from scratch - besides being a lot
- closer to the real world, it lets them do far more interesting things.
- If you got some of the sources below, for instance, you could quite
- conceivably have students change virtual memory strategies or file
- system layouts in a single problem set or lab assignment. If you're
- going to do something like that, make sure you have a way of debugging
- the kernel.
-
- > Also, do you know if I could get a copy of the source code
- >for Unix somewhere.
-
- Your choices include:
-
- Linux - a UNIX (POSIX? anyway, SYSV-ish) look-alike written by a crazy
- Scandinavian. Seems to be a good system.
-
- 386BSD - real Berkeley Unix (NET/2 release + code to replace the
- AT&T-contaminated modules left out of NET/2)
-
- [the above two available off the net, from Austin Code Works, and
- various CD-ROMs]
-
- BSD/386 from BSDI - $1000, similar to 386BSD but professional and with
- support. Possibly not available due to court injunction???
-
- "Real" UNIX, with AT&T license and everything - If your institution
- has a source licence, I'm still not sure I'd risk the legal hassles of
- showing it to your entire class.
-
- Minix - by Andrew Tannenbaum - not free but cheap, and comes with a
- textbook. (book + OS is maybe $80) For either BSD you could use
- Quarterman, Karels, et al. for a text; for Linux you could use Bach,
- but the only reason there's a resemblance is because Linus (the author
- of Linux...) used Bach as a reference in writing it.
-
- Xinu - book by Douglas Comer. Check the back of the book for ordering
- info on the software. I know nothing about this OS or book, but
- Comer's book on TCP/IP implementation was excellent.
-
- ***
-
- My personal suggestion would be to stick with something like Minix or
- Xinu, rather than trying to comprehend any fraction of the code of a
- non-pedagogical system. If you're going to use examples from a real
- OS, they should be examples - e.g. one or two files from the VM
- system; a file from the file system, etc. If there was a book on it,
- Linux might actually be a good pedagogical system, because it's been
- mostly written by one person in a short period of time and should have
- a lot more coherency than most "real" systems; however, it hasn't
- gotten to that state yet.
-
- Peter Desnoyers
-
- [ok to repost this if you wish]
- --
-
- ==============
-
- Return-Path: wood@ida.org
- From: wood@ida.org (Jonathan Wood)
-
-
-
- See the newsgroup comp.os.linux for free unix OS, a variant of minux.
-
- Here is an info sheet I got from that group:
-
- >From ardoin@dmsoproto.ida.org Tue Jan 19 14:20:46 1993
- Return-Path: <ardoin@dmsoproto.ida.org>
- Received: from omni.ida.org by csed-62.noname (4.1/SMI-4.0)
- id AA06430; Tue, 19 Jan 93 14:20:43 EST
- Received: from dmsoproto.ida.org. by omni.ida.org (4.1/SMI-4.1)
- id AA14332; Tue, 19 Jan 93 14:20:41 EST
- Received: by dmsoproto.ida.org. (4.1/SMI-4.1)
- id AA22791; Tue, 19 Jan 93 14:23:07 EST
- Date: Tue, 19 Jan 93 14:23:07 EST
- From: ardoin@dmsoproto.ida.org (Cy Ardoin)
- Message-Id: <9301191923.AA22791@dmsoproto.ida.org.>
- To: wood@ida.org
- Subject: Info sheet
- Status: RO
-
- LINUX INFORMATION SHEET
- (last updated July 16, 1992 by Jim Winstead Jr.
- jwinstea@jarthur.Claremont.EDU)
-
- 1. WHAT IS LINUX 0.96
-
- LINUX 0.96 is a freely distributable UNIX clone. It
- implements a subset of System V and POSIX functionality.
- LINUX has been written from scratch, and therefore does not
- contain any AT&T or MINIX code -- not in the kernel, the
- compiler, the utilities, or the libraries. For this reason it
- can be made available with complete source code by anonymous
- FTP. LINUX runs only on 386/486 AT-bus machines; porting to
- non-Intel architectures is likely to be difficult, because the
- kernel makes extensive use of 386 memory management and task
- primitives.
-
- Version 0.96 is still a beta release, but it already provides
- much of the functionality of a System V.3 kernel. For
- example, various users have been able to port programs such as
- bison and flex without having to modify code at all. Another
- indication of its maturity is that it is now possible to do
- LINUX kernel development using LINUX itself and
- freely-available programming tools.
-
- 2. LINUX features
-
- - System call compatible with a (large) subset of System V and
- POSIX
- - Full multiprogramming (multiple programs can run at once)
- - Memory paging with copy-on-write
- - Demand loading of executables
- - Page sharing of executables
- - Virtual memory: swapping to disk when out of RAM
- - POSIX job control
- - virtual consoles
- - pty's
- - some 387-emulation
- - ANSI compliant C compiler (gcc)
- - runs most, if not all, of the GNU utilities, including
- bison, flex, Emacs, gdb, bc, info, etc.
- - Over 200 library procedures (atoi, fork, malloc, read, stdio, etc.)
- - Currently 6 national keyboards: Finnish, US, German, French,
- British, and Danish
- - Full source code (in C) for the OS is freely distributable
- - Full source code of the tools can be gotten from many
- anonymous ftp sites around the world
- - Runs in protected mode on 386 and above
- - Support for extended memory up to 16M on 386 and above
- - RS-232 serial line support with terminal emulation, kermit,
- zmodem, etc.
- - Supports the real time clock
-
- 3. HARDWARE REQUIRED
-
- - A 386 or 486 machine with an AT-bus. (EISA will probably
- work, also, but you will need an AT-bus hard disk
- controller.) Both DX and SX processors will work.
- - A hard disk implementing the standard AT hard disk interface
- -- for example, an IDE drive. In addition, some SCSI
- adapters are supported for access to SCSI devices.
- - A high-density disk drive -- either 5.25" (1.2MB) or 3.5" (1.44MB).
- - At least 2 megabytes of RAM. (LINUX will boot in 2 Mb. To
- use gcc 4 MB is a good idea.)
- - Any video card of the following: Hercules, CGA, EGA, VGA
-
- In addition, LINUX supports:
- - up to four serial line
- - a real time clock
-
- 4. PARTIAL LIST OF UTILITIES INCLUDED IN OR AVAILABLE FOR LINUX 0.96
-
- - The MTOOLS package (reading/writing to DOS filesystems)
- - The complete GNU filetools (ls, cat, cp, mv, ...)
- - The GNU C and C++ compiler with GNU assembler, linker, ar, ...
- - bison
- - flex
- - rcs
- - GNU make and pmake (BSD 4.3 Reno/BSD 4.4 make)
- - kermit
- - GNU Emacs, as well as MicroEMACS
- - Elvis, and other vi clones
- - less (or more)
- - mkfs
- - fsck
- - mount/umount
- - TeX, dvips
- - X (and lots of X apps)
- - and lots more...
-
- 5. LINUX BINARIES
-
- The LINUX binaries and sources are available at several
- different anonymous FTP sites. The biggest are:
-
- banjo.concert.net:/pub/Linux
- tsx-11.mit.edu:/pub/linux
- nic.funet.fi:/pub/OS/Linux
-
- 6. LEGAL STATUS OF LINUX
-
- Although LINUX is supplied with the complete source code, it is
- copyrighted software. Unlike MINIX, however, it is available
- for free, provided you obey to the rules specified in the
- LINUX copyright.
-
- Linux is copyrighted by Linus Torvalds, but the copyright are
- identical to the GNU copyleft: get a copy of the copyleft at
- your nearest ftp-archive..
-
- 7. NEWS ABOUT LINUX
-
- There is one newgroup devoted to Linux discussions:
- comp.os.linux.
-
- Additionally, there are a couple of mailing-lists:
-
- linux-activists-request@niksula.hut.fi is the original
- mailing-list, and it now supports channels (most
- notably the GCC and X channels).
-
- linux-standards-request@concert.net is the Linux
- Standards lists, devoted to discussions of standards
- for Linux, such as device names, and file and
- directory names.
-
- linux-man-request@stolaf.edu is devoted to the Linux
- Document project, which is in the process of
- collecting man pages, writing installation guides,
- usage guides, and numerous other documents.
-
- linux-serial-request@stoloaf.edu is devoted to the
- discussion of serial port-related issues under Linux,
- including performance.
-
- There is also a a newsgroup service for users unable to access
- comp.os.linux, (what is the address for this service?)
-
- For the current status of LINUX:
- finger torvalds@kruuna.helsinki.fi
-
- 8. FUTURE PLANS
-
- Work is underway on LINUX version 1.0, which will close some
- of the gaps in the present implementation. Various people are
- currently working on:
-
- - additional filesystems (DOS, extended, ISO9660)
- - STREAMS
- - interprocess communication
- - IEEE POSIX P1003.1 / P1003.2 compatibility
- - more complete SCSI support
-
- If you want to help, read comp.os.linux, and subscribe to the
- appropriate Linux mailing lists and/or channels.
- --
- + Jim Winstead Jr. (CSci '95)
- | Harvey Mudd College
- | jwinstea@jarthur.Claremont.EDU
- + This is all my words. Honest!
-
-
-
-
- Jon Wood (703) 845-6632
- Institute for Defense Analyses
-
- ===============
-
- Return-Path: goldfish@cpage0.sbi.com
- From: goldfish@cpage0.sbi.com (P. Goldsmith)
-
- I have never taught a complete course, however, you might consider linux as
- an alternative to minix for your examples. It is free, and almost all your
- students will be able to take it home and run it. Also, after the course is
- over, they will have a running UNIX system at home.
-
-
- --
- Paul Goldsmith <goldfish@sbi.com> w 212-783-7733
- (shredding elf) <goldfish@ozrout.uucp> h 212-727-9345
- ( Shirley MacLaine told me there would be LIFETIMES like this)
- ... so many managers ... so little time ...
-
-
-
-