Nächste Seite:
Einleitung/Überblick
Informatik (Teil 2)
Vorlesung, Sommersemester 2005
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
Kleine ganze Zahlen sind zuwenig
Gleitkomma-Zahlen
Gleitkomma-Normen
Gleitkomma-Zahlen in Java
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 (KW 15)
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 (KW 16)
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
Prüfungsnoten
Die Herkunft von Linux
Linux wird zu einem ,,echten`` BS
kurze Geschichte von UNIX
Verbreitete Betriebssysteme
Speicher, Prozesse (KW 17)
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?
Filmtipp: Revolution OS
Dateisysteme (KW 19)
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 KW 19
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
Archivierung, Kompression, Verschlüsselung
Ü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-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
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)
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
Autotool-Highscore
Über dieses Dokument ...
Johannes Waldmann 2005-06-29