ich war hier: BSys02Funktion

Version [22377]

Dies ist eine alte Version von BSys02Funktion erstellt von RonnyGertler am 2013-03-26 14:09:33.

 (image: http://wdb.fh-sm.de/uploads/QualipaktLehre/BMBF_Logo_klein.jpg)

Betriebssysteme (Betriebssystemtheorie) - Kapitel 2 - Funktionsweise eines Betriebssystems


Inhalte von Dr. E. Nadobnyh

2.1. Programmausführung


Programmentwicklung


Ausgangspunkt jedes Programms ist sein Quellcode, der mit passenden Dienstprogrammen in den Binärcode umgewandelt wird. Die CPU interpretiert den Binärcode als Instruktionscode.

Zu den Dienstprogrammen gehören: Editor, Präprozessor, Compiler, Assembler, Linker, Lader, C-Run-Time System, Java Virtual Machine (JVM).

Vor dem Programmstart lädt der Lader den Binärcode in den Hauptspeicher.


Programmentwicklung. Beispiel mit gcc


 (image: https://ife.erdaxo.de/uploads/BSys02Funktion/BSys02.gif)


Adressraumbelegung


Ein Adressraum ist eine Menge aller möglichen Adressen.

Beispiel:
Verwendet ein Prozessor einen 32-Bit Adressbus, besteht die Menge aller möglichen Adressen aus
{0, 1, 2, ..., 232 -1}. Die Adressraumgröße ist 4GB.

Der Adressraum wird meist vom Compiler in 4 Bereiche aufgeteilt:
Stack, Code, Data, Heap.


Speicherbereiche


1.Stack (Stapel, Keller) enthält:
  1. Parameter,
  1. lokale Variablen,
  1. Funktionsergebnis der aufgerufenen Funktionen,
d )Rücksprungadressen.
Der Stack wächst mit dem Aufruf einer Funktion.

2.Code-Bereich enthält Programmcode.

3.Data-Bereich enthält die globalen Variablen sowie die statischen Datenkomponenten.

4.Heap (Haufen) wird für dynamische Speicherreservierung (Allozierung) bereitgestellt. Der Heap wächst mit dem Aufruf von new.


Prinzipbeispiel für Adressraumbelegung


 (image: https://ife.erdaxo.de/uploads/BSys02Funktion/BSys03.gif)






CategoryBSys
Diese Seite wurde noch nicht kommentiert.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki