On 2009-12-21, at 08:39, Dzonatas Sol wrote: > Yes. It's called "locking" or "pinning" the memory pages. It's not > used > often anymore before it means pages are stuck in their position and > could cause fragmentation, which could slow the system overall when it > needs to defrag memory in order to find large sequential chunks. > Most of > that logic is not needed anymore once since the large virtual tables > are > now present, and that's one thing that made the 386 popular.
In modern real time operating systems you only need to pin pages to specific addresses if they're being used for IPC or I/O hardware. You can still have non-swappable pages that aren't pinned to a specific address. The problem is that pages are too coarse a unit for this, when you have an interpreter that's storing all data in a common soup. You'd have to completely redo the Mono memory allocator. And even then, well, I'm pretty sure that making an application of the size and complexity of SL also handling VM decisions would lead to a massive overhead and duplicate effort. > Technically, there is "fast" and "slow" memory, but it is also known > as > ROM and RAM, and that being ROM is usually at least twice as fast RAM. That hasn't been true for twenty years. Even back in the Amiga's day it was common to copy the OS from ROM to RAM for a performance boost. The Amiga blitter had nothing to do with ROM vs RAM. The Amiga OS also didn't run out of ROM, it ran out of what was called "kickstart" memory, loaded by the kickstart ROM from the kickstart disk. Kickstart memory was RAM. _______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/SLDev Please read the policies before posting to keep unmoderated posting privileges