Proposed addition of malloc_size_np()

Poul-Henning Kamp phk at phk.freebsd.dk
Tue Mar 28 10:39:11 UTC 2006


In message <20060328100735.GA87799 at gurney.reilly.home>, Andrew Reilly writes:
>On Tue, Mar 28, 2006 at 11:55:00AM +0200, Poul-Henning Kamp wrote:
>> In message <20060328091153.GC961 at 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 at 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.


More information about the freebsd-arch mailing list