21
Informatik- Handbuch 2., aktualisierte und erweiterte Auflage Herausgegeben von Peter Rechenberg Gustav Pomberger Endredaktion Doris Martin Drucktechnische Gestaltung Klaus Pirklbauer Carl Hanser Verlag München Wien

Informatik- Handbuch

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Informatik-Handbuch 2., aktualisierte und erweiterte Auflage

Herausgegeben von

Peter Rechenberg Gustav Pomberger

Endredaktion

Doris Martin

Drucktechnische Gestaltung

Klaus Pirklbauer

Carl Hanser Verlag München Wien

Inhalt 11

Inhalt

A Theoretische Informatik

1 L o g i k - A. Jung 33

1.1 Grundbegriffe der Logik 34

1.2 Aussagenlogik 36

Semantik der Aussagenlogik - Natürliches Schließen - Resolution

1.3 Von der Aussagenlogik zur Prädikatenlogik 44

1.4 Strukturen 45

Kongruenzrelationen - Tenne und Termalgebren

1.5 Gleichungslogik 50

1.6 Prädikatenlogik 52 Sprache der Prädikatenlogik - Semantik der Prädikatenlogik -Substitution - Natürliches Schließen mit Quantoren - Normalformen und Skolemisierung - Prädikatenlogische Resolution - Unentscheidbarkeit -Axiomatisierbarkeit - Prädikatenlogik zweiter Stufe

1.7 Modallogik 64

Sprache der Modallogik - Semantik der Modallogik - Modallogische Beweise - Spezielle modale Logiken - Multimodale Logik - Temporale Logik

Symbolverzeichnis 70

Allgemeine Literatur 71

Spezielle Literatur 72

2 Berechnungsmodelle - A. Jung 73

2.1 Speicherorientierte Modelle 74

Turingmaschinen - Registermaschinen

2.2 Funktionale Modelle 77

Algebraische Kombinationen - Primitive Rekursion - ^-Rekursion -Lambda- Kalkül

2.3 Kommunikation und verteilte Systeme 85

EA-Turingmaschinen - Verteilte Systeme

Allgemeine Literatur 87

Spezielle Literatur 87

3 Formale Sprachen und Automaten - P. Rechenberg 89

3.1 Grundbegriffe 90

Zeichenketten und Sprachen - Grammatiken - Kanonische Ableitungen

und Mehrdeutigkeit

3.2 Die Chomsky-Hierarchie 93

3.3 Reguläre Sprachen und endliche Automaten 94

Charakterisierung - Reguläre Mengen und reguläre Ausdrücke - Endliche Automaten - Sonstiges

3.4 Kontextfreie Sprachen und Kellerautomaten 98

Charakterisierung - Grammatiktransformationen und Normalformen -Kellerautomaten - Kontextfreie Grammatiken und Kellerautomaten -Erkennungsverfahren

3.5 Deterministische Grammatiken 102

LL(ft)-Grammatiken und absteigende Syntaxanalyse - LR(k)-Grammatiken und aufsteigende Syntaxanalyse

3.6 Turingmaschinensprachen 104

3.7 Kontextsensitive und unbeschränkte Sprachen 106

Nachbildung von Turingmaschinen - Entscheidbarkeit kontextsensitiver Sprachen - Der linear beschränkte Automat - Unbeschränkte Sprachen

3.8 Weitere Sprachklassen 108

3.9 Eine Hierarchie von Sprachen 108

Symbolverzeichnis 109

Allgemeine Literatur 110

Spezielle Literatur 110

Grenzen der Berechenbarkeit - 1 . Wegener 111 4.1 Rechnermodelle und die Churchsche These 111

Rechnermodelle - Universelle Rechner - Simulationen - Churchsche These

4.2 Gibt es nichtberechenbare Funktionen? 113

Die Existenz nichtberechenbarer Funktionen - Das Halteproblem

4.3 Weitere unentscheidbare Probleme 115

Reduktionen - Softwareverifikation - Formale Sprachen -Prädikatenlogik

Allgemeine Literatur 118

K o m p l e x i t ä t - 1 . Wegener 119

5.1 Größenordnungen und die O-Notation 120

5.2 Die NP-Vollständigkeitstheorie 121

Die Klasse P - Die Robustheit der Klasse P - Berechenbare Probleme, die nicht in P liegen - Die Klasse NP - NP-Vollständigkeit - NP-vollständige Probleme

5.3 Erweiterungen der NP-Vollständigkeitstheorie 126

Pseudopolynomielle Algorithmen und starke NP-Vollständigkeit -Approximationsalgorithmen und die PCP-Theorie

5.4 Komplexitätsklassen für probabilistische und parallele Rechner 130

Komplexitätsklassen für probabilistische Rechner - Eine Komplexitätsklasse für Parallelrechner

5.5 Die polynomielle Hierarchie 132

Die Komplexitätsklassen der polynomiellen Hierarchie -Komplexitätsklassen innerhalb von NP

5.6 Speicherkomplexität 133

Determinismus und Nichtdeterminismus - Vollständigkeit

Inhalt 13

5.7 Nichtuniforme Komplexitätsklassen 134

Schaltkreise mit beschränktem Fan-in - Tiefenbeschränkte Schaltkreise -Die NC-AC-Hierarchie - Branchingprogramme und OBDDs

5.8 Kommunikationskomplexität 138

Das Kommunikationsspiel - Untere Schranken - Anwendungen

Allgemeine Literatur 141

Spezielle Literatur 141

6 Formale Semantik und Programmverifikation -E.-R. Olderog, B. Steffen 143

6.1 Sequentielle Programme 144

Syntax - Operationelle Semantik - Verifikation - Beweisskizzen

6.2 Parallele Programme 153

Gemeinsame Variablen - Syntax - Operationelle Semantik -Verifikation: Partielle Korrektheit - Verifikation: Totale Korrektheit -Fallstudie: Finde positives Element

6.3 Ausblick 160

Symbolverzeichnis 161

Allgemeine Literatur 162

Spezielle Literatur 162

Daten

1 Zeichen- und Zahlendarstellungen - W. F. Bohn, T. Flik 167 1.1 Zeichendarstellung 168

1.2 Zifferncodes 168

1.3 Codierung alphanumerischer Daten 169

6-Bit-Codes - 7-Bit-Codes - 8-Bit-Code nach ISO/IEC - 8-Bit-Codenach EBCDIC - 8-Bit-Code des PC unter DOS (PC-ASCII) - 16-Bit-Code (Unicode) - 32-Bit-Code (UCS) - Bezeichnungsweisen

1.4 Ganze Zahlen 177

Vorzeichenlose Dualzahlen - Vorzeichenbehaftete Dualzahlen -Computerarithmetik mit Dualzahlen - Oktale und sedezimale Codierung - Dualcodierte Dezimalziffern (BCD-Zahlen)

1.5 Gleitpunktzahlen 183

Zahlendarstellung - Computerariffimetik mit Gleitpunktzahlen

Fachwörter und Kurzbezeichnungen 189

Allgemeine Literatur 190

Spezielle Literatur 190

2 Informations- und Codierungstheorie - H. Rohling, T. May 191 2.1 Geschichte und Anwendungsbereiche 191

2.2 Informationstheorie 193

14 Inhalt

Nachricht und Information - Entropie - Binärcodierung für eine diskrete Quelle - Kanalkapazität

2.3 Codierungstheorie - Blockcodes 199

Hamming-Verfahren - Algebraische Grundbegriffe - Binäre Gruppencodes - Zyklische Codes - Weitere Codierungstechniken -Spezielle Codierverfahren

2.4 Codierungstheorie - Faltungscodes 211

Symbolverzeichnis 214

Allgemeine Literatur 215

Spezielle Literatur 215

3 Kryptologie und Datensicherheit - W. Fumy, V. Kessler 217 3.1 Einführung 217

Zur Bedeutung und Geschichte - Kryptoanalytische Angriffe - Perfekte Verschlüsselungssysteme

3.2 Symmetrische Kryptographie 221

Entwurfskriterien - Stromchiffren - Symmetrische Blockchiffren -Betriebsarten - Authentifizierungs-Codes

3.3 Schlüssellose kryptographische Mechanismen 227

Einwegfunktionen - Kryptographische Hashfunktionen

3.4 Asymmetrische Kryptographie 229

Öffentliche und private Schlüssel - RSA - Diskreter Logarithmus in endlichen Gruppen

3.5 Authentifizierung 234

3.6 Schlüsselmanagement 235

Public-key-Infrastruktur - Schlüsselverteilung - Schlüsselhinterlegung/-offenlegung

Allgemeine Literatur 237

Spezielle Literatur 237

Normen 237

4 D a t e n k o m p r e s s i o n - M. Durst, M. MUhlhäuser 239

4.1 Grundlagen 239

Übersicht - Modellierung

4.2 Verlustfreie Kompression 242

Huffman-Codierung - Arithmetische Codierung - Lempel-Ziv-Codierungen

4.3 Verlustbehaftete Kompression 247

Zusammenhang mit verlustfreier Kompression - Audiokompression -Festbildkompression - Videokompression

Allgemeine Literatur 254

Spezielle Literatur 254

Inhalt 15

Technische Informatik

1 Schaltkreise und digitale Logikschaltungen - R. Hagelauer 257

1.1 Schaltkreise 258

Grundgatter - Grundfunktionen mit NAND- und NOR-Gattera -Logikfamilien - Kenndaten von Logikfamilien

1.2 Schaltnetze 265

Codierschaltungen - Multiplexer/Demultiplexer -Arithmetikschaltungen - Vereinfachung von Schaltfunktionen -Dynamisches Verhalten

1.3 Schaltwerke 271

Endliche Automaten - Realisierung endlicher Automaten -Pegelgesteuerte Flipflops - Flankengesteuerte Flipflops - Beispiele von Schaltwerken

1.4 Programmierbare Logikschaltungen 281

Programmierbare Logikbausteine (PLDs) - Anwenderprogrammierbare Gate-Arrays (FPGAs)

1.5 VLSI-Entwurf 285

Entwurfsablauf - Klassifikation von ASICs (ASIC-Architekturen)

Symbolverzeichnis 290

Allgemeine Literatur 290

Spezielle Literatur 291

2 Prozessoren - A. Bode 293 2.1 Der Prozessor und seine Teilwerke 293

2.2 Die v. Neumann-Prinzipien der Rechnerorganisation 297

2.3 Technologie 298

2.4 CISC, RISC und Nachfolger 300

CISC - RISC - Kombination von CISC und RISC

2.5 Beispiel eines superskalaren Mikroprozessors 310

2.6 Zukünftige Entwicklungen 312 VLIW - Vielfädigkeit - Multiprozessoren

2.7 Sonderformen von Mikroprozessoren 314

Monolithischer Mikrorechner - Bitslice-Mikroprozessor

2.8 Mikroprogrammierung 314

Mikroprogrammierte Implementierung des Maschinenbefehlszyklus -Mikrobefehlszyklus - Mikroprogrammtechniken - Hilfsmittel für die Entwicklung von Mikroprogrammen

Allgemeine Literatur 322

Spezielle Literatur 322

Arbeitsspeicher- und Bussysteme - H. Hellwagner 323 3.1 Speicher- und Bushierarchien 323

3.2 Caches 325

Funktion von Caches - Cache-Typen und Anordnung im Rechensystem -Adressierung von Caches - Organisationsformen -Aktualisierungsstrategie - Ersetzungsstrategie - Leistungsbetrachtungen

3.3 Hauptspeicher 330

Speicherbausteine - Grundlegender Speicheraufbau -Speicherverschränkung - Weitere Maßnahmen zur Leistungssteigerung des Speichers

3.4 Bussysteme 334

Grundlagen von Bussen - Merkmale von Bussen - Busfunktionen -Realisierung von Bussen - Maßnahmen zur Leistungssteigerung von Bussen - Gebräuchliche Bussysteme

Allgemeine Literatur 339

Spezielle Literatur 339

Externe Speicher und Peripheriegeräte - W. Proebster, D. Schwarzstein 341

4.1 Magnetische Speicher 342

Grundlagen - Magnetische Plattenspeicher - Magnetische Bandspeicher

4.2 Optische und magnetooptische Speicher 346

CD-ROM und CD-R - Magnetooptische Aufzeichnung und Phasenwechselverfahren

4.3 Eingabegeräte 347

Tastaturen - Maus, Joystick, Rollkugel, Rändelräder - Grafische Tabletts, Digitalisierer - Abtaster - Lichtgriffel, berührungsempfindliche Bildschirme - 6D-Eingabegeräte - Datenhandschuh und Datenanzug

4.4 Anzeigegeräte , 350

Aktive Anzeigen - Passive Anzeigen - Dreidimensionale Anzeigen

4.5 Drucker und Plotter 353

Matrix- und Vollzeichendrucker - Laserdrucker - Tintenstrahldrucker -Thermodrucker - Plotter

4.6 Chipkarten 358

Allgemeine Literatur 361

Parallelrechner - J. Volkert 363 5.1 Definition und Klassifikation von Rechnerarchitekturen 363

5.2 Motivation und Einsatzgebiete für Parallelrechner 364

5.3 Verbindungsnetzwerke für Parallelrechner 365

Aufgaben und Merkmale von Verbindungsnetzwerken - Beispiele für dynamische Verbindungsnetzwerke

5.4 SIMD-Maschinen 368

Vektorrechner - Feldrechner

5.5 Multiprozessoren 372

Inhalt 17

Die zwei wesentlichen Klassen von Multiprozessoren -Speichergekoppelte Systeme - Das Cache-Kohärenz-Problem bei Ein-Bus-Systemen - NUMA-Systeme mit verteiltem gemeinsamen Speicher -Hilfsmittel zur Synchronisation in speichergekoppelten Maschinen -Nachrichtengekoppelte Multiprozessoren

Allgemeine Literatur 379

Spezielle Literatur 379

6 R e c h n e r n e t z e - B. Plattner, P. Schulthess 381

6.1 Begriffsbestimmung 382

6.2 Weitverkehrsnetze und öffentliche Netze 385

6.3 Übertragungsmedien 386

6.4 Die Bitübertragungsschicht 386

Schnittstellen-Standards - Codierungen - Trägermodulation -Anwendungsfälle

6.5 Die Sicherungsschicht 390

Grundlegende Protokollmechanismen - Medienzuteilung als Teilschicht der Sicherungsebene (MAC-Sublayer) - Anwendungsfälle

6.6 Medienzuteilung auf gemeinsam genutzten Übertragungskanälen 392

Statisches Multiplexverfahren - Tokenvergabe - CSMA-Techniken -Leistungsverhalten lokaler Netze - Anwendungsfälle

6.7 Die Vermittlungsschicht 396

Der Dienst der Vermittlungsschicht - Leitweglenkung - Behandlung von Überlastsituationen - Die Protokollfamilie TCP/IP - OSI-Protokolle der Vermittlungsschicht

6.8 Die Transportschicht 404

Transportprotokolle in TCP/IP - OSI-Transportprotokolle

Abkürzungsverzeichnis 405

Allgemeine Literatur 406

Spezielle Literatur 406

7 Leistungsbewertung und Fehlertoleranz - A. Bode, H. Hellwagner . . . 409

7.1 Leistungsbewertung 409

Bedeutung einer quantitativen Betrachtung von Rechnern - Aspekte der Leistungsbewertung - Leistungsmaßzahlen - Methoden der Leistungsbewertung und Lastmodelle

7.2 Fehlertoleranz 416

Übersicht - Grundlagen - Beispiele fehlertoleranter Architekturen

Allgemeine Literatur 421

Spezielle Literatur 422

Inhalt

Praktische Informatik

1 Algorithmen und Datenstrukturen - J. Nievergelt 425 1.1 Komplementäre Sichten - Was und Wie 425

Die Sicht des Benutzers: Daten und Operationen - Programmieren als Brücke vom Postulierten zum Gegebenen - Die Sicht des Programmierers: Datenstrukturen und Algorithmen - Verständnis für Grundbegriffe und algorithmisches Denken

1.2 Die Vielfalt möglicher Datenstrukturen 430

1.3 Einfache Datenstrukturen und Zugriffsalgorithmen 432

Der Stapel: Datentyp und Implementierung - Der Stapel als Hochseil für Algorithmenakrobatik - Die Warteschlange, als zirkulärer Puffer implementiert - Suchen im Wörterbuch

1.4 Rechenmodelle und Komplexität 438

Speicher mit Direktzugriff - Probleminstanzen, Problemklassen und Asymptotik - Untere Schranken - Problemreduktion

1.5 Typen von Datenstrukturen 444

Implizite Datenstrukturen, Adreßberechnung - Die Vorrangschlange, als Heap implementiert - Hashing - Verkettete Listen

1.6 Das Zusammenspiel von Algorithmus und Datenstruktur 454

Heapsort: Datenstruktur führt zum Algorithmus - Plane-sweep, Warteschlange, Wörterbuch

1.7 Algorithmik gemäß anderen Spielregeln 459

1.8 Kleines Lexikon der Algorithmik 461

1.9 Bemerkungen und Literaturhinweise 465

Allgemeine Literatur 466

Spezielle Literatur 467

2 P r o g r a m m i e r s p r a c h e n - G. Goos, W. Zimmermann 469

2.1 Methodische Grundlagen 471

Abstrakte Datentypen - Grundlegende abstrakte Datentypen -Programmierparadigmen

2.2 Elemente von Programmiersprachen 480

Syntax, Semantik und Pragmatik - Syntaktische Eigenschaften -Semantische Eigenschaften

2.3 Bindungen 483

Lebensdauer und Bindungen - Statische Bindung und Blockstruktur

2.4 Datentypen und Ausdrücke 486

Grundtypen - Zusammengesetzte Typen - Variablen in imperativen Sprachen, Zeigertypen - Vereinigungstypen und polymorphe Typen -Typäquivalenz - Ausdrücke

2.5 Sequentielle Ablaufsteuerung 493

Zuweisungen, bedingte Anweisungen und Schleifen - Prozeduren und Funktionen - Ausnahmen

2.6 Modularität und Objektorientierung 500

Module - Klassen und Objekte - Vererbung - Generizität

Inhalt 19

2.7 Skriptsprachen 507

2.8 Parallelität 511

2.9 Historische Entwicklung von Programmiersprachen 511

Allgemeine Literatur 513

Spezielle Literatur 514

3 Prozedurorientierte Programmierung - G. Pomberger 517 3.1 Grundlegende Begriffe 517

3.2 Entwurfs- und Zerlegungstechniken 518

3.3 Prozedurorientierte Zerlegung nach dem Prinzip

der schrittweisen Verfeinerung 520

3.4 Modulbildung - Strukturierung im Großen 523

3.5 Konstruktionen zur Ablaufsteuerung - Strukturierte Programmierung 525

Spezielle Literatur 528

4 Objektorientierte Programmierung - G. Blaschek 529 4.1 Eigenschaften 530

4.2 Begriffe der objektorientierten Programmierung 530

Objekte - Nachrichten - Klassen - Methoden

4.3 Vererbung 533

Ableitung von Klassen - Überschreiben von Methoden - Unterschiede zwischen Basis- und abgeleiteter Klasse - Ist-Beziehungen

4.4 Polymorphie 535

Definition und Zuweisungsregeln - Polymorphie in untypisierten Sprachen - Referenzsemantik - Objekterzeugung - Semantik von Referenzzuweisungen

4.5 Dynamische Bindung 538

Dynamische Bindung durch Methodensuche - Dynamische Bindung mit Methodentabellen - Zusammenspiel von Vererbung, Polymorphie und dynamischer Bindung

4.6 Abstrakte Klassen 540

Faktorisierung - Konkretisierung - Benutzung abstrakter Klassen

4.7 Klassenhierarchien 542

Hierarchie abstrakter Klassen - Wurzelklasse - Mehrfache Vererbung

4.8 Objektorientierte Programmiersprachen 544

4.9 Klassenbibliotheken 545

Bausteinbibliotheken - Strukturierung von Klassenbibliotheken -Rahmenprogramme

4.10 Objektorientierter Entwurf 547

4.11 Besonderheiten 548

Generizität - Prototypen - Kovarianz und Kontravarianz - Separate Schnittstellendefinitionen (Interfaces)

4.12 Vor- und Nachteile der objektorientierten Programmierung 551

Allgemeine Literatur 552

Spezielle Literatur 552

Inhalt

5 Funktionale Programmierung - M. Odersky 553 5.1 Funktionale Programmiersprachen 554

5.2 Grundzüge des funktionalen Programmierens 555

Datentypen - Funktionen - Bezug zu abstrakten Datentypen -Polymorphie - Funktionen höherer Ordnung - Listen - Listenfunktionen höherer Ordnung

5.3 Funktionale Komposition 560

Monaden - Beispiele für Monaden

5.4 Implementierung funktionaler Sprachen 563

Symbolverzeichnis 564

Allgemeine Literatur 565

Spezielle Literatur 565

6 : Logische Programmierung - N. E. Fuchs 567

6.1 Grundlagen 568

Einführung - Definite logische Programme - Resolution - Negation -Prolog

6.2 Programmiertechniken 576

Listen - Metaprogrammierung - Alternative Beweisstrategien - Partielle Auswertung

6.3 Anwendungen 579

Deduktive Datenbanken - Regelbasiertes Programmieren -Computerlinguistik - Softwaretechnik - Logische Programmierung und das Internet

6.4 Andere logische Programmiersprachen 582

Constraint-Programmierung - Induktive logische Programmierung -Logische und funktionale Programmierung - Parallele logische Programmierung

Allgemeine Literatur 585

Spezielle Literatur 585

7 Parallele Programmierung - H. Burkhart 587

7.1 Grundkonzepte 588

Sequentialität - Nebenläufigkeit, Parallelismus - Synchronisation -Kommunikation - Fehlersituationen

7.2 Architekturspezifische Programmiermodelle 592

Adele-Erweiterungen für die parallele Programmierung - Übersetzung implizit paralleler Programme - Datenparallelismus - Programmierung mittels gemeinsamem Speicher - Programmierung mittels Nachrichtenaustausch

7.3 Parallele Algorithmen 598

PRAM-Modell - Algorithmen für Prozeßtopologien

7.4 Leistungsaspekte 605

Laufzeit, Rechenleistung, Kommunikationszeit, Bandbreite -Beschleunigung, Effizienz - Amdahl-Gesetz - Gustafson-Barsis-Gesetz - Skalierbarkeit, Isoeffizienz - Beschleunigungs-Anomalien -Leistungsverluste

Inhalt 21

7.5 Parallelprogrammierung in der Praxis 609

Bibliotheken für den Nachrichtenaustausch - Programmieren speichergekoppelter Multiprozessoren - Paralleles Programmieren mit Fortran - Paralleles Programmieren mit Java - Umsetzungen formaler Modelle - Programmierwerkzeuge

7.6 Zukünftige Entwicklungen des parallelen Rechnens 614

Architekturunabhängige Programmiermodelle - Softwaretechnik

paralleler Systeme - Standortunabhängiges Rechnen

Allgemeine Literatur 615

Spezielle Literatur 616

8 Visuelle Programmierung - S. Schiffer 619 8.1 Entstehung und Einteilung 619

8.2 Begriffe 621

8.3 Konzepte für VP-Systeme 623

Steuerflußorientierte VP-Systeme - Funktionsorientierte VP-Systeme -Datenflußorientierte VP-Systeme - Objektorientierte VP-Systeme -Einschränkungsorientierte VP-Systeme - Regelorientierte VP-Systeme -Beispielorientierte VP-Systeme - Formularorientierte VP-Systeme -Multiparadigmenorientierte VP-Systeme - Zusammenfassung

Allgemeine Literatur 631

Spezielle Literatur 631

9 Betriebssysteme - L. Borrmann 633 9.1 Aufgaben eines Betriebssystems 634

9.2 Prozesse 634

Prozeßverwaltung - Zustandsinformation - Leichtgewichtige Prozesse (threads) - Prozeßsynchronisation - Prozeßkommunikation

9.3 Ablaufplanung (Scheduling) 641

9.4 Speicherverwaltung 644

Virtueller Speicher - Adreßübersetzung in Systemen mit virtuellem

Speicher - Seitenverwaltung in Systemen mit virtuellem Speicher

9.5 Ein-/Ausgabe 652

9.6 Dateisystem 655 Logische Struktur von Dateisystemen - Physische Struktur von Dateisystemen - Entwurfskriterien

9.7 Schutzmechanismen 661

9.8 Bedienschnittstelle 663

Grafische Oberflächen - Kommando-Interpretierer (shell)

9.9 Echtzeitbetriebssysteme 665

9.10 Betriebssysteme für verteilte Rechensysteme 665

Verteilte Dateisysteme - Verteilte Benutzerverwaltung - Verteilter gemeinsamer Speicher

9.11 Betriebssysteme für parallele Rechensysteme 668

9.12 Architektur und Realisierung von Betriebssystemen 669

Verschiedene Arten von Betriebssystem-Architekturen -Betriebssystemaufrufe

Inhalt

Allgemeine Literatur 672

Spezielle Literatur 672

10 Verteilte Systeme - M. Mühlhäuser 675 10.1 Grundbegriffe und Besonderheiten 676

10.2 Das OSI-Referenzmodell 677

Architektur - Dateneinheiten - Schichtungsvorschlag -Zusammenfassung, Kritik und weitere Normungsaktivitäten

10.3 Softwaretechnik für Kommunikationsprotokolle 681

10.4 Protokollmechanismen 683

10.5 Anwendungsorientierte Protokolle 686

Die Kommunikationssteuerungsschicht - Die Darstellungsschicht - Die Anwendungsschicht

10.6 Grundlagen der Entwicklung verteilter Anwendungen 695

Grundlegende Ansätze und Paradigmen - Interprozeßkommunikation -Prozedur-Fernaufruf - Verteilter objektorientierter Ansatz - Verwandte und alternative Ansätze

10.7 Plattformen für verteilte Anwendungen 702

DCE und Corba - ROSE und ODP / ANSAware

10.8 Zusammenfassung und Weiterführendes 706

Verzeichnis mehrfach verwendeter Abkürzungen 707

Allgemeine Literatur 708

Spezielle Literatur 708

11 Echtzeitsysteme - H. Kopetz 709 11.1 Anforderungen an harte Echtzeitsysteme 710

Rechtzeitigkeit - Verläßlichkeit

11.2 Systemarchitektur 712

Hardwarestruktur - Planbarkeit - Fehlertoleranz

11.3 Echtzeitkommunikation 715

Verläßliche Nachrichtenübertragung - Uhrensynchronisation -Ereignisgesteuerte und zeitgesteuerte Protokolle - Beispiele von Echtzeitprotokollen

11.4 Echtzeitbetriebssystem 718

Organisation der Anwendersoftware - Statische Prozeßeinplanung -Dynamische Einplanung von E-Prozessen - Dynamische Einplanung von K-Prozessen

11.5 Schlußbemerkungen 721

Allgemeine Literatur 721

Spezielle Literatur 721

12 Systemsoftware - H. Mössenböck 723 12.1 Editoren 723

Texteditoren - Grafikeditoren

Inhalt 23

12.2 Binder und Lader 727

12.3 Debugger 729

12.4 Browser 732

12.5 Profiler 732

12.6 Automatische Speicherbereinigung 733

Allgemeine Literatur 736

Spezielle Literatur 736

Ü b e r s e t z e r - H. Mössenböck 737

13.1 Abgrenzung und Einteilung 737

13.2 Lexikalische Analyse 738

Lexikalische Symbole - Der lexikalische Analysator als endlicher Automat - Implementierung - Spezielle Probleme

13.3 Syntaxanalyse 741

Top-down-Analyse - Bottom-up-Analyse

13.4 Semantikverarbeitung 748

Symbolliste - Zwischensprachen - Attributierte Grammatiken

13.5 Optimierungen 752

13.6 Codeerzeugung 756

Einfache Codeerzeugung - Codeerzeugung mittels Mustervergleich

Allgemeine Literatur 761

Spezielle Literatur 761

Softwaretechnik - C. Floyd, H. Züllighoven 763

14.1 Was ist Softwaretechnik? 764

Gegenstand der Softwaretechnik - Sichtweisen der Softwaretechnik -Aufbau dieses Kapitels

14.2 Software und Softwarequaiität 766

Eigenschaften von Software - Vielfalt von Anwendungssoftware -Softwarequalität

14.3 Konzepte für Programmierung und Spezifikation 769

Strukturierte Programmierung - Datenabstraktion - Programmierung im Großen - Formale Spezifikation und Verifikation von Programmen

14.4 Modellierungsmittel und Methoden 771

Modellierungsmittel - Methodenbegriff - Strukturierte Methoden -Objektorientierte Methoden

14.5 Projekte zur Softwareentwicklung 774

Charakteristika von Softwareprojekten - Tätigkeiten bei der Produktentwicklung - Vorgehensmodelle - Evolutionäre Systementwicklung und Prototyping

14.6 Der Softwareentwicklungsprozeß 780

Beteiligte bei der Softwareentwicklung - Leitbilder bei der Softwareentwicklung - Kooperation und Koordination - Produkt- und Konfigurationsverwaltung. - Qualitätssicherung - Sicherung der Prozeßqualität

24 Inhalt

14.7 Architektur von Softwaresystemen 784

Architekturprinzipien - Organisationsformen

14.8 Softwareentwicklungswerkzeuge 786

Allgemeine Literatur ; 788

Spezielle Literatur 788

15 Mensch-Maschine-Kommunikation - G. Blaschek 791 15.1 Begriff 791

15.2 Ergonomische Grundlagen 792

Wahrnehmungsleistung - Motorische Leistung - Sensorische und intuitive Typen von Benutzern - Nachrichtenmodell der Kommunikationspsychologie - Hamburger Verständlichkeitskonzept -Nationale und kulturelle Unterschiede

15.3 Das Schreibtischmodell 796

15.4 Zustände 797

Entstehung von Zuständen - Zustandsräume - Vermeidung von Zuständen - Befehle und Operanden

15.5 Entwurfstechniken 799

Brainstorming - Szenarien - Benutzertest

15.6 Style Guides 800

15.7 Ereignisgesteuerte Programmierung 801

Ereignisschleife - Ereignisbehandlung

Allgemeine Literatur 803

Spezielle Literatur 803

Angewandte Informatik

1 Grafische Datenverarbeitung - w. Purgathofer, E. Greller 807

1.1 Begriffsbestimmung und Abgrenzung 808

1.2 Geräte der grafischen Datenverarbeitung 809

1.3 Arbeitsschritte der grafischen Datenverarbeitung 811

1.4 Geometrische Modellierung 812

Modellarten - Kurven und Flächen - Elementarobjekte - Transformation

von Elementarobjekten

1.5 Datenstrukturen 816

1.6 Transformationen, Projektionen, Clipping 820 Window-Viewport-Transformation - Geometrische Transformationen -Projektionen - Clipping

1.7 Objektdarstellung (Rendering) 823

Sichtbarkeitsverfahren - Beleuchtung und Schattierung - Ray-Tracing -Radiosity-Verfahren - Kombinierte Verfahren zur Berechnung der globalen Beleuchtung - Rendering in Echtzeit

Inhalt 25

1.8 Rastergraphik und Behandlung von Rasterbildern 835

Rastergrafik im Vergleich mit Vektorgrafik - Rasterkonversion -Flächenfüllen - Rastertransformation - a-Kanal - Anti-Aliasing -Dithering - Farbquantisierung - Texturen - Rasterbildkompression

1.9 Grafische Programmierung ._ 842

Allgemeines - X-Windows, OSF/Motif und MS Windows -RenderMan - OpenGL, Direct3D - Openlnventor, VRML, Java3D, Performer

1.10 Farbe in der grafischen Datenverarbeitung 845

Farbwahrnehmung - Farbsysteme

1.11 Computeranimation 847

1.12 Visualisierung 848

1.13 Virtuelle Realität 850

Symbolverzeichnis 851

Allgemeine Literatur 852

Spezielle Literatur 852

2 M u l t i m e d i a - M. Mühlhäuser 855

2.1 Charakteristika, Paradigmen 855

2.2 Grundlegende Konzepte 857

Synchronisation - Dienstgüte - Ströme - Zeitkapseln -Konfigurationsverwaltung

2.3 Handhabung von Multimediadaten 862

Interaktion - Codierung - Codierung von digitalem Video -Speicherung - Interpretation

2.4 Systemunterstützung 868

Netzwerke und Kommunikationsdienste - Betriebssysteme

2.5 Hypertext / Hypermedia 870

Grundbegriffe - Das Dexter-Modell - Weitergehende Aspekte - Das

World-Wide Web als Hypertextsystem

Allgemeine Literatur 874

Spezielle Literatur 874

3 Datenbanksysteme - K. Dittrich 875

3.1 Anforderungen und Eigenschaften 876

3.2 Datenmodelle und Datendefinition 877

Konzepte - Das Relationenmodell - Weitere konventionelle Datenmodelle - Datenmodelle mit Objektkonzepten

3.3 Datenzugriff und -manipulation 887

Konzepte - Anfragesprachen - Sichten - Standards

3.4 Steuerung und Überwachung 894

Zugriffsschutz - Konsistenzsicherung - Transaktionen - Verteilung -Speicherverwaltung und Datentransport

26 Inhalt

3.5 Datenbankentwurf 904

3.6 DBMS als Komponenten von Informationssystemarchitekturen 905

3.7 Aktuelle und zukünftige Entwicklung 905

Allgemeine Literatur 907

Spezielle Literatur 908

4 Dokumentsuche und Dokumenterschließung - R. Ferber 909 4.1 Problemstellung und Abgrenzung 909

4.2 Boolesche Suche 912

4.3 Erschließungsmethoden 914

Grundformreduktion - Klassifikationen - Thesauren

4.4 Das Vektorraummodell 919

Gewichtungsverfahren - Ähnlichkeitsmaße

4.5 Evaluierung von Suchsystemen 922

Qualitätsmaße Precision und Recall - Testkollektionen und TREC

4.6 Aktuelle Entwicklungen 924

4.7 Suche im World-Wide Web 925

4.8 Digitale Bibliotheken 927

4.9 Ausblick 928

Allgemeine Literatur 929

Spezielle Literatur 929

5 Numerisches Rechnen - C. Überhuber 931

5.1 Daten der Numerik 932

5.2 Fehlerbegriffe der Numerik 935

5.3 Kondition mathematischer Probleme 936

5.4 Interpolation 937

5.5 Numerische Integration 941

5.6 Lineare Gleichungssysteme 943

Verfahren für Ausgleichsprobleme - LAPACK - Das fundamentale Softwarepaket für die Lineare Algebra

5.7 Nichtlineare Gleichungen 947

5.8 Numerische Software 951

Allgemeine Literatur 953

Spezielle Literatur 953

6 Symbolisches Rechnen - B. Buchberger 955 6.1 Was ist symbolisches Rechnen? 955

Begriffsbestimmung - Abgrenzung

6.2 Mathematische Softwaresysteme aus der Sicht des Benutzers 959

Der Aufbau mathematischer Softwaresysteme - Der mathematische Inhalt symbolischer Softwaresysteme - Beispiele symbolischer Berechnungen -Die wichtigsten symbolischen Softwaresysteme

Inhalt 27

6.3 Die Mathematik hinter den symbolischen Softwaresystemen 964

Zur Algorithmisierung der Mathematik - Der Risch-Algorithmus für die symbolische Integration - Der Algorithmus zur Konstruktion von Gröbner-Basen - Vorzeicheninvariante Zerlegung des rc-dimensionalen reellen Raumes

Allgemeine Literatur 972

Spezielle Literatur 972

7 Künstliche Intelligenz - J. Dorn, G. Gottlob 975 7.1 Begriff und Anwendungsgebiete 975

7.2 Wissensrepräsentation 977

Produktionsregeln - Einschränkungen - Unsicheres und vages Wissen -Nichtmonotones Schließen - Objektorientierte Wissensrepräsentation -Qualitatives Wissen - Ereignisorientierte Wissensrepräsentation

7.3 Wissensbasierte Suche 987

Heuristische Suche in Graphen - Heuristische Suche bei Zielkonflikten -Optimierung durch iterative Verbesserung von Lösungen

7.4 Lernen 991

Induktives Schließen - Fallbasiertes Schließen - Neuronale Netze

7.5 Entwicklung von wissensbasierten Systemen 995

7.6 Anwendungen der künstlichen Intelligenz 996

Allgemeine Literatur 996

Spezielle Literatur 997

8 Internetdienste - S. Schiffer, J. Tempi 999 8.1 Einführung 999

8.2 Geschichte des Internets 1000

8.3 Internetdienste der Anwendungsschicht 1002

Domain Name System - Electronic Mail - Network News - Electronic Filetransfer - WWW - Weitere Internetdienste und -Protokolle

8.4 Java 1008

Die Programmiersprache Java - Die Java-Bibliothek - Die virtuelle Java-Maschine (JVM) - Sicherheitsmechanismen in Java - Der Netz-Computer (NC)

8.5 Sicherheitsaspekte 1012

Sicherheitslücken - Sicherheitskonzepte

Allgemeine Literatur 1014

Spezielle Literatur 1014

Inhalt

Wirtschaftsinformatik

1 Grundlagen der Wirtschaftsinformatik - L. J. Heinrich 1019 1.1 Information und Kommunikation 1019

1.2 Informationsfunktion und Informationsnachfrage 1020

1.3 Informationssystem und Informationsinfrastruktur 1021

Arten von Informationssystemen - Ziele von Informationssystemen

1.4 Konzepte, Modelle und Modellieren 1025

1.5 Erhebungs- und Erfassungsmethoden 1026 Beobachtung - Befragung - Dokumentenauswertung

1.6 Analysemethoden 1029

Wirtschaftlichkeitsanalyse - Wertanalyse - Kommunikationsanalyse

1.7 Bewertungs- und Evaluierungsmethoden 1031

Nutzwertanalyse - Benchmarking - Checklisten

Allgemeine Literatur 1033

Spezielle Literatur 1033

2 Architektur von Informationssystemen - E. J. Sinz 1035 2.1 Architekturbegriff 1035

2.2 Ein generischer Architekturrahmen zur Gestaltung von Informationssystem-Architekturen 1036

2.3 Ausgewählte Architekturkonzepte 1038

ARIS - Handels-H-Architektur - PROMET - SOM

2.4 Nutzung von Informationssystem-Architekturen 1042

2.5 Qualitätsmerkmale 1044

2.6 Verteilung in Informationssystem-Architekturen 1045

Spezielle Literatur 1047

3 Konstruktion von Informationssystemen - E. J. Sinz 1049

3.1 Begriffsbestimmung und Abgrenzung 1049

Betriebliches Informationssystem als Teilsystem der Organisation -Problem der Konstruktion des Informationssystems - Struktur des Informationssystems

3.2 Aufgabenstruktur des Informationssystems 1053

Methoden zur Modellierung der Aufgabenstruktur - Vorgehen bei der Modellierung der Aufgabenstruktur - Werkzeugunterstützung

3.3 Aufbauorganisation 1057

Methoden zur Gestaltung der Aufbauorganisation - Vorgehen bei der Gestaltung der Aufbauorganisation - Werkzeugunterstützung

3.4 Anwendungssysteme 1060

Methoden zur Entwicklung von Anwendungssystemen - Vorgehen bei der Entwicklung und Einführung von Anwendungssystemen -Werkzeugunterstützung

Inhalt 29

3.5 Abstimmung der Komponenten 1063

Allgemeine Literatur 1063

Spezielle Literatur 1063

4 Informationsmanagement - L. J. Heinrich 1065 4.1 Technologiemanagement 1066

Beobachten der Technologieentwicklung - Beeinflussen! der Technologieentwicklung - Planen des Technologiebedarfs - Decken des Technologiebedarfs - Verwalten des Technologiebestands - Bewerten des Technologieeinsatzes

4.2 Projektmanagement 1070

Projektdefinition - Projektorganisation - Vorgehensmodell -Projektplanung - Projektüberwachung - Projektsteuerung -Projektführung - Projektkontrolle

4.3 Produktions- und Problemmanagement 1073

Installation, Wartung und Reparatur der Betriebsmittel - Übernahme von Anwendungssystemen - Produktionsplanung und -Steuerung -Kapazitätsmanagement - Problemmanagement

4.4 Sicherheits- und Katastrophenmanagement 1076

Risikoanalyse - Maßnahmen des Sicherheitsmanagements - Maßnahmen des Katastrophenmanagements

Allgemeine Literatur . . 1080

Spezielle Literatur 1080

Normen und Spezifikationen

1 Grundlagen - 1 . Wende 1083

1.1 Technischer Regelungsbedarf in der Informationstechnik 1083

1.2 Normung 1084

Grundsätze - Gremien und Strukturen - Arbeitsprinzipien, Werdegang einer Norm - Normenanwendung

1.3 Spezifikationsentwicklung außerhalb der Normung 1088

Konsortien - Workshops - Spezifikationsentwicklung in Branchen- und Berufsverbänden - Überführung von Spezifikationen in Internationale Normen

Allgemeine Literatur 1091

Spezielle Literatur 1091

2 Normen und Spezifikationen der Informationstechnik ~ I. Wende 1093 2.1 Terminologie 1094

2.2 Zeichensätze und Codierung 1094

2.3 Programmiersprachen und Software-Entwicklung 1096

Programmiersprachen - Software-Entwicklung - Schnittstelle für die Portabilität von Anwendungsprogrammen

30 Inhalt

2.4 Kommunikation und verteilte Verarbeitung 1099

OSI-Referenzmodell - OSI-Grundnormen - Profil-Normen - Internet-Spezifikationen - Verteilte Verarbeitung offener Systeme (ODP-BRM)

2.5 Dokumentverarbeitung und Präsentation von Multimedia-Dokumenten . . . 1102

2.6 Sicherheitsverfahren 1104

2.7 Identifikationskarten 1106

2.8 Ergonomie 1107

2.9 Normen für Anwendungen der Informationstechnik 1108

Normen für den elektronischen Geschäftsverkehr - Normen für die rechnerunterstützte Konstruktion und Fertigung

Spezielle Literatur 1109

Die Algorithmenbeschreibungssprache Adele 1111

Abkürzungsverzeichnis 1115

Namenverzeichnis 1121

Stichwortverzeichnis 1133