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>
