Nächste Seite:
Einleitung/Überblick
Informatik (II)
Vorlesung
Sommersemester 2007
Johannes Waldmann, HTWK Leipzig
Einleitung/Überblick
Inhalt
Organisation
Literatur
Betriebssystem: Beispiel GNU/Linux
Rechner-Architektur
Rechnerarchitektur
Begründung für Architektur
Die CPU (central processing unit)
Befehls-Abarbeitung in CPU
Befehlssätze
Übung KW 11
Beispiel: IA32
IA32-Beispiel
CISC/RISC
CISC:
complex
instruction set
RISC:
reduced
instruction set
Historische Entwicklung
Maschinenzahlen
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
Darstellbare Zahlen
Rechenfehler
Abhängigkeit vom Rechenweg
Automatische Typ-Anpassungen
Manuelle Typ-Verwandlungen
Logische Schaltungen
Wahrheitswerte und Funktionen
Wertetabellen
Wichtige Boolesche Funktionen
Notation in Java
Rechenregeln
Basis-Funktionen
Basis-Satz (Beweis-Idee)
Eine Basis mit einem Element
nand in Hardware
Übung Logik
Übung zu Booleschen Funktionen
Speicher
Hauptspeicher
Hauptspeicher (II)
Physikalische Grundlagen für Speicher
,,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
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
Übung (KW 16)
Rechnen wie in grauer Vorzeit
Grafische Oberflächen
Einblicke in die Arbeit des Systems
Die Herkunft von Linux
Linux wird zu einem ,,echten`` BS
kurze Geschichte von UNIX
Verbreitete Betriebssysteme
Dateisysteme
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)
File-Operationen
Verzeichnis-Operationen
Nutzer, Gruppen, Datei-Rechte
Spezielle Dateien: Links (Verknüpfungen)
Dateiarbeit unter Java
Die Klasse
File
System-unabhängige Pfade
File-Eigenschaften
Datei-Inhalt lesen
ASCII-Kodierung
Zeilenweises Arbeiten
Java-Exceptions (try-catch, throws)
IOExceptions
Ein selbst-druckendes Programm
Speicher, Prozesse
Verwaltung des Hauptspeichers
Speicher-Verwaltung (II)
Aufteilung des Speichers
Kernel- und User-Mode
Virtueller Speicher
Prozesse
Scheduling
Aktives und passives Warten
Prozeß-Kommunikation
Ein- und Ausgabe-Umleitung
Prozeßkommunikation durch Pipes
Spezielle Dateien: Benannte Pipes
Threads (KW 18)
Threads
Java-Threads (I)
Java-Threads (II)
Java-Exceptions (try-catch, throws)
Threads in Applets
Beispiel: Clients/Server
Client-Objekte (I)
Client-Objekte (II)
Abwarten ...
Hauptprogramm
Server-Objekt
Synchronisierte Methoden
Fünf Philosophen
Gefahr 1: Deadlock (Verklemmen)
Gefahr 2: Unfairness (Verhungern)
Deadlock?
Lösungen
Archivierung, Kompression, Verschlüsselung
Überblick
Kompression
Kompression-Anforderungen
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-Aufgabe
Ü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
Rechnernetze
Geschichte
OSI-Referenzmodell
OSI-Referenzmodell (I)
OSI-Referenzmodell (II)
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
Autotool-Highscore-Auswertung
Testfragen
Über dieses Dokument ...
Johannes Waldmann 2007-06-04