Penguin

Differences between version 8 and revision by previous author of MemoryMap.

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 8 Last edited on Sunday, November 14, 2004 12:20:47 pm by AristotlePagaltzis Revert
Older page: version 7 Last edited on Tuesday, March 9, 2004 9:58:01 pm by StuartYeates Revert
@@ -1,5 +1,5 @@
-The [Linux] VirtualMemory Map (as seen by a [ UserSpace] program) 
+The [Linux] VirtualMemory Map (as seen by a UserSpace program) 
  
 | __Starts at__ | __Contains__ 
 | ffffffff |< End of the universe 
 | ffffe000 |< vsyscall table (new in 2.5.x) 
@@ -7,12 +7,14 @@
 | bfffffff |< Process stack (grows down) 
 | bffff000 |< Process heap (grows up) 
 | 40000000 |< Libraries 
 | zzzzzzzz |< Unused 
-| yyyyyyyy |< __.[ bss|BSS] __ segment , uninitialised program data 
+| yyyyyyyy |< __.bss__, uninitialised program data 
 | xxxxxxxx |< __.data__ segment, initialised program data 
 | 08048000 |< __.text__ segment, program code 
 | 00000000 |< Unmapped to trap [NULL] pointers 
+  
+"BSS" means __b__lock __s__tarted by __s__ymbol and is a segment of uninitialised that is only stored in the BinaryExecutable image as a length and offset, since it would otherwise waste space. The "text" segment on the other hand contains ''initialized'' global variables and ''is'' stored in the BinaryExecutable.  
  
 !!Practical examples 
 !Library-mapped memory (using ldd(1)) 
  $ ldd /bin/ls