3 ms·
Windows and MacOS did something like this too. The memory APIs worked in terms of blocks of memory identified through 'handles' rather than pointers. To get a
by mschaef 8y ago
Windows and MacOS did something like this too. The memory APIs worked in terms of blocks of memory identified through 'handles' rather than pointers.
To get a pointer, there were additional calls that would enable blocks (identified by handle) to be locked and unlocked. The lock calls provided pointers that were deemed valid until the block was unlocked.
The net of this is that the OS could do things like relocate and page blocks that weren't locked, and do it without hardware assistance.
It really was a nice, minimalistic way to approximate some 'big iron' features on modest hardware. (Although it's hard to imagine anyone wanting to go back. :-) )