[comp.sys.amiga] Amigas in Networks and OS classes?

ali@navajo.UUCP (11/23/86)

[]
I'm currently taking a Networks class here at Stanford. One of the projects
for the class is to implement a communications protocol on top of a simulator
written in Pascal. The simulator essentialy provides all the "real-world"
events and throws them at the communications software written by the 
students. These "real-world" events include timer interrupts, arrival
of packets, host requests (to send packets down the net), etc. 

The simulator good enough, and you do end up learning some of the issues
involved in writing communications software. But, of course, the simulator
can only fake it so much --- In the end, you end up writing a program
that responds correctly to the predetermined actions of the simulator, and
everything is great. But, of course, you've only implemented the protocol,
and as far as writing communication software goes, you're no better.

My conclusion is, it would be great to write communication software in
an actual multitasking environment. According to the prof, in his class notes,
the best environment to write communications software in should include:

1. Multitasking. The I/O handler (which looks at the communications line
   and grabs packets), the communications software (which implements the
   protocol for communication), and the user tasks should all run 
   independently.

2. Message passing. With multitasking, you need some means of interprocess
   communication.

3. Means of buffer passing between processes --- On machines where user
   tasks are in seperate address spaces, this is not too easy!

4. Being able to set priorities of tasks and being able to guarantee 
   execution within a certain time period (to avoid dropping packets on 
   the floor...).

5. Being able to set timers (for timeout processing, etc).

The prof mentions that Unix is not a good OS for communication software
development, as all communications software has to reside in the kernel.
(Unprividleged processes cannot do most of the above.) 

Now, as I was reading through his notes, it occured to me 
that Amiga would be a great machine to do communication 
software programming on --- No, not real TCP servers or 
anything like that, but educational communication software development.
Amiga is multitasking, has message passing, has a single address space
(so interprocess buffer-management is no problem), and allows you to set
priorities to any level you want (even above that of the OS routines), 
etc... And, on top of all this, it has all the great graphics you would need
to create the most beautiful (and dynamic) monitoring screens you might want.

Anyway, I want to send a message to the prof telling him all this. Now
one can get an Amiga for $999, extra 256K for $100, and an extra drive for
$200. Most necessary software is available public domain, but one would
need to get C compilers (probably at some educational discount), and some
games (every lab needs some games). Seems like for the price of a couple
of Suns or some Vax one could fill up a lab with Amigas!

Does anyone have any thoughts about this? Am I overlooking some obvious
(and not so obvious) things that would make the Amiga inappropriate for
such use? Seems like *such* educational use is one place where the other
machines costing about the same (like the Mac or the PC) have no hopes of
competing with the Amiga. 

I'll appreciate any comments or suggestions. Also, if anyone has done
the above (ie, using the Amiga for Networks or OS classes), I would love
to hear about it.

Ali Ozer
ali@score.stanford.edu, ali@navajo.arpa