Kompendium der Informationstechnologie (eBook)
X, 262 Seiten
Springer Berlin (Verlag)
978-3-540-27061-4 (ISBN)
Computer haben als universelle Maschinen das moderne Leben nicht nur durchdrungen, sie verändern durch ihre vielfältige Funktionalität auch jede Art der Kommunikation und damit der Organisation und der Arbeitsabläufe. Vielschichtige Kenntnisse moderner Informationstechnologien sind unabdingbar geworden.
Im vorliegenden Buch werden diese Kenntnisse in solider Weise und auf hohem Niveau vermittelt. Dabei werden insbesondere die Basistechnologien aus den Bereichen Rechnerarchitektur, Netzwerke, Verteilte Systeme, Programmiersprachen und Software-Engineering sowie der Datenbanksysteme berücksichtigt, aus deren Verständnis sich viele aktuelle Schlagworte technischer Entwicklungen und Trends ableiten lassen.
Dieses sorgfältig erarbeitete Werk richtet sich vor allem an Entscheider im Technologie-Management und an Professionals der IT-Branche, die ein fundiertes Verständnis zentraler Basistechnologien erwerben möchten.
Vorwort 6
Inhaltsverzeichnis 7
1 Rechnerarchitektur 11
1.1 Rechneraufbau: die Hardware 11
1.1.1 Die Eingabe 12
1.1.1 Die Ausgabe: Rastergrafik und Skalierung 16
1.1.2 Beispiel UNIX 36
1.1.3 Beispiel Windows NT 38
1.2 Die Architektur eines Rechners 18
1.2.1 Busse 18
1.2.2 Buskontrolle 20
1.2.3 PC-Architektur 22
1.3 Maschinensprache und Prozessorstruktur 23
1.3.1 Ein einfaches Befehlsmodell 23
1.3.2 Eine Prozessorgrundstruktur 25
1.4 Prozessoren mit komplexem Befehlssatz (CISC) 26
1.4.1 Charakteristik von CISC 28
1.4.2 Prozessoren mit reduziertem Befehlssatz (RISC) 29
1.5 Rechnerbetrieb: Die Software 31
1.5.1 Das Betriebssystem 34
1.5.2 Schnittstellen und virtuelle Maschinen 40
1.5.3 Software-Hardware-Migration 43
1.6 Ein- und Ausgabegeräte 44
1.6.1 Beispiel UNIX: I/O-Verarbeitungsschichten 46
1.6.2 Beispiel Windows NT: I/O-Verarbeitungsschichten 48
1.6.3 Der Zugriff auf Ein- und Ausgabe 49
1.6.4 Wahlfreier Zugriff: Plattenspeicher 51
1.6.5 Serielle Geräte 54
1.6.6 Multiple Plattenspeicher: RAIDs 55
1.6.7 Interleaving 61
1.6.8 Pufferung 63
1.6.9 Synchrone und asynchrone Ein- und Ausgabe 65
1.7 Die Energieverwaltung 65
2 Netzwerkarchitektur 69
2.1 Das Schichtenmodell für Netzwerkprotokolle 71
2.1.1 Beispiel UNIX Kommunikationsschichten 74
2.1.2 Beispiel Windows NT 75
2.1.3 Erweiterungen 76
2.2 Namensgebung im Netz 77
2.2.1 Namen im weltweiten Netz 78
2.2.2 Namen im regionalen Netz 80
2.2.3 Namen im lokalen Netz 81
2.3 Kommunikationsanschlüsse 84
2.3.1 Ports 84
2.3.2 Sockets 86
2.3.3 Named Pipes 87
2.3.4 Mailboxdienste 88
2.3.5 Remote Procedure Calls 89
2.4 Telefonieren über Internet: Voice over IP 93
2.4.1 Technische Konzepte von VoiceOverIP 94
2.4.2 Nutzungskonzepte von VoiceOverIP 97
2.4.3 Sicherheitsaspekte 99
3 Internet Architekturen, Web-Services und Sicherheit 101
3.1 Funktionsarchitekturen 101
3.1.1 Client-Server Systeme 101
3.1.2 Verteilte Betriebssysteme 102
3.2 Dateisysteme im Netz 104
3.2.1 Zugriffssemantik 104
3.2.2 Zustandsbehaftete und zustandslose Server 106
3.2.3 Die Cacheproblematik 107
3.2.4 Implementationskonzepte 110
3.2.5 Sicherheitskonzepte 113
3.3 Massenspeicher im Netz 115
3.4 Arbeitsmodelle im Netz 118
3.4.1 Jobmanagement 118
3.4.2 Netzcomputer 119
3.4.3 Schattenserver 122
3.5 Standard-Dienste im Netz 126
3.6 Middleware 128
3.6.1 Transparenz und IT-Konsolidierung durch Middleware 129
3.6.2 Vermittelnde Dienste 130
3.6.3 Universal Plug-and-Play 133
3.7 Sicherheitsmechanismen und Konzepte im Netz 133
3.7.1 Vorgeschichte 134
3.7.2 Eindringen über das Netz 134
3.7.3 Übernahme der Kontrolle auf einem Rechner 138
3.7.4 Fire-wall-Konfigurationen 145
3.7.5 Zugriffslisten und Fähigkeiten 146
3.7.6 Die Kerberos-Authentifizierung 147
4 Datenbanksysteme 153
4.1 Wozu Datenbanken? 154
4.2 Übersicht Datenbanksysteme 156
4.3 Datenabstraktion (Data Abstraction) 158
4.4 Die Architektur eines DBMS 159
4.5 Data Warehouse 162
5 Programmiersprachen und Paradigmen 165
5.1 Natürliche Sprachen 167
5.2 Imperative Sprachen 169
5.3 Objektorientierte Sprachen 171
5.3.1 Das Kapseln von Programmteilen 171
5.3.2 Objekte und Vererbung 173
5.3.3 Die Philosophie objektorientierter Klassen 175
5.3.4 Objektorientierte Programmentwicklung 176
5.4 Funktionale Sprachen 181
5.4.1 Nebenwirkungsfreie Funktionen 181
5.4.2 Sprachkonstrukte 184
5.4.3 Sprachenübersicht 186
5.5 Datenflusssprachen 189
5.5.1 Das Kontrollflussprinzip 189
5.5.2 Das Datenflussprinzip 190
5.5.3 Datenflussrechner und Datenflusssprachen 191
5.6 Logische Sprachen 196
5.6.1 Aussagenlogik 196
5.6.2 Hornformeln 198
5.6.3 Klauseln 199
5.6.4 Resolution 200
5.6.5 Prädikatenlogik 201
5.6.6 Beispiel: Affe-Banane-Problem 202
5.6.7 Logikprogramme 204
5.7 Visuelle Sprachen 205
5.7.1 Visualisierung von Daten 206
5.7.2 Visualisierung von Programmen 206
5.7.3 Visuelle Spezifikation 207
5.7.4 Visuelle Programmierung 208
5.7.5 Visuelles Training 211
5.7.6 Diskussion 212
5.8 Grundbegriffe zur Übersetzung von Programmiersprachen 214
6 Softwareentwicklung 217
6.1 Das klassische Phasenmodell 217
6.1.1 Der Zeitplan 219
6.1.2 Phasen und Netzplantechnik 220
6.1.3 Randbedingungen 223
6.1.4 Das Pflichtenheft 224
6.1.5 Der Programmentwurf 225
6.1.6 Der Systemtest 232
6.1.7 Die Einführung der Software 234
6.1.8 Dokumentation 235
6.1.9 Qualitätsmanagement 236
6.1.10 Der menschliche Faktor 239
6.2 Modifizierte Phasenmodelle 241
6.2.1 Das Wasserfallmodell 241
6.2.2 Objektorientierte Entwicklung 242
6.2.3 Rapid Prototyping und Spiralenmodell 244
6.3 Das V-Modell 247
6.3.1 Die drei Schichten der Standardisierung 248
6.3.2 Anwendung des V-Modells 249
6.3.3 Vorteile des V-Modells 250
6.4 Selbstorganisierende Projektentwicklung 252
6.4.1 Gruppenstrukturen 252
6.4.2 Projektentwicklung im Plenum 254
6.5 CASE Werkzeuge zur Projektentwicklung 256
6.5.1 CASE Grundtechniken 257
6.5.2 CASE Architektur 258
6.6 Risikomanagement 260
Abbildungsverzeichnis 263
Index 267
3 Internet Architekturen, Web-Services und Sicherheit (S. 91-92)
Im Unterschied zu Großrechnern (main frame), die zentral bis zu 1000 Benutzer bedienen können, sind die meisten Rechner in Firmen, Universitäten und Behörden nur wenigen Benutzern vorbehalten (single user-Systeme). Um trotzdem systemweite Dienste und Daten innerhalb der Firmen oder Institutionen nutzen zu können, sind die Rechner in der Regel vernetzt.
3.1 Funktionsarchitekturen
Innerhalb des Internets können verschiedene Modelle verwirklicht sein, wie Rechner miteinander umgehen. Jeder Rechner erhält eine bestimmte Funktion; die Gesamtdienstleistung wird in einzelne Leistungen aufgeteilt.
3.1.1 Client-Server Systeme
Üblich ist dabei die sogenannte Client-Server-Funktionsaufteilung: Spezielle Computer enthalten Unternehmensdaten (file server, mail server), dienen als schnelle Rechner (computing server), nehmen kritische Datentransaktionen (transaction server) vor und steuern besondere Druckgeräte (print server). Dies ermöglicht zusätzliche Funktionalität für die Mitglieder einer Arbeitsgruppe:
electronic mail server
Elektronische Nachrichten dienen als Notizzettel und Kommunikationsmittel, zur Terminabsprache und Projektkoordination.
file sharing
Dokumente und Daten können gemeinsam erstellt und genutzt werden. Dies vermeidet Inkonsistenzen zwischen verschiedenen Kopien und Versionen und hilft dabei auch, Speicherplatz zu sparen.
device sharing
Der Ausdruck von Grafik und Daten auf beliebigen Druckern im Netz (remote printing) ermöglichen die Anschaffung auch teurer Drucker für die ganze Arbeitsgruppe oder alternativ das Einsparen von Investitionen. Dies gilt allgemein für alle Spezialhardware wie high-speed scanner, Farblaserdrucker, Plotter usw.
processor sharing
Durch die Verteilung von Einzelaufgaben eines Rechenjobs auf die Rechner der anderen Gruppenmitglieder kann mit der ungenutzten Rechenzeit der anderen der eigene Job schneller bearbeitet und abgeschlossen werden oder aber Investitionen in mehr Rechengeschwindigkeit gespart werden. Ist der Funktionsunterschied zwischen dem einzelnen Computer und dem Netzwerk für den Benutzer gering, so sprechen wir von einem verteilten Computersystem. Die oben genannten Funktionen werden dabei durch ein gezieltes Zusammenspiel mehrerer Betriebssystemteile auf verschiedenen Rechnern erreicht. Die Netzwerkerweiterung kann deshalb auch als eine Erweiterung des Betriebssystems angesehen werden.
Die oben geschilderten Vorteile sind in Netzen zwar möglich; sie werden aber durch die Vielfalt der eingesetzten Rechnermodelle, Betriebssysteme und Programmiersprachen stark behindert: Die Zusammenarbeit der Rechner leidet unter den unterschiedlichen Netzwerknormen, die in der Hardware und Software existieren. Deshalb wollen wir in diesem Kapitel die wichtige Rolle des Betriebssystems genauer unter die Lupe nehmen und die Aufgaben, Funktionsmodelle und Lösungen näher untersuchen, die ein Netzwerkanschluss für ein Betriebssystem mit sich bringt.
Einen wichtigen Versuch, die inhomogene Landschaft zu vereinheitlichen, stellt dabei das Distributed Computing Environment (DCE) der Herstellervereinigung Open Software Foundation (OSF) (später OpenGroup) dar, das als komplexes Softwarepaket (1 Mill. Codezeilen) verschiedene Lösungen für Client-Server- Arbeitsverwaltung (z.B. threads), Dateiverwaltung und Sicherheitsmechanismen enthält.
3.1.2 Verteilte Betriebssysteme
Ein Betriebssystem, das mit anderen Betriebssystemen über Netzverbindungen gekoppelt wird und auf jedem Rechner vollständig vorhanden ist, wird als Netzwerkbetriebssystem bezeichnet. Man kann nun eine Aufgabe, etwa das Führen von Dateien, innerhalb eines Netzes auch unter den Rechnern aufteilen. Bezüglich dieser Aufgabe spricht man dann von einem verteilten System, in unserem Beispiel von einem verteilten Dateisystem. Die Funktionen des verteilten Systems beschränken sich im Fall eines Netzwerkbetriebssystems auf höhere Dienste und benutzerspezifizierte Programmsysteme.
Erscheint lt. Verlag | 18.11.2005 |
---|---|
Reihe/Serie | Xpert.press | Xpert.press |
Zusatzinfo | X, 262 S. |
Verlagsort | Berlin |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Software Entwicklung |
Informatik ► Weitere Themen ► Hardware | |
Schlagworte | Architektur • Client-Server-Systeme • Computer • Datenbanken • Entwicklung • Hardware • Internet • Middleware • Netzwerk • Organisation • Programmiersprache • Rechnerarchitektur • Risikomanagement • Software • Software-Engineering • Softwareentwicklung • Sprache • Verteilte Systeme |
ISBN-10 | 3-540-27061-2 / 3540270612 |
ISBN-13 | 978-3-540-27061-4 / 9783540270614 |
Haben Sie eine Frage zum Produkt? |
Größe: 3,0 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich