[comp.sys.mac] Protected mamory

folta@tove.umd.edu (Wayne Folta) (05/12/89)

I sincerely hope that the virtual memory in 7.0 IS NOT one large space
shared by all processes--just like my present Mac but with more memory.

That is the one thing I HATE HATE HATE about the Mac (which I am otherwise
crazy about :-)).  One errant program crashes the entire system.  To
come home from UNIX (with harmles core dumps) to the Mac (with heart-wrenching
system bombs) can be traumatic.  And even worse: you cannot tell which
program caused the crash! It might have been caused by a program you ran a
half hour ago (or at least that is my experience).

I would rather have the system and applications protected from each other
without any virtual memory than have TONS of virtual space with crashes
being that much more spectacular.


Wayne Folta          (folta@tove.umd.edu  128.8.128.42)

miller@CS.ROCHESTER.EDU (Brad Miller) (05/12/89)

    Date: 11 May 89 17:22:34 GMT
    From: folta@tove.umd.edu (Wayne Folta)


    I sincerely hope that the virtual memory in 7.0 IS NOT one large space
    shared by all processes--just like my present Mac but with more memory.

Lest this go by without an opposing view:

(Opinion) One of the stupidest things about current UNIX systems is that a
multiuser OS is being pressed into service as a singleuser multiprocessing
system. The issues are quite different. Developers and users are strangled
by too much protection offered by the kernel to "protect the user from
themself". Let the luser hang themselves by their own rope. The hacker will
thank you!

A single large address space makes IPC easier

A single large address space makes it easier for one process to debug
another (currently running process)

Protection issues needed to support multiple users aren't an issue with
single users.

A single large address space makes it easier to ADVISE or modify system
functions on the fly.

In short: for software development, I think a single large address space is
the way to go.

One may ask what this has to do with the MAC, since the MAC is clearly
anything BUT a software development environment. BUT... I'm becoming
convinced it may be a good cheap one, if you run the right software. With
APPLE now supporting and marketing Allegro CL (the first halfway decent
development environment for the MAC I'm aware of, at any rate -- blatent
opinion) the MAC may indeed become a contender in this area; particularly if
APPLE's intent is to compete with higher level workstation offerings by,
e.g. SUN. A unified address space really is the only way to do a lisp
workstation right...

Reams can be written on this subject, and already have been. The original
complaint was short, so this will be too.

phil@Apple.COM (Phil Ronzone) (05/17/89)

In article <17452@mimsy.UUCP> folta@tove.umd.edu.UUCP (Wayne Folta) writes:
>I sincerely hope that the virtual memory in 7.0 IS NOT one large space
>shared by all processes--just like my present Mac but with more memory.
>
>That is the one thing I HATE HATE HATE about the Mac (which I am otherwise
>crazy about :-)).  One errant program crashes the entire system.  To
>come home from UNIX (with harmles core dumps) to the Mac (with heart-wrenching
>system bombs) can be traumatic.

If you have the hardware resources, have you considered A/UX? I develop all
my Mac applications under A/UX, including XCMDs. If I want an actual
Mac binary, I transfer the source over to LSC.

A/UX is also more stringent in 32-bit clean, no-no memory accesses and
priviliged instructions etc. -- helps keep your app inline for 7.0 and
later releases.


+-----------------------------------------------------------------------------+
|Philip K. Ronzone, Apple Computer, 10440 Bubb Rd, MS 58A, Cupertino, CA 95014|
|{amdahl,decwrl,sun,voder,nsc,mtxinu,dual,unisoft,...}!apple!phil             |
+-----------------------------------------+-----------------------------------+
| All "IMHOs" disclaimed and copyrighted. | Self defense is a human right ... |
+-----------------------------------------+-----------------------------------+

ts@cup.portal.com (Tim W Smith) (05/19/89)

A single large address space makes IPC easier? Yuck!

IPC should look like network communications.  Then you can
make your IPC code also work across different machines
transparently.

					Tim Smith

			"I don't practice what I preach because
			   I'm not the kind of person I'm preaching to"
					J.R. "Bob" Dobbs

miller@CS.ROCHESTER.EDU (Brad Miller) (05/20/89)

    Date: 19 May 89 12:45:43 GMT
    From: ts@cup.portal.com (Tim W Smith)


    A single large address space makes IPC easier? Yuck!

    IPC should look like network communications.  Then you can
    make your IPC code also work across different machines
    transparently.

There are two basic models for IPC: shared memory and message passing. There
are advantages and disadvantages to both. Shared memory (remote memory
reference) can indeed work across different machines transparently if you
are clever. 

For further information on IPC, and various kinds of memory protection
issues, I suggest you peruse:

_Operating Systems -- An Advanced Course_ Bayer, R. et.al eds.

Springer-Verlag 1979

More interesting issues in terms of parallel architectures and the shared
memory vs. message passing tradoffs can be found in 

"Psyche: A General-Purpose Operating System for Shared-Memory
Multiprocessors" by Scott and LeBlanc, TR 233, August 1987 University of
Rochester Computer Science Dept. ($1.25 - mail $ & request to TR Secretary,
Computer Science Department, University of Rochester, Rochester, NY 14627)