[mod.computers.68k] Submission for mod-computers-68k

blarson%castor.usc.edu@USC-OBERON.ARPA.UUCP (02/08/87)

Path: castor.usc.edu!blarson
From: blarson@castor.usc.edu (Bob Larson)
Newsgroups: mod.computers.68k
Subject: Re: Minix to the 68k?
Message-ID: <644@castor.usc.edu>
Date: 8 Feb 87 08:11:15 GMT
References: <8702070057.AA17890@amdcad.AMD.COM>
Reply-To: blarson@castor.usc.edu.UUCP (Bob Larson)
Organization: USC AIS, Los Angeles
Lines: 23

In article <8702070057.AA17890@amdcad.AMD.COM> bandy@amdcad.UUCP (Andy Beals) writes:
>Given that I'm a little shy on information about #3, I'd like to ask the
>Amiga gurus here how the Amiga manages to do multitasking. (for that matter,
>how does OS9 mangage it?)

All Os9 code (except for some system dependent stuff like the boot
code) is position indepentent and sharable.  When a program is
started, if it is not already in memory, (due to special request or
another user using it) it is loaded into avalable memory.  Data areas
are allocated seperatly.  Once memory has been allocated, it is not
released until it is no longer in use.  (Relocation does not occur
durring execution.) This allows return addresses, etc. to be pushed on
the stack in the normal manner.  Yes, this scheme does have the
clasical "fragmentation" problem, and does limit your processes to
physical memory, but a few extra kilobytes of memory is probably
cheaper than a MMU.  (This refers only to level I os9.  Level II, such
as will soon be released for the coco 3, does use an MMU.)

-- 
Bob Larson
Arpa: Blarson@Usc-Eclb.Arpa
Uucp: (several backbone sites)!sdcrdcf!usc-oberon!castor.usc.edu!blarson
			seismo!cit-vax!usc-oberon!castor.usc.edu!blarson

bet@dukeac.UUCP.UUCP (02/11/87)

Path: dukeac!bet
From: bet@dukeac.UUCP (Bennett Todd)
Newsgroups: mod.computers.68k
Subject: Re: Minix/68k
Message-ID: <359@dukeac.UUCP>
Date: 11 Feb 87 17:04:59 GMT
References: <8702081739.AA11278@gorgo.att.com>
Reply-To: bet@dukeac.UUCP (Bennett Todd)
Organization: Duke User Services, Durham, NC
Lines: 18


OS/9's multitasking model won't help either UNIX or Minix run well on a plain
68000 without MMU; someone mentioned earlier that it doesn't relocate a
process after the process has begun executing (I don't know OS/9; if that was
incorrect then discount this whole note). UNIX (and Minix) found their notion
of multitasking on the fork() system call, which makes two (almost) identical
processes out of the one which invokes it. The two then continue executing
independently. This requires, at a minimum, the ability to duplicate memory
allocated to data, and allow two separate images to proceed executing. Unless
tasks are going to swap on every context switch, the data area has to be
relocatable (including pointers to data and subroutine return addresses on the
stack).

-Bennett
-- 
Bennett Todd, Duke User Services, Durham, NC 27706-7756; +1 919 684 3695
UUCP: ...{philabs,akgua,decvax,ihnp4}!mcnc!ecsvax!dukeac!bet
BITNET: DBTODD@TUCC

bill@caip.rutgers.edu@tifsie.UUCP (02/13/87)

Path: tifsie!bill
From: bill@tifsie.UUCP (Bill Stoltz)
Newsgroups: mod.computers.68k
Subject: OS9 Questions (was Re: Minix/68k)
Summary: questions about OS9
Message-ID: <311@tifsie.UUCP>
Date: 13 Feb 87 05:58:02 GMT
Article-I.D.: tifsie.311
Posted: Thu Feb 12 23:58:02 1987
References: <8702081739.AA11278@gorgo.att.com>
Organization: TI Process Automation Center, Dallas
Lines: 29
 
 
Steve Blasingame gave a lot of information about OS9, but he left
me with a few unanswered questions.
 
If every process is position independent then is every process limited
to 64K bytes?  In order to be position independent you have to use
PC relative code.  PC relative, from what I have been able to find,
is +-32K bytes.  Obviously, programs can be greater than 64k but all
references must be within 32k.  How does OS9 handle this?
 
What does OS9 use to try to protect other processes or kernel memory
from the currently running process, without the use of an MMU?
 
Where can I get more information on OS9?  (General Overview and
some internal workings like we have discussed here)?
 
 
 
-----------------
 
Bill Stoltz
Texas Instruments
Process Automation Center
P.O. Box 655012, M/S 3635
Dallas, TX 75243
 
UUCP: 	{uiucdcs!convex!smu, {rice, sun!texsun}!ti-csl}!tifsie!bill
DECNET: TIFSIE::bill
Voice:	(214) 995-2786

jejones@mcrware.UUCP.UUCP (02/13/87)

The earlier mention was right; a OS-9 process's data memory does not get
moved.  (Of course, 99.9+% of programs under Unix that use fork() read

	if (fork() == /* whatever says I'm the child */)
		exec[a-z]*("what I really wanted to run", ...);

so I don't think that OS-9's at any great loss for not having Unix's
fork().)

		James Jones

blarson%castor.usc.edu@usc-oberon.arpa.UUCP (02/15/87)

Path: castor.usc.edu!blarson
From: blarson@castor.usc.edu (Bob Larson)
Newsgroups: mod.computers.68k
Subject: Re: OS9 Questions (was Re: Minix/68k)
Message-ID: <714@castor.usc.edu>
Date: 14 Feb 87 21:56:18 GMT
References: <8702130559.AA20439@tilde> <8702081739.AA11278@gorgo.att.com>
Organization: USC AIS, Los Angeles
Lines: 50

Sender: 
Reply-To: blarson@castor.usc.edu.UUCP (Bob Larson)
Followup-To: 
Distribution: 
Organization: USC AIS, Los Angeles
Keywords: 

In article <8702130559.AA20439@tilde> bill@caip.rutgers.edu@tifsie.UUCP (Bill Stoltz) writes:

Os9/68k:

>If every process is position independent then is every process limited
>to 64K bytes?  In order to be position independent you have to use
>PC relative code.  PC relative, from what I have been able to find,
>is +-32K bytes.  Obviously, programs can be greater than 64k but all
>references must be within 32k.  How does OS9 handle this?

Local program references are limited to the PC-relitive limits.
External references are fixed by the linker to inderection through
initalized data.  (The run-time initialization code calculates the
actual address.) Warning: the linker that came with the 2.0 C compiler
had a bug in how it handled pointers to functions more than 32kbytes
away. 

>What does OS9 use to try to protect other processes or kernel memory
>from the currently running process, without the use of an MMU?

Without hardware assistance, there is not much it can do.  The fact
that all of os9 is relocatable and may be in different places based on
machine, os version, etc. does help keep the tinkerers at bay.
 
>Where can I get more information on OS9?  (General Overview and
>some internal workings like we have discussed here)?

Os9/6809 is covered pretty well in "the complete rainbow guide to
os9".  (Available at radio shack.) The 68k version is similar, but
improved.  68 micro journal is the only non-coco commercial magazine
that gives regular coverage to os9.  The Os9 users group occasionaly
gets around to putting out another issue of their "monthly" magazine
MOTD.  (I don't have their new address.) Mod.os.os9 has some
interesting stuff once in a while.  Compuserve has a pretty active,
but non-technical, os9 section.  Bix and Delphi also have os9
sections.  (The delphi one is shoved under their coco section.) I'm
sure microware would be willing to sell you a set of manuals. 

-- 
Bob Larson
Arpa: Blarson@Usc-Eclb.Arpa
Uucp: (several backbone sites)!sdcrdcf!usc-oberon!castor.usc.edu!blarson
			seismo!cit-vax!usc-oberon!castor.usc.edu!blarson

bsteve@ucbvax.Berkeley.EDU@gorgo.UUCP (02/16/87)

This was a problem in the implementation of OS9 for the 68k. The fix involved
a smart code generator for the C compiler. The limitation is that a single
function may not be larger than 64k (at least in the initial implementation).
Anyone that would write a function that large is in trouble anyway (in my
opinion). The make it clearer, local variables are stored on the stack and
this segment is also limited  by the architecture on a per-function basis.
Global/external and static variables are stored in a preallocated static data
segment.

   Hope this helps,

    Steve Blasingame (Oklahoma City)
    ihnp4!occrsh!gorgo!bsteve
    bsteve@eris.berkeley.edu

bsteve@ucbvax.Berkeley.EDU@gorgo.UUCP (02/16/87)

>The earlier mention was right; a OS-9 process's data memory does not get
>moved.  (Of course, 99.9+% of programs under Unix that use fork() read

>	if (fork() == /* whatever says I'm the child */)
>		exec[a-z]*("what I really wanted to run", ...);

>so I don't think that OS-9's at any great loss for not having Unix's
>fork().)

I partly agree, but I would like to have both the OS9 fork() construct
with exec() built-in as well as the unix fork(). Given the more recent
implementations of UNIX that use virtual memory and copy-on-write, to
allocate data segments the overhead of the UNIX fork() is much reduced.
This does not preclude the *large* additional overhead of the additional
system call to exec().

The reasoning for having the OS9 fork() is very straightforward. It is
much simpler to use and is what you need much of the time. The need for
the UNIX fork()/exec() construct comes into play when one wishes to perform
changes in the process environment (a.k.a signals or io-controls) before
actually loading the child process. A good example of this has to do with
the creation of children that one doesn't wait() on. You may wish to direct
particular signals to a particular process. Consider the following example:


		/* fork a child process to invoke notes on the
		 * notesfile msg.username for the selected user
		 */
		if (!(pid=fork())) {
			signal(SIGCLD, SIG_DFL);
			execle("/usr/bin/notes","",answer,0,environ);
		} else {

			/* turn off signals in the parent process */
			isave= (int) signal(SIGINT, SIG_IGN);
			hsave= (int) signal(SIGHUP, SIG_IGN);
	
			/* wait for child process to complete */
			(void) signal(SIGCLD, SIG_DFL);
			while ((retval=wait(&status)) != pid) ;
			(void) signal(SIGCLD, SIG_IGN);
	
			/* turn back on (void) signals in the parent process */
			(void) signal(SIGINT, isave);
			(void) signal(SIGHUP, hsave);
		}

Here we want the child process to always recieve interrupts and hangups,
but wish to disable them in the parent. Given the OS9 fork() this would
not be possible. Also in this example we use SIGCLD because we have some
asynchronously running children that are concurrent to this child.


    Steve Blasingame (Oklahoma City)
    ihnp4!occrsh!gorgo!bsteve
    bsteve@eris.berkeley.edu

m5d@bobkat.UUCP.UUCP (02/17/87)

In article <8702131404.AA03521@mcrware.UUCP> jejones@mcrware.UUCP (James Jones) writes:
>The earlier mention was right; a OS-9 process's data memory does not get
>moved.  (Of course, 99.9+% of programs under Unix that use fork() read
>
>	if (fork() == /* whatever says I'm the child */)
>		exec[a-z]*("what I really wanted to run", ...);
>
>so I don't think that OS-9's at any great loss for not having Unix's
>fork().)
>
>		James Jones

I'll agree that most calls to fork() are followed soon after by an
execve(), but not immediately.  Files might be closed or opened,
priorities changed, and various other things might happen before the
new program is loaded.

And this still doesn't address the small minority of programs that
DON'T execve() after a fork().  For example, the shell -- when it runs
a loop in a subshell, it of course doesn't re-load itself.  It just
calls fork() and the child runs the loop (after redirecting any
files).

I think that lack of a real Unix fork() is THE great loss of OS9.
(Along with lesser things like one-ended pipes, no signal queue, no
in-core inode table for text sharing, ...)  For a CoCo, OS9 is a big
step up.  For a 68000 system, however, I want real software.

-- 
Mike McNally, mercifully employed at Digital Lynx ---
    Where Plano Road the Mighty Flood of Forest Lane doth meet,
    And Garland fair, whose perfumed air flows soft about my feet...
uucp: {texsun,killer,infotel}!pollux!bobkat!m5d (214) 238-7474

cmcmanis@seismo.CSS.GOV@sun.UUCP (02/18/87)

Path: sun!cmcmanis
From: cmcmanis@sun.uucp (Chuck McManis)
Newsgroups: mod.computers.68k,comp.sys.amiga
Subject: Fork() under AmigaDOS and others
Keywords: fork(), shared memorry
Message-ID: <13545@sun.uucp>
Date: 18 Feb 87 18:30:00 GMT
Organization: Sun Microsystems, Inc. - Mtn View, CA
Lines: 25

With all the discussion about fork() and why you can or cannot do it
without an MMU, I thought of a solution that I haven't seen proposed
yet. 

On the Amiga executables are stored in a runtime loadable format, and
there is a system call LoadSeg() that will load the executable into
memory and fix up all the variable references. So why can't fork()
simply read in a new copy of the executable from disk, peek at the 
address of it's data hunks, and copy the variables from the current
process to the new process, duplicate the stack, and then kick it off
with CreateProc() to make it run. You would then have two copies of 
the code running simultaneously and not have to worry about 'swapping'
back and forth. 

I have not figured out if one would have to muck with such things as
duplicating the current memory allocated by the parent process, and
if so fix up such things as linked lists of data structures. 

Comments anyone? Anyone know how Lattice 3.10 does fork() ?


-- 
--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.

bandy@amdcad.UUCP.UUCP (02/19/87)

>From: cmcmanis@sun.uucp (Chuck McManis)
>With all the discussion about fork() and why you can or cannot do it
>without an MMU, I thought of a solution that I haven't seen proposed
>yet. 
>
> [why not just get a clean copy of the unrelocated executable off of
>  disk,ala amiga's dos, and copy the data space and stack?]

>I have not figured out if one would have to muck with such things as
>duplicating the current memory allocated by the parent process, 

Yes, you would.

>and
>if so fix up such things as linked lists of data structures. 

It would be difficult.  For the compiler to put enough (uh) "bugs" in to allow
the operating system to know what to fool with during a fork would be a
*large* performance hit.

As to duplicating the stack, what happens when you have char *s; auto ca[666];
s = &ca; in your scheme?  Whoops!  Pointing at the wrong area of memory!

In fact, I wrote a little article today about how Tanenbaum's friend who is
doing the ST port is working it - and since you probably don't read
comp.sys.atari.st, I'll duplicate it here:

From: bandy@amdcad.UUCP (Andy Beals)
Newsgroups: comp.sys.atari.st
Subject: Multitasking discussion

Well, as you may know, Andy Tanenbaum has mentioned a number of times
that a friend of his is working on a port of minix to the ST.  Well, I
was curious as to which method was being used (planned on being used? I
don't know how far along that port is), so I dropped a note off to him
and found out that when processes are loaded, they are relocated on the
fly -- apparently the same method that the Amiga folks use.  When a
process forks, the child is "swapped" to somewhere in memory (wherever
there is enough room).  When the scheduler starts the child, it swaps
out the parent (to somewhere else in memory), swaps the child to where
the parent [was] and starts running the child -- this way all the text and
data references are okay. 

In most cases, the child will exec so the new process being loaded in
can go anywhere and the parent process can go back to where it
belongs.  This all should happen within one scheduler tick, so you
won't have to do more than four copies of the parent's process image if
you're careful // however, if you're really careful, you could get away
with two copies (for the fork/exec case) -- copy the parent, run the
child (where the parent was), when the child execs, copy the parent
back to where it belongs You might be able to get away with not copying
the parent back *just shuffle the pointers), but with no read-only
pages (no mmu), you have no guarantees that the child hasn't scribbled
all over the data or text pages).

Yes, I know, this sounds gross, but it isn't too bad -- after all, if you do
want your machine to go faster, you can wait until one of the home-computer
manufacturers comes out with a cheap machine with an MMU and then run Minix
on it.
-- 
Andrew Scott Beals, {lll-crg,decwrl,allegra}!amdcad!bandy +1 408 749 3683

mhorne@tekfdi.FDI.TEK.COM.UUCP (02/20/87)

Path: tekfdi!mhorne
From: mhorne@tekfdi.TEK.COM (Mike Horne)
Newsgroups: mod.computers.68k
Subject: Re: 68000 O/S's, MMUs, et. al.
Message-ID: <787@tekfdi.TEK.COM>
Date: 19 Feb 87 22:01:25 GMT
References: <8702181533.AA27804@ucbvax.Berkeley.EDU>
Reply-To: mhorne@tekfdi.UUCP (Mike Horne)
Organization: Tektronix, Inc., Beaverton, OR.
Lines: 52

In a recent article, HELLER@cs.umass.edu writes:

>...multi-user systems it is needed.  It is doubtful
>that MMUs will ever be common on *little* home/office systems (i.e. ST's,
>Amiga's, Mac's etc.) - most of these system will be running well behaved

Guess again.  In the history of '*little* home/office systems', manufacturers
have always put the most up-to-date hardware in their machines at the time
of development.  Since most new CPUs have built in MMUs, new computers will
obviously have OSs that take advantage of this.  Atari, Apple, etc., aren't
going to put Z80s in their new machines with no MMU just because someone out
there can write a 'well behaved' program!  It's called 'computer evolution'.

>I really doubt that UNIX/MINIX will ever be the O/S of choice amongst home
>and office users:  UNIX is just too "weird" (why is the directory command
>"ls"?  why is the type command "cat"? what is an inode? - only UNIX hackers
>really understand UNIX).

Obviously you haven't given it much thought.  Gee, could "cat" possibly stand
for "concatenate?"  Naaa...  Pick up a book once in a while.

Gosh, I wonder why UNIX is showing up so often as THE operating system in any
new, state-of-the-art computer?  Even MS-DOS (yucko!) has some look/feel of
UNIX.  

>Secondly, I have found that I have had little or no trouble with runaway
>pointers totally trashing the system, at worst it just trashes the current
>"process". Re-booting just that process is suffientent. I guess I tend to
>write good code. Also, I have little need to run jobs in the background
>much. I guess I am just a synchronious user. I suspect that if I had UNIX on
>my system it would just cause an *increase* in the system overhead, because
>I would not use enough of it to justify most of what it would supply me
>with. I just don't have much need of forks and pipes (or even virtual memory
>- I will be going to a 4-meg system soon, which will provide me with more than

Gee, I'd never want a Jaguar XJS.  What would I do with all that power?  Boy,
it just doesn't make sense.  I'd much rather drive my Edsel.  Just the
right amount of power I need...

I find it hard to believe that you are not just joking!  You obviously like
the flavor of your foot, but I guess we all are entitled to an opinion.
I, too, had a small system, but I learned that a UNIX type system, with 
memory managment, Vmem, process forking, etc., unleashes power one couldn't
dream of before.  I suggest you send your messages about things you obviously
have no knowledge about to /dev/null.  That is, type 'cat > /dev/null'...


Mike
------------------------------------------------------------------------
 Michael Horne - KA7AXD              FDI group, Tektronix, Incorporated
 INTERNET: mhorne@tekfdi.fdi.tek.com
 UUCP:     {decvax,hplabs,hp-cd,reed,uw-beaver}!tektronix!tekfdi!mhorne

gary@percival.UUCP.UUCP (02/20/87)

Path: percival!gary
From: gary@percival.UUCP (Gary Wells)
Newsgroups: mod.computers.68k
Subject: Re: 68000 O/S's, MMUs, et. al.
Message-ID: <447@percival.UUCP>
Date: 20 Feb 87 19:36:41 GMT
References: <8702181533.AA27804@ucbvax.Berkeley.EDU> <8702190305.AA02511@eneevax.umd.edu>
Reply-To: gary@percival.UUCP (Gary Wells)
Organization: Percy's UNIX, Portland, OR.
Lines: 19

>The UNIX command interpreter is pwoerful and relatively consistant<

Well, you're half right.  The only thing consistant about UNIX commands, 
especially the options, is that they ALL work differently.  Check the
BUGS entry on every man page : "The (insert any letter) option does not
work the same as the (insert related command) (insert some other letter)
option."

True, you can get used to them.  True, I like it.  True, it's powerful.
It is NOT easy to learn, nor intutitive.  (But neither is life).

We really ought not to rain critisism on the messanager for speaking the 
truth.
.

-- 
--------------------------------------------------------------------------------
Wudda yeah mean, I'm gonna get in trouble?  I AM in trouble!
________________________________________________________________________________

blarson%castor.usc.edu@USC-OBERON.ARPA.UUCP (02/21/87)

Path: castor.usc.edu!blarson
From: blarson@castor.usc.edu (Bob Larson)
Newsgroups: mod.computers.68k
Subject: Re: Submission for mod-computers-68k (really Nuxi fork())
Message-ID: <813@castor.usc.edu>
Date: 21 Feb 87 02:24:43 GMT
References: <8702131404.AA03521@mcrware.UUCP> <8702171750.AA05745@bobkat>
Reply-To: blarson@castor.usc.edu.UUCP (Bob Larson)
Organization: USC AIS, Los Angeles
Lines: 38

In article <8702171750.AA05745@bobkat> bobkat!m5d (Mike McNally (dlsh)) writes:
>I'll agree that most calls to fork() are followed soon after by an
>execve(), but not immediately.  Files might be closed or opened,
>priorities changed, and various other things might happen before the
>new program is loaded.

Os9 does let you do most of this.  The os9fork call includes priority
as an argument, and files may be handled by use of dup(), open(),
close(), etc. and the ability to specify how many file descriptors to
pass.

>And this still doesn't address the small minority of programs that
>DON'T execve() after a fork().  For example, the shell -- when it runs
>a loop in a subshell, it of course doesn't re-load itself.  It just
>calls fork() and the child runs the loop (after redirecting any
>files).

The example is one that would work well as a separate process, sharing
the program (as os9 always does) but with separate data.  I have yet
to see a program that can't be recoded to use os9 fork rather than
unix fork.  (Addmitadly, it isn't always trivial.)

>I think that lack of a real Unix fork() is THE great loss of OS9.
>(Along with lesser things like one-ended pipes, no signal queue, no
>in-core inode table for text sharing, ...)  For a CoCo, OS9 is a big
>step up.  For a 68000 system, however, I want real software.

What pipe feature is missing?  If by "text sharing" you mean multiple
users use a single copy of a program in memory, os9 ALWAYS does that.
The things I want in os9 are the various utilities, disk cashing
(which some version have), and virtual memory.


-- 
Bob Larson
Arpa: Blarson@Usc-Eclb.Arpa
Uucp: (several backbone sites)!sdcrdcf!usc-oberon!castor.usc.edu!blarson
			seismo!cit-vax!usc-oberon!castor.usc.edu!blarson

usenet@JADE.BERKELEY.EDU.UUCP (02/21/87)

Path: jade!violet.berkeley.edu!mwm
From: mwm@violet.berkeley.edu (Mike Meyer)
Newsgroups: mod.computers.68k
Subject: test, mod.computers.68k
Message-ID: <2581@jade.BERKELEY.EDU>
Date: 21 Feb 87 20:24:34 GMT
Sender: usenet@jade.BERKELEY.EDU
Reply-To: mwm@violet.berkeley.edu(Mike Meyer)
Distribution: ucb
Organization: University of California, Berkeley
Lines: 5


Another test. Ignore this one, too.

	<mike

mhorne@tekfdi.FDI.TEK.COM.UUCP (02/25/87)

Path: tekfdi!mhorne
From: mhorne@tekfdi.TEK.COM (Mike Horne)
Newsgroups: mod.computers.68k
Subject: Rehash: MMUs and the fate of computers to come
Message-ID: <795@tekfdi.TEK.COM>
Date: 24 Feb 87 22:16:50 GMT
Reply-To: mhorne@tekfdi.fdi.tek.com
Organization: Tektronix, Inc., Beaverton, OR.
Lines: 72

In an earlier article, mwm writes...

> Gee, the biggest, fastest Unix box I can get to (both legitimately and
> otherwise) doesn't have VM. Their attitude is "Real memory for real
> performance."  Maybe the hardware designers know something you don't?
> If not, "how come you ain't rich?" :-)

Make that "Real memory for real bucks."  Also note that hardware designers
work on projects that last 2 or 3 years.  Give Atari, Apple, Commodore, SUN,
Apollo, etc. etc. a call on the phone and ask them if their new machines to
be released in the next year or two are using VM.  If they aren't, check the
business obituaries daily.  But, I think you will find that they are.  Atari
is.  Apple is.  SUN and Apollo have been for years.  And the list goes on...

> There's a place for everything. Given a 68K based system, I'd rather
> not have virtual memory - just give me 16Meg of real, and forget the
> virtual. An MMU would still be nice, though. But if I can save 10% of
> the cost of producing a box, and I'm planning on selling it in a
> market that doesn't need an MMU, then I'd be stupid to put one in.

Think about what you just said.  "Save 10%."  Now, what if we had just put
in 2 MB of DRAM and a swapper with an 16MB swap space.  Now, think about
how much that additional 14 MB of DRAM is going to cost if you have a 16 MB
system.  Try (using 1Mb DRAM chips) 20 bucks per chip times 8 chips times
14 sets.  That's 2240 buckaroos, bud.  Oh, and don't forget the price of
the support chips.  I think I can find a pretty good MMU for that price,
plus maybe a 200 MB hard drive (OEMs can get a 200 MB hard drive for < $1500,
quantity 100 or so) too.  Simple math.  Of course, the price of RAM will
drop.  But so will MMUs and HDs.

So, what does this get me?  Well, it doesn't get me 16 MB of real memory,
but it does get me a nice HD and true multi-tasking capability for the same
price.  In addtion, as far as my programs are concerned, I truly have a
16 MB address space.  What will the customers want for storage?  Floppies
or an HD?  I think we all know the answer to that one. 

> For instance, that's why the Amiga doesn't have an MMU; they looked at
> it, and were looing at $125 for the CPU board. Even at $10 for the

Again, the Amiga is 'old' in comparison to todays technology available to
the designer.  True, when they designed it, an MMU may have been expensive,
but companies don't turn out new computers every couple of months!  It is
a very long and difficult process (try years).  Nevertheless, todays design
engineers can take advantage of much cheaper and much more powerful chips
than when the amiga (or ST, or Mac) was designed.  And they are.

> As for Unix proper - it's got serious problems. The worst is that the
> system calls have long since gotten past the point of having been
> designed, and have "grown" to be what they are. Starting over from
> scratch, and building a system that emulates Unix on top of a
> reasonable OS (which is what Minix is) is a _good_ thing. Period. The
> trick is to then get all those Unix utilities (hopefully, after
> rewriting them to regularize the argument parsing & delete cruft
> that's been added to solve problems you solved in a better way)
> running on your system. That's harder, 'cause you have to talk AT&T
> out of the sources, or rewrite all of them.

I tend to agree that UNIX is not as easy to learn as some other OSs.
Yet, it is very powerful.  One cannot overlook the power of an OS/language
just because it may be difficult for some people to learn.  It's the
same old "Why should I learn it if I can't understand it in 5 minutes"
attitude that raises all of these "I hate XXXX OS/language/computer"
comments.  Still, I agree that there is room for improvement.  There always
is.

Mike

------------------------------------------------------------------------
 Michael Horne - KA7AXD              FDI group, Tektronix, Incorporated
 INTERNET: mhorne@tekfdi.fdi.tek.com
 CSNET:    mhorne@tekfdi.fdi.tek.csnet@csnet-relay.csnet
 UUCP:     {ucbvax,decvax,hplabs,uw-beaver}!tektronix!tekfdi!mhorne

mhorne@tekfdi.FDI.TEK.COM.UUCP (02/26/87)

Path: tekfdi!mhorne
From: mhorne@tekfdi.TEK.COM (Mike Horne)
Newsgroups: mod.computers.68k
Subject: Re: Multitasking et al...
Message-ID: <798@tekfdi.TEK.COM>
Date: 26 Feb 87 01:49:38 GMT
References: <8702242259.AA28381@violet.berkeley.edu>
Distribution: world
Organization: Tektronix, Inc., Beaverton, OR.
Lines: 26

In a recent article about a recent article about a...

>>> Well, how many machines at *all* have the 010?
>
>Workstations. The real win with the '010 was being able to do VM.
>There wasn't enough performance gain (outside of special applications)
>over the '000 to make it worthwhile, unless you wanted to do VM.
>
>	<mike

Yes, several Workstations use them.  For example, the SUN II line used them,
and they were/are very fast and good, hearty machines.  Not as fast as the
68020 machines out there, but faster than the 68000, not to mention the
nice virtual address space.

My own computer has a 68010 with 8MB of VM running UniFLEX, and I must say
that it really is nice for getting things done *NOW*.  The 010 is a good CPU,
but of course, I would rather have an 020 based machine...

Mike

------------------------------------------------------------------------
 Michael Horne - KA7AXD              FDI group, Tektronix, Incorporated
 INTERNET: mhorne@tekfdi.fdi.tek.com
 CSNET:    mhorne@tekfdi.fdi.tek.csnet@csnet-relay.csnet
 UUCP:     {ucbvax,decvax,hplabs,uw-beaver}!tektronix!tekfdi!mhorne

mhorne@tekfdi.FDI.TEK.COM.UUCP (02/26/87)

Path: tekfdi!mhorne
From: mhorne@tekfdi.TEK.COM (Mike Horne)
Newsgroups: mod.computers.68k
Subject: Re: Memory?
Message-ID: <799@tekfdi.TEK.COM>
Date: 26 Feb 87 02:33:53 GMT
Reply-To: mhorne@tekfdi.UUCP (Mike Horne)
Distribution: world
Organization: Tektronix, Inc., Beaverton, OR.
Lines: 86

Yup, another followup....

"In a recent article, mwm writes..."

>> Think about what you just said.  "Save 10%."  Now, what if we had just put
>> in 2 MB of DRAM and a swapper with an 16MB swap space.  Now, think about
>> how much that additional 14 MB of DRAM is going to cost if you have a 16 MB
>> system.  Try (using 1Mb DRAM chips) 20 bucks per chip times 8 chips times
>> 14 sets.  That's 2240 buckaroos, bud.  Oh, and don't forget the price of
>> the support chips.  I think I can find a pretty good MMU for that price,
>> plus maybe a 200 MB hard drive (OEMs can get a 200 MB hard drive for < $1500
>> quantity 100 or so) too.  Simple math.  Of course, the price of RAM will
>> drop.  But so will MMUs and HDs.
>
>Simple math, but I don't like the numbers you started with. I was
>offered 2Meg for $150 today. Multiply by eight, you and get that 16Meg
>costs all of $1K. Support system is about $500. For that, I can get
>maybe a 60 Meg HD + disk subsystem. But I'd rather have the memory.
>
Aaaahhhhh...  You're working with 256Kb DRAMs, though!  Yes, they are cheaper,
but it takes 4 times as many chips!  Lemmeesee...

8 chips = 256K
4 x 8 = 32 chips per MB.
32 x 16 = 512 chips per 16MB

Hmmm....  I guess I could pack 512 chips into my new computer design.  But
wait, what about board space?  What about power supply requirements?  Do you
know what 512 chips looks like, side by side?  Yes, you could get SMD (surface
mount device) parts, but no company in its right mind would tackle a design
like that.  Oh, and are you going to prototype one of these up using
wirewrap?  Good hairy luck!  The reality is that companies do *NOT* use old
technology if new technology can do it in 1/4th the board space (or 1/3,
or 1/2), even if it costs more.  For example, one can find 1K X 4 SRAM
chips for a dime a piece, but just because they are cheap doesn't mean
they are a good idea to use in a design (at least, not any more!).
Eventually the 1 MB DRAM chips will be cheap enough to meet the quoted prices
that you had above.  But it will be at least a year or two (following past
experience).  Of course, the 4 and 16 MB DRAM chips will be out then.  NEC
and other Japanese companies have already shown that they can produce the
4 MB DRAM chips, and they are already working on the 16 MB chips.


>Low-end home computers (those which have 68K's being the _topic_ of
>this newsgroup).

Note:  Anything having to do with the design of a computer system around
a 680X0 is relevent to this newsgroup (MMUs, DRAM, etc.).

>Yah, but I bet you don't see the "new" technology before 1988 ("new"
>== 68030 and whatever intel has in the pipe). Not in consumer-priced
>machines, anyway. By which time the next newest chip will also have
>neat features you want. Sorry, but I want a system now, not year after
>next.

Well, then you get a 68000 with 1MB of DRAM, no VM, a 700 dollar 20MB HD,
etc.  If this suits you, fine.  BUT, if you want more ram, VM, more power,
etc., it is being developed NOW.  You gotta wait.  I'm totally happy with
my 68010, 2MB DRAM, VM, etc. for now.  But you would never get me to go back
to something without an MMU.  Put it this way:  Once you have tasted the
soup, you don't want the dry toast.

>Sure, if you offered to give me a system with an MMU, I'd probably
>take it over one without.  But until the price drops to something
>reasonable (say, a system with an MMU for < $1K), I'll keep what I've
>got. With enough memory, it's a more pleasant environment than my Sun,
>and at 1/3rd the cost.

I agree.  Use what you have.  But realized that the next generation of
machines will have VM.  The next generation is just around the corner.

>there way back into Unix.  So which do you expect to be the better OS?

Well, I feel that UNIX is, right now.  But as people keep learning from
existing software and past experience, other OSs will eventually replace
UNIX.  I think we agree on the same thing here, just different time frames.

Mike

(P.S. Speaking of new chips, watch for Motorola's 78000:  25 MIPs)

------------------------------------------------------------------------
 Michael Horne - KA7AXD              FDI group, Tektronix, Incorporated
 INTERNET: mhorne@tekfdi.fdi.tek.com
 CSNET:    mhorne@tekfdi.fdi.tek.csnet@csnet-relay.csnet
 UUCP:     {ucbvax,decvax,hplabs,uw-beaver}!tektronix!tekfdi!mhorne

drforsey@watcgl.waterloo.edu.UUCP (02/26/87)

Path: watcgl!drforsey
From: drforsey@watcgl.UUCP (Dave Forsey)
Newsgroups: mod.computers.68k
Subject: Re: Submission for mod-computers-68k
Message-ID: <662@watcgl.UUCP>
Date: 26 Feb 87 20:18:47 GMT
References: <8702242216.AA09273@tekfdi.FDI.TEK.COM>
Reply-To: drforsey@watcgl.UUCP (Dave Forsey)
Distribution: world
Organization: U. of Waterloo, Ontario
Lines: 15

>> For instance, that's why the Amiga doesn't have an MMU; they looked at
>> it, and were looing at $125 for the CPU board. Even at $10 for the
>
>True, when they designed it, an MMU may have been expensive,
>but companies don't turn out new computers every couple of months!  It is
>a very long and difficult process (try years).

There is perhaps a deeper reason for the amiga not using a MMU. The operating
system is based on message passing, those messages are passed by reference
rather than copying. It assumes and is dependent on an single address space.
Unless the OS changes in a major way you'll not get VM on an Amiga.

Dave Forsey
Computer Graphics Laboratory
University of Waterloo.

mhorne@tekfdi.FDI.TEK.COM.UUCP (02/27/87)

Path: tekfdi!mhorne
From: mhorne@tekfdi.TEK.COM (Mike Horne)
Newsgroups: mod.computers.68k
Subject: Re: Re: Re: ...
Message-ID: <801@tekfdi.TEK.COM>
Date: 27 Feb 87 04:58:08 GMT
Reply-To: mhorne@tekfdi.UUCP (Mike Horne)
Organization: Tektronix, Inc., Beaverton, OR.
Lines: 58

In an incredibly recent article by mwm...

>> >Low-end home computers (those which have 68K's being the _topic_ of
>> >this newsgroup).

>> Note:  Anything having to do with the design of a computer system around
>> a 680X0 is relevent to this newsgroup (MMUs, DRAM, etc.).

> Ahem. From the list of lists:

> INFO-68K@UCBVAX

>    Mailing list for users of OS's capable of running on small 68000 systems, 
>    primarly CP/M-68K.  Related systems (OS/9-68K, etc.) and topics welcome.
                         ^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^^^

Well, Mike, tell me what "Related systems and topics" is/are?  Since
not specifically defined, it is left open for interpretation.  By the way,
I would consider the hardware (memory, etc.) to be a "related topic",
or are you able to run your "small 68000 system" without these?  If so,
you've got something there...
 
> I'd rather have what I've got: 68010, 2.5MB dram (yes, it's on 256Kb
> chips. It's going to go to 4.5 in the next month or so. I mean, for
> $150, who can resist?), no VM. Since I'm planning on playing with
> LISP, VM would be a major performance hit. Going to 8.5Meg (or maybe
> more) of real is a _lot_ more attractive than adding an MMU.

Before you got to 4.5 or 8.5, you better check your power supply specs.
That many chips can/will draw a lot of juice.  Just a suggestion.

> Uh, sorry, but I make my living hacking on systems with MMUs. And VM.
> On those systems, I miss shared memory, shared libraries, streams,
> real IPC, lightweight processes (tasks, if you want to be accurate),
> dynamically mountable device drivers, etc., etc., etc.

Hmmm...  Well, this may be where we disagree.  I prefer to have my own
copy of everything.  That way no one can get into trouble.  With an 8MB
address space, I can't go wrong.  And still every process has access to
all of the system resources.  I can still fork(), and I can still make
my binaries share resources.  The so-called 'advantages' of shared
this-n-that are really known as limitations due to the hardware.  Machines
are growing, and the 'small system' ideas of today are going to look
really 'small' (gee, remember those nice little 8080 base machines?  Boy,
those were really powerful!  Wanna go back to them?  They had shared memory!).
I'd say the next generation of 'small systems' are going to be based around
the 68020, 320XX, and 80386 CPUs.  And they will have memory managment.  It's
a fact of life.

Mike

(P.S.  This is my last one.  How about one more rebuttal on your part?)

------------------------------------------------------------------------
 Michael Horne - KA7AXD              FDI group, Tektronix, Incorporated
 INTERNET: mhorne@tekfdi.fdi.tek.com
 CSNET:    mhorne@tekfdi.fdi.tek.csnet@csnet-relay.csnet
 UUCP:     {ucbvax,decvax,hplabs,uw-beaver}!tektronix!tekfdi!mhorne

stever@videovax.TEK.COM.UUCP (03/03/87)

Path: videovax!stever
From: stever@videovax.Tek.COM (Steven E. Rice, P.E.)
Newsgroups: mod.computers.68k
Subject: Re: Multitasking at el...
Summary: 68020 has a significant cost penalty. . .
Message-ID: <4257@videovax.Tek.COM>
Date: 3 Mar 87 16:38:06 GMT
References: <8702211138.AA05883@ucbvax.Berkeley.EDU> <8702231846.AA05718@amdcad.AMD.COM>
Reply-To: stever@videovax.Tek.COM (Steven E. Rice, P.E.)
Distribution: world
Organization: Tektronix Television Systems, Beaverton, Oregon
Lines: 27

In article <8702231846.AA05718@amdcad.AMD.COM>, Andy Beals
(bandy@amdcad.UUCP) writes:

> . . .  The *next* st to come out will probably
> have an 020.  The next amiga probably will also.

There is a significant cost penalty to the 68020, due to its pin grid array
(PGA) package.  The 68000 and 68010 are packaged in 64-pin DIPs, which are
cheap -- the price of the part will undoubtedly drop to the $3 to $5
neighborhood for large quantities.  The 68020, on the other hand, will
remain pricey ($50 to $75 minimum even in large quantities) until the part
can be packaged in plastic.

Right now, 68020 add-ons to the Amiga sell for $800 to $1,400 (admittedly,
they have other things as well).  Much of that can be laid to low volumes
(the 68020 is about $150 in moderate quantities, and the development cost
of the circuit boards must be amortized over a small production quantity).
However, it is unlikely that a $100 processor will appear in a < $1,500
home computer -- that leaves too little for such essentials as a power
supply, a keyboard, manufacturer's profit and dealer markup!

When the plastic 68020 comes out, it will be a different story. . .

					Steve Rice

----------------------------------------------------------------------------
{decvax | hplabs | ihnp4 | uw-beaver}!tektronix!videovax!stever

jesup@seismo.CSS.GOV@steinmetz.UUCP (03/05/87)

Path: steinmetz!jesup
From: jesup@steinmetz.steinmetz.UUCP (Randell Jesup)
Newsgroups: mod.computers.68k
Subject: Re: Submission for mod-computers-68k
Message-ID: <1262@steinmetz.steinmetz.UUCP>
Date: 4 Mar 87 22:13:00 GMT
References: <8702262018.AA16981@watcgl.uucp>
Reply-To: jesup@kbsvax.steinmetz.UUCP (Randell Jesup)
Distribution: world
Organization: General Electric CRD, Schenectady, NY
Lines: 20

In article <8702262018.AA16981@watcgl.uucp> drforsey@watcgl.waterloo.edu (Dave Forsey) writes:
>There is perhaps a deeper reason for the amiga not using a MMU. The operating
>system is based on message passing, those messages are passed by reference
>rather than copying. It assumes and is dependent on an single address space.
>Unless the OS changes in a major way you'll not get VM on an Amiga.
>
>Dave Forsey

	There is SOME support for seperate address spaces for different
processes.  When you allocate memory, the type you can get are FAST, CHIP,
and PUBLIC.  CHIP is accessable by the custom chips, FAST isn't, and PUBLIC
is guarenteed to be accessable by other processes.  Of course, there probably
are a lot of programs that just take any memory at all when allocating
messages, etc, but the basic support is there.

	Randell Jesup
	jesup@steinmetz.uucp
	jesup@ge-crd.arpa

cliff@ethos.UUCP.UUCP (03/15/87)

Path: ethos!cliff
From: cliff@ethos.UUCP (Cliff Elam)
Newsgroups: mod.computers.68k
Subject: Valid Scaldsystems
Keywords: ScaldSystem IV, 4.1BSD, HELP
Message-ID: <1159@ethos.UUCP>
Date: 14 Mar 87 21:27:28 GMT
Organization: Humanities Forum at ethos, Durham, NC
Lines: 23

I'm looking for other Valid owners because I just purchased a
Valid ScaldSystem IV and, while I have (I think) all the software,
I havn't a document in site.  (sorry)  Some of my friends are
in the same boat, and we're would like to hear
from other Valid owners interested in participating in a discussion
we are starting on a local VAXEN.  We're looking for
people into h/w and s/w, particularly VALIDS.  Anything that seems
to be of general interest will (probably) be posted here too.
A topic we're starting on is replacing those wimpy 20M HD's. Any
experience floating around out there?

If anyone else wants a ScaldSystem IV they should look under the
forsale group - there's still a few for sale. (nuder $800!)

Write or mail, and we'll put you on the mailing list when 
plans are (more) finalized.

-Cliff Elam


{mcnc,ihnp4,duke}!ethos!cliff
PO Box 1087, Chapel Hill, NC, 27514
(919) 942-6024 (10am-10pm EST)

kavi@aloha1.UUCP (03/30/87)

Path: aloha1!kavi
From: kavi@aloha1.Hawaii.EDU (Kavindra Saxena)
Newsgroups: mod.computers.68k
Subject: Re: Info-68K subscription request
Message-ID: <208@aloha1.Hawaii.EDU>
Date: 30 Mar 87 14:34:31 GMT
References: <8703201250.AA09073@jade.berkeley.edu>
Reply-To: kavi@aloha1.UUCP (Kavindra Saxena)
Distribution: world
Organization: University of Hawaii, Honolulu
Lines: 6

TO: Info-68k Coordinator,

    I would like to join the 68K info mailing list.
    Thanx in advance.
   
  Kavi(humu!uhmanoa!aloha1!kavi@nosc)