← Startseite

Wie funktioniert ein Computer?

Grundlagen der Programmierung — Vorlesung 3

Prof. Dr. Alexandra Mikityuk

HTW Berlin

Grundlagen Interaktiv

Warum dieses Thema?

  • Bevor wir programmieren, müssen wir verstehen WO unser Code läuft
  • Ein Programm ist nur Text — der Computer muss es in Aktionen umwandeln
  • Verständnis der Hardware hilft beim Debuggen und Optimieren

„Wie macht der Computer aus printf("Hallo") tatsächlich Buchstaben auf dem Bildschirm?“

Geschichte der Computer — Die Anfänge

1837 Charles Babbage — Analytical Engine

Erster mechanischer Computer — wurde nie fertig gebaut

1936 Alan Turing — Turingmaschine

Theoretisches Modell, Grundlage der gesamten Informatik

1941 Konrad Zuse — Z3

Erster funktionsfähiger programmgesteuerter Computer — aus Deutschland!

1945 ENIAC

Erster elektronischer Universalrechner — 30 Tonnen, 17.000 Röhren

Geschichte — Vom Raum zum Tisch

1950er Großrechner (Mainframes) — ganze Räume, Lochkarten

1971 Intel 4004 — erster Mikroprozessor auf einem Chip

1976 Apple I — erster Personal Computer für Privatpersonen

1981 IBM PC — der Standard, den wir bis heute nutzen

2007 iPhone — Computer in der Hosentasche

Heute: Smartphones sind leistungsfähiger als Supercomputer der 90er!

Was ist in einem Computer drin?

CPU

Prozessor
„Das Gehirn“

RAM

Arbeitsspeicher
„Der Schreibtisch“

SSD / HDD

Festplatte
„Das Archiv“

GPU

Grafikkarte
„Der Künstler“

Mainboard

Motherboard
„Das Nervensystem“

Netzteil

Power Supply
„Das Herz“

+ Ein-/Ausgabegeräte: Tastatur, Maus, Bildschirm

Die CPU — Das Gehirn des Computers

Central Processing Unit — Zentrale Verarbeitungseinheit

  • Führt Berechnungen und Anweisungen aus
  • Besteht aus Milliarden winziger Transistoren (Schalter: an/aus = 1/0)
  • Taktfrequenz: z.B. 3,5 GHz = 3,5 Milliarden Operationen pro Sekunde!
  • Hersteller: Intel und AMD
  • Moderne CPUs haben mehrere Kerne (Cores) — können mehrere Aufgaben gleichzeitig bearbeiten

Was macht die CPU genau?

Der Fetch-Decode-Execute-Zyklus — vereinfacht

1. HOLEN

Fetch

Nächsten Befehl aus dem Speicher laden

2. DEKODIEREN

Decode

Befehl verstehen — Was soll ich tun?

3. AUSFÜHREN

Execute

Rechnen, Daten verschieben, etc.

4. WIEDERHOLEN

↺ Zurück zu Schritt 1

Milliarden Mal pro Sekunde!

RAM — Der Arbeitsspeicher

Random Access Memory — Direktzugriffsspeicher

  • Schneller, aber FLÜCHTIGER Speicher (Daten weg bei Stromausfall!)
  • Hier liegen die Programme und Daten, die GERADE verwendet werden
  • Typisch: 8 GB, 16 GB, 32 GB
  • Je mehr RAM, desto mehr Programme können gleichzeitig laufen

Analogie: Ihr Schreibtisch — alles was Sie gerade brauchen liegt griffbereit, aber der Platz ist begrenzt

Festplatte / SSD — Das Langzeitgedächtnis

HDD (Hard Disk Drive)

  • Mechanisch: rotierende Scheiben + Lesearm
  • Günstiger, größere Kapazität
  • Langsamer
  • Empfindlich gegen Stöße

SSD (Solid State Drive)

  • Elektronisch: keine beweglichen Teile
  • Schneller (bis 100x!)
  • Teurer pro GB
  • Robuster, leiser

Ihre Programme und Dateien sind hier dauerhaft gespeichert — auch bei Stromausfall

GPU — Die Grafikkarte

Graphics Processing Unit — Grafik-Verarbeitungseinheit

  • Spezialisiert auf parallele Berechnungen (tausende kleine Kerne)
  • Ursprünglich für Spiele und 3D-Grafik
  • Heute auch für: KI-Training, Kryptowährung-Mining, wissenschaftliche Simulationen
  • Hersteller: NVIDIA, AMD, Intel

CPU = wenige starke Kerne (der Chef)  |  GPU = viele schwache Kerne (Armee von Arbeitern)

CPU vs GPU — Visualisiert

CPU

  • 4–16 Kerne
  • Jeder Kern ist sehr leistungsstark
  • Gut für: komplexe Einzelaufgaben, Entscheidungslogik, Betriebssystem

Analogie: Ein Mathematik-Professor löst eine schwierige Gleichung

GPU

  • Tausende Kerne
  • Jeder Kern ist einfacher
  • Gut für: viele einfache Aufgaben gleichzeitig (Pixel, Matrizen)

Analogie: 1000 Grundschüler rechnen gleichzeitig 1+1, 2+2, 3+3…

Binärsystem — Die Sprache des Computers

  • Computer verstehen nur 0 und 1 (Strom an / Strom aus)
  • 1 Bit = eine einzelne 0 oder 1
  • 8 Bit = 1 Byte (z.B. 01001000 = Buchstabe ‘H’)
  • Alles ist Binär: Texte, Bilder, Videos, Musik, Programme

‘A’

01000001

42

00101010

True / False

1 / 0

Größenordnungen

Einheit Größe Beispiel
1 Byte 1 Zeichen z.B. ‘A’
1 Kilobyte (KB) 1.024 Bytes ≈ ein kurzer Text
1 Megabyte (MB) 1.024 KB ≈ ein Foto, ein Lied
1 Gigabyte (GB) 1.024 MB ≈ ein Film
1 Terabyte (TB) 1.024 GB ≈ eine ganze Bibliothek

Vom Code zum Programm — Der Weg

1 Sie schreiben Code (Quellcode in C, Python, etc.) — eine Textdatei

2 Compiler/Interpreter übersetzt in Maschinencode (Binär: 0 und 1)

3 Betriebssystem lädt das Programm in den RAM

4 CPU holt Befehle aus dem RAM und führt sie aus

5 Ergebnis wird auf dem Bildschirm angezeigt

Wenn Sie gcc hello.c eingeben, passiert genau dieser Prozess!

Was ist ein Betriebssystem?

  • Software, die zwischen Hardware und Ihren Programmen vermittelt
  • Verwaltet: CPU-Zeit, Speicher, Dateien, Eingabe/Ausgabe
  • Beispiele: Windows, macOS, Linux, Android, iOS
  • Ohne Betriebssystem: Sie müssten direkt mit der Hardware sprechen!

Analogie: Das Betriebssystem ist wie ein Hotel-Manager — Sie sagen „Ich brauche ein Zimmer“, er kümmert sich um alles

Programmiersprachen — Überblick

Maschinencode 01001000... — nur für CPUs verständlich

Assembler MOV, ADD, JMP — menschenlesbar, aber hardwarenah

C — kompiliert, schnell, hardwarenah aber lesbar (das lernen wir!)

Python, Java, JavaScript — höhere Abstraktion, einfacher, aber langsamer

Warum C? Direkt über der Hardware — man lernt, wie Computer wirklich arbeiten

Warum lernen wir C?

  • C ist die „Mutter“ vieler Sprachen (C++, Java, C#, JavaScript haben C-Syntax)
  • Betriebssysteme (Linux, Windows-Kern) sind in C geschrieben
  • Man versteht was WIRKLICH im Computer passiert (Speicher, Pointer, etc.)
  • Schnell und effizient — wird in eingebetteten Systemen, Spielen, Treibern verwendet
  • Wenn Sie C können, können Sie jede andere Sprache leichter lernen

C lehrt Sie denken wie ein Computer!

Was passiert wenn Sie ein C-Programm starten?

Ihr Code: hello.c

#include <stdio.h>
int main() {
    printf("Hallo Welt!\n");
    return 0;
}

Was passiert:

1. gcc hello.c -o hello → Compiler übersetzt in Maschinencode

2. ./hello → Betriebssystem lädt Programm in RAM

3. CPU springt zu main()

4. printf() sendet Text ans Terminal

5. return 0 → „Alles OK, Programm beendet“

Dateisystem — Wo liegen Ihre Programme?

  • Baumstruktur: Ordner enthalten Dateien und weitere Ordner
  • Pfade:

Mac / Linux

/Users/student/Desktop/hello.c

Windows

C:\Users\student\Desktop\hello.c

  • Terminal-Navigation: cd (change directory), ls (list), pwd (print working directory)

Wissen wo Ihre Dateien liegen ist wichtiger als Sie denken!

Das Terminal / Die Kommandozeile

  • Textbasierte Schnittstelle zum Computer (statt Maus-Klicks)
  • Mac/Linux: Terminal  |  Windows: PowerShell / CMD

Wichtige Befehle:

cd ordner — in einen Ordner wechseln

ls (Mac) / dir (Win) — Dateien anzeigen

gcc hello.c -o hello — kompilieren

./hello (Mac) / hello.exe (Win) — ausführen

Als Programmierer ist das Terminal Ihr bester Freund!

Quiz Zeit! #1

Wie viele Operationen pro Sekunde kann eine CPU mit 3 GHz ausführen?

A) 3 Millionen
B) 3 Milliarden
C) 3 Billionen
D) 300 Millionen

Quiz Zeit! #2

Was passiert mit den Daten im RAM wenn Sie den Computer ausschalten?

A) Sie werden auf die Festplatte verschoben
B) Sie bleiben im RAM gespeichert
C) Sie gehen verloren
D) Sie werden komprimiert

Quiz Zeit! #3

Welche Aufgabe hat der Compiler?

A) Er führt das Programm aus
B) Er übersetzt Quellcode in Maschinencode
C) Er speichert Dateien auf der Festplatte
D) Er verwaltet den Arbeitsspeicher

Netzwerke — Computer verbinden

  • Computer alleine sind nützlich, aber VERBUNDENE Computer verändern die Welt
  • Internet = weltweites Netzwerk aus Milliarden Computern
  • Jeder Computer hat eine IP-Adresse (wie eine Telefonnummer)
  • Daten werden in kleine Pakete aufgeteilt und einzeln verschickt

Grundlage für: Web, E-Mail, Streaming, Social Media, Cloud

Cloud Computing — einfach erklärt

  • „Die Cloud“ = Computer anderer Leute, die Sie über das Internet nutzen
  • Statt Software auf Ihrem PC: läuft auf Servern in Rechenzentren
  • Beispiele: Google Drive, Netflix, Spotify, GitHub
  • Vorteile: von überall zugreifbar, immer aktuell, keine eigene Hardware nötig

Wenn Sie Code auf GitHub pushen, liegt er auf einem Server in der Cloud

Zusammenfassung — Was haben wir gelernt?

Geschichte

Von Zuse bis Smartphone

Hardware

CPU, RAM, SSD, GPU

Binärsystem

0 und 1

Code → Programm

Compiler → RAM → CPU

Betriebssystem

Vermittler HW ↔ SW

Warum C?

Hardwarenah, schnell

Terminal

Textbasierte Steuerung

Netzwerke

Computer verbinden

Nächste Vorlesung — Vorschau

Nächste Woche: Verschiedene Arten von Daten

  • Datentypen in C: int, float, char, double
  • Variablen: Daten speichern und verwenden
  • Wie der Computer Zahlen und Texte im Speicher ablegt

Jetzt wo Sie wissen WO die Daten gespeichert werden, lernen Sie WAS gespeichert wird!

Vielen Dank!

Fragen?

Kontakt:

Prof. Dr. Alexandra Mikityuk

Büro Raum 308 · Tel +49 30 5019-2664

Viel Erfolg beim Programmieren lernen!

1 / 28