*

Windows Architecture Series: Part 4

We left off with you on your 4 acre ranch outside of town, blissfully blue vitamin ignorant of what is really happening...

The 4 acres is mythological. It doesn't exist. Reality is that aspects of your life have been compartmentalized into smaller pieces that may not even be grouped together. Your spacious house, for instance, at 5167 Sparkling Stream Road, is really the very small Apt. 45A in a huge high-rise. Your cow is in 45B, but your prize-winning beets are in 45D. Your cousin's spacious house, also at 5167 Sparkling Stream Road, is in 45C. (You might think, well, at least my cow isn't eating my beets....) The beauty (or insanity, if you wish) of the whole protected system discussed the other night is that your cousin doesn't realize you even exist next door (your cow, however, does know where the beets are, and if you haven't given the cow enough to eat, she might decide those beets look tasty). Your cousin has a vague idea that you exist, because occasionally communication occurs, but you certainly don't exist in the same time/space continuum. Therefore, your cousin cannot tear out your beets to plant more of your cousin's peppers because your cousin does not realize your beets exist.

[To use the Risk analogy again (for those of you who have played the game), it would be like if you owned South America and you couldn't see the other continents. It would look like you'd won. Your cousin owns North American and can't see any others. Looks like the cousin won. It would be a very dull game. Risk is more a Win-16 type-scenario.]

Virtual 4 Acre ranches of you and your cousinPage table reality

It's now time to translate this from our example back to Windows Architecture. Each process is allocated a virtual (read, "mythological") 4GB address space. The upper 2GB are reserved for the OS (Wildlife Refuge), but the lower 2GB are totally free for the process to put any resources, files, data, threads, you name it, there. And what's really great for especially the VB programmer? As long as you don't have conflicting addresses within the process (and even that can be overcome through rebasing), you don't have to worry about what the address is! (VB hides a lot from you - for your own protection - but you do have the option of setting your own address for DLLs.) You've got 2GB, after all, and you don't have to consult with any other process to see which addresses might be in use. That is how you and your cousin can both have houses at 5167 Sparkling Stream Road. That's virtual. Reality - what the CPU cares about - is that you DO have two different addresses, Apartments 45A and 45C, respectively.

I'll leave you to ponder that - until next time!



Internet Content Rating Association Valid CSS!

Alrak's Course Resources ©2002-2007 Karla Carter. All rights reserved. This material (including, but not limited to, Mini-lectures and Challenge Labs) may not be reproduced, displayed, modified or distributed without the express prior written permission of the copyright holder. For permission, contact Karla.