CompuServe Messages

Virtual Memory Wishlist

    15-Aug-90 10:47:22
Fm: Syndesis 76004,1763
To: Chris Scheers 73277,2633
You don't need an MMU for virtual memory, all you need is indirected memory, which can be done quite well without hardware support. That's what the Mac and Microsoft Windows do. Instead of getting a pointer to memory when you AllocMem(), you get a ptr to a handle, and there are other functions that turn a memory handle into a valid memory pointer. The system is free to swap out the memory that belongs to handles that aren't tied down. Of course, an MMU buys you hardware memory protection, keeping tasks from trashing each other when they go wrong. It doesn't buy you everything, though, because few operating systems do any bounds checking on the arguments you pass to system functions, meaning a bad program can still bring down the system.