🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.powerpc
Article #2290

Handles. Was Re: Ask yourself these before you choosing a 32bit OS...

#2290
From: Rob Barris
Date: Fri, 22 Sep 1995 00:09
41 lines
2679 bytes
In article <43qddkINNpti@keats.ugrad.cs.ubc.ca>, c2a192@ugrad.cs.ubc.ca
(Kazimir Kylheku) wrote:
> I suspect that in the long run it would be easier to fix an application's
> allocation pattern, should the need arise, than to force yourself to
> complicate _every_ application with nonsense like memory handles and
> double dereferencing.
> 
> I think the original Mac designers should have stuck to pixel pushing,
> and hired outside help to do the internals. I suspect that the 
> NIH (Not Invented Here) syndrome had a lot to do with it.

I suspect the cost of RAM, and lack of an MMU for the 68000 might have had
some influence as well. Recall that an app in those days had 75K of free
RAM or so to play with on a 128K machine.

The Mac's predecessor, the Lisa had a sort-of MMU - Apple worked around
the inability of the original 68000 chip to do true VM (not all
instructions were restartable!) by teaching the compilers not to use "bad"
instructions, and using some external logic for an MMU mechanism. Not a
solution with long legs.

One of the key benefits of handles is the way with which they can be used
to represent structures of varying size (that is they can grow and shrink-
and none of the many references to such an item in data structures, the
stack, local variables become invalid when that happens). And you can ask
the system how big one is.

I can think of a way to do that without actual double indirection, but it
chews up an awful lot of address space and requires an MMU. Perhaps you
could suggest a better way? You are given a Motorola 68000 motherboard and
512K of RAM. Go.

For extra credit, describe how you would go about representing objects of
variable-length on a system that does have an MMU. References to said
objects are not allowed to become invalid at any time until the object is
disposed.

Rob Barris
Quicksilver Software Inc.
rbarris@quicksilver.com
* Opinions expressed not necessarily those of my employer *
Technical Details
Message-ID: <rbarris-2109951707350001@192.168.1.16>
Path: arc1-ca.pugleaf.net!news.intelenet.com!NewsWatcher!user
References: <3vh2hc$9dd@falcon.ccs.uwo.ca> <43n5maINNep0@keats.ugrad.cs.ubc.ca> <43nlc8$sll@orion.cybercom.net> <MLM.95Sep20011239@monaco.cs.brown.edu> <43qddkINNpti@keats.ugrad.cs.ubc.ca>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.intelenet.com!NewsWatcher!user
From: rbarris@quicksilver.com (Rob Barris)
Newsgroups: comp.sys.powerpc,comp.os.linux.advocacy,comp.sys.mac.advocacy,comp.os.os2.advocacy,comp.sys.amiga.advocacy,comp.sys.intel,comp.os.ms-windows.advocacy
Subject: Handles. Was Re: Ask yourself these before you choosing a 32bit OS...
Date: 22 Sep 1995 00:09:58 GMT
Organization: Quicksilver Software, Inc.
Message-ID: <rbarris-2109951707350001@192.168.1.16>
References: <3vh2hc$9dd@falcon.ccs.uwo.ca> <43n5maINNep0@keats.ugrad.cs.ubc.ca> <43nlc8$sll@orion.cybercom.net> <MLM.95Sep20011239@monaco.cs.brown.edu> <43qddkINNpti@keats.ugrad.cs.ubc.ca>
NNTP-Posting-Host: 205.162.90.249