On Sun, 2006-06-11 at 15:52 -0400, Jerry Feldman wrote:
The way an application works in Linux is that it is layed out into a 32-bit or 64-bit virtual environment. In general, an application consists of 3 major sections: Text - these are the instructions Data - Initialized data BSS - Unititialized data. Everything is mapped into a virtual address space. Additionally, shared libraries are also mapped into virtual memory. This virtual memory is blocked into pages (the page size can be changed on some systems). When a page is resident in physical memory, its virtual addresses are translated to physical addresses.
From an API standpoint, yes. But from an ABI standpoint, it's far more complicated. It heavily matters on how the library/binary is executed. Which is typically set of compile-time/directives.
I had this discussion before on 48-bit flat, 52-bit PAE in x86-64 versus some alleged "future," true 64-bit memory model. Now _most_ (if not _all_) code will build on both. But it's very unlikely that the current x86-64 binaries/libraries will be compatible with some alleged "future," true 64-bit model binaries/libraries. In fact, unlike 52-bit PAE, which is compatible with 32-bit flat and 36-bit PAE, such a "true" 64-bit design kernel will probably not run any of the former models. But that's where they whole next generation of multi-threaded, multi-core with virtualization comes into play, long story. My processor no longer has a single mode. It instantiates multiple modes as necessary to run 32-bit, 36-bit PAE or 52-bit PAE, natively -- while the 'Visor can maintain a flat, 64-bit model beyond the limitations of the former -- especially the _hard_ 48-bit/256TiB address limitation of x86 compatible pointers. -- Bryan J. Smith Professional, technical annoyance mailto:b.j.smith@ieee.org http://thebs413.blogspot.com ------------------------------------------------------- Illegal Immigration = "Representation Without Taxation" -- Check the headers for your unsubscription address For additional commands send e-mail to suse-linux-e-help@suse.com Also check the archives at http://lists.suse.com Please read the FAQs: suse-linux-e-faq@suse.com