PROZESSADRESSRAUM        BETRIEBSSYSTEMEDATUM        10.11.2008        JÖRG KOST
Vom Programm zumProzessAusführbare Binärdatei (Binary) enthält denpassenden Programmcode für das Betriebssystemund den Pro...
Das Text-SegmentEnthält den eigentlichen Programmcode mit all seinenFunktionen und AnweisungenLiegt in Maschinensprache vo...
Das Data-SegmentInitialisierter schreibbarer SpeicherNutzung und Größe ist bereits vor der LaufzeitfestgelegtHäufige Nutzun...
Das BSS-SegmentNicht initialisierter schreibbarer SpeicherGröße ist bereits vor der Laufzeit festgelegtWird in C mit 0 „in...
Das Heap-Segment            DATEN X              DATEN YDie HaldeDynamischer Speicher: Programm fordert bei Bedarf„Heap“ b...
Das Stack-Segment           Der „Stapel“ - Speicher           Funktionsweise nach LIFO           (Last In, First Out)     ...
Virtueller Speicheraufbau
Beispiel Programm in C
Beispiel Programm in C
Beispiel Programm in C
Beispiel Programm in C
Beispiel Programm in C
Beispiel Programm in C
Beispiel Programm in C
Beispiel Programm in C
Beispiel Programm in C
Weiterführende ÜbungenAuftrag: Ein Programm in „C“ schreiben, das dievirtuellen Adressen aller Segmente oder Variablenauf ...
FIN & ACKDANKE FÜR IHRE AUFMERKSAMKEIT
Addressroom
Addressroom
Addressroom
Addressroom
Addressroom
Addressroom
Addressroom
Addressroom
Addressroom
Addressroom
Addressroom
Nächste SlideShare
Wird geladen in …5
×

Addressroom

272 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
272
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
7
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Addressroom

  1. 1. PROZESSADRESSRAUM BETRIEBSSYSTEMEDATUM 10.11.2008 JÖRG KOST
  2. 2. Vom Programm zumProzessAusführbare Binärdatei (Binary) enthält denpassenden Programmcode für das Betriebssystemund den ProzessorDas Format beschreibt alle benötigtenInformationen, die das System zum Laden undStarten des Programmes benötigtLinux: Executable and Linking Format (ELF)Windows: Portable Executable (PE)Alte UNIXe: a.out (Assembler Out)
  3. 3. Das Text-SegmentEnthält den eigentlichen Programmcode mit all seinenFunktionen und AnweisungenLiegt in Maschinensprache vorWird in der Regel in Assembler angezeigt
  4. 4. Das Data-SegmentInitialisierter schreibbarer SpeicherNutzung und Größe ist bereits vor der LaufzeitfestgelegtHäufige Nutzung: Globale Verfügbarkeit überFunktionsgrenzen und Aufrufe hinausAllerdings auch: Feste Inhalte und Startwerte
  5. 5. Das BSS-SegmentNicht initialisierter schreibbarer SpeicherGröße ist bereits vor der Laufzeit festgelegtWird in C mit 0 „initialisiert“
  6. 6. Das Heap-Segment DATEN X DATEN YDie HaldeDynamischer Speicher: Programm fordert bei Bedarf„Heap“ beim Betriebssystem anZusammensetzung bei GLIBC aus einer „Double LinkedList“, einer doppelt verketteten Liste
  7. 7. Das Stack-Segment Der „Stapel“ - Speicher Funktionsweise nach LIFO (Last In, First Out) „Push“ und „Pop“ Speicherort für Umgebungsvariablen, Parameter und lokale Funktionsvariablen
  8. 8. Virtueller Speicheraufbau
  9. 9. Beispiel Programm in C
  10. 10. Beispiel Programm in C
  11. 11. Beispiel Programm in C
  12. 12. Beispiel Programm in C
  13. 13. Beispiel Programm in C
  14. 14. Beispiel Programm in C
  15. 15. Beispiel Programm in C
  16. 16. Beispiel Programm in C
  17. 17. Beispiel Programm in C
  18. 18. Weiterführende ÜbungenAuftrag: Ein Programm in „C“ schreiben, das dievirtuellen Adressen aller Segmente oder Variablenauf der Konsole ausgibtFrage: Wie kann man aus einer Binärdatei dieAdressen und die Größen der statischenDatenbereiche und des Anweisungsbereichesvorher herausfinden? Tipp: objdumpFrage: Wo liegt der Unterschied bei dynamischund bei statisch gelinkten Programmen im Aufbaudes Text - Segments? Tipp: ldd
  19. 19. FIN & ACKDANKE FÜR IHRE AUFMERKSAMKEIT

×