Nächste Seite:
Einleitung/Überblick
Informatik (Teil 2)
Vorlesung, Sommersemester 2004
Johannes Waldmann, HTWK Leipzig
Einleitung/Überblick
Inhalt
Organisation
Literatur
Betriebssystem: Beispiel GNU/Linux
Rechner-Architektur (V 16. 3.)
Rechnerarchitektur
Begründung für Architektur
Die CPU (central processing unit)
Befehls-Abarbeitung in CPU
Befehlssätze
CISC/RISC
Übungen 17. 3.
Maschinenzahlen (V 23. 3.)
Darstellung und Verarbeitung von Zahlen
Von Zahlen zu Bitfolgen
Von Bitfolgen zu Zahlen
Binäre Addition
Negative Zahlen, Binäre Subtraktion
Kleine ganze Zahlen sind zuwenig
Gleitkomma-Zahlen
Gleitkomma-Normen
Gleitkomma-Zahlen in Java
Rechenfehler
Abhängigkeit vom Rechenweg
Automatische Typ-Anpassungen
Manuelle Typ-Verwandlungen
Übung 24. 3.
Rechnungen mit nachgebauten Binärzahlen
Rechnungen mit eingebauten (Binär-)Zahlen
Rechnungen mit Gleitkommanzahlen
Logische Schaltungen (30. 3.)
Wahrheitswerte und Funktionen
Wertetabellen
Wichtige Boolesche Funktionen
Rechenregeln
Basis-Funktionen
Basis-Satz (Beweis-Idee)
Eine Basis mit einem Element
nand in Hardware
Hauptspeicher
Hauptspeicher (II)
Knoppix
Übung 8. 4.
Übung zu Booleschen Funktionen
Speicher (V. 6. 4.)
Physikalische Grundlagen
,,Historische`` Speicherprinzipien
Disketten und Festplatten
CD und DVD
Die Speicher-Hierarchie
Cache
Zugriffsformen
Speicher und Bus
Asynchroner Datentransport
Direkter Speicherzugriff (DMA)
Andere Ein/Ausgabe-Geräte
Betriebssysteme (V 20. 4.)
Was ist ein Betriebssystem?
Leistungen eines Betriebssystems
Zugriffe auf das Betriebssystem
Geschichte: Einprogramm-BS
Geschichte: Stapel-BS
Time-Sharing-BS
Geschichte - Zusammenfassung
Ziele bei BS-Entwicklung
Netzkonfiguration MM-Pool
Welt- und Individualgeschichte
Die Herkunft von Linux
Linux wird zu einem ,,echten`` BS
kurze Geschichte von UNIX
Verbreitete Betriebssysteme
Übung 23. 4.
Rechnen wie in grauer Vorzeit
Grafische Oberflächen
Einblicke in die Arbeit des Systems
Vermischtes, Hinweise
Speicher, Prozesse, Threads (V 27. 4.)
Verwaltung des Hauptspeichers
Verwaltung (II)
Aufteilung des Speichers
Virtueller Speicher
Kernel- und User-Mode
Prozesse
Scheduling
Aktives und passives Warten
Prozeß-Kommunikation
Threads
Java-Threads (I)
Java-Threads (II)
Java-Exceptions (try-catch, throws)
Threads in Applets (Ü 28. 4)
Threads (V 4. 5.)
Beispiel: Clients/Server
Client-Objekte (I)
Client-Objekte (II)
Abwarten ...
Hauptprogramm
Server-Objekt
Synchronisierte Methoden
Fünf Philosophen
Eine Gabel (im Prinzip)
Ein Philosoph (im Prinzip)
Das Hauptprogramm
Eine Gabel (genauer)
Eine Gabel (wait/notify)
Gefahr 1: Deadlock (Verklemmen)
Gefahr 2: Unfairness (Verhungern)
Deadlock?
Lösungen
Aufgabe zu 5 Philosophen
Dateisysteme (11. 5.)
Dateisysteme
Designziele (allgemein)
Designziele (aus Nutzersicht)
UNIX: index-sequentielle Dateien
Freispeicher-Verwaltung
Datei-Informationen (inodes)
Namen, Verzeichnisse
Absolute und relative Pfade
Ausführung von Programmen
Rechte-Verwaltung
Rechte (Dateien und Prozesse)
Standard-Verzeichnisse
Partitionen, mounts
Spezielle Dateien
UNIX-Dateisystem, Übung 12. 5.
File-Operationen
Verzeichnis-Operationen
Nutzer, Gruppen, Datei-Rechte
Spezielle Dateien: Links (Verknüpfungen)
Ein- und Ausgabe-Umleitung
Prozeßkommunikation durch Pipes
Spezielle Dateien: Benannte Pipes
Dateiarbeit unter Java (18. 5.)
Die Klasse
File
System-unabhängige Pfade
File-Eigenschaften
Arbeit mit Verzeichnissen
Datei-Inhalt lesen
ASCII-Kodierung
Zeilenweises Arbeiten
Java-Exceptions (try-catch, throws)
IOExceptions
Arithmetische Exceptions
Eigene Exceptions
Kompression
Überblick
Kompression
Verlustfreie Kompression
Kodierungen
Codes
Präfix-Codes
Huffman-Code
Dynamischer Huffman-Code
Move-To-Front
Lempel-Ziv-Welch-Kompression (LZW)
Lempel-Ziv (sliding window) LZ77
Burrwos-Wheeler-Transformation
Burrows-Wheeler (II)
Burrows-Wheeler (Rekonstruktion)
Übungen 26. 5. und 3. 6.
Überblick
Fehler-Erkennung und -Korrektur
Prüfsummen
Hamming-Abstände
Abstände und Codes
Fehler-Erkennung und -Korrektur
Perfektion/Redundanz: Kosten/Nutzen
Kryptographie
Verschlüsselung
Einfache Verfahren
The Gold Bug
Block-Substitution
UNIX-Passwörter
Kryptographie mit öffentlichen Schlüsseln
Schlüssel-Übertragung
Einweg-Funktionen
Öffentliche und private Schlüssel
Etwas Zahlentheoretie
RSA-Verfahren
Beispiel
Hilfsmittel: erweiterter Euklid
Hilfsmittel: schnelles Potenzieren
Sicherheit
Primzahlgenerierung/-Test
Mehrstufiges Vorgehen
Unterschriften
Beglaubigte Unterschriften
Wirtschaft und Politik
Übung 17. 6.
Rechnernetze
Geschichte
OSI-Referenzmodell
OSI-Referenzmodell
Das Internet
Ethernet
Token Rings
Kopplung von Netzen
IP-Adressierung: Karten
IP-Adressierung: Routing
Adressierung: Namen
Kopplung: Forwarding
Netzwerk-Dienste
Das X-Window-System
Ports
Firewalls
Sicherheitslücken
Buffer Overflow Attacks
Double Dot Attack
(SQL) Command Injection
Sicherheit (Zusammenfassung)
Zusammenfassung
Informatik -- Teilgebiete
Informatik -- Definition
Sprache
Mathematische Modelle
(Software-)System-Design-Regeln
Testfragen
Über dieses Dokument ...
Johannes Waldmann 2004-06-29