[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: about "size" from binutils



On Mon, 28 Jan 2008 15:05:18 +0100
"Simon Jolle" <urandomdev@gmail.com> wrote:

> 2008/1/28, Dirk Neumann <neum_d@yahoo.de>:
> > Unix-Speichermodell für Prozesse:
> > text ... Anweisungen (das, was im I-Cache landet)
> > data ... "Harte" Variablen (z.B. int i)
> > bss ... dynamischer Speicher (z.B. std::vector myvec)
> 
> > "dec" ist erst mal nur die Summe der obigen Abschnitte, in die Datei
> > kommen dann noch weitere Informationen, z.B. für den ELF-Loader.
> 
> Hallo Dirk
> 
> besten Dank für die Erklärung. Ich muss allerdings zugeben nichts
> verstanden zu haben. Kannst du mir einen Link posten (Einführung für
> User ohne Programmier-Kenntnisse)

Hm, ich habs da drin (na, in einer älteren Ausgabe) mal erblickt.

http://www.amazon.de/Moderne-Betriebssysteme-Andrew-S-Tanenbaum/dp/3827370191/ref=pd_bbs_sr_2?ie=UTF8&s=gateway&qid=1201529492&sr=8-2

Für nen direkten Link müsste ich erst mal suchen...
Für den reinen Benutzer ist das aber eigentlich nicht relevant, daher
bezweifle ich, dass es da eine entsprechende Einführung gibt.
Ach was, ich versuchs noch mal:
Ein Prozess gebietet über Speicher in drei Segmenten:

+------+------+-----
| Text | Data | BSS
+------+------+-----

Im ersten Segement stehen alle Anweisungen des Programms, also alle
Maschinenbefehle. Darunter können auch zur Compilezeit bekannte Daten
sein, wie z.B. Literale, die hier als Immediate-Werte eingeflochten
sind (ist aber nicht zwingend so, das kommt auf den Compiler und auf
die Befehlssatzarchitektur an).
Im Data-Segment stehen alle zur Compilezeit bekannten
"ordentlichen" Variablen (und auch die Literale, die nicht im
Text-Segement stehen, wie String-Literale). 
Alsdann folgen die "unordentlichen" Variablen, also solche, die man
erst noch allokieren muss, z.B. weils nur Zeiger sind.
Man beachte bei meinen Bild, dass das BSS-Segement offen ist, das
heißt, nach Ende dieses Segements gehts noch weiter, aber etwas
dynamischer (siehe andere Mail)

Dirk.


Reply to: