From: David Given <dg@cowlark.com>
To: linux-8086@vger.kernel.org
Subject: Re: Some words of encouragement
Date: Sat, 25 Feb 2012 21:04:05 +0000 [thread overview]
Message-ID: <4F494CC5.1020203@cowlark.com> (raw)
In-Reply-To: <CAGc3vb19envJ4yedg8JDkxCd-OrbBdHEiipMF0O_dg6zUOCxpA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1479 bytes --]
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 = Allocate(100);
char* ptr = Lock(handle);
*ptr = 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.
--
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ "Never attribute to malice what can be adequately explained by
│ stupidity." --- Nick Diamos (Hanlon's Razor)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]
next prev parent reply other threads:[~2012-02-25 21:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-24 17:26 Some words of encouragement Brad Normand
2012-02-24 18:22 ` Jody Bruchon
2012-02-25 0:54 ` David Given
2012-02-25 6:27 ` Brad Normand
2012-02-25 12:53 ` David Given
2012-02-25 13:13 ` David Given
2012-02-25 18:04 ` Brad Normand
2012-02-25 19:09 ` David Given
2012-02-25 20:29 ` Brad Normand
2012-02-25 21:04 ` David Given [this message]
2012-02-25 23:05 ` Brad Normand
2012-02-26 1:10 ` zkry
2012-02-25 5:12 ` Brad Normand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F494CC5.1020203@cowlark.com \
--to=dg@cowlark.com \
--cc=linux-8086@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox