Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Mar 2006 12:39:06 +0200
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        Andrew Reilly <andrew-freebsd@areilly.bpc-users.org>
Cc:        Jason Evans <jasone@freebsd.org>, freebsd-arch@freebsd.org
Subject:   Re: Proposed addition of malloc_size_np() 
Message-ID:  <61635.1143542346@critter.freebsd.dk>
In-Reply-To: Your message of "Tue, 28 Mar 2006 21:07:35 %2B1100." <20060328100735.GA87799@gurney.reilly.home> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20060328100735.GA87799@gurney.reilly.home>, Andrew Reilly writes:
>On Tue, Mar 28, 2006 at 11:55:00AM +0200, Poul-Henning Kamp wrote:
>> In message <20060328091153.GC961@turion.vk2pj.dyndns.org>, Peter Jeremy writes:
>> >In an ideal world, a pointer would be an [address, size] pair (or even
>> >[size, address, type] tuple) so that any the bounds (and type) can be
>> >verified by anything that wants to.  (The iAPX432 tried this).
>> 
>> The first computer to actually _do_ this was Linn's "Rekursiv" computer,
>> which had the microcode manage in-memory objects, including swapping
>> to/from backing store.
>> 
>> 	http://www.brouhaha.com/~eric/retrocomputing/rekursiv/
>
>Are you sure that was the first?
>
>I'm pretty sure that IBM's "Future System" (FS), and System/36 and
>AS/400 that came from it probably got there sooner.

Nope, not even close.

What Recursiv did was novel in that the objects lived in hardware
and microcode, there were no way to overrun an array, because you
simply couldn't index it outside it's bounds.  Not even in the
operating system.

The fact that all objects were referenced by their object ID also
meant that they could be put or moved anywhere convenient, with
all references being by ID, it would be found when needed.

It obviously comes with a significant performance penalty, not
unlike page table lookups.

Poul-Henning

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?61635.1143542346>