Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site scgvaxd.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!ihnp4!pesnta!pertec!scgvaxd!kvc
From: kvc@scgvaxd.UUCP (Kevin Carosso)
Newsgroups: net.arch
Subject: Re: Sparse addressing info wanted
Message-ID: <353@scgvaxd.UUCP>
Date: Mon, 8-Jul-85 01:34:26 EDT
Article-I.D.: scgvaxd.353
Posted: Mon Jul  8 01:34:26 1985
Date-Received: Tue, 9-Jul-85 06:58:06 EDT
References: <306@cstvax.UUCP>
Reply-To: kvc@scgvaxd.UUCP (Kevin Carosso)
Organization: Hughes Aircraft Co., El Segundo, CA
Lines: 32
Summary: 

In article <306@cstvax.UUCP> db@cstvax.UUCP (Dave Berry) writes:
>
>Some implementations of untyped trendy languages (LISP, PROLOG etc.) use a 
>form of soft-tagging (aka bounds checking) whereby the top byte of the address
>of an object depends on the type of that object.  This makes run-time type 
>checking relatively painless.
>
>  a) if I'm talking bullshit, in which case I apologise for wasting your time
>  b) which hardware allows sparse addressing (e.g. I think Pyramids do, Vaxes
>	don't; I've no idea about Suns, IBMs etc).
>  c) if software can get in the way - e.g. UNIX malloc seems to be a hindrance.
>	If this is so, are there any OS which do a better job?
>

I don't quite see what the hardware has to do with this.  As far as I
know, most (all?) memory management schemes simply map virtual to physical
addresses.  Thus, although address must be contiguous within a segment
or page, the segments/pages themselves need not be contiguous.  It's
entirely possible that I just take this for granted in the systems I
use, however, and everyone else does it wrong... :-)

In any case, to be more specific, I don't see how you can say VAXen
don't support "sparse addressing".  Under VMS (I don't know about UNIX)
you can map whatever addresses you want.  In general, address space
for a process is never completely contiguous.

If you really want (and for your purposes you do) you can use system
services to map virtual address ranges of your own choosing.  Thus,
you could map a range of whatever size you like for each type you need.

	/Kevin Carosso    {allegra | ihnp4 | seismo}!scgvaxd!engvax!kvc
	 Hughes Aircraft Co.        engvax!kvc @ CIT-VAX.ARPA