Excellent article! It explains how programs are laid out in memory.
From the blog post:
Memory management is the heart of operating systems; it is crucial for both programming and system administration. In the next few posts Iâ€™ll cover memory with an eye towards practical aspects, but without shying away from internals. While the concepts are generic, examples are mostly from Linux and Windows on 32-bit x86. This first post describes how programs are laid out in memory. Each process in a multi-tasking OS runs in its own memory sandbox. This sandbox is the virtual address space, which in 32-bit mode is always a 4GB block of memory addresses.
=> Anatomy of a Program in Memory
Understanding anatomy of security-enhanced Linux (SELinux) architecture and implementation.
This is a full-size PDF version ( poster ) from Oreilly.
Anatomy of a Linux System poster try to put most important things together. The result is indeed encyclopedic. Supporting the illustration are 19 written topics, with brief historical and educational descriptions of technologies such as Peer-to-Peer Communication, XML and HTML, Samba, Unix Command-Line Utilities, and even Java. Each topic has a list of key Web sites and useful books, including titles that don’t belong to O’Reilly–part of Tim’s insistence that the poster serve as a complete Linux resource. The poster also lists Linux magazines, conferences, major distributors, and, of course, major contributors.
=> Download Link [oreillynet.com] (163K)