[comp.sys.amiga] The Next Generation

pla@zippy.eecs.umich.edu (Paul Anderson) (01/01/70)

In article <597@trwspf.TRW.COM> knurlin@trwspf.UUCP (Scott Karlin) writes:
>In article <582@zippy.eecs.umich.edu> pla@zippy.eecs.umich.edu (Paul Anderson) writes:
>>to the Apollos.  I am in the process of porting about 150,000 of those
>>lines (Berkeley's Magic, written in C) to the Amiga.  I have found that
>        ^^^^^^^^^^^^^^^^
>This is very exciting!  Please tell us more.  Availability, etc...
>>
>-- 
>Scott Karlin
>TRW Data Systems Lab
>Internet:	knurlin@trwspf.trw.com
>ARPA:		knurlin%trwspf@trwrb.trw.com
>USENET:		...!trwrb!trwspf!knurlin

Our commercially supported version of Magic for the Apollos
is available now.  Our version for the Amiga is running
now, but I need beta testers for it.  The Amiga version
of Magic and the related tools will be available in
some form by late Q1 1988.  Price for the Amiga version
is tenatively set at $1295, some discount can be
expected for quantity and for University sites.  For
more info, feel free to mail, e-mail, or phone me.

Paul Anderson

pha@caen.engin.umich.edu
pla@zippy.eecs.umich.edu

Sandhill Systems
PO Box 3159
Ann Arbor, MI  48106
(313) 475-7394

rogerh@arizona.edu (Roger Hayes) (11/12/87)

There have been some folks clamoring for virtual memory for the next
generation.  I would like to speak up on the other side of the issue.
Some of the things that makes the Amiga so nice to use and to program for
are the extremely low latency of task switching and the extremely low
overhead of message passing.  Both of these are likely to go down the
drain if memory protection is added.

As an extreme example, look at Sun workstations -- it takes tens of
seconds to open a window, because you have to make several trips down
through Unix and back up into the application code to get the job
done.  On my Sun at work (a 2-50), I can easily drag a window faster
than the display can keep up, so that the window outline chases around
the screen for 10 seconds after the mouse is still.  This is because
Sun task switching is slow -- thanks to Unix and virtual memory.

The latest work in distributed operating systems is tending towards a
lightweight process model -- just what we have in the Amiga.  This is,
IMHO, because a distributed OS is at heart a real-time I/O handler for
the network and display devices.   The Amiga does a great job at this
now.  Let's not lose it in an effort to gain ground that the pioneers
are deserting.

You want more security?  Well, I might accept memory *protection*
hardware, as long as the additional cost in task-switching was
recoverable from elsewhere.  Or we could make the software do it --
write programs in a secure language.  This is similar to the RISC
approach to pipeline delays.  The rationale is that compilation is a
one-time cost, while hardware complexity hurts every time you run a
program.  (And that's disregarding the production cost entirely.)

        Roger Hayes
        rogerh@arizona.edu

jbn@glacier.STANFORD.EDU (John B. Nagle) (11/13/87)

    1.  Given the way that RAM prices are declining while
	disk access times are not improving, virtual memory
	looks like an idea whose time has passed.  Most newer
	systems with virtual memory use it as an excuse for
	fat software.  Sun and Symbolics are the worst offenders
	in this regard.   (Sun users: try "size /bin/ps".  Then
	try to think of what could possibly make it that big.)

    2.  "Lightweight processes" are an old idea, not a new one.  
	EXEC 8 for the Univac 1108 and its successors have had them
	since 1969; so have some other mainframe systems.  It's
	merely the fact that the operating systems whose
	internals are well-known in the academic community,
	TOPS-20 and UNIX, don't have them that makes people
	think that they have invented something new.  

    3.  Memory protection is desirable, but a true protected operating
	system would require that the operating system keep track of
	all the resources requested by a user program and be able
	to take them back when a program exited abnormally.  Tripos
	(alias AmigaDos) does not do the bookeeping to allow this.
	Neither does the system in the Mac line.  We don't yet have
	a widely used example of an efficient operating system for
	small machines that provides proper protection.  However,
	OS/2 for the IBM PS/2 supposedly meets this criterion.
	We will have to see.  Note that if it does, users will soon
	find it intolerable for their machine to crash all the
	time like present generation systems.  All the other vendors
	will then have to catch up with IBM.


					John Nagle

harald@ccicpg.UUCP ( Harald Milne) (11/16/87)

In article <2785@megaron.arizona.edu>, rogerh@arizona.edu (Roger Hayes) writes:
> There have been some folks clamoring for virtual memory for the next
> generation.  I would like to speak up on the other side of the issue.
> Some of the things that makes the Amiga so nice to use and to program for
> are the extremely low latency of task switching and the extremely low
> overhead of message passing.  Both of these are likely to go down the
> drain if memory protection is added.

	I am glad somebody finally said this. The Amiga does not have the
massive context switch overhead involved with user space and virtual memory
maps. Thank god. That is why there is low latency, nothing to switch in
context. Virtual UNIX on the Amiga or the Sun or the Mac II will suck, and cost
a lot. Not to mention the added overhead of purging translation buffers.

	Although the Amiga is multitasking, and not multiuser, this is
an advantage. There is no reason to support the multiuser feature of UNIX
on the Amiga, simply since it isn't. (After all, it is MY machine)
I call it multitasking without the excess baggage!

> As an extreme example, look at Sun workstations -- it takes tens of
> seconds to open a window, because you have to make several trips down
> through Unix and back up into the application code to get the job
> done.  On my Sun at work (a 2-50), I can easily drag a window faster
> than the display can keep up, so that the window outline chases around
> the screen for 10 seconds after the mouse is still.  This is because
> Sun task switching is slow -- thanks to Unix and virtual memory.

	That is a very good example. Suns die like dogs doing anything
UNIX. Not to mention ack, gack, wheeze. To bad this is the street Apple
is walking down on for the Mac II. Boy do they have a few suprises! I
won't even mention the astronomical costs to accomplish this!
UNIX on micros is silly, unless you like waiting or paying for the performance.
Considering the Amiga does very well without, is a point in its favor.
-- 
Work: Computer Consoles Inc. (CCI), Advanced Development Group (ADG)
      Irvine, CA (RISCy business! Home of the CCI POWER 6/32)
UUCP: uunet!ccicpg!harald

phil@titan.rice.edu (William LeFebvre) (11/16/87)

In article <2785@megaron.arizona.edu> rogerh@arizona.edu (Roger Hayes) writes:
>There have been some folks clamoring for virtual memory....
>extremely low latency of task switching and the extremely low
>overhead of message passing.  Both of these are likely to go down the
>drain if memory protection is added.

Memory protection != virtual memory

>As an extreme example, look at Sun workstations -- it takes tens of
>seconds to open a window, because you have to make several trips down
>through Unix and back up into the application code to get the job
>done.

Tripos != Unix.  Also:  sizeof(Tripos) < sizeof(Unix)
A mathematician would write:  |Tripos| << |Unix|
("<<" means significantly less than)

>On my Sun at work (a 2-50), I can easily drag a window faster than the
>display can keep up.... This is because Sun task switching is slow --
>thanks to Unix and virtual memory.

No, this is almost completely the fault of SunView and Sunwindows.  They
are huge monolithic monsters that make unreasonable demands of the
system's resources.  Every SunView process must carry at least 300K of
library routines with it in order to run in the environment.  After the
so-called kernel takes its 400K chunk and each SunView process takes its
share, there is very little memory left for the virtual memory system to
play with.  No virtual memory system is going to be successful when there
is less than half a meg of real memory left.  Ever seen X run on a Sun?
Ignore the bugs, just look at how fast it can move the windows around.
That should help demonstrate that the fault is primarily with SunView and
NOT just with Unix.

>The latest work in distributed operating systems is tending towards a
>lightweight process model -- just what we have in the Amiga.

Absolutely.  And this is exactly what you do NOT have with Unix!  I think
that comparing Unix+VM to AmigaOS+VM is like comparing apples with stems
to pears with stems.

>You want more security?  Well, I might accept memory *protection*
>hardware, as long as the additional cost in task-switching was
>recoverable from elsewhere.  

I think the Amiga really *needs* this.  Unpriviledged processes already
run with the supervisor bit off.  That's the first step.  I get tired of
non-robust programs walking all over memory because they forgot to check
if their last memory alloc returned success.  I really think memory
*protection* is one of the features that separates a true workstation from
a mere home computer/toy.

>Or we could make the software do it -- write programs in a secure
>language....compilation is a one-time cost, while hardware complexity
>hurts every time you run a program.

Ahhh, but does the "secure" programming environment encur any extra
run-time software overhead?  Compilation may be a one-time cost, but (for
example) array-subscript-bound-checking also hurts every time you run a
program.

I'm not saying that I want virtual memory in AmigaOS.  Then again, I'm not
saying I don't.  I have grown to love VM, but I see that it could very
easily destroy the real-time performance of the Amiga.  But if the next
generation isn't going to have virtual memory, at least give us more than
8 meg of room in the memory map!

			William LeFebvre
			Department of Computer Science
			Rice University
			<phil@Rice.edu>

daveh@cbmvax.UUCP (Dave Haynie) (11/17/87)

in article <461@ra.rice.edu>, phil@titan.rice.edu (William LeFebvre) says:
> Summary: no no no no no no
> 
> In article <2785@megaron.arizona.edu> rogerh@arizona.edu (Roger Hayes) writes:
>>There have been some folks clamoring for virtual memory....
>>extremely low latency of task switching and the extremely low
>>overhead of message passing.  Both of these are likely to go down the
>>drain if memory protection is added.
> 
> Memory protection != virtual memory

Glad someone finally mentioned that, it's true!  Both of these are things best
done with a hardware MMU; both have been done to some extent in the past in 
software only.  I think both are potentially important, though not equally so,
or equally simple to implement in the Amiga OS.  In any case, you'll be 
getting an MMU with the 68020 card for those who are interested, so now at
least it makes sense to talk about these things.

>>On my Sun at work (a 2-50), I can easily drag a window faster than the
>>display can keep up.... This is because Sun task switching is slow --
>>thanks to Unix and virtual memory.

UNIX task switching certainly can be a pig, and the slowness may be based on
the virtual memory of your system.  But chances are, without the VM, you
wouldn't be complaining, because the window dragging wouldn't even be a
possibility.  This must be a general problem with workstations; I've noticed
on our Apollo systems here too.  They do VM; great!  But they have very large
tasks to swap around, and not enough real memory.  My office A2000 has 5 megs
of RAM; most of our Apollos have 2 megs.  I never run out on either, though
of course my Amiga isn't VMing right now.

>>Or we could make the software do it -- write programs in a secure
>>language....compilation is a one-time cost, while hardware complexity
>>hurts every time you run a program.
> 
> Ahhh, but does the "secure" programming environment encur any extra
> run-time software overhead?  Compilation may be a one-time cost, but (for
> example) array-subscript-bound-checking also hurts every time you run a
> program.

Really.  I could say the same about software VM.  Sure I could do it, write
a library to AllocVirtual(), LockVirtual(), FreeVirtual(), etc.  But that's
much more overhead and much less efficiency than a hardware VM system.  You
might get away with such a thing in the context of DB or text data, but 
you're certainly not going to profit from swapping in/out code chunks driven
by software, unless you load when needed/dump when unused, as the Amiga
OS does now, and that's hardly VM.

> I'm not saying that I want virtual memory in AmigaOS.  Then again, I'm not
> saying I don't.  I have grown to love VM, but I see that it could very
> easily destroy the real-time performance of the Amiga.  But if the next
> generation isn't going to have virtual memory, at least give us more than
> 8 meg of room in the memory map!

Personally, I'd like to do both.  A properly implemented VM system isn't 
going to have any effect on performance as long as you've got enough real
memory to use.  Once you run out of real memory, you're either dead (no VM),
or you can page to disk and run the thing that's larger than your real
memory.  Now, I'd consider the ability to run something an advantage over
not being able to run it at all, even if it does incur a performance hit
of some kind.

> 			William LeFebvre
> 			Department of Computer Science
> 			Rice University
> 			<phil@Rice.edu>
-- 
Dave Haynie     Commodore-Amiga    Usenet: {ihnp4|caip|rutgers}!cbmvax!daveh
   "The B2000 Guy"              PLINK : D-DAVE H             BIX   : hazy
    "Computers are what happen when you give up sleeping" - Iggy the Cat

daveh@cbmvax.UUCP (11/17/87)

in article <5294@ccicpg.UUCP>, harald@ccicpg.UUCP ( Harald Milne) says:
> Summary: On the mark

> 	Although the Amiga is multitasking, and not multiuser, this is
> an advantage. There is no reason to support the multiuser feature of UNIX
> on the Amiga, simply since it isn't. (After all, it is MY machine)
> I call it multitasking without the excess baggage!

I'm REAL GLAD someone mentioned this too.  Every time someone starts to talk
about how neat it would be to run multiuser stuff on their Personal Computers,
be they Amigas, Macs, or 386 machines, I really start to wonder about that
person.  After all, you buy a Personal Computer so that you can get away from
the overloaded Minis.  And they were bought to get away from the overloaded
Mainframes.  Such computers are cheap enough that you should get more of them
if more folks need access to them.  Want to share resources, hook them up to
a LAN.  But don't run lots of people on a poor Amiga, or even a future real
powerful Amiga.  These things cost less today than many a VT100-type terminal
did a few years ago.  And you can get the VT100 emulator for free.  So don't
multi-user, even if it's possible.  Think of it as you think of IBM or C64
emulators -- they're neat in concept, and are cool to show off to your
friends.  But you don't really want to use them for anything more than that.
Multiuser is the same kind of thing.  If you can't use all the power of your
Personal Computer yourself, get a cheaper PC.

dclemans@mntgfx.mentor.com (Dave Clemans) (11/17/87)

Having virtual memory DOES NOT mean that there will be large overheads
in opening windows, dragging windows, etc. (the example given in the
referenced message was tens of seconds to open a window on a Sun 2/50,
system unable to keep up with cursor movement when dragging windows,
etc).

As an example you might want to look at a current Apollo system,
which does use virtual memory, processes in different address spaces,
etc.  It does not exhibit any of the timing problems described
in the previous message (window opens are essentially instantaneous,
...).  

Part of this comes from having windowing, mousing, etc. tightly
integrated into the system.  Another part has to do with the
order that operations are done in; from the description in the
previous message it sounds like on that persons Sun that the window
is created last, after the new process is forked.  On the Apollo
the window is created first.

dgc

fnf@mcdsun.UUCP (Fred Fish) (11/17/87)

In article <2803@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes:
>in article <5294@ccicpg.UUCP>, harald@ccicpg.UUCP ( Harald Milne) says:
>> 	Although the Amiga is multitasking, and not multiuser, this is
>> an advantage. There is no reason to support the multiuser feature of UNIX
>> on the Amiga, simply since it isn't. (After all, it is MY machine)
>> I call it multitasking without the excess baggage!
>
>I'm REAL GLAD someone mentioned this too.  Every time someone starts to talk
>about how neat it would be to run multiuser stuff on their Personal Computers,
>  [stuff deleted...fnf]
>Multiuser is the same kind of thing.  If you can't use all the power of your
>Personal Computer yourself, get a cheaper PC.

Well, in general I agree with the premise that a personal computer should
be allocated to a single individual, but this really doesn't mean that
having multiuser capabilities isn't useful.  Very often you want to use
the multiuser protection features to protect you from yourself, to set
up alternate environments for doing different sorts of things, etc.  For
example, even though I have a Sun-3 all to myself at work, I still have
several different logins that I use depending upon what I want to work on
at the time.  Each provides a slightly different environment and different
permissions for what can and can't be done with the system.  Running a
multitasking system without multiuser capabilities is equivalent to running
as root all the time on a Unix system, something that VERY few experienced
Unix people would do.

Thus just because the computer has multiuser capabilities doesn't mean
that you have to have more than one user active at a time.

-Fred



-- 
# Fred Fish    hao!noao!mcdsun!fnf    (602) 438-3614
# Motorola Computer Division, 2900 S. Diablo Way, Tempe, Az 85282  USA

ugevan@sunybcs.uucp (Evan Kahn) (11/17/87)

	I was at a local C-A dealer yesterday and spoke to an official rep from
Commodore.  Specifically, I wanted to know when KS 1.3 would be available and
found out thatit isn't schedualed for release until late next quarter (March).
At any rate we got to talking and I mentioned to him that I was in support of
bootable firmware as opposed to it being in ROM.  He concurred and informed me
that there is speculation that future Amigas may have EEPROMS to hold KS.
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

	Apparently, a reason why KS was put into ROM was to quell fears of
software producers, after all, why should they produce a package for an OS that
is rather variable; they will forever be providing patches.  But this solution
is so exciting because the intention here is that an old program need only re-
boot the old version of KS and run the application that was released under it.
One could conceivably partition a hard disk into sections for each new version
of KS.  An advanced OS could be smart enough to load the particular version of
KS for a particular application; Or you could just get latest releases and not
worry about reloading the firmware each time you run an application.

	Do you guys out there think that such an EEPROM card could be made for
the 2000 ?

								Evan.

jpdres10@usl-pc.UUCP (Green Eric Lee) (11/17/87)

In message <17218@glacier.STANFORD.EDU>, jbn@glacier.STANFORD.EDU (John B. Nagle) says:
>    1.  Given the way that RAM prices are declining while
>	disk access times are not improving, virtual memory
>	looks like an idea whose time has passed.  

Only if you have a single-tasking operating system. Certainly you can
get enough physical memory nowadays to run ANY respectable program.
But what if you have FIFTEEN 2 megabyte programs loaded up? Sure, they
probably aren't all going to run at once... the other 14 are most
probably just going to be sitting there, hung waiting for input,
inactive. But virtual memory, in this case, is just providing the
book-keeping so that you don't have to manually shuttle those other 14
programs in and out of memory (i.e. via exiting each one of them and
losing your place in whatever you were doing in them -- in other
words, exactly what multitasking was supposed to eliminate).

>    3.  Memory protection is desirable, but a true protected operating
>	system would require that the operating system keep track of
>	all the resources requested by a user program and be able
>	to take them back when a program exited abnormally.  Tripos
>	(alias AmigaDos) does not do the bookeeping to allow this.

We hashed over this eons ago on the net. Most of us agree that, with
fairly minor alterations to the memory manager and i/o libraries, it
CAN be done with TRIPOS. The problem is that without a memory
management unit, it would be VERY expensive.

A memory management unit would allow this book-keeping to be handled
much more transparently than it currently could be....

One very good scheme for AmigaDOS/TRIPOS would be to have half the
virtual memory globally mapped, i.e. so that all the processes could
pass messages to each other, and the other half locally mapped, for
your actual program and its data. 

--
Eric Green  elg@usl.CSNET       from BEYOND nowhere:
{ihnp4,cbosgd}!killer!elg,      P.O. Box 92191, Lafayette, LA 70509
{ut-sally,killer}!usl!elg     "there's someone in my head, but it's not me..."

UH2@PSUVM.BITNET (Lee Sailer) (11/18/87)

In article <5294@ccicpg.UUCP>, harald@ccicpg.UUCP ( Harald Milne) says:
>
>        Although the Amiga is multitasking, and not multiuser, this is
>an advantage. There is no reason to support the multiuser feature of UNIX
>on the Amiga, simply since it isn't. (After all, it is MY machine)
     
With an important exception.  There are situations where two or more
      users take turns using a "single user" machine.  Often, it
      would be very nice if (1) files could be "owned", (2) different
      startup-sequences could be defined for different users, and (3),
      users in general could stay out of each other's way.
     
      You can fake these things using cli scripts, and so on, but not
      well.
                                        lee
     

hsgj@batcomputer.tn.cornell.edu (Dan Green) (11/18/87)

In article <2803@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes:
>I'm REAL GLAD someone mentioned this too.  Every time someone starts to talk
>about how neat it would be to run multiuser stuff on their Personal Computers,
>be they Amigas, Macs, or 386 machines, I really start to wonder [...]
>[...]  Want to share resources, hook them up to a LAN.

A group of us have an A1000, are planning on getting an A2000, and may
even possibly also get an A500.  Which LAN would you suggest we use
so we could "share resources"?  The reason I ask is that I have not seen
any advertisements for LANS in the amiga journals.

The primary need would be for file sharing.  Optimally, setting up the
2000 with a massive hard disk for use as a server, and having the 1000
and 500 as "diskless" (well they'd have their floppy, but you know what
I mean) would be really nice and cost effective.

But I have not seen any software/hardware that could do this.  Of course,
we could get that Ethernet board ($500 ?) that has been mentioned on the
net, and hook the amigas up to our Unix box.  But that is really not a
very attractive idea because the unix box has very little disk space,
and the boards are just too expensive.  What would be nice would be some
sort of serial-port lan, such as are advertised for the IBM PC and such.
These connect all serial ports in a ring, and have software to route
files and such from the server through each machine until it gets to
the requesting machine.  Is anything like this available?

Summary:  We want info on a cheap LAN, or in fact any LAN for amigas.
Thanks in advance for any information.

-- Dan Green
-- 
ARPA:  hsgj@tcgould.tn.cornell.edu
UUCP:  ihnp4!cornell!batcomputer!hsgj   BITNET:  hsgj@cornella

ugmiker@sunybcs.uucp (Michael Reilly) (11/18/87)

In article <516@mcdsun.UUCP> fnf@mcdsun.UUCP (Fred Fish) writes:
>In article <2803@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes:
>>in article <5294@ccicpg.UUCP>, harald@ccicpg.UUCP ( Harald Milne) says:
>>> 	Although the Amiga is multitasking, and not multiuser,........
>>> I call it multitasking without the excess baggage!
>>
>>I'm REAL GLAD someone mentioned this too.  Every time someone starts to talk
>>about how neat it would be to run multiuser stuff on their Personal Computers,
>>  [stuff deleted...fnf]
>>Multiuser is the same kind of thing.  If you can't use all the power of your
>>Personal Computer yourself, get a cheaper PC.
>
>Well, in general I agree with the premise that a personal computer should
>be allocated to a single individual, but this really doesn't mean that
>having multiuser capabilities isn't useful. 
			.
			.[stuff deleted about sun logins ]
			.
>Thus just because the computer has multiuser capabilities doesn't mean
>that you have to have more than one user active at a time.
>
>-Fred

		Fred, wouldn't this really be equal to bootoing up with 
a different "startup-sequence" each time you want to "protect" yourself??
Or even better, just have a different ".login" sourced for each different 
"person" you want to be :-)...  This way, you can have, lets say 3 shells 
running 3 different "people", but all you, and all with different protection
levels, and priority setups....

				when you use the sun with different "people"
do you usually have more than one of these logged on at a time, or just 
different windows, you open or close depending on how much protection you   
want , or how much of the system you want to limit yourself from messing up :-).

		"Multiusing" is cool, and good, but it is nice to have an amiga
all to myself...

						mike

p.s. I have a few different people using my amiga, a programmer, a person who
	uses it as a terminal, a person who uses it as a game machine, and a 
	person who gets on it and HACKS... and they all are me..... just 
	differenet disks to boot up with....



	
Michael (what am I wood??) Reilly  
University of Buffalo Computer Science       
--------------------------------------
CSNET:	ugmiker@buffalo.CSNET 
INTERNET: ugmiker@{joey,marvin}.cs.buffalo.edu
UUCP:	..!{nike|watmath,alegra,decvax}!sunybcs!ugmiker
BITNET:	ugmiker@sunybcs.BITNET   <-OR->   ACSCMPR@ubvmsc.BITNET

grr@cbmvax.UUCP (George Robbins) (11/18/87)

In article <6594@sunybcs.UUCP> ugevan@joey.UUCP (Evan Kahn) writes:
> 
> 	I was at a local C-A dealer yesterday and spoke to an official rep from
> Commodore.  Specifically, I wanted to know when KS 1.3 would be available and
> found out thatit isn't schedualed for release until late next quarter (March).
> At any rate we got to talking and I mentioned to him that I was in support of
> bootable firmware as opposed to it being in ROM.  He concurred and informed me
> that there is speculation that future Amigas may have EEPROMS to hold KS.
>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

	Maybe the distant future.   EEPROM technology still lags other
	memory technologies by quite a bit.  A single 64 K-bit EEPROM chip
	costs more than a 2 M-bit ROM, and even assuming cost/density parity
	with static ram (256 K-bit) it would add several hundred dollars to
	the retail price of the system.

> 	Apparently, a reason why KS was put into ROM was to quell fears of
> software producers, after all why should they produce a package for an OS that
> is rather variable; they will forever be providing patches.

	Sure the developers wish the software/hardware would *NEVER* change,
	but the real reason is simply a cost issue.  A WCS approach is nice,
	but the cost to every user has to be weighed against the benefit to
	the average user and the actual cost/difficulty of implementing a
	ROM based upgrade.  Future versions of the operating system could
	have support for both replacing ROM resident modules with updated
	versions with RAM and/or running Kickstart entirly from RAM.

	It should be pointed out the the A1000 was originally designed to
	contain Kickstart in ROM and that the RAM/ROM tower aka WCS was only
	added because software development was lagging far behind hardware
	development and there was little hope of delivering a stable/ROMable
	release of the operating software by the launch date.  Deification
	of the WCS as one of the Amiga's golden features developed after the
	fact.

> 	Do you guys out there think that such an EEPROM card could be made for
> the 2000 ?

	It's not hard to develop an EEPROM, or more affordably a battery-
	backed-up CMOS RAM or EPROM tower or MMU-slot card to replace the
	Kickstart ROM.  The question is really whether this is an appropriate
	and cost effective solution to a general problem, or just a useful
	tool with limited general appeal.

-- 
George Robbins - now working for,	uucp: {uunet|ihnp4|rutgers}!cbmvax!grr
but no way officially representing	arpa: cbmvax!grr@uunet.uu.net
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)

phil@titan.UUCP (11/18/87)

In article <5294@ccicpg.UUCP> harald@ccicpg.UUCP ( Harald Milne) writes:

>	I am glad somebody finally said this. The Amiga does not have the
>massive context switch overhead involved with user space and virtual memory
>maps.

Context switching virtual memory need not be expensive.  It's just that
the way Berkeley implemented it, it is.

>Virtual UNIX on the Amiga or the Sun or the Mac II will suck, and cost
                                  ^^^               ^^^^ ^^^^
>a lot.

Assuming that you mean Unix with virtual memory (and not virtual-machine
Unix :-), that has existed on the Suns for as long as Sun 2's have existed.
And it doesn't "suck" unless your workstation has less than 4 meg of
real memory (Suns that support more than one or two users need more like 
8 or 16 meg).

>	Although the Amiga is multitasking, and not multiuser, this is
>an advantage. There is no reason to support the multiuser feature of UNIX
>on the Amiga, simply since it isn't. (After all, it is MY machine)

Once you have multitasking, multiuser is trivial.  Provided you are willing
to take the ITS route and dispense with useless formalities like userids
and file ownership.  All you need is an intelligent SER: driver (note that
the standard one is NOT very intelligent) and some serial lines.

>> As an extreme example, look at Sun workstations...
>	That is a very good example.

No, it is a bad example.  See my previous posting on this subject.

>To bad this is the street Apple
>is walking down on for the Mac II. Boy do they have a few suprises! I
>won't even mention the astronomical costs to accomplish this!

You mean, like an 80 meg hard disk, an MMU, an extra 4 meg of memory,
and the actual OS itself?

>UNIX on micros is silly

Correct!  But remember:  Unix is a poor example of a virtual memory
operating system, and SunView is a poor example of a Unix-based
windowed environment workstation.

			William LeFebvre
			Department of Computer Science
			Rice University
			<phil@Rice.edu>

sean@ms.uky.edu (Sean Casey) (11/19/87)

In article <468@ra.rice.edu> phil@Rice.edu (William LeFebvre) writes:

[without providing a shred of supporting evidence]

>Correct!  But remember:  Unix is a poor example of a virtual memory
>operating system, and SunView is a poor example of a Unix-based
>windowed environment workstation.

My experience with the former has been the opposite.  Perhaps Mr. LeFebvre
would care to support his statements with some proof.


-- 
--  Sean Casey               sean@ms.uky.edu, {rutgers,uunet,cbosgd}!ukma!sean
--  (the Empire guy)         sean@ms.uky.csnet,  sean@UKMA.BITNET
--  University of Kentucky in Lexington Kentucky, USA
--  "Inconceivable!"

harald@ccicpg.UUCP (11/19/87)

In article <516@mcdsun.UUCP>, fnf@mcdsun.UUCP (Fred Fish) writes:
> In article <2803@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes:
> >in article <5294@ccicpg.UUCP>, harald@ccicpg.UUCP ( Harald Milne) says:
> >> 	Although the Amiga is multitasking, and not multiuser, this is
> >> an advantage. There is no reason to support the multiuser feature of UNIX
> >> on the Amiga, simply since it isn't. (After all, it is MY machine)
> >> I call it multitasking without the excess baggage!
> >
> >I'm REAL GLAD someone mentioned this too.  Every time someone starts to talk
> >about how neat it would be to run multiuser stuff on their Personal Computers,
> >  [stuff deleted...fnf]
> >Multiuser is the same kind of thing.  If you can't use all the power of your
> >Personal Computer yourself, get a cheaper PC.
> 
> Well, in general I agree with the premise that a personal computer should
> be allocated to a single individual, but this really doesn't mean that
> having multiuser capabilities isn't useful.  Very often you want to use
> the multiuser protection features to protect you from yourself, to set
> up alternate environments for doing different sorts of things, etc. 

	I have yet to this day ever had a need to do this. Could you elaborate
as to why you would do this with UNIX?

	Ok, you guessed my previous responsibilities. Yes, system administrator
for a bunch of UNIX neophytes. 

	Under NFS, you can mount filesystems to different USER ID's and the
proper user protections apply.

	As a previous administrator, I know a bit about system security.

	As for protecting me from myself, that's not possible. I have 
instantaneous acces to root priviledges without su'ing or knowing the root
password. Don't ask me how, it's just that BIG security hole in UNIX! You
just have to be root once! 8^) Not hard on a multiuser system! Anyway that's
not the point. The point is delete privileges.

> For example, even though I have a Sun-3 all to myself at work, I still have
> several different logins that I use depending upon what I want to work on
> at the time.  Each provides a slightly different environment and different
> permissions for what can and can't be done with the system. 

	Covered under NFS. And even more elegantly!

> Running a multitasking system without multiuser capabilities is equivalent
> to running as root all the time on a Unix system, something that VERY few
> experienced Unix people would do.

	That's not true. Just use the rarely used "deletable" file protection
and you can rm * to your hearts content, it won't happen. Again we are into
notions of users, and there is NO protection of DELETION in UNIX from yourself
Not to mention root privileges.

	If this isn't enough, I've run the shell tied to the AUX: port with
special filtering, it's like multiple terminals I have at work, they just
don't window! It's kinda of multiuser (that is you can use 2 terminals 
at the same time) meaning I can type on 2 consoles at the same time. 8^)

> Thus just because the computer has multiuser capabilities doesn't mean
> that you have to have more than one user active at a time.

	Again, under NFS it's no problem. Mutiple rlogins. I don't need
a SUN to do that!

> -Fred
> -- 
> # Fred Fish    hao!noao!mcdsun!fnf    (602) 438-3614
> # Motorola Computer Division, 2900 S. Diablo Way, Tempe, Az 85282  USA
-- 
Work: Computer Consoles Inc. (CCI), Advanced Development Group (ADG)
      Irvine, CA (RISCy business! Home of the CCI POWER 6/32)
UUCP: uunet!ccicpg!harald

joe@dayton.UUCP (11/20/87)

In article <5537@ccicpg.UUCP> harald@ccicpg.UUCP ( Harald Milne) writes:
>In article <516@mcdsun.UUCP>, fnf@mcdsun.UUCP (Fred Fish) writes:
[ stuff deleted -jpl ]
>> Very often you want to use
>> the multiuser protection features to protect you from yourself, to set
>> up alternate environments for doing different sorts of things, etc. 
>
>	I have yet to this day ever had a need to do this. Could you elaborate
>as to why you would do this with UNIX?
>
[ more stuff deleted ]
>	As for protecting me from myself, that's not possible. I have 
>instantaneous acces to root priviledges without su'ing or knowing the root
>password. Don't ask me how, it's just that BIG security hole in UNIX! You
>just have to be root once! 8^) Not hard on a multiuser system! Anyway that's
>not the point. The point is delete privileges.
>
[ ditto ]
>> Running a multitasking system without multiuser capabilities is equivalent
>> to running as root all the time on a Unix system, something that VERY few
>> experienced Unix people would do.
>
>	That's not true. Just use the rarely used "deletable" file protection
>and you can rm * to your hearts content, it won't happen. Again we are into
>notions of users, and there is NO protection of DELETION in UNIX from yourself
>Not to mention root privileges.
>

I think Harald isn't taking into consideration the fact that accidentally
deleting a file isn't the only sort of protection from oneself one might like.
For instance:

	o Overwritting a file with garbage isn't deleting a file.
	o Crashing the system 'cause you forgot to initialize a pointer...

There are a variety of subtle differences of the second one.  I'd hate to
have a program running in the background, doing something useful for me,
while another program is accidentally fiddling in the 1st guy's memory.
Long hours could be spent debugging the wrong program.

I'd also like to point out that the UNIX OS isn't the greatest thing since
3rd generation languages.  It's better than most of the OS's I've used, at
least from my point of view, but there are some things that aren't done
"right".  So if someone says "Porting some of the UNIX multi-user features..."
doesn't mean "Porting only those features from UNIX..."  Nothing wrong with
adding the "DELETE" bit.  Also nothing wrong with adding "SYSTEM" privs
similar to those in VMS.  (You have world, group, user, and system sets
of bits, although those with system privs can usually bypass all checking
if they really *want* to...)

In any case, having the operating system protect you from programming bugs
isn't as good as not having programming bugs, but it sure can help in the
development phase if the machine doesn't crash every time your program
would otherwise "core dump" in UNIX.
-- 
UUCP: rutgers!dayton!joe                Dayton Hudson Department Store Company
ATT : (612) 375-3537                    Joe Larson/MIS 1060
(standard disclaimer...)                700 on the Mall      Mpls, Mn. 55402

peter@sugar.UUCP (Peter da Silva) (11/21/87)

Even if you don't want to run a BBS, it's always nice to be able to phone
home and get something like this:

# ATDT*70,1-713-933-2440
# CONNECT
# 
# Eat or be eaten.
# System name: sugar.
# 
# (new bbs users enter new) login: peter
# Password: <you gotta be kidding, right?>
# 
# The few.  The proud.  The programmers.
# 
# You have mail.
# Meditation for the day:
#
# The Ranger isn't gonna like it, Yogi.
-- 
-- Peter da Silva  `-_-'  ...!hoptoad!academ!uhnix1!sugar!peter
-- Disclaimer: These U aren't mere opinions... these are *values*.

peter@sugar.UUCP (Peter da Silva) (11/22/87)

In article <360@usl-pc.UUCP>, jpdres10@usl-pc.UUCP (Green Eric Lee) writes:
> In message <17218@glacier.STANFORD.EDU>, jbn@glacier.STANFORD.EDU (John B. Nagle) says:
> >    1.  Given the way that RAM prices are declining while
> >	disk access times are not improving, virtual memory
> >	looks like an idea whose time has passed.  
> Only if you have a single-tasking operating system. Certainly you can
> get enough physical memory nowadays to run ANY respectable program.
> But what if you have FIFTEEN 2 megabyte programs loaded up?...

Swap them.

I know swapping is not as chic as paging, but it should be possible.

It requires fewer smarts on the part of the operating system, because the
working set for any program is either in or out of memory. It also doesn't
incur the overhead of page faulting. On the other hand, it does require a lot
more I/O per swap.

Here's my fantasy for the Amiga:

68020 with MMU. NO VM.

Task address space:

	0-1M		Chip memory, shared and private.
	1M-16M		I/O and Shared fast memory.
	16M+		Mapped (managed) private memory.

Not all of 0-16M is addressible by every task, of course. Just stuff that's
MEMF_PUBLIC.

The stuff in private memory can be swapped out. The program won't know or
care if it's in a different place in real memory when it gets back. Give
it a signal (SIGB_SWAPPED) when it gets back in, so it can handle any cleanup.

Of course this may all be really running in whatever memory you have, both
inside and outside 16M.

Add another Alloc bit. MEMF_SYSTEM. Like MEMF_PUBLIC but not shared by other
tasks unless they've got the system flag set in their TCB.

This should be completely compatible with existing software, so long as it has
been scrupulous about MEMF_PUBLIC.
-- 
-- Peter da Silva  `-_-'  ...!hoptoad!academ!uhnix1!sugar!peter
-- Disclaimer: These U aren't mere opinions... these are *values*.

jdh@bsu-cs.UUCP (John Hiday) (11/23/87)

In article <2252@dayton.UUCP> joe@dayton.UUCP (Joseph P. Larson) writes:
>>
> [...]
>I think Harald isn't taking into consideration the fact that accidentally
>deleting a file isn't the only sort of protection from oneself one might like.
>For instance:
>
>	o Overwritting a file with garbage isn't deleting a file.
> [...]

Reading about protecting me from myself has reminded me of a VMS
feature which I sorely miss on my Amiga -- version numbers on files.

For those of you unfamiliar with VMS, all file names are suffixed with
a version number.  In this way, when you create a new version of a file
you simply bump the version number up by one.  Your old file is still
there and is still called by the same name (not renamed to .BAK or moved
to the t: directory or some other kludge).  When accessing a file you
do not have to remember what is the highest version number nor do you
have to go to the trouble of giving the filename and version number.
A reference to a file by just the name (no version specification) will
get you the highest version.  Of course if you want to play with a
version which is not the highest you can explicitly state what version
you want.

To keep things tidy (so that you don't fill an entire disk with every
version of a file made in the past 10 years) the number of backup
versions that the system should retain is a user controllable file
attribute.

For example:

   $ EDIT IMPORTANT.FILE
   *delete begin:end
   *exit
   0 lines written to IMPORTANT.FILE;2

   $ DIR/SIZE IMPORTANT.FILE
   IMPORTANT.FILE;2      0
   IMPORTANT.FILE;1   1000

   $ TYPE IMPORTANT.FILE       (defaults to highest version which is empty)
   $ DELETE IMPORTANT.FILE;2   (deletes just the new, empty version)
   $ TYPE IMPORTANT.FILE       (the old ;1 now the highest)

   Important stuff still here...

I realize this would mean adding another special character and that it
might cause problems with the way filenames are hashed, but I think that
it would be a useful feature to at least consider.

-- 
== John Hiday                UUCP: <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!jdh
== Ball State University / University Computing Services        GEnie: JDHIDAY
== Muncie, IN 47306

daveh@cbmvax.UUCP (11/23/87)

in article <2946@batcomputer.tn.cornell.edu>, hsgj@batcomputer.tn.cornell.edu (Dan Green) says:
> Summary:  We want info on a cheap LAN, or in fact any LAN for amigas.
> Thanks in advance for any information.

You already know about the AmeriStar Ethernet/Arcnet stuff, which certainly
qualifies as a LAN, though not CHEAP, for the Amiga.  This does do Amiga-to-
Amiga as well as Amiga-to-Sun, so it does what you want, only not as cheaply.

I know of at least two third party groups working on LANs that would definitely
fit the cheap category, and of at least two more that sound like they are
thinking in this direction.  I can't say anything about these until they're
publicly announced, which probably means not until AmiExpo time at the
earliest.  

> -- Dan Green
-- 
Dave Haynie     Commodore-Amiga    Usenet: {ihnp4|caip|rutgers}!cbmvax!daveh
   "The B2000 Guy"              PLINK : D-DAVE H             BIX   : hazy
		"I can't relax, 'cause I'm a Boinger!"

phil@titan.rice.edu (William LeFebvre) (11/23/87)

In article <7731@g.ms.uky.edu> sean@ms.uky.edu (Sean Casey) writes:
>In article <468@ra.rice.edu> phil@Rice.edu (William LeFebvre) writes:
>
>[without providing a shred of supporting evidence]
>
>>Correct!  But remember:  Unix is a poor example of a virtual memory
>>operating system, and SunView is a poor example of a Unix-based
>>windowed environment workstation.
>
>My experience with the former has been the opposite.  Perhaps Mr. LeFebvre
>would care to support his statements with some proof.

Ok.  I'll be more specific.  Berkeley 4.x Unix is a poor example of a
virtual memory implementation.  Do you want exmaples of what is better?
How about VMS?  Forget the lousy user interface---I'm talking strictly
virtual memory handling.  Does Unix use a working set model?  Does it make
any attempt to prevent humongous Lisp and Prolog jobs from destroying
everyone's performance?  Not in my experience.  But VMS does.  And what
about swapping strategies?  Some would argue that you don't need to handle
swapping separatly from paging.  I might be inclined to agree.  But that's
beside the point.  BSD does swapping, but it allocates swap space using
the "buddy block" system.  Can you say "massive fragmentation"?  I knew
you could.

When VMS gets memory constrained, it just gets slow, penalizing the
larger proccesses.  But when Unix gets memory constrained, it gets
unusable!  We have had horrible experiences here at Rice with just 10
people trying to use the same Vax 750 running BSD:  the students are
working on Modula II programs, they all use Gosling's emacs to edit, and
two people cannot reliably compile at the same time.  Even with 8
megabytes (the most memory you can put in a 750).

And what about Mach?  I'm sure that it will have pretty much the latest
and greatest in a virtual memory implememtation.  Unfortunately, I don't
have more information about it.  Do you think that all research work in
virtual memory systems stopped when BSD came out?  Come on!  It only makes
sense that something better exists today, simply because of progress in
the field.

This has really diverged.  Forgive me.

			William LeFebvre
			Department of Computer Science
			Rice University
			<phil@Rice.edu>

pla@zippy.eecs.umich.edu (Paul Anderson) (11/24/87)

>Swap them.
>I know swapping is not as chic as paging, but it should be possible.
certainly is, but you might as well go the rest of the way.
>
>Here's my fantasy for the Amiga:
>68020 with MMU. NO VM.
There is no point in providing an MMU if tasks can still nuke each
other.
>-- Peter da Silva  `-_-'  ...!hoptoad!academ!uhnix1!sugar!peter
>-- Disclaimer: These U aren't mere opinions... these are *values*.

I have lots of respect for your fantasies, but the major thing that
separates a multi-tasking machine like my Amiga from a multi-
tasking machine like my Apollo is interprocess *protection*.

The whole point of a MMU is to allow potentially buggy programs
to run without making other programs crash.  While protected
memory can do this, you might as well go whole hog and add
virtual (address remapping) memory capability.  And, if you
are going to do that, you might as well add paging, too,
since it is a good way of insulating you from memory shortages,
especially ones that might be transient in nature.  Granted,
that isn't going to fix disk space shortages, but those
are generally cheaper to deal with than memory shortages,
anyhow.

The Amiga is a wonderful machine, given its lack of a MMU,
but if it is going to try and compete in functionality with
Suns and Apollos, it is really going to have to take full
advantage of something like the 68851 PMMU.

My feeling is that it is a complete waste of time to talk
about adding an MMU without removing the need for MEMF_PUBLIC,
since no amount of address translation is going to overcome
this "security" hole.  I don't mind having publicly accesible
memory, mind you, but if the OS depends on it, that is
bad news.

Sorry for the length...

 Paul Anderson

daveh@cbmvax.UUCP (Dave Haynie) (11/25/87)

in article <517@zippy.eecs.umich.edu>, pla@zippy.eecs.umich.edu (Paul Anderson) says:

> My feeling is that it is a complete waste of time to talk
> about adding an MMU without removing the need for MEMF_PUBLIC,
> since no amount of address translation is going to overcome
> this "security" hole.  I don't mind having publicly accesible
> memory, mind you, but if the OS depends on it, that is bad news.

You can't have everything.  If you want purely protected tasks with no
MEMF_PUBLIC associated with them, then you have to pass messages by value
instead of by reference.  Then all of a sudden, your nice, fast AmigaOS
starts turning into a slow pig like the things that run on Apollos and
Suns.  Maybe as an option.  Or maybe someone will port one of the other
OSs over for folks who want it; they say nearly any popular OS will run
on an '851 based system.

>  Paul Anderson
-- 
Dave Haynie     Commodore-Amiga    Usenet: {ihnp4|uunet|rutgers}!cbmvax!daveh
   "The B2000 Guy"              PLINK : D-DAVE H             BIX   : hazy
		"I can't relax, 'cause I'm a Boinger!"

dragon@trwspf.TRW.COM (Roger Vossler) (11/26/87)

In article <1570@bsu-cs.UUCP> jdh@bsu-cs.UUCP (John Hiday) writes:
*Reading about protecting me from myself has reminded me of a VMS
*feature which I sorely miss on my Amiga -- version numbers on files.
*
[deleted explanation of how version numbers worked]
*
*To keep things tidy (so that you don't fill an entire disk with every
*version of a file made in the past 10 years) the number of backup
*versions that the system should retain is a user controllable file
*attribute.

The trouble was that users tend not to delete anything until forced
to do so at gunpoint. The result was that disks filled up quickly
and systems administrators went mad trying to stem the tide. I
sincerely hope I never see a version number on a file again. But
that's only my opinion - no flames, please.

Actually, version numbers were invented by DEC marketing types in
the hopes of selling more disk drives. They succeeded beyond their
wildest imagination! 8-)
-- 
-- Roger Vossler
   TRW, Bldg O2-1395, One Space Park, Redondo Beach, CA 90278
   BIX: rvossler      UseNet: dragon@trwspf.trw.com
   ATT: 213.535.2804          ....!sdcrdc!trwrb!trwspf!dragon

root@sbcs (Root) (11/26/87)

In article <2846@cbmvax.UUCP>, daveh@cbmvax.UUCP (Dave Haynie) writes:
> in article <2946@batcomputer.tn.cornell.edu>, hsgj@batcomputer.tn.cornell.edu (Dan Green) says:
> > Summary:  We want info on a cheap LAN, or in fact any LAN for amigas.
> > Thanks in advance for any information.
> 

> You already know about the AmeriStar Ethernet/Arcnet stuff, which certainly
> qualifies as a LAN, though not CHEAP, for the Amiga.  This does do Amiga-to-
> Amiga as well as Amiga-to-Sun, so it does what you want, only not as cheaply.
> 

	If you look at the prices for IBM Ethernet cards with companion
	software, I think you'll find that the Ameristar Ethernet product is 
	cost competitive.  The example I like to use is Sun's PC-NFS
	product: it's about $900 or so with Ethernet controller card.

> I know of at least two third party groups working on LANs that would definitely
> fit the cheap category, and of at least two more that sound like they are

	Let's consider the usual alternatives for "low cost" networks - at 
	least the ones I've seen:

	o Serial port networking:  usually limited to a two node network due
	  to the limitations of RS-232.  Can be expanded by going RS-422 or
	  by using a multi-port serial board as a hub.  

		Physical layer costs
		--------------------
		Serial port, 2 nodes:	$15 for a cable
		Serial port, 8 nodes:	~$500 (8 port hub) + $15/node (cable)
		Appletalk:		~$174 (board) + ~$20/node (cabling)

	  Comments:
	  ---------
	  I've seen at least one IBM PC product that manages ~113 kBits/sec by 
	  hanging the machine in a polling loop catching the bytes as they 
	  come off the port - with multitasking on the Amiga, this is not an
	  an option.  From the experiments I've run on the machine, you would
	  probably be hard pressed to get beyond ~25kbits/sec using the
	  standard Amiga serial hardware.  You'll probably find that transparent
	  file services at 25 kBits/sec are very unacceptable.  The answer to 
 	  both speed and device count problems is to go Appletalk, but this 
	  requires some (limited) hardware.  Eventually, you'll find out what 
	  the Mac people already know - Appletalk's ~200 kBit/sec speed just 
	  doesn't satisfy the needs of classroom size installations that use 
	  file servers.

	o Parallel port networking: I've heard (over the years) of a couple
	  groups working on parallel port based networks.  All the the efforts
	  are pretty limited in scale (distance & device count), due to cable 
	  & signal level problems.  I few weeks back, Matt Dillon (sp?) at 
	  Berkeley claimed to be working on a 2 node network of this type.

		Cost: ~$25 for a cable between 2 nodes.

	  Comments
	  --------
	  For small networks, parallel ports are probably the way to go, as
	  you have enough handshaking to do flow control.  Haven't looked at 
	  the Amiga parallel port hardware to see whether it can be scaled
	  beyond 2 nodes (ie if the ports are open drain, they probably can 
	  be scaled) network.  Of course, inter node distance would be
	  a killer since shielded multiconductor cable is very expensive.

	o SCSI port networks: requires hardware, is distance & number of 
	  devices limited.  Expensive cabling (especially if you're a real
	  company and have to worry about passing FCC).

		Cost: ~$100 (how much is CLtd's board??) + $45 (cable, per node)

	  Comments
	  --------
	  Same as parallel port network, but with guaranteed expandability
	  to at least 7 other nodes.  Same (or worse) problem with cabling.

	o Arcnet network: requires hardware, is limited to ~20 nodes for
	  certain types of transceivers.

		Cost: ~$400 + ~$15 (cable + "T")

	  Comments
	  --------
	  Arcnet is very much like a *fast* serial port network - each byte
	  is sent as 11 bits; the extra 3 bits are framing, like you see
	  in RS-232 communications.  Max bandwidth (theoretical) is therefore
	  8/11 * 2.5 mBits/sec.  Arcnet is nice because of the variety of
	  transceiver types - cheap transceivers do 4 nodes using a resistor
	  hub, the ones we use allow a bus architecture of 20 nodes, and there
	  are fiber optic transceivers and hubs available for noisy 
	  environments.  Arcnet is popular in Europe.

	o Ethernet network: requires hardware, is limited to ~30 nodes
	  (cheapernet) or 100 nodes/seg (Ethernet).

		Cost: $699 + ~$15 (cable + "T")  [cheapernet]
		      $699 + ~$60 (drop cable) + ~$200 (xcvr) [ethernet]

	  Comments
	  --------
	  The folks buying Ethernet are generally doing so because they have
	  such networks installed in house, and need compatibility.  Cost is
	  generally not a factor, since they tend to buy more than one and get
	  a price break on software/hardware.

	Of course, there are many other media options available, eg 'PC token
	ring, Starlan, etc, but I've kept the list to projects I've heard
	about.  Also note that the above costs are for the physical media. The
	software is almost always charged "per node" and tends to run from
	~$50/node to >$300/node.

	From the above table, the lowest cost solution for reasonably sized
	networks is to go with Appletalk or something very similar.  I arrived
	at the $174 figure by considering the hardware support for Appletalk:

		Amiga bus I/F:		$8	(pal, buffer, comp, latch)
		Circuit board:		$20	(double sided, moderate quan)
		8530 SCC:		$10
		422 xcvrs:		$5
		misc:			$15	(connectors, resistors, etc)
					----
					$58

		End cost to customer (* 3 to cover assembly, test, 
						profit, overhead):    $174
		Software, per node:				     ~$25
								      ----
								      $199

	Of course, it is possible to trim the costs back a bit if there 
	is sufficient volume.  Let's be generous and say that a card could
	be sold for ~$125.  Now the big question is: can I make money at
	such a price point?  Let's say there are 1 million machines out
	there and a whopping 1% need to be networked:

		.01 * 1000000 = 10000 machines to be networked.
			      
		Let's be wildly optimistic and say we'll capture 1/2 the network
	  	market for the Amiga.  That's now 5000 machines that I can
		sell to.  So we have:

			5000 * .70 * ($125 + $25) = $612500 (gross)
				^-- dealers discount is 30 % of list..

		Let's say we can do that in a year.  Our hypothetical gross 
		profit on sales of $612500 looks like this:

			$612500
			($20000)	(office, power, electricity, 
					 maintenance, 1 year)
			($10000)	(telephone, 1 year)
			($20000)	(advertising, couple mags, 1 year)
			($10000)	(3 shows, 2 people, 1 year)
			($5000)		(support services, BBS costs, etc)
			($306000)	(cost to produce 5100 boards - at $40
					 parts cost, $10 assembly, $10 misc. The
					 extra 100 units are your spares, show
					 units, evaluation units, and yield)
			($5000)		(Misc office expenses, eg mailings, 
					 UPS, etc)
			-------
			$236500
			($25000)	(Amortized engineering costs, ie board
					 layout, FCC testing, development
					 hardware/software, licenses if any, 
					 personnel time, etc)
			-------
			$211500
			($9000)		(secretary, 1 year @ $4/hr)
			($75000)	(2 engineers @ $30K + 25% overhead)
			-------
			$127500		(not too bad, but what are you doing
					 next year?  How much of this will be
					 committed to capital equipment, R&D,
					 support salaries, etc).

	The above figures vary quite a bit depending on the organization, 
	locale, etc.  They also neglect some important areas, eg interest
	expense.  Anyways, you can begin to see why any low volume products
	cost a lot of money - and, let me tell you from experience, the market
	for networking products isn't close to 10000 (or even 5000) units 
	per year.

	The long term solution to low cost networking is to get Commodore to
	include something like Appletalk or Arcnet as a motherboard option
	on the next machine.  With the media problem out of the way, software
	will pretty much take care of itself, especially if they would provide
	a cheap transport protocol with the OS.  From my experience with the
	characteristics of the Amiga network product market, I doubt you'll
	see hw/sw package for less than ~$150 or so, especially if you want 
	more than ~5 machines in one network.

						Rick Spanbauer
						SUNY/Stony Brook (& Ameristar)

peter@sugar.UUCP (Peter da Silva) (11/28/87)

In article <517@zippy.eecs.umich.edu>, pla@zippy.eecs.umich.edu (Paul Anderson) writes:
> >Here's my fantasy for the Amiga:
> >68020 with MMU. NO VM.
> There is no point in providing an MMU if tasks can still nuke each
> other.

Again, VM != mapped memory or protected memory.

> I have lots of respect for your fantasies, but the major thing that
> separates a multi-tasking machine like my Amiga from a multi-
> tasking machine like my Apollo is interprocess *protection*.

One major thing that seperates Suns & Apollos from my Amiga is they don't
guarantee any degree of binary object portability. We can't go to a new
machine if it means nuking all the software currently out. Not on a consumer
box. Some design flaws are now cast in concrete. It's a pity, but it could be
a lot worse. Look at the design flaws IBM has to deal with.

So: interprocess protection, yes.

> The whole point of a MMU is to allow potentially buggy programs
> to run without making other programs crash.  While protected
> memory can do this, you might as well go whole hog and add
> virtual (address remapping) memory capability.

OK. Let's call what US have been calling VM paged memory. and what Y'ALL
have been calling VM mapped memory. Deal? ALL the current software out there
requires that memory not be remapped, so that's out. Paging, it seems, may
not be.

> And, if you
> are going to do that, you might as well add paging, too,
> since it is a good way of insulating you from memory shortages,
> especially ones that might be transient in nature.

Paging is a LOT more work than memory protection. However, C= seems to have
a good paging scheme in mind.

ModifyIDCMP(MMU, MMU->IDCMPFlags | WAIT_AND_SEE);

> My feeling is that it is a complete waste of time to talk
> about adding an MMU without removing the need for MEMF_PUBLIC,
> since no amount of address translation is going to overcome
> this "security" hole.  I don't mind having publicly accesible
> memory, mind you, but if the OS depends on it, that is
> bad news.

Well, you're not gonna get rid of MEMF_PUBLIC without breaking all the
software currently out there.
-- 
-- Peter da Silva  `-_-'  ...!hoptoad!academ!uhnix1!sugar!peter
-- Disclaimer: These U aren't mere opinions... these are *values*.

bakken@hrsw2.UUCP (David E. Bakken) (11/30/87)

In article <1570@bsu-cs.UUCP>, jdh@bsu-cs.UUCP (John Hiday) writes:
> 
> Reading about protecting me from myself has reminded me of a VMS
> feature which I sorely miss on my Amiga -- version numbers on files.
> 

Please don't do that CA.  I back up my work directories every 3-4 hours
to a floppy and that seems to do quite fine.  If version numbers are
added please make them optional - I don't want to pay the disk space
for this.

-- 
Dave Bakken
uw-beaver!ssc-vax!shuksan!tahoma!hrsw2!bakken

(boring) disclaimer: these views are my own, not my employers.

pla@zippy.eecs.umich.edu (Paul Anderson) (12/01/87)

In article <1131@sugar.UUCP> you write:
>In article <517@zippy.eecs.umich.edu>, pla@zippy.eecs.umich.edu (Paul Anderson) writes:
>> >Here's my fantasy for the Amiga:
>> >68020 with MMU. NO VM.
>> There is no point in providing an MMU if tasks can still nuke each
>> other.   ... more and more VM discussion eliminated for brevity

My point of view is as follows:

I have ported something close to .5 million lines of C and FORTRAN code
to the Apollos.  I am in the process of porting about 150,000 of those
lines (Berkeley's Magic, written in C) to the Amiga.  I have found that
as the architecture of micro computers gets more sophisticated (Amiga
graphics, for example), people like myself find it easier and easier to
port workstation or mainframe code down to the smaller machines.

One significant thing I've learned from these efforts, is that in
general, as the machine becomes more sophisticated, people will expect
more of it.  That typically is going to mean larger and larger
programs, such as Magic.  Unfortunately, as programs, like Magic,
become larger and larger, it gets a whole lot harder to verify that
these programs are bug free.  Introducting a system that has the added
expense (chip cost, board space, extra wait states) of Virtual memory,
but without one of the most important benefits is ludicrous.  Building
a machine *with* virtual memory capabilities but *without* interprocess
protection is, in my opinion, a contradiction in terms.  My experience
has been that many other people share this opinion, as well.

The Apollo provides a wonderful goal for the Amiga to emulate:  it is a
high quality workstation with Extremely good software development
faculities, and has many features that are a very significant
improvement over Unix.  Some of these are related to file system
extensibility (which the Amiga should do quite nicely at, too), and
others relate to the run time library linking that allow for dealing
with large libraries in a quite sensible manner.

Now I don't for a minute think that you can have an Apollo for the
price of an Amiga, but it would be nice to have some of the more
important features namely: full interprocess protection, which to me
implies using the full functionality provided by the 68851 PMMU (paged
memory management unit).

Peter, I understand your points about paging, swapping and VM, but I'd
like you to understand my point that anything less than virtual
memory+paging+interprocess protection is a hack.  It isn't completely
useless, otherwise I would not have bothered porting Magic to the
Amiga, but charging me and thousands of others for an MMU, and then not
using it properly is bad news.

For you others concerned about performance of Apollos and Suns, I
suggest you try using an Amiga and an Apollo side by side for a year or
two.  My experience is that the Amiga is about 1/4 the effective system
speed of my Apollo DN3000.  An awful lot of this has to do with the
quality of the software on the system, including compilers, debuggers,
unix-type utilities, and other related things.  Anyone that thinks that
the quality of the software on the Amiga even remotely approaches the
quality of the system software on the Apollo really should try porting
10 or 15 megabytes of software to both before claiming it as fact.  I
know little about Suns, so I won't pretend to speak for them.   I
don't know anything about real-time computing, either, so don't
take this paragraph in that context.
>
Your comment about software breaking without MEMF_PUBLIC is well taken,
also.  Someone earlier (lost the article, sorry) mentioned that message
passing OS are wonderful.  Well, they are, but things like MEMF_PUBLIC
are part of the price we paid for AmigaDOS.

My personal suggestion is for Commodore to forget trying to slowly add
virtual memory to AmigaDOS, simply so that you can say you have it - it
just isn't enough.  It would be better to freeze what we know as
AmigaDOS, and attempt to either make porting AmigaDOS programs to Unix
as easy as possible, or create a new, or highly modified true virtual
memory, paged operating system that also allows for the existence of
one address space running a number of AmigaDOS processes.  
>--
>-- Peter da Silva  `-_-'  ...!hoptoad!academ!uhnix1!sugar!peter 
>-- Disclaimer: These U aren't mere opinions... these are *values*.

 Paul Anderson

(standard disclaimer stuff, of course)

knurlin@trwspf.TRW.COM (Scott Karlin) (12/02/87)

In article <582@zippy.eecs.umich.edu> pla@zippy.eecs.umich.edu (Paul Anderson) writes:
>to the Apollos.  I am in the process of porting about 150,000 of those
>lines (Berkeley's Magic, written in C) to the Amiga.  I have found that
        ^^^^^^^^^^^^^^^^
This is very exciting!  Please tell us more.  Availability, etc...
>
> Paul Anderson

-- 
Scott Karlin
TRW Data Systems Lab
Internet:	knurlin@trwspf.trw.com
ARPA:		knurlin%trwspf@trwrb.trw.com
USENET:		...!trwrb!trwspf!knurlin

dca@toylnd.UUCP (12/03/87)

> Ok.  I'll be more specific.  Berkeley 4.x Unix is a poor example of a
> virtual memory implementation.  Do you want exmaples of what is better?
> How about VMS?  Forget the lousy user interface---I'm talking strictly
> virtual memory handling.  Does Unix use a working set model?  Does it make
> any attempt to prevent humongous Lisp and Prolog jobs from destroying
> everyone's performance?  Not in my experience.  But VMS does.  And what
> about swapping strategies?  Some would argue that you don't need to handle
> swapping separatly from paging.  I might be inclined to agree.  But that's
> beside the point.  BSD does swapping, but it allocates swap space using
> the "buddy block" system.  Can you say "massive fragmentation"?  I knew
> you could.
> 
It is to laugh.  I dare you to post this to unix-wizards, they would rip you
to shreds.
It is pretty easy given any paging system to find cases which will cause poor
performance.  What lies underneath the points made above is a difference in
philosophy.  You could argue that VMS's is superior I can and will argue
the Unix is superior.  By the way, VMS doesn't use the Working set model
either since the working set is an idealization which can't be arrived at
by static analysis or fixed allocation.  Certainly the working set for a
running process is frequently time variant.  VMS 'working sets' is a
statically allocated number of pages which must be available for a process
to run and a hard limit on the number of pages which the process is allowed
to use.  I'm not clear exactly how they come up with these numbers but
in my experience they are frequently not very good.

> When VMS gets memory constrained, it just gets slow, penalizing the
> larger proccesses.  But when Unix gets memory constrained, it gets
> unusable!  We have had horrible experiences here at Rice with just 10
> people trying to use the same Vax 750 running BSD:  the students are
> working on Modula II programs, they all use Gosling's emacs to edit, and
> two people cannot reliably compile at the same time.  Even with 8
> megabytes (the most memory you can put in a 750).
> 
How good does VMS run on a 750 with a similar number of people doing similar
things.  Give me a break!  I may not have the I/O bandwidth but I've got
more CPU power on the 3b1 I'm typing on.

VMS is designed by bean counters for bean counters.  Unix is designed by
programmers for programmers.  Programmers are interested in maximum
utilization of the resources of the machine.  If there is one job running on
the machine then they want it all if there is 100 jobs running on the machine
they want their piece of it.  VMS is interested in stuffing as many people on
a machine as possible and carefully limiting their use of resources.
BSD uses a global page scheme where pages are allocated on a LRU
basis.  If you are the only process on the machine and you need a large amount
of memory then you can efficiently utilize the entire machine.  BSD will
resort to swapping if paging performance degrades beyond a certain point.
If you have to share the machine then performance will degrade but the memory of
the machine will still be close to maximally utilized.  VMS uses a local
(yuck!) page scheme where pages are allocated on a FIFO basis (double yuck!).
Your so called 'working set' must be available for your process to run and
pages in your local set are not available for reuse on a global basis
(even if you don't need them anymore).  The fact is, a process that hogs
memory on a BSD system probably wouldn't even run reasonably on a VMS system
(unless of course it was given a hoggy working set size).  Further evidence
of this bean counter vs. programmer conflict is available in the scheduling
priorities of a VMS system.  VMS priorities divide processes into groups of
'those that get time' and 'those that get no time' unless there is some
time which the 'those that get time' are not using.  BSD divides processes
into groups of 'those that get more time' and 'those that get less time'.
Process niceing can be used on BSD processes to get performance similar to
that of a VMS system without causing the negative effects of the fixed
resource allocation strategies in VMS.  It is ludicrous to be on a unloaded
machine with a large process and be paging through a keyhole.  On the VMS
systems that I used there were large portions of the physical memory which had
never seen a process.
>
> Do you think that all research work in
> virtual memory systems stopped when BSD came out?  Come on!  It only makes
> sense that something better exists today, simply because of progress in
> the field.
> 
Certainly BSD vm isn't the be all and end all of virtual memory systems.
Holding up VMS as superior, however, is a bit odd.  Hey, DEC didn't even
put a reference bit on the VAX paging system because VMS uses FIFO and
didn't need it, talk about neanderthal.

David Albrecht

peter@sugar.UUCP (Peter da Silva) (12/03/87)

In article <582@zippy.eecs.umich.edu>, pla@zippy.eecs.umich.edu (Paul Anderson) writes:
> Peter, I understand your points about paging, swapping and VM, but I'd
> like you to understand my point that anything less than virtual
> memory+paging+interprocess protection is a hack...

Well, you apparently don't understand it, because I have never said I don't
want interprocess protection. I also would like paging if I can safely
turn it off (not lock a process into memory... turn it off completely)
when I want to run real-time (like, in a video game). During program
devlopment and for some soft real-time work it is an absolute win.

> My experience is that the Amiga is about 1/4 the effective system
> speed of my Apollo DN3000.  An awful lot of this has to do with the
> quality of the software on the system, including compilers, debuggers,
> unix-type utilities, and other related things.

An awful lot has to do with the fact that you're using a faster CPU with
a faster bus and a faster hard disk, and you're not using TRIPOS. TRIPOS
is a bug come to life, and has nothing to do with VM. It's an orthogonal
issue.

> Anyone that thinks that
> the quality of the software on the Amiga even remotely approaches the
> quality of the system software on the Apollo really should try porting
> 10 or 15 megabytes of software to both before claiming it as fact.

I never said nor hinted this. The quality of UNIX software and tools
is awesome. Apollo's O/S seems to be in the ballpark.

> Your comment about software breaking without MEMF_PUBLIC is well taken,
> also.  Someone earlier (lost the article, sorry) mentioned that message
> passing OS are wonderful.  Well, they are, but things like MEMF_PUBLIC
> are part of the price we paid for AmigaDOS.

I don't see where MEMF_PUBLIC is such a problem. How much of your code
is public? What's the chance that in a protected system a bad pointer
will hit it before the much larger proportion of protected memory?

> My personal suggestion is for Commodore to forget trying to slowly add
> virtual memory to AmigaDOS... freeze what we know as AmigaDOS...
> [and get AmigaDOS emulator under UNIX, or UNIX/AmigaDOS under some
> sort of combined system].

Nope. Get UNIX onto the Amiga, and then let people run with it while you
get back to work on fixing AmigaDos. It's got advantages over UNIX. Real-time.
Works with floppies only. Etc...

Merge them when you KNOW you can do it right.
-- 
-- Peter da Silva  `-_-'  ...!hoptoad!academ!uhnix1!sugar!peter
-- Disclaimer: These U aren't mere opinions... these are *values*.

itkin@stsci.EDU (Elliot Itkin) (12/04/87)

Versions have another use, to prevent losing a file if the system dies
at a crucial moment.  If you don't have versions and the system should
crash just as you are overwriting your old copy, you will lose both the
old copy (half trashed) and the new one (only half written).  By using
the sequence:  1)  write new file out to open disk space, 2) update
directory, 3) delete old file (with appropriate substeps), no matter
when you crash you will either have the old one, the new one or both.
This use of versions was used by Univac way back when.  The VAX "no
version limit" is new.  It is also faster than the ".bak" method
because you only write the file once, not read-write (old to .bak) then
write out new, which is three file traversals.  You can achieve the
same results by ping-ponging two files but which is the most current if
you forget?

page@ulowell.cs.ulowell.edu (Bob Page) (12/11/87)

Wow!  UNIX versus VMS wars in the Amiga group!  And we used to argue
about trivialities like the Atari ST.

Let's port VMS to the Amiga.  :-)

dca@toylnd.UUCP (David C. Albrecht) wrote:
>VMS is designed by bean counters for bean counters.  Unix is designed by
>programmers for programmers.

And the Amiga OS? (no need to answer, ok?)

..Bob
-- 
Bob Page, U of Lowell CS Dept.  page@ulowell.edu  ulowell!page
"I've never liked reality all that much, but I haven't found a
better solution."		--Dave Haynie, Commodore-Amiga

michael@stb.UUCP (Michael) (12/12/87)

In article <1217@sugar.UUCP> peter@sugar.UUCP (Peter da Silva) writes:
>I don't see where MEMF_PUBLIC is such a problem. How much of your code
>is public?

All of it. It was loaded by another process by LoadSeg(), which had to
put it into memory accessable by two different processes.

				Michael
-- 
: Michael Gersten		ihnp4!hermix!ucla-an!remsit!stb!michael
:				sdcrdcf!trwrb!scgvaxd!stb!michael
: "Copy Protection? Just say 'Off site backup'. "

peter@sugar.UUCP (Peter da Silva) (12/16/87)

In article <10001@stb.UUCP>, michael@stb.UUCP (Michael) writes:
> In article <1217@sugar.UUCP> peter@sugar.UUCP (Peter da Silva) writes:
> >I don't see where MEMF_PUBLIC is such a problem. How much of your code
> >is public?
> All of it. It was loaded by another process by LoadSeg(), which had to
> put it into memory accessable by two different processes.

Interesting point. I don't think it's unmanagable, though. You would have
LoadSeg put the whole program into the parent's adress space until the
parent starts it up. At that point the memory would be yanked out of the
parent's adress space and stuck into the child's. The memory allocated
by LoadSeg would have to be arranged in virtual adress space so this was
possible. UnloadSeg would have to be privileged. For programs that didn't
want to do this (overlays, for example) you'd have to run some sort of
fixhunk over them.

Electronic Arts wouldn't care much for this, I suspect. They're pretty big
on protecting their badly-behaved software. Getting better, though.

Alternatively, you'd implement a NEW loadseg that loaded a protected
task, and have the new version of WorkBench and CLI use this. That way
most programs would still benefit from protection, without antagonizing EA.

> : "Copy Protection? Just say 'Off site backup'. "

There you go again, destroying your credibility.
-- 
-- Peter da Silva  `-_-'  ...!hoptoad!academ!uhnix1!sugar!peter
-- Disclaimer: These U aren't mere opinions... these are *values*.