Helping ordinary people create extraordinary websites!
HOME TUTORIALS SCRIPTS WEB HOSTING BLOG FORUM
Get Our Newsletter
Email:

Porting Enterprise Apps from UNIX to Linux

By Martyn Honeyford
2005-04-17


Memory Maps and Using Shared Memory Segments

If the application uses shared memory segments, care has to be taken to place the starting addresses of the shared memory segments appropriately unless the user wants to rely on the system-provided initial addresses. Also, different architectures will have different memory-map support; the areas available for shared memory could be different.

For example, on Intel every process has the bottom three-quarters of the address space allocated to user land; the top piece is allocated to the kernel. This means that the total memory that any Linux process could ever have is 2 GB (390) or 3 GB (Intel). This total has to include the text, data, and stack segments, plus all shared memory regions. On the Linux/390, the area for shared memory starts at 0x50000000 and must end before 0x7fffa000. You have to consider all architectures before deciding on the addresses if you want to keep the starting addresses common for all the architectures that are going to be supported by the application.

Tutorial Pages:
» A Practical Checklist, Tips, and Insight Drawn from Experience
» Get the Build System Working
» Decide on a Viable Operating Environment
» Architecture-Specific Changes
» Choose an IPC Mechanism
» Select the Threading Model
» File System, Usage Parameters, Stacks
» Memory Maps and Using Shared Memory Segments
» Signaling
» Configure Kernel Karameters
» Parser Tools like lex/yacc
» Globalization Issues
» Security Concerns
» Locating Installed Packages and Variable Data
» Testing
» There's a Port in Every Storm
» Resources


First published by IBM DeveloperWorks


 | Bookmark
Related Tutorials:
» How to Install PHP 5 on Linux
» How to Install Apache 2 on Linux
» How to Install MySQL 5.0 on Linux
» SMB Caching
» Mound --Bind
» Tar Wild Card Interpretation