From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Given Subject: Re: Some words of encouragement Date: Sat, 25 Feb 2012 21:04:05 +0000 Message-ID: <4F494CC5.1020203@cowlark.com> References: <4F47D56C.9010509@jodybruchon.com> <4F48313C.6010002@cowlark.com> <4F48D9CB.5050901@cowlark.com> <4F48DE91.5070203@cowlark.com> <4F4931E7.8010205@cowlark.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigEA2734914EDB16DDB0A62BF3" Return-path: In-Reply-To: Sender: linux-8086-owner@vger.kernel.org List-ID: To: linux-8086@vger.kernel.org This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigEA2734914EDB16DDB0A62BF3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 25/02/12 20:29, Brad Normand wrote: [...] > Basically, yes. It'd be a 4GB virtual address space, but could be > backed by a real 4GB RAM if there was appropriate hardware. Otherwise > it could be backed by swap. If you're going to simulate virtual memory you'll need to tell the OS when you've *finished* using a segment, so that it can save it to disk again. Both GEOS and PalmOS did this. You'd allocate a block of memory from the system and get a handle; to actually use the handle you'd have to lock it, and then unlock it again when you were finished. If you changed the contents you would have to dirty it. int handle =3D Allocate(100); char* ptr =3D Lock(handle); *ptr =3D 0; Dirty(handle); Unlock(handle); It worked very well. GEOS used it for both persistent storage and virtual memory simulation. You could open a multimegabyte document and the data would be invisibly loaded on demand; from the API point of view you got a persistent heap in a file. Lovely system, died due to being impossible to write code for and lousy marketing. http://www.breadbox.com/ (Free evaluation version, requires DOS.) Of course, they both used object handles rather than simulating a flat address space. --=20 =E2=94=8C=E2=94=80=E2=94=80=E2=94=80 =EF=BD=84=EF=BD=87=EF=BC=A0=EF=BD=83= =EF=BD=8F=EF=BD=97=EF=BD=8C=EF=BD=81=EF=BD=92=EF=BD=8B=EF=BC=8E=EF=BD=83=EF= =BD=8F=EF=BD=8D =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 http://www.= cowlark.com =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 =E2=94=82 "Never attribute to malice what can be adequately explained by =E2=94=82 stupidity." --- Nick Diamos (Hanlon's Razor) --------------enigEA2734914EDB16DDB0A62BF3 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFPSUzFf9E0noFvlzgRAn3FAKC1YGK0K3Pqak64W7HU7HMfwkJeQwCbB3QN qyfeOzkmF5xk6FkeqtvAfKU= =sarC -----END PGP SIGNATURE----- --------------enigEA2734914EDB16DDB0A62BF3--