Speicherverwaltung Flashcards

1
Q

Erklären Sie die Funktionsweise des Speichers.

A

Der Speicher kann boolsche Ausdrücke auf o-n Adressen speichern. Ein speicherungsautomat liest durch eine speziele “lese-Schaltung” m[a] an der adresse a einen Ausdruck danach wird a um eins erhöht, eventuell wird eine Operation ausgeführt (in adresse gespeichert) danach wiederholt sich der Vorgang.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Erklären Sie die grundlegende Rechnerarchitektur.

A

Die grundlegende Rechnerarchitektur besteht aus einem Speicher und einem Speicherungsautomaten. Der Speicher kann boolsche Ausdrücke verarbieten und der Speicherungsautomaten diese lesen und überabeiten. Die meisten Rechner verfügen noch über eine CPU (Central Processing Unit) das “Gehirn” des Rechners.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Beschreiben Sie den Maschinencode und den Zusammenhang zu Assembler.

A

Maschinencode sind binär Ausrücke die von der CPU ausgeführt werden sollen. Sie sind Anweisungen, die einer bestimmten Operation auf hardware ebene entsprechen.
Z.b. (m(a)= m(y)+m(z) oder m(a)=m(z). Um die programierung zu erleichtern wird der Machincode durch textbasiertem Assembly-code repräsentiert. Dieser wird duch den Assembler (Hardware) in Masch.code umgewandelt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Erklären Sie das Rechnermodell nach Von-Neumann.

A

Ein V.-N. Rechner besteht aus 4 hauptelementen:
1. Prozessor
2. Speicher, der Programmcode und Daten zusammen speichert.
3. Ein- und Ausgabegerät(Tastattur, Bildschirm etc.)
4. Datenbus der die Teile 1. mit 2./3.verbindet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Aufbau und Funktion Datenbus

A

Ein Datenbus ist ein elektronischer Kanal der bidirektionale übertragungen von binär-Daten zwischen Hardware komponenten ermöglicht.
Neben dem reinen Datenbus gibt es oft auch einen Adressbus, der die Zieladresse für den Datenzugriff angibt, sowie Steuerbus, welcher daten lesen und schreiben kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Aufbau und Funktion Arbeitsspeicher

A

Der Arbeitsspeicher auch RAM (Random Access Memory) ist ein flüchtiges Speichersystem für schnellen zugriff auf Daten im laufenden Betrieb. Es besteht aus einer Sequenz von 8bit speicherzellen mit einer eindeutigen Addresse. Der Prozesser kontrolliert lese- und Schreibmodus über Bussystem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Aufbau und Funktion Prozessors

A

Die CPU (Central Processing Unit) besteht aus einer CU (Control Unit) ,verantwortlich für Befehlsausführung und einer ALU (Arithmetic Logic Unit), welche math. Grundoperationen wie Adition oder bool. Operation ausführt.
Sie verfügt über Register die Daten temporär speichern und cache’s, welche auf versch. Ebenen (1-3) teile des Speichers kopieren und somit den zugriff auf häufig verwendete Daten erleichtern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Erklären Sie das Speichermodell. (für Programme)

A

EIn Programm verwaltet drei Speicher. Einmal wird der Code nach der Kompelierung in Maschinencode gespeichert (statisch, kein Zugriff). Die Daten (Variablen, Paramter, Pointer etc.) des Programms werden entweder im Heap dynamisch oder im Stack statisch gespeichert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Unterschiede zwischen Heap und Stack.

A

Heap :
-dynamische Speicherallokation genutzt (Verwaltung während Laufzeit).
-Gespeicherte Daten bleiben über Laufzeit hinweg erhalten
-Verwendung von Daten global (funktionenübergreifend)
<=> Stack:
-Automatische Speicherung nach Kompilierung (statisch, kein Zugriff) in “Stack Frames”
-LIFO-Prinzip (Last-In-First-Out), zuletzt alloziert -> zuerst dealoziert
-Deallokation nach Beendigung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Eigenschaften der Parameterübergabe durch Call by Value

A
  1. Übergabe von Paramtern anhand deren Werte
  2. Übergabe durch Kopien –> Keine Veränderung der Originaldaten
    => sinvoll bei einfachen Daten -> ineffizent bei komplexen und vielen Daten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind Pointer (Zeiger)?

A
  1. Pointer werden verwendet um die Adressen von Daten im Speicher zu referenzieren (zahl *pointerZahl)
  2. Sie können Paramter an Funktionen über deren Adresse nach Dereferenzierung
    (wert =*pointerZahl) übergeben
    (Call by Reference).
  3. spez. Pointer ‘nullptr’ zeigt ins Nichts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Eigenschaften der Parameterübergabe durch Call by Reference

A
  1. Übergabe von Daten anhand derer Adressen
  2. Verwendung von Pointern oder Referenzoperator ‘&’
  3. direkter Zugriff auf Originaldaten (keine Kopie -> Verwendung vom ‘const’ um veränderung zu verhindern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Eigenschaften von Arrays (statisch und dynamisch)

A

Arrays sind Datenstrukturen die n Daten des gleichen Typs speichern. Sie besitzen n-1 Indexe, welche die Positionen der Element angeben. In dynamischen Arrays kann während der Laufzeit die Größe verändert werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist dynamische speicherung?

A

Dynamische Speicherung ermöglicht den Zugriff auf speicher während der Lauftzeit eines Programms

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Beziehung von Pointern und Arrays.

A

Mit Pointer können Adressen einzelner Elemente des Arrays übergeben bzw. zugegriffen werden.
Dies kann für die Erstellung eines dynamischen Arrays verwendet werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly