Wirtschaftsinformatik: Anwendungsorientierte Einführung [Reprint 2013 ed.] 9783486806540, 9783486256031

Moderne Einführung in die Wirtschaftsinformatik inklusive einer Anleitung zur praktischen Arbeit mit dem PC für den, der

178 25 23MB

German Pages 628 Year 2000

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
TEIL I. INFORMATIK GRUNDLAGEN
1. Grundbegriffe
1.1. Wirtschaftsinformatik - Begriff und Gegenstand
1.2. Information, Kommunikation und Codierung
2. Hardwaresysteme
2.1. Definition, Bedeutung und Entwicklung
2.2. Rechnerklassen
2.3. Hardwarearchitektur
2.4. Hardwareperipherie
2.5. Auswahl der Hardware
3. Software
3.1. Betriebssysteme
3.2. Systemnahe Software
3.3. Anwendungssoftware
4. Rechnerverbundsysteme und Kommunikation
4.1. Anliegen und Grundbegriffe
4.2. Rechnernetze
4.3. Grundstruktur von Kommunikationsprozessen
4.4. Verfügbare Netzinfrastrukturen
4.5. Neue Softwarekonzepte zur Unterstützung von Kommunikationsprozessen
4.6. Kommunikationsdienste im Überblick
4.7. Arbeit im Internet
4.8. Die Nutzerschnittstelle des WWW
5. System-Konfiguration
5. System-Konfiguration
5.1. Konfiguration der Komponenten eines DV-Anwendungssystems
5.2. Gesamtsysteme
6. Datenorganisation
6.1. Organisation von Plattendateien
6.2. Datenbanksysteme
6.3. Datenschutz und Datensicherheit
7. Einführung in die Programmierung
7.1. Prozedurale und nichtprozedurale Programmierung
7.2. Objektorientierte Programmierung
7.3. Programmentwicklung
7.4. Programmieren unter Windows
8. Multimedia
8.1. Einführung
8.2. Multimediasysteme
8.3. Multimediaentwicklung und Einsatz
8.4. Beispiele für Multimediaanwendung
8.5. Multimediatrends
TEIL II. BETRIEBLICHE INFORMATIONSSYSTEME
1. Informationssysteme
1.1. Systeme
1.3. Das betriebliche Informationssystem
2. Architektur
2.1. Begriff
2.2. Das ARIS-Konzept von Scheer
2.3. ARIS-Informationsmodell
3. Software Engineering
3.1. Systemplanung/Vorgehen
3.2. Vorgangskettenanalyse
3.3. Datenmodellierung
3.4. Funktions- und Prozeßmodellierung
3.5. Prozeßmodellierung
3.6. Objektmodellierung
3.7. EDV-gestützte Vorgehensmodelle und Software-Werkzeuge
3.8. Reverse Engineering
4. Weiterführende Konzepte
4.1. Konzepte und Trends moderner Standardsoftware
4.2. Data Warehousing
4.3. Electronic Commerce
4.4. Wissensbasierte Informationssysteme im Unternehmen (Knowledge Management)
5. Informationsmanagement
5.1. Begriff und Hauptfunktionen des Informationsmanagements
5.2. Informationssystem-Management
5.3. Informationssysteminfrastruktur
5.4. Softwarestrategien
5.5. Aufbauorganisation und Informationsmanagement
5.6. Sicherung der Zielkonformität des Informationssystems
5.7. Verfahren der Systemauswahl
TEIL III: INDIVIDUELLE DATENVERARBEITUNG / PERSÖNLICHE NUTZUNG VON PC
1. Begriff und Wesen der individuellen Datenverarbeitung
2. Systemgrundlagen
2.1. Systemvoraussetzungen
2.2. Datensicherheit in der individuellen Datenverarbeitung
3. Selbständiger Einsatz (Stand Alone)
3.1. Textverarbeitung
3.2. Tabellenkalkulation
3.3. Grafik
3.4. PC-Datenbanken
4. Einsatz in Verbundsystemen
4.1. Systemvoraussetzungen
4.2. Das Internet
4.3. Allgemeines zum Arbeiten in Computernetzen
Recommend Papers

Wirtschaftsinformatik: Anwendungsorientierte Einführung [Reprint 2013 ed.]
 9783486806540, 9783486256031

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Wirtschaftsinformatik Anwendungsorientierte Einführung

Herausgegeben von Professor

Dr. Walter O. Riemann unter Mitarbeit von Prof. Dr. Manfred Goepel, Prof Dr. Klaus Kruczynski, Prof Dr. Petra Sauer, Prof Dr. Christian-Andreas Schumann, Prof Dr. Bernd Stöckert, Prof Dr. Rolf Urban, Prof Dr. Lothar Wagner, Prof Dr. Sabine Winkelmann

3., völlig neu bearbeitete und stark erweiterte Auflage

R.Oldenbourg Verlag München Wien

Die Deutsche Bibliothek - CIP-Einheitsaufnahme Wirtschaftsinformatik : anwendungsorientierte Einführung / hrsg. von Walter O. Riemann. Unter Mitarb. von Manfred G o e p e l . . . . - 3., völlig neu bearb. und stark erw. Aufl.. - München ; Wien : Oldenbourg, 2001 ISBN 3-486-25603-3

© 2001 Oldenbourg Wissenschaftsverlag G m b H Rosenheimer Straße 145, D-81671 München Telefon: (089) 45051-0 www,oldenbourg-verlag.de Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen. Gedruckt auf säure- und chlorfreiem Papier Gesamtherstellung: Druckhaus „Thomas Müntzer" GmbH, Bad Langensalza ISBN 3-486-25603-3

Vorwort zur dritten Auflage Die nun vorliegende dritte Auflage „Wirtschaftsinformatik" fuhrt das Konzept der zweiten konsequent fort. Fragen des Informationsmanagements und aktuelle Fragen der Wirtschaftsinformatik werden intensiver erörtert, insbesondere praxisbezogene Anforderungen an das Arbeiten mit computergestützten Informations- und Kommunikationssystemen sowie Planung imd Gestaltung derartiger Systeme und Tätigkeiten. Der Abschnitt II-4 (Weiterfiihrende Konzepte) wurde neu aufgenommen. Die Beiträge zu relativ systemnahen Themen wurden weiter verkürzt. Ich möchte auch an dieser Stelle den Mitautoren für ihre Bereitschaft zu engagierter Mitwirkung und ftir die Einhaltung der eng gesetzten Termine danken. Insbesondere gilt mein Dank Frau Andrea Höhlig, die neben einer hohen persönlichen Belastung auch diesmal das Korrekturlesen, die Gestaltung und Aufarbeitung des Textes bis zur druckreifen Vorlage übernommen hat. Walter O. Riemann

Vorwort zur zweiten Auflage Die vorliegende zweite Auflage der ursprünglichen „Betriebsinformatik", deren Titel der heute üblichen Terminologie entsprechend nun „Wirtschaftsinformatik" lautet, trägt den neueren Entwicklungen und Tendenzen im Bereich der Wirtschaftsinformatik Rechnung. Sie ist aber gegenüber der ersten nicht nur in Details aktualisiert. Wesentliche Änderungen sind: 1 Relativ systemnahe Themen wie Programmierung und physische Datenorganisation werden kürzer behandeU, Fragen des Informationsmanagements, der Modellierung von Informationssystemen, des Einsatzes von Personal Computern im Rahmen der sogenaimten „Individuellen Datenverarbeitung" und aktuelle Fragen wie Kommunikation, Multimedia, GASE Tools werden intensiver erörtert. Daraus resultierte eine neue Gesamtgliederung. Das überarbeitete Konzept beruht auf einer Gliederung nach • Informatikgrundlagen (Teil I), • Planung und Gestaltung betrieblicher Informationssysteme (Teil II) und • Individueller Datenverarbeitung mit Hinweisen zu sinnvoller Nutzung und Vermittlung von Systemgnmdlagen dazu (Teil III). Teil III hat nicht Lehrbuchcharakter, er ist vielmehr eine Anleitung zur praktischen Arbeit mit PC ftir den, der damit noch nicht vertraut ist.

VI

2 Der Autor, nun Herausgeber, konnte mehrere Kollegen zur Mitwirkung gewinnen. Damit wurde • einerseits die Überarbeitung bzw. Aktualisierung auf mehrere Personen verteilt, ohne daß die Autoren den Ehrgeiz hätten, in ihrem jeweiligen Teilgebiet zu sehr in die Tiefe zu gehen, • anderseits erreicht, daß verschiedene Lehr- und Praxiserfahrungen in den Text eingegangen sind Es wurde nicht versucht, Darstellungsweise imd Stil der Autoren um jeden Preis zu vereinheitlichen. Ebensowenig wurde verhindert, daß einzelne Themen zum Teil mehrfach, aber unter unterschiedlichen Gesichtspunkten, betrachtet werden. Unverändert geblieben ist die Zielsetzung, das notwendige Wissen anwendungsorientiert und praxisnah, weniger durch grundsätzliche Erörterungen, sondern mehr anhand von Fallbeispielen zu vermitteln. Wirtschafts-Informatik wird mit Schwergewicht auf dem ersten Teil des Wortes interpretiert, die Informatik wird als Instrument zur Lösimg oder Unterstützung der Lösung wirtschaftlicher Probleme betrachtet. Adressaten sind Studenten der Wirtschaftswissenschaften, der Informatik sowie Praktiker. Ich danke den Mitautoren für ihre Bereitschaft zu engagierter Mitwirkung und für die Einhaltung der eng gesetzten Termine. Insbesondere aber danke ich Frau Andrea Höhlig für Organisation und Verwaltung des Projektes, für Korrekturlesen und für Gestaltung und Aufarbeitung des Textes bis zur druckreifen Vorlage. Walter O. Riemann

VII

Themen/Autoren: Thema Teil I Informatik-Grundlagen 1 Grundbegriffe 2 Hardware 3 Software 3.1 Betriebssysteme 3.2 Systemnahe Software 3.3 Anwendungssoftware 4 Verbundsysteme 5 System-Konfiguration 6 Datenorganisation 6.1 Organisation von Plattendateien 6.2 Datenbanken 6.3 Datenschutz/Datensicherheit 7 Einfllhrung in die Programmierung 7.1 Prozedurale und nichtprozedurale Programmierung 7.2 Objektorientierte Programmierung 7.3 Programmentwicklung 8 Multimediasysteme Teil n Betriebliche Informationssysteme 1 Grundlagen 2 Architektur 3 Software Engineering 3.1 Systemplanung 3.2 Modellierung von Vorgangsketten 3.3 Dateimiodellierung 3.4 Funktionsmodellierung 3.5 Prozeßmodellierung 3.6 Objektorientierte Modellierung 3.7 EDV-gestützte Vorgehensmodelle und Software-Werkzeuge 3.8 Reverse Engineering 4 Weiterführende Konzepte 4.1 Konzepte und Trends modemer Standardsoftware 4.2 Data Warehousing 4.3 Electronic Conunerce (CRM) 4.4 Knowledge Management 5 Informationsmanagement Teil ni: Individuelle Datenverarbeitung 1 Begriff und Wesen der individuellen Datenverarbeitung 2 Grundfragen 3 Selbständiger Einsatz (Stand Alone) 4 Vemetzter Einsatz

Autor(en) Wagner Schumarm -

Urban Urban Riemarm Winkelmann Kruczynski -

Riemann Wagner/Sauer Winkehnarm -

Winkelmann Winkelmann Winkelmann Schumann Riemann Stöckert -

Riemann Stöckert Riemann Goepel Stöckert Sauer Riemarm Sauer Riematm Kruczynski Winkelmarm Schumann Riemarm RiemannAJrban Urban Riematm Urban

VIII

Autoren: Prof. Dr. Manfred Goepel, Westsächsische Hochschule Zwickau, Fachbereich PT/Informatik, Lehrgebiet Wirtschaftsinformatik Prof Dr. Klaus Kruczynski, Hochschule für Technik, Wirtschaft und Kultur Leipzig, Fachbereich Wirtschaftswissenschaften, Lehrgebiet Wirtschaftsinformatik Prof Dr. Walter O. Riemann, Westsächsische Hochschule Zwickau, Fachbereich Wirtschaftswissenschaften, Lehrgebiet Wirtschaftsinformatik Prof Dr. Petra Sauer, Westsächsische Hochschule Zwickau, Fachbereich Wirtschaftswissenschaften, Lehrgebiet Wirtschaftsinformatik Prof Dr. Christian-Andreas Schumann, Westsächsische Hochschule Zwickau, Fachbereich Wirtschaftswissenschaften, Lehrgebiet Wirtschaftsinformatik Prof Dr. Bernd Stöckert, Technische Universität Chemnitz, Fakultät für Wirtschaftswissenschaften, Lehrstuhl Wirtschaftsinformatik Prof Dr. Rolf Urban, Westsächsische Hochschule Zwickau, Fachbereich PT/Informatik, Lehrgebiet Betriebssysteme Prof Dr. Lothar Wagner, Westsächsische Hochschule Zwickau, Fachbereich Wirtschaftswissenschaften, Lehrgebiet Wirtschaftsinformatik Prof Dr. Sabine Winkelmann, Westsächsische Hochschule Zwickau, Fachbereich Wirtschaftswissenschaften, Lehrgebiet Wirtschaftsinformatik

IX

Inhalt TEIL I INFORMATIK GRUNDLAGEN

1

1

GRUNDBEGKIFTE

1

1.1 1.2 1.2.1

Wirtschaftsinformatik - Begriff und Gegenstand 1 Information, Kommunikation und Codierung 5 Erfordernisse des Informationsaustauschs im RIS als Mensch-MaschineSystem 5

2

HARDWARESYSTEME

2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.5

Definition, Bedeutung und Entwicklung Rechnerklassen Übersicht Großrechner Mittlere Systeme Workstation Personalcomputer Portables Hardwarearchitektur Grundaufbau Rechnerarchitektur Kemkomponenten von Computern Prozessoren Speicherbausteine Busse Schnittstellen Hardwareperipherie Klassifizierung Eingabe Speicherung Ausgabe Übertragung Auswahl der Hardware

6

6 9 9 11 12 13 14 15 16 16 18 21 23 25 27 29 31 31 32 34 39 44 46

3

SOFTWARE

48

3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.4.1 3.1.4.2 3.1.4.3 3.1.4.4 3.1.5 3.1.5.1 3.1.5.2 3.1.5.3

Betriebssysteme Was ist ein Betriebssystem? Die Aufgaben eines Betriebssystems Einige Grundbegriffe Betriebsart und Nutzungsform Ein- oder Mehrprozeßbetrieb Stapel- oder Dialogbetrieb Mehmutzerbetrieb Mehrprozessor- und Netzbetriebssysteme Ressourcen und die Tücken ihrer Verwaltung Ressourcen Prozeßzustände Scheduling: Vergabe von Prozessorzeit

48 48 49 52 54 54 56 57 58 58 58 59 62

3.1.5.4 3.1.5.5 3.1.5.6 3.1.5.7 3.1.6 3.1.7 3.1.7.1 3.1.7.2 3.1.7.3 3.1.7.4 3.1.7.5 3.1.7.6 3.2 3.2.1 3.2.2 3.3

Kritische Abschnitte Deadlocks Speicherorganisation - Virtueller Speicher Speicherorganisation: Paging Struktur von Betriebssystemen Charakteristik wichtiger Betriebssysteme der Gegenwart Betriebssysteme für Großrechner Betriebssysteme der Mini - Rechner - Strukturen Die UNIX-Welt PC-Betriebssysteme: MS-DOS Die DOS-Nachfolger: MS - Windows und OS/2 Ausblick: Betriebssysteme mit neuen Eigenschaften Systemnahe Software Dienstprogramme Übersetzungsprogramme Anwendungssoftware

67 68 74 76 79 82 83 85 86 90 92 93 94 94 96 101

4

RECHNERVERBUNDSYSTEME UND KOMMUNDCATION

103

4.1 4.2 4.3 4.4 4.5

Anliegen und Grundbegriffe Rechnemetze Grundstruktur von Kommunikationsprozessen Verfugbare Netzinfrastrukturen Neue Softwarekonzepte zur Unterstützung von Kommimikationsprozessen Kommunikationsdienste im Überblick Arbeit im Internet Aufljau des Internet und Dienste im Internet Das World Wide Web Navigation im WWW Die Nutzerschnittstelle des WWW Die Browser Viewer, Plugins und andere Dienste WWW-Server Wir erstellen eine WebSite in HTML oder XML Markup Languages Die Dokumentenbeschreibungssprache HTML Dynamische und interaktive Elemente im WWW Formulare CGI-Scripts Java-Applets und -Servlets JavaScript und JScript Dynamische HTML-Seiten durch Datenbankanbindung Editoren zur Erstellung der WebSites Allgemeines zur Gestaltung von WWW-Präsentationen Konzeptionelle Vorarbeit Bekanntheitsgrad und die Attraktivität einer WWW-Präsentation Was man sonst noch beachten sollte

103 105 110 114

4.6 4.7 4.7.1 4.7.2 4.7.3 4.8 4.8.1 4.8.2 4.8.3 4.8.4 4.8.4.1 4.8.4.2 4.8.5 4.8.5.1 4.8.5.2 4.8.5.3 4.8.5.4 4.8.6 4.8.7 4.8.8 4.8.8.1 4.8.8.2 4.8.8.3 5

SYSTEM-KONFIGURATION

116 118 127 128 129 130 132 132 135 136 137 137 138 142 142 144 145 146 149 151 153 153 154 155 157

XI 5

SYSTEM-KONFIGURATION

157

5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.2 5.2.1 5.2.2

Konfiguration der Komponenten eines DV-Anwendungssystems Grundlagen des Konfigurierens Hardware-Konfiguration Software-Konfiguration Darstellungstechniken Gesamtsysteme Netz-Konfiguration Zusammenfassendes Beispiel

157 157 159 163 164 166 166 169

6

DATENORGANISATION

171

6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.1.5.1 6.1.5.2 6.1.6 6.1.6.1 6.1.6.2 6.1.6.3 6.1.7 6.1.8 6.1.9 6.2 6.2.1 6.2.2 6.2.3 6.2.3.1 6.2.3.2 6.2.3.3 6.2.3.4 6.2.4 6.2.4.1 6.2.4.2 6.2.5 6.2.6 6.2.6.1 6.2.6.2 6.2.6.3 6.2.6.4 6.2.7 6.3 6.3.1 6.3.2 6.3.3

Organisation von Plattendateien Vorbemerkungen zum Thema Dateiorganisation Datenhierarchie Verwaltungs- und Verarbeitungsfunktionen Fortlaufend gespeicherte oder sequentielle Datei Random Datei Direkte Datei Hash-Datei Datei mit Index Einstufiger, linearer Index Index-sequentielle Datei Index als B-Baum Adreßverkettung in Dateien Invertierte Datei Entscheidungskriterien zur Dateiorganisation Datenbanksysteme Einfuhrung Architektur von Datenbanksystemen Datenmodelle von Datenbanksystemen Überblick Entity-Relationship-Modell Klassische Datenmodelle Objektorientierte Datenbankmodelle Grundlagen des Relationalen Datenmodells Datenstruktur Integritätsbedingungen Datenbankentwurf Datenbanksprache SQL Einfuhrung SQL zur Datendefinition SQL zur Datenmanipulation SQL zur Datenabfrage Weitergehende Ansätze Datenschutz und Datensicherheit Anliegen von Datenschutz/Datensicherheit Rechtsgrundlagen des Umgangs mit Daten Normung und Prüfung der Computersicherheit

171 171 171 173 175 176 176 178 179 179 180 184 189 192 193 194 194 197 200 200 201 202 206 209 209 212 214 217 217 217 219 220 223 224 224 227 230

XII

6.3.4 6.3.4.1 6.3.4.2 6.3.4.3 6.3.5 6.3.6

Datensicherheit im Unternehmen 231 Hauptziele 231 Ursachen für Defizite 231 Betriebliche Datensicherheitsstrategie 233 Sicherheit in Rechnemetzen 239 Maßnahmen zur Abwehr von Software-Manipulationen, z. B. durch Computer-Viren 242

7

EINFÜHRUNG IN DIE PROGRAMMIERUNG

249

7.1 7.1.1 7.1.1.1 7.1.1.2 7.1.1.3 7.1.1.4 7.1.2 7.1.2.1 7.1.2.2 7.1.2.3 7.1.3 7.2 7.3 7.3.1 7.3.2 7.3.3 7.4

Prozedurale und nichtprozedurale Programmierung Rolle von Algorithmen Was ist Programmieren Optimierung von Algorithmen Bewertung wichtiger Algorithmen Quicksort als rekursiver Algorithmus Strukturelemente von Algorithmen Prinzip der strukturierten Programmierung Elemente einer Programmiersprache Kontrollstrukturen (Steuerkonstrukte) Prozedurale versus nichtprozedurale Programmierung Objektorientierte Programmierung Programmentwdcklung Zustandekommen laufFähiger Programme Modularisierung von Programmen Testen von Programmen Programmieren unter Windows

249 249 249 250 251 253 254 254 254 255 261 263 268 268 269 270 273

8

MULTIMEDU

276

8.1 8.2 8.2.1 8.2.2 8.2.3 8.3 8.3.1 8.3.2 8.3.3 8.3.4 8.4 8.4.1 8.4.2 8.5

Einführung Multimediasysteme Definition und Inhalt Bedarf und Einsatzfelder Basistechnik und -technologien Multimediaentwicklung und Einsatz Vorgehensmodell Planung Realisierung Test, Einfuhrung und Nutzung Beispiele für Multimediaanwendung Objektbeschreibung und Anwendungsziele Entwicklung und Einsatz Multimediatrends

276 277 277 281 283 288 288 289 291 292 294 294 296 300

T E I L II B E T R I E B L I C H E I N F O R M A T I O N S S Y S T E M E

301

1

INFORMATIONSSYSTEME

301

1.1

Systeme

301

XIII 1.1.2 1.3 1.3.1 1.3.3

Regelung Das betriebliche Informationssystem Einbindung und Gliederung Sichten von Informationssystemen

303 311 311 322

2

ARCHTTEKTÜR

2.1 2.2 2.3

Begriff Das ARIS-Konzept von Scheer ARIS-Informationsmodell

3

SOI!''I'WARE ENGINEERING •••••»•••••»••••••••••»••»•»••••••••••••••»•••••••••••••••••••••••••328

3.1 3.1.1 3.1.2 3.1.2.1 3.1.2.2 3.1.2.3 3.1.2.4 3.1.2.5 3.1.2.6 3.1.2.7 3.1.3 3.1.4 3.1.5 3.1.7 3.1.9 3.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.6 3.4 3.4.1 3.4.2 3.4.3 3.4.4 3.4.4.1 3.4.4.2 3.4.4.3 3.4.4.4 3.4.4.5 3.5 3.5.1 3.5.2 3.6 3.6.1 3.6.2

SystemplanungA^orgehen Vorbemerkungen Phasenmodell Vorschlagsphase (Initialphase) Definitionsphase Konzeptphase Entwurfsphase Realisierungsphase Implementierungsphase Zusammenfassung Software Lebenszyklus Prototyping Ein modifiziertes Vorgehensmodell Personell/organisatorische Fragen Besonderheiten beim Einsatz von Standardsoftware Vorgangskettenanalyse Datenmodellierung Probleme der Datenorganisation in Informationssystemen Phasen der Datenmodellierung Methoden der Datenmodellierung Entity-Relationship-Modell (ERM) Fallbeispiel zur Datenmodellierung Funktions- und Prozeßmodellierung Probleme der Funktionssicht in Informationssystemen Arbeitsweisen der Funktionsmodellierung Module und Modularisierung Darstellungsmittel und -methoden der Funktionsmodellierung Funktionsbaum-Darstellung HIPO-Methode Structured Analysis (SA) Structured Analysis and Design Techniques (SADT) Zusammenfassung zu den Darstellungsmitteln und -methoden Prozeßmodellierung Aufgaben der Prozeßmodellierung Darstellung von Geschäftsprozessen Objektmodellierung Begriff Einführung in die Unified Modeling Language (UML)

323

323 323 327 328 328 330 332 333 334 335 337 338 338 339 340 341 347 349 350 353 353 355 356 358 375 385 385 389 394 397 397 400 402 407 411 412 412 412 418 418 420

XIV 3.6.2 3.6.2.1 3.6.2.2 3.6.3 3.6.3.1 3.6.4 3.7 3.7.1 3.7.2 3.8 3.8.1 3.8.3

Einfuhrung in die Unified Modeling Language (UML) Grundlagen Bestandteile von UML Objektmodellierung mit der Unified Modeling Language Fallbeispiel Zusammenfassung und Wertung EDV-gestützte Vorgehensmodelle und Software-Werkzeuge Begriff CASE-Tools Reverse Engineering Begriff Werkzeuge zum Reverse Engineering

4

WEITERFÜHRENDE KONZEPTE

456

4. 1 4.1.1 4.1.2 4.1.3 4.1.4 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.4.1 4.2.4.2 4.2.4.3 4.2.4.4 4.2.5 4.2.5 4.3 4.3.1 4.3.2

Konzepte und Trends modemer Standardsoftware Der Markt für Standardsoftware Konzeptionelle Merkmale modemer Standardsoftware Systemarchitektur Aktuelle Entv^cklung, Trends Data Warehousing Information als Erfolgsfaktor Entwicklung zum Data Warehousing Data Warehouse-Konzept Einfuhrung in OLAP Multidimensionale Analyse OLAP-Anforderungen OLAP-Architekturen OLAP-Anwendungsbeispiel Grundzüge der Data Warehouse-Modelliemng Data Warehouse-Prozeß Electronic Commerce Begriffsklärung, Ziele und Randbedingungen des Einsatzes Möglichkeiten der rechnergestützten Administration-to-CustomerKommunikation Unterstützung einzelner Phasen des Wertschöpfungsprozesses : Beschafftmg Unterstützung der Leistungserstellung Unterstützung von Werbung, Online-Marketing und Verkaufsdurchfiihrung Unterstützung von Versand und Logistik Kundenpflege (Customer Relationship Management) Wissensbasierte Informationssysteme im Untemehmen (Knowledge Management) Einfuhrung Wissen im Untemehmen Wissen in betrieblichen Informationssystemen Wissensmodellierung und Wissensbasierte Systeme Wissensbasierte betriebliche Anwendungen (Beispiele)

456 456 458 467 468 472 472 473 474 476 476 477 479 480 482 484 484 484

4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5

420 420 421 423 423 445 446 446 447 453 453 455

490 491 492 493 494 494 495 495 498 501 504 509

XV 5

INFORMATIONSMANAGEMENT

5.1 5.1.1 5.1.2 5.1.3

Begriff und Hauptfunktionen des Informationsmanagements 511 Einführung in die Problematik des Informationsmanagements 511 Der Begriff Informationsmanagement 512 Informationsmanagement als betriebswirtschaftliche Führungsaufgabe 512 Strategische, taktische und operative Aufgaben des Informationsmanagements 514 Informatik-Strategien („Information als Waffe") 515 Der Informationsmanager als Institution 516 Hauptfragen des Informationsmanagements 517 Informationssystem-Management 517 Informationsarchitektur und Informationsinfrastruktur 517 Prioritäten för IT(Informationstechnologie)-Projekte 519 Informationssysteminfrastruktur 521 Begriffliche Klärung 521 Basissystem/ Systemplattformen 522 Zentrale vs. dezentrale Lösungen 526 Downsizing/Rightsizing 526 Client/Server-Konzepte 527 Softwarestrategien 527 Standard-ZIndividualsoftware 527 Richtlinien zur Eigenentwicklung 530 Auftjauorganisation und Informationsmanagement 532 Eingliederung der DV-Abteilung in die Organisation des Betriebes 532 Struktur der DV-Abteilung 533 Support Center 533 „Lean Organization" für das Informationssystem 534 Ausgliederung von Funktionen der Informationsverarbeitung 535 Sicherung der Zielkonformität des Informationssystems 536 Zielklassifikation 536 Allgemeine Nutzenziele 537 Spezielle Nutzenziele 537 Software-Qualitätsziele 538 Kosten- und Zeitziele 540 Zielkonkurrenz 541 Verfahren der Systemauswahl 541 Rahmenbedingungen 541 EntscheidungsvorbereitungZ-kriterien 542 Beispiel zur Systemauswahl 544

5.1.4 5.1.5 5.1.6 5.1.7 5.2 5.2.1 5.2.2 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.4 5.4.1 5.4.2 5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 5.6 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 5.6.6 5.7 5.7.1 5.7.2 5.7.3

511

T E I L LU: I N D I V I D U E L L E D A T E N V E R A R B E I T U N G / P E R S O N L I C H E NUTZUNG VON PC 547 1

BEGRIFF UND WESEN DER INDIVIDUELLEN DATENVERARBEITUNG...547

XVI 2

SYSTEMGRUNDLAGEN

549

2.1 2.2

Systemvoraussetzungen Datensicherheit in der individuellen Datenverarbeitung

549 552

3

SELBSTÄNDIGER EINSATZ (STAND ALONE)

559

3.1 3.2 3.3 3.4

Textverarbeitung Tabellenkalkulation Grafik PC-Datenbanken

559 560 564 565

4

EINSATZ IN VERBUNDSYSTEMEN

571

4.1 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.3 4.3.1 4.3.2 4.3.3 4.3.4

Systemvoraussetzungen Das Internet Einstieg Das World Wide Web als integrierender Dienst Suchen und Finden im WWW FTP - File Transfer Protocol Im Dialog auf fernen Rechnern: Remote-Login Weitere Internet-Dienste Electronic Mail Allgemeines zimi Arbeiten in Computemetzen Sicherheit in vernetzten Systemen Nettiquette und loyales Verhalten gegenüber anderen Netznutzem Reglementierung in staatlich gestützten Netzen Recht im Internet (das Internet als rechtsfreier Raum?)

571 572 572 576 577 579 579 580 581 582 582 586 587 588

Teil I Informatik Grundlagen

Teil I Informatik Grundlagen 1 Grundbegriffe Der rapide technische Fortschritt in der Erfassung, Verarbeitung, Speicherung und Übertragung von Informationen sowie die ständige Ausweitung und Vertiefung des Anwendungsbereiches fuhren zu immer neuen Begriffen und zum Bedeutungswandel bereits existierender Begriffe. Oft werden in der Literatur bestimmten Begriffen unterschiedliche Bedeutungen oder partiell abweichende Inhahe beigemessen, mitunter werden auch für den gleichen Sachverhalt verschiedene Bezeichnungen verwendet. Es kann nicht Anliegen des vorliegenden Buches sein, sich mit den unterschiedlichen Auffassxmgen und Auslegungen dieses oder jenes Begriffes auseinanderzusetzen und davon die eigene Auffassung „wissenschaftlich" begründet abzuleiten. Der Leser muß jedoch wissen, in welchem Sinne die verschiedenen Begriffe hier verwendet werden. Diesem Anliegen dient in hohem Maße der Abschnitt 1.

1.1 Wirtschaftsinformatik - Begriff und Gegenstand Informatik (engl.: Computer Science/Informatics) ist die Wissenschaft von der systematischen Verarbeitung von Informationen. Sie beschäftigt sich vor allem mit • • •

den Möglichkeiten und Erfordernissen der automatisierten Verarbeitung mit Hilfe von Computern, der Informations- und Kommunikationstechnik und deren Anwendung sowie den grundsätzlichen Verfahren der Verarbeitung, Speicherung und Übermittlung von Informationen.

Wesentliche Teilgebiete der Informatik sind daher • • • •



Theorie und Funktionsweise informationsverarbeitender und -übertragender technischer Systeme, insbesondere Computer und Computemetze Rechnerarchitekturen, und -konfigurationen incl. deren Komponenten, insbesondere Schaltnetze, Schaltwerke und Prozessoren {Hardware), Computersprachen und Programme {Befehlsfolgen) zur Steuerung von Computern sowie der Arbeit in Computemetzen (Software) Verwaltung von Datenbeständen in elektronischen Speichermedien Prinzipien, Methoden, Verfahren und Werkzeuge (tools) zur Entwicklung von rechnergestützten Systemlösungen (Software Engineering) sowie die Anwendungen und Auswirkungen des Einsatzes von Anwendungssystemen.

2

1 Grundlagen

Diese sogen. Kerninformatik wird allgemein in drei Teildisziplinen untergliedert: mit Automatentheorie, Schaltwerktheorie, Theorie der formalen Sprachen, Datenstrukturen, Theorie komplexer Systeme (z. B. komplexe Software). • •

Technische Informatik mit Schaltungstechnologie, Mikroprogrammierung Rechnerorganisation und -architektur, Rechnemetze, Schnittstellentechnik. Praktische Informatik mit Programmiertechnologie, Programmiersprachen und Übersetzerbau, Softwareentwicklung, Betriebssysteme, Künstliche Intelligenz, Computergrafik, Mensch-Maschine-Kommunikation.

Neben der Kerninformatik haben sich zunehmend ,Angewandte Informatiken" (sogenannte Bindestrich-Informatiken) herausgebildet und eine relativ eigenständige Bedeutung erlangt. Sie beschäftigen sich mit den Besonderheiten der Anwendung der Informatik in verschiedenen Bereichen (z.B. Ingenieurwesen, Medizin, Recht, Umwelt). Dabei gibt es enge Beziehungen zur Praktischen Informatik. Praktische und Angewandte Informatik sind daher mitunter schwer zu trennen. So werden Entwicklungen, die in nahezu jedem dieser Anwendungsbereiche genutzt werden können, wie z. B. Computergrafik, Künstliche Intelligenz, Simulation, Mensch-Maschine-Kommunikation und andere teils der Praktischen, teils der Angewandten Informatik zugeordnet. Eine relativ klare Abgrenzung ergibt sich, wenn man von folgendem Standpunkt ausgeht (Abb. I-l.l-l): • •

Gegenstand der Praktischen Informatik ist das Programmieren zur Entwicklung und Erweiterung der Eigenschaften und Fähigkeiten des Computers. Gegenstand der Angewandten Informatik ist der Einsatz des Computers als Werkzeug zur effektiven Lösung von konkreten Aufgaben (in einem Bereich des gesellschaftlichen Lebens).

Informatik

Theoretische Informatik Automatentheorie Schaltwerktheorie Theorie der formalen Sprachen Datenstrukturen Theorie komplexer Systeme

Technische Informatik

Praktische Informatik

r Angewandte"! I Informatik I

Programmiertechnologi« - Wirtschaftsinformatik - Schaltungstechnologit Verwaltungsinformatik - Mikroprogrammieruni - Programmiersprachen • Ingenieurinformatik • Rechnerorganisation Übersetzerbau Medizininformatik und -architektur Softwareentwicklung Rechtsinformatik • Rechnemetze Betriebssysteme Umwehinformatik • Schnittstellentechnik Künstliche Intelligenz Computergrafik Mensch-MaschineKommunikation

Abb. I - l . l - l : Gliederung der Informatik

Teil I Informatik Grundlagen

3

Als eines der umfangreichsten Anwendungsgebiete hat sich bereits seit den 60-er Jahren die Wirtschaftsinformatik (ursprünglich als Betriebsinformatik bezeichnet) entwickeh. Die Wirtschaftsinformatik ist als interdisziplinäres Fachgebiet im Grenzbereich zwischen den Wirtschaftswissenschaften (insbesondere der Betriebswirtschaftslehre) und der Informatik angesiedeh. Sie befaßt sich mit der Entwicklung, Einföhrung und Nutzung von rechnergestützten Informations- und Kommunikationssystemen in der Wirtschaft imd damit mit einem weiten Feld von Problemen, mit denen sich weder die BWL noch die (Kem-)Informatik auseinandersetzen. Dabei bestehen Überschneidungen sowohl mit der BWL als auch mit der (Kern-) Informatik. Darüber hinaus gibt es Beziehimgen zu weiteren Wissenschaftsdisziplinen, auf deren Ergebnisse die Wirtschaftsinformatik floßt oder die zumindest die Entwicklung von Teilgebieten der Wirtschaftsinformatik beeinflussen. Das betrifft insbesondere die Mathematik und verschiedene Technikwissenschaften (vor allem Elektrotechnik und Nachrichtentechnik), aber auch die Arbeitswissenschaften, die Kybernetik, die Psychologie und andere (Abb. 1-1.1-2).

Arbeitswissenschaften Kybernetik, Psychologie, Medizin u.am.

irtschaftsinformatik Mathematik Technik

Abb. 1-1.1-2: Stellung der Wirtschaftsinformatik

Wesentliche Betätigimgsfelder der Whtschaftsinformatik sind: •

Konzeption, Entwicklung imd Anwendung von Systemen zur rechnergestützten Informationsverarbeitimg als Mensch-Maschine-Systeme. Sie werden i.allg. als rechnergestiitzte Informationssysteme, EDV-Systeme oder auch als betriebliche (EDV-)Anwendungssysteme bezeichnet und implizieren a) die aufeinander abgestirmnte Nutzung von Hardware und Software, b) die organisatorischen Regelungen, c) Methoden und Werkzeuge zur Gestaltung der rechnergestützten betriebswirtschaftlichen Abläufe (Orgware) und d) den Menschen als Systembenutzer (mitunter als Manware bezeichnet).

4

1 Grundlagen Im Industrieunternehmen handelt es sich dabei z.B. um Anwendungssysteme für Beschaffung, Produktion, Marketing, Vertrieb u. dgl. Hierbei rückt immer stärker die integrierte Lösung der Informationsverarbeitung für den Betrieb als Ganzes in den Vordergrund: CIM {Computer Integrated Manufacturing).



• • • • •

• •

• •

Rationelle Entwicklung von rechnergestützten Lösungen für betriebliche Anwendungssysteme unter Nutzung spezieller Methoden, Techniken und Werkzeuge {Software Engineering). Analyse und Modellierung von Datenstrukturen zur rationellen Speicherung imd Verwaltung der Datenbestände {Datenorganisation/Datenmanagement). Analyse, Modellierung und Optimierung betriebswirtschaftlicher Prozeßabläufe (Geschäftsprozeßmodellierung). Ergonomische Gestaltung computergestützter Arbeitsplätze. Einsatz modemer Kommunikationstechnik, insbesondere zur Büroautomation. Planung und effiziente Organisation der Beschaffimg, Bereithaltung/Speicherung, Transformation und Bereitstellimg der für die Betriebsführung relevanten Informationen {Informationsmanagement). Entwicklung und Anwendung von Systemen zur Entscheidungsunterstützung von Führungs- imd Fachkräften {Management-Support-Systeme). Entwicklung von vsdssensbasierten Systemen zur Entscheidungsunterstützung in betrieblichen Funktionsbereichen, insbesondere für dispositive Aufgaben {Expertensysteme). Kriterien zur Auswahl geeigneter Hard- und Software für EDVAnwendungen im betriebswirtschaftlichen Bereich. Verfahren zur Ermittlung der Wirtschaftlichkeit von EDV-Anwendungen.

In den voranstehenden Aufzählungen wird wiederholt der Sj'j/eiw-Begriff verwendet. Aus der Sicht der Kybernetik, insbesondere der System- und der Informationstheorie, kann ein Betrieb als komplexes, dynamisches, selbstregulierendes System aufgefaßt werden. In einem solchen System sind die Elemente (z.B. Menschen, Maschinen, Informationstechnik; auch Aufgaben bzw. Funktionen wie Beschaffung, Produktion, Vertrieb) durch irgendwelche Beziehungen miteinander verknüpft (Stoff, Energie, Information).

Abb. 1-1.1-3: Stellung des rechnergestützen Informationssystems im System Betrieb

Teil I Informatik Grundlagen

5

Ein System, bei dem die Beziehungen zwischen den Elementen auf dem Austausch von Mitteilungen beruhen, die miteinander kommunizieren, wird als Kommunikationssystem (KS) bezeichnet. Sind diese Kommunikationsprozesse formalisiert. d.h. existieren genaue Regeln, die festlegen wie Mitteilungen beschafft und ausgetauscht werden, dann handelt es sich um ein Informationssystem (IS). In diesem Sinne kann em Informationssystem in ein größeres Kommunikationssystem eingebettet sein. Wird die Formalisierung der Kommunikationsprozesse so weit getrieben, daß sie automatisierbar sind und auf dieser Basis der Austausch und die Verarbeitung der Informationen mit Hilfe der Informationstechnik abgewickelt wird, dann spricht man vom rechnergestützen Informationssystem (RIS) synonym zu {EDV)- Anwendungssystem oder EDV-System. Damit werden drei Stufen fortschreitender Formalisierung sichtbar (vgl. Abb. I1.1-3).

1.2 Information, Kommunikation und Codierung 1.2.1 Erfordernisse des Informationsaustauschs im RIS als Mensch-Maschine-System Bei der Nutzung der Informatik zur effektiven Lösung von Aufgaben in der Wirtschaft ergeben sich für den Betriebswirtschaftler vor allem drei Aufgabenkomplexe: a)

Das Erfassen, Bereitstellen und ständige Aktualisieren der Informationen sowohl über die eingesetzten Betriebsmittel, Werkstoffe und Arbeitskräfte als auch über den geplanten imd den tatsächlichen Ablauf der Wirtschaftstätigkeit. Dabei geht es insbesondere um die Fragen der Darstellung der Informationen (wie fiir Mensch und Maschine lesbar?) und der Verwaltung der Informationen (übersichtliches und redundanzarmes Speichern, rasches Wiederauffmden gewährleisten). b) Das logisch-algorithmische Formulieren des Lösungsprozesses für die verschiedenen betriebswirtschaftlichen Aufgaben. Hierbei werden zwei Arten von Algorithmen benötigt: Algorithmen für den determinierten {rechnerexternen) Arbeitsablauf zur Lösung der betriebswirtschaftlichen Prozeßabläufe im Unternehmen innerhalb und zwischen den Fachbereichen (bereichsübergreifende Aufgaben). Hierzu dienen Darstellungsmethoden wie Prozeßablaufketten, Datenflußdiagramme, Datenflußpläne, Blasendiagramme u.a.m. (siehe Abschnitt II-3.1). Algorithmen zur Steuerung des rechnerinternen Bearbeitungsablaufs.

6

c)

2 Hardware Für die Planung des Bearbeitungsablaufs im Computer, d.h., für den Programmentwurf, werden Darstellungsmethoden genutzt wie Programmablaufplan, Struktogramm, Pseudocode u.a.m. (siehe Abschnitt 1-7.2). Die betriebswirtschaftliche Wertung und Auswertung der DV-Ergebnisse anhand der Rechnerausdrucke und Bildschirmanzeigen. Hierbei geht es um das zweckmäßige Aufbereiten und übersichtliche Darstellen der ermittelten Ergebnisse für das Ableiten fimdierter Entscheidungen und Handlungen.

Eine grundlegende Voraussetzung für die Nutzung des Computers zur Lösung anstehender Aufgaben ist folglich die Möglichkeit des Austauschs von Informationen zwischen dem Menschen und dem Computer. Einerseits müssen Informationen in maschinell lesbarer Darstellung an den Computer übergeben werden, sowohl die Informationen über den betriebswirtschaftlichen Prozeßablauf als auch die Algorithmen zur Bearbeitung dieser Informationen Andrerseits müssen die Ergebnisse des maschinellen Bearbeitungsprozesses in einer vom Menschen auswertbaren Form zur Verfügung stehen

2 Hardwaresysteme 2.1 Definition, Bedeutung und Entwicklung Systeme der Informationsverarbeitung verfugen generell über drei Subsysteme: Hardware, Software und Orgware. Sie wird nach [IBM2] defmiert als: ,J'hysical equipment used in data processing, as opposed to Computer programs, procedures, rules and associated documentation." Das Bestreben des Menschen, physische Geräte für die Erleichterung der Ausführung mathematischer Operationen zu verwenden, war immer eng an die Entwicklung von geschäftlichen Prozessen, wie beispielsweise Handel und Gewerbe, geknüpft. Die Aufgabe, Daten zu erfassen, zu speichern, zu verarbeiten und auszugeben, soll durch technische Hilfsmittel vereinfacht und beschleunigt werden. Dieses Prinzip lag dem einfachen Abakus, dessen Entwicklung bereits vor den Beginn imserer Zeitrechnung datiert wird, genauso zu Grunde, wie einem heutigen multi- und telemedialen Computerarbeitsplatz. Im Laufe der Zeit wurden bahnbrechende Erfindungen gemacht, deren Anwendung jedoch auch immer im Kontext mit gesamtgesellschaftlichen Entwicklungen zu sehen ist. So entstehen mechanische Rechenmaschinen vor allem in der Zeit der Ausprägung des Manufakturwesens, Computer im Zeitalter der industriellen Entwicklung und vernetzte, multimediale Systeme mit Beginn des Überganges von der Industrie- zur Informations- bzw. Wissensgesellschaft. Meilensteine dieser Entwicklung waren:

Teil I Informatik Grundlagen 2. Jh. V. Chr.

Abakus (Rechenbrett)

Antike Erfindung

17. Jh.

Rechenmaschinen

Schickard, Pascal, Leibnitz

18. Jh.

Lochkarte

Falkon

19. Jh.

Difference Engine, Analytical Engine

Babbage

Elektrische Lochkartenapparatur

Hollerith

20. Jh.

30er

Programmierbarer Rechner

40er

Elektromechanische Rechenmaschine

Zuse

Programmgesteuerter Rechenautomat Mark I

Aiken

Elektronenrechner ENL\C

Eckert, Maulchy

Großrechner in Serie UNIVAC

Eckert, Maulchy

50er

Rechenautomat, flexible Speicherprogrammierung von Neumann

60er

70er

80er

90er

Großrechner IBM650

IBM

Rechenautomat, transistorgesteuert

Felker / Bell Laboratories

Kompatible Großrechner IBM/360

IBM

RAM-Speicherchips

Intel

Microprozessortechnik

Intel

Microcomputer

Apple

Personalcomputer

Apple, Commodore

Personalcomputer

IBM

PC mit integrierten, graphischen Oberflächen

Apple, Microsoft, IBM

PC-Vemetzung PC mit RISC-Prozessoren

Apple, IBM, Motorola

Multimedia-Technik, neue Prozessor- und Speichertechnik

Intel, AMD, DVD-Forum, etc.

Die forcierte Entwicklung der elektronischen Datenverarbeitung in den sechziger Jahren wurde ausgelöst durch die schnelle Entwicklung von Wissenschaft, Wirt-

8

2 Hardware

Schaft und Technik. Es entstand ein enormer Bedarf an Hilfsmitteln, die der Bewältigung der Daten- und Informationsflut dienen können. Dabei stand zunächst im Mittelpunkt, wie vorhandene Hardwaresysteme sinnvoll für die laufenden Prozesse der Datenverarbeitung genutzt werden köimen. Grundüberlegung war, Möglichkeiten einer existierenden Technik zur besseren Beherrschung von Geschäftsprozessen zu verwenden. Die Hardware bestimmte den Handlungsrahmen für den Einsatz der elektronischen Datenverarbeitung. Dieser Rahmen war schnell ausgeschöpft, so daß in der nächsten Stufe der Entwicklxmg bereits die Software, zunächst vor allem in Form systemnaher Software (Betriebssysteme), wachsenden Einfluß in Systemen der Informationsverarbeitung gewann. Im Laufe der Zeit mit der immer stärkeren Durchdringung der beliebiger Prozesse im gesellschaftlichen Rahmen durch die elektronische Datenverarbeitung und deren Wandel zur Informationsverarbeitung kam es zu einer rasanten Entwicklung der Hardwarebasis. Mit dem Übergang zur Informationsverarbeitung änderte sich die Vorgehensweise bei der Nutzung der Daten- und Informationsverarbeitungssyteme. Ausgehend von der avisierten Funktionalität der Systeme werden Anforderungen an Orgware und Software gesteift, die wiederum bestimmte Hardwaresysteme bedingen. Heute bestimmen nicht mehr primär die technischen Möglichkeiten neuer Hardware die Anwendungsbreite der Informationsverarbeitung, sondern die Hardwareentwicklung wird durch neue Bedürfiiisse der Anwendung getrieben. Ein breites Spektrum an Hardwarekomponenten steht zur Verfugung, um die sehr differenzierten Anwendungswünsche zu erfüllen. Signifikanten Entwicklungsetappen werden Computergenerationen zugeordnet. Beispielsweise waren die ersten vier Computergenerationen eindeutig an die Nutzung folgender Bauelemente gebunden: 1. Generation:

Elektrische Röhren

2. Generation:

Transistoren

3. Generation:

Integrierte Schaltkreise

4. Generation:

Schaltkreisminiaturisierung

Da die Miniaturisierung der Schaltkreise auch zukünftige, neue und leistungsfähigere Rechner stark prägen wird, kann durchaus davon ausgegangen werden, daß das Entwdcklungspotential für Computer der vierten Generation bei weitem noch nicht ausgeschöpft ist. Der nachfolgende Überblick zum Stand der Technik im Hardwarebereich, ist immer im Zusammenhang mit Soft- und Orgware sowie den darauf basierenden Anwendungen zu verstehen. Die Beispiele konzentrieren sich auf Grund der weiten Verbreitung, der starken Anwendemähe sowie des relativ einfachen und überschaubaren Aufbaues auf die Welt der Personalcomputer. Die Kombination von Hardwarekomponenten und -subsystemen mit Software und Netzwerken wird im Kapitel Systemkonfiguration behandelt.

Teil I Informatik Grundlagen

9

Ohne das Verständnis grundlegender Hardwarearchitekturen, -komponenten und Wirkprinzipien ist eine effiziente Nutzung von Rechen- und Kommunikationstechnik nicht möglich. Vor allem die zunehmende Integration von Informations- und Kommunikationstechnologien gestützt durch technische Systeme, die aus Komponenten der Computertechnik, Unterhaltungselektronik und der Telekommunikation zusammengesetzt werden, hat Synergieeffekte erschlossen, jedoch auch zu sehr komplexen Hardwareanforderungen und -systemen gefuhrt. Hardware als einzelne Komponente oder im System ist und bleibt eine der Hauptkomponenten der Informationsverarbeitung. Der Einsatzcharakter hat sich gewandelt.

2.2 Rechnerklassen 2.2.1 Übersicht Normalerweise können technische Anlagen, wie Computer, nach technischen Kriterien, Bauweisen sowie Leistungsparametem klassifiziert werden. In der Computertechnik ist jedoch zu beachten, daß auf Grund der Komplexität und Modularität der Anlagen bei heutzutage sehr differenten Anwenderwünschen ein sehr breites Spektrum sehr unterschiedlich konfigurierter Systeme existiert. Das führt an den Grenzbereichen zu Überlappung imd Verwischimg beispielsweise von Architektur- und Leistungsmerkmalen. Zudem stammen de facto alle gegenwärtigen Systeme im Prinzip von einer kleinen Gruppe von „Urrechnem" ab. Es erscheint daher sinnvoll, der allgemein üblichen Klassifizierungsstrategie zu folgen, die ausgehend von der historischen Entwicklung der Rechentechnik betrachtet, wie sich sukzessive bestimmte Klassen auf Basis bestimmter Einsatzkriterien, Baugrößen, Bauweisen, Leistungsparameter, etc. herausgebildet haben. Anzunehmen ist jedoch, daß in der weiteren Entwicklung der Computertechnik auch die Differenzierung der Bauarten zunimmt, so daß in der Perspektive durchaus nach neuen Kriterien beispielsweise nach den physikalischen Wirkprinzipien (elektrisch, optisch, etc.) klassifiziert werden könnte. Ausgehend von den ersten Computern, die in den fünfziger Jahren gebaut wurden, haben sich mehrere Klassen von Rechnern im Laufe der Entwicklung herausgebildet. Die zuerst vorhandenen Großrechner werden auch als Universah-echner bezeichnet, da sie für kommerzielle als auch wissenschaftlich-technische Anwendungen eingesetzt werden. Mit der Miniaturisierung der Baugruppen der Rechner spaltete sich aus den kleinen Großrechnern zuerst die Klasse der Minirechner ab. Minirechner waren zunächst Abteilungsrechner im Gegensatz zu den Großrechnern, die in der Regel größere Einheiten bedienten. Aus dieser Klasse, die auch als mittlere Datentechnik bezeichnet wird, entwickelte sich die Unterklasse der Arbeitsplatzrechner, auch Workstations genannt. Professionelle Anwendungen wurden zunächst nur mit diesen Klassen betrieben. Wiederum eine Neuerung der Bauelementeentwicklung bedingte die Bildung der nächsten Klasse. Der Ein-Chip-Rechner oder Mikrorechner wurde zunächst im

10

2 Hardware

Homecomputerbereich eingesetzt, um den privaten Sektor für die Rechneranwendung zu erschließen. Durch die schnell wachsende Leistungsfähigkeit und die Nutzerfreundlichkeit der Mikrorechner entstand eine neue Klasse, die vor allem als Personalcomputer im Arbeitsbereich für einfache kommerzielle und wissenschaftlich-technische Aufgaben angewandt wird. Bereits im Zuge des Einsatzes der Großrechner spaltete sich als Sonderform die Klasse der Supercomputer ab. Supercomputer basieren auf speziellen Hochtechnologien und erbringen Höchstleistungen, die jedoch für die breite Anwendung in der Regel überdimensioniert und meist auch unwirtschaftlich wären. Sie werden also für Spezialaufgaben eingesetzt, die besondere Leistungen erfordern, ohne die die Aufgaben überhaupt nicht oder mit unvertretbar hohem Zeitaufwand lösbar wären.

PORTABEL

TATIONÄR

W

SUPER

GROSS

PERSONAL

COMPUTER

COMPUTER

COMPUTER

HOME COMPUTER

VJ

"URRECHNER"

Abb. 1-2.4-1: Bildung von Rechnerklassen

J

WORK STATION

MINI COMPUTER

Teil I Informatik Grundlagen

11

Gegenwärtig ist zu beobachten, daß sich aus der Klasse der Personalcomputer eine weitere Klasse entwickeh, die Klasse der Portables, d.h. der tragbaren Rechner. (Abb. 1-2.4-1) Der Trend geht zu immer mehr Leistung in immer kleineren und leichteren, mobilen Geräten, was sich zum Beispiel in der aktuellen Entwicklung von Notebooks und Handheids widerspiegeh. Wenn in Zukunft akzeptable Rechnerleistungen in Kleingeräte, wie zum Beispiel Handys oder Uhren, integriert werden können, sind multifunktionale, tragbare Mini-Lösungen für Computerund Kommunikationsdienstleistungen realisierbar. Eine gesonderte Frage ist mit der weiteren Vernetzung verbunden. In modernen Client-Server-Architekturen (vgl. dazu auch unten Abschnitt 3.1.5) werden Serverrechner eingesetzt, die jedoch zur Zeit noch den Grundklassen zugeordnet werden. Überlegenswert ist, ob spezielle Netzwerkrechner in Zukunft eine eigene Klasse bilden. Die Lösung dieser Frage hängt in starkem Maße von der Entwicklung der Netzwerksysteme und der Netzwerkrechner ab.

2.2.2 Großrechner Großrechner, auch als Mainframes bezeichnet, bildeten in der Vergangenheit das Kernstück der elektronischen Datenverarbeitung. Zentral in speziellen Räumen untergebracht, können sie bezüglich Leistung und Kapazität optimal ausgelegt und von vielen Nutzem effizient ausgelastet und benutzt werden. Da ein Großrechner hohe Rechenleistungen bieten kann, der Nutzer jedoch nur partiell die Gesamtleistung benötigt, sind die Betriebssysteme auf den Mehmutzerbetrieb (Multi User) ausgerichtet. Der Nutzer (User) läßt seine Aufgabe (Job) bearbeiten. In der Zeit der Bearbeitung kann er nicht interaktiv eingreifen (Closed Job). Für die Bearbeitung seines Jobs erhäh er Zeitscheiben (Time Sharing) zugeteilt, da er sich den Rechner mit anderen Nutzem teilen muß. Der Nutzer hat in seiner Zeitscheibe de facto den gesamten Rechner zur Verfugung. Falls der Rechner schnell genug ist, erscheint es dem Nutzer so, als hätte er die Anlage für sich allein zur Verfugung. Da mehrere Nutzer parallel „ihren" Rechner nutzen, real aber nur eine Anlage vorhanden ist, spricht man von virtuellen Maschinen. Jeder Nutzer erhält also seine virtuelle Maschine. Auch der Hauptspeicher von Großrechnern wird durch virtuelle Speichertechnik ausgedehnt. Die zentrale, hohe Intelligenz der Großrechner bewirkte, daß die Nutzerschnittstellen meist über „dumme" Terminals ohne oder nur mit geringer Eigenintelligenz abgewickelt wurden. Großrechner werden in der Regel in gesonderten Rechenzentren unter der Ägide von Datenverarbeitungsprofis, die einer eigenen Personaleinheit (Fachbereich, Hauptabteilung, etc.) zugehören, eingesetzt. Die optimierte, zentrale Anwendung hat zu speziellen Hard- und Softwarelösungen für Großrechner geführt, die ihren Ursprung in einer Zeit hatten, als Datenverarbeitung sich auf die Kembereiche der Informationsverarbeitung konzentrierte und vor allem für die Vereinfachung der Massendatenverarbeitung gedacht war.

12

2 Hardware

Mit dem Wandel der Gesellschaft zur Informationsgesellschaft in Verbindung mit dem Bedarf, dezentral Rechnerleistung zur Verfügung zu haben, ohne an zentrale Organisation gebunden zu sein, ist auch der Platz der Großrechner in einem System der vernetzten Kommimikation neu zu definieren. Wichtig fiir den Erhalt der Großrechnerwelt in einem System der weltweiten Informationsverarbeitung ist ihre Einbindung in Netzwerke. Stand der Technik ist, daß Großrechner nicht nur in ihrem herkömmlichen Umfeld kommunizieren, sondern auch die Verbindung zur Minirechner- und PC-Technik möglich ist. Damit können die hohen Investitionen, die bereits für Großrechner getätigt wurden, sinnvoll genutzt werden. Für Großrechner wird ein gesichertes Arbeitsfeld in einer neuen Landschaft der Informationsverarbeitimg geschaffen. Sie werden vor allem genutzt für: [PMK92] • • • •

Massendatenverarbeitung umfangreiche Berechnungs- und Modellierungsalgorithmen Großdatenbanken zentrale Buchungs- und Recherchesysteme.

Im Hardwaremarkt für Großrechner existieren zwar verschiedene Anbieter, er wird jedoch eindeutig von IBM dominiert.

2.2.3 Mittlere Systeme Mittlere Systeme, die zeitlich nach den Großrechnern, aber noch vor den anderen Rechnerklassen entstanden, führten zu mehr Arbeitsplatznähe der Rechentechnik. Zunächst entwickelten sich proprietäre Kleinsysteme als Abbild der Großrechnerwelt. Sie sollten es ermöglichen, daß kleine und mittlere Unternehmen bzw. kleinere und mittlere Organisationseinheiten von Unternehmen Informationsverarbeitung in eigener Regie, ohne direkte Inanspruchnahme der Leistungen eines zentralen Rechenzentrums oder Dritter durchführen können. Die damit beginnende Dezentralisierung der Rechentechnik führt zu mehr Arbeitsplatznähe mit der Tendenz zu mehr Interaktivität in der Informationsverarbeitung, d.h. der dialogorientierten Arbeitsweise. Ein typischer Vertreter der Kategorie der mittleren Systeme ist die zum Beispiel als Abteilungsrechner eingesetzte AS 400 der IBM. In der Phase ihrer Entstehung bilden die mittleren Systeme nicht nur eine fällige Ergänzung zu den Großrechnern, sondern besetzen auch das Aufgaben- und Leistungsfeld, das bisher durch Minicomputer, die sich aus den elektromechanischen Buchungsautomaten entwickelten, abgedeckt wurde. Die insgesamt geringere Leistung und Kapazität der mittleren Systeme im Vergleich zum Großrechner bedingt auch geringere Preise imd Kosten für den laufenden Betrieb. Ihre universelle Einsetzbarkeit in Verbindung mit den genannten Vorteilen ermöglicht ihre rasche Verbreitung und erschließt der Rechnemutzung neue Anwendungsfelder. Die stetig wachsende Leistung der mittleren Systeme bei gleichzeitiger Verbesserung des Preis-ZLeistungsverhältnisses und reduzierter Baugröße führte zur Her-

Teil I Informatik Grundlagen

13

ausbildung der nächsten Rechnerklasse, die die mittleren Systeme weitgehend verdrängt hat: den Workstations.

2.2.4 Workstation Workstations mit neuen, vorwiegend UNIX-basierten Betriebssystemen bildeten die nächste Entwicklungsstufe. Charakteristisch im Vergleich zu den Großrechnern und mittleren Systemen für sie ist, daß sie weitestgehend offene, arbeitsplatzbezogene und dialogorientierte Systeme sind. Der Nutzer kann seine Anlage besser zugeschnitten auf seine Anforderungen konfigurieren und wird zunehmend unabhängig von der zentralen Organisation. Workstation zeichnen sich gegenwärtig durch höherwertige Architektur (z.B. RISC-Prozessoren und spezielle Bussysteme), leistungsfähige Betriebssysteme (z.B. UNIX mit Multi-User und Multitasking) und spezielle Peripherie (Speicher, Bildschirme, etc.) aus. Sie heben sich bezüglich ihrer Leistungsfähigkeit deutlich vom PC-Bereich ab. Damit sind sie u.a. für folgende Aufgaben auf professionellem Leistungsniveau prädestiniert: [PMK92] • • • • • • • • • • •

Rechnergestützte Konstruktion bzw. Design (Computer Aided Design: CAD) Produktionsplanung und -Steuerung Geographische Informationssysteme Datenbanken Simulation und Animation CAD-Fabrikplanung Facilitiesmanagement Leitstands- und Prozeßsteuerung Bilderkennung und Bildverarbeitung Graphische Datenverarbeitung Muhimedia und Auskunftssysteme.

Die Aufzählung ist nicht vollständig, zeigt jedoch bereits wie vielfakig das Einsatzfeld für Workstations ist. Die mit Ende der achtziger Jahre entstandene Befürchtung, daß Personalcomputer mit steigender Leistungsfähigkeit die Einsatzmöglichkeiten von Workstations drastisch reduzieren werden, hat sich als unbegründet erwiesen, da die Performance der Workstations ebenso wie die der Personalcomputer permanent gestiegen ist. Sie werden einfach als eigenständige Klasse von Computern zwischen dem PC für die Alltagsaufgaben und dem Großrechner als zentrale Anlage für ganz spezielle Einsatzfälle benötigt. Zudem ist ihr Preis/Leistungsverhältnis dem der Personalcomputer zumindest ebenbürtig. Für diese Klasse sind außerdem neue Aufgaben im Bereich der Rechnerkommunikation entstanden. Auf Grund der offenen Betriebssysteme, der gegenüber den Personalcomputern höheren Kapazität und Leistungsfähigkeit sowie ihrer dezentralen Verwendungsmöglichkeit im Vergleich zu Großrechnern werden Worksta-

14

2 Hardware

tions im Zuge der Nutzung von Client-Server-Architekturen als Server (Dienstleister) für die Clients (Kunden) in Netzwerken eingesetzt. Unter den Servern gibt es funktionell und ggf. auch physisch Unterteilungen. Es werden zum Beispiel Datenbank-, Mail- oder Druckserver imterschieden.

2.2.5 Personalcomputer Mikrorechner sind Rechner kleiner Bauart. Als Home-, Hobby- und Personalcomputer beemflußten sie die Entwicklung der Informationsverarbeitung gravierend. Bis Ende der siebziger Jahre war die Informationsverarbeitung Domäne der EDVSpezialisten. Der PC erschloß auf Grund seines günstigen Preisverhältnisses und seiner relativ einfachen Bedienbarkeit den privaten und unmittelbaren Arbeitsbereich und gestattet auch dem Anfanger einen ziemlich problemlosen und erschwinglichen Einstieg in die Anwendung der Informatik. Der PC unterscheidet sich vom Homecomputer dadurch, daß er wegen seiner Leistungsfähigkeit auch für kommerzielle und technisch-wissenschaftliche Probleme genutzt werden kann. Einsatzfelder u.a. sind allgemein: [PMK92] • • • • • • • •

Textverarbeitung und Tabellenkalkulation Datenbanken Graphikverarbeitung Bildverarbeitung Desktop Publishing (DTP) Kommunikation imd Vernetzung Lern- und Spielprogramme Programmierung.

Wird bei der Konfigurierung eine entsprechende Ausstattung vorgesehen, erschließen sich für die Anwendung Felder wie: • • • • • • •

Computer Aided Design (CAD) Computer Aided Manufactining (CAM) Computer Aided Planning (CAP) Computer Aided Quality (CAQ) Multimedia Modellierung und Simulation Animation.

Wenn auch seitens der Anwendungsgebiete Parallelen zur Workstation unverkennbar sind, ist eindeutig festzustellen, daß die Anwendungen bezüglich Funktionalität und Komplexität deutlich unter dem Niveau der Applikationen für Workstations liegen. Die breite Anwendung von PC ist untrennbar verbunden mit seiner Nutzerfreundlichkeit, die vor allem auch durch die graphischen Oberflächen entsprechender

Teil I Informatik Grundlagen

15

Betriebssysteme möglich wurde. Ein weiterer Aspekt seines Erfolges ist seine Anpassungsfähigkeit an sehr unterschiedliche Nutzerforderungen im Siime individueller Datenverarbeitung. Ihr massenhafter Einsatz in Verbindung mit der später nachfolgenden Vernetzung von Rechnern beschleunigte die Dezentralisierung der Rechentechnik erheblich.

2.2.6 Portables Aus der Entwicklung von PC und Taschenrechnern leitete sich der Bedarf ab, über transportable Rechner mit der Leistungsfähigkeit eines PC zu verfügen. Sie sollen die Lücke zwischen dem für die individuelle Informationsverarbeitung leistungsfähigen, stationären PC und dem einfachen, tragbaren Kalkulator schließen, indem sie eine dem stationären PC nachempfunden Funktionalität auf einem tragbaren System anbieten. Typische Vertreter sind Laptop und Notebook. Daß Portables ggf in Zukunft eine eigene vom PC unabhängige Klasse bilden könnten, ist derzeit eine These, die aber gerechtfertigt wird durch: • • •

Mobilität der Systeme Spezielle Bauweisen Spezielle Funktionsspektren.

Ein tragbarer Rechner soll möglichst klein, leicht und unabhängig vom Stromnetz betriebsfähig sein. Mit der kompakten und leichten Bauweise sind spezifische thermische und mechanische Probleme verbunden, die so extrem beim PC nicht auftreten. Besonderheiten in der Bauweise von Portables im Vergleich zu PC sind u.a.: • • • • • • •

Prozessoren mit niedrigem Energieverbrauch Memory Cards anstelle von Festplatten LCD anstelle von CRT wahlweise Batteriebetrieb oder Netzbetrieb integrierter Track-Ball anstelle der Maus spezielle Kommunikationslösungen optional integrierter Thermodrucker

Prinzipiell sind Portables für die gleichen Aufgaben einsetzbar wie PC. Einschränkungen sind vor allem bei visuellen und akustischen Wiedergaben ins Kalkül zu ziehen, da die im Portable integrierten externen Geräte der Erfüllung der Grundfunktion dienen, jedoch höheren Anforderungen meist nicht genügen. Beispielsweise sind die Bildschirme für CAD zu klein und die LCD haben die unangenehme Eigenschaft des „Nachziehens" bei schnellem Bildwechsel für Animationen. In der Regel werden für Präsentationsaufgaben Portables in Verbindung mit weiteren, externen Geräten, wie Beamer oder Fiat Screens mit Overhead-Projektor, genutzt. Portables werden auf Grund der kompakten und leichten Bauweise immer engere Kapazitätsgrenzen haben als stationäre PC. Ihre einfache Ortsveränderlich-

16

2 Hardware

keit ist aber ein Vorteil, der ein erweitertes Einsatzfeld im Vergleich zum PC gestattet. Dazu zählen: • • • •

Außenpräsentationen Rechner- und Kommunikationsleistung Mobiles Office Spezielles Lehr- und Lernmittel.

Der Vorteil der Ortsveränderung von Informationen mittels Portable wird jedoch durch die zunehmende Vernetzung der Systeme relativiert. Ergo werden auch Funktion, Aufgaben und Bauweise der Portables in einer tele- und multimedialen Welt neu bestimmt werden. Der Trend geht zu noch kleineren, multiflmktionalen Geräten, die den einfachen, ortsunabhängigen Zugang zu den vom Nutzer gewohnten Computer- und Kommunikationsleistimgen in vernetzten Systemen ermöglichen. Je kleiner die Rechner, um so eher sind Kompromisse zwischen Baugröße und Funktionalität notwendig. Ein Handheld, also ein Rechner, der in einer Hand gehalten werden kaim, hat beispielsweise ein spezielles Betriebssystem und kein Disketten- oder CD-ROM-Laufwerk.

2.3 Hardwarearchitektur 2.3.1 Grundaufbau Systeme haben einen definierten Aufbau, der als Architektur bezeichnet wird. Die Architektur der Hardware wird geprägt durch die zu erfüllende Prozeßkette der Informationsverarbeitung und das damit verbundene Anforderungsprofil. Erforderlich ist, Informationen zu: • • • • • • •

erzeugen erfassen speichern verarbeiten präsentieren übertragen löschen.

Bei der Strukturierung von Hardwaresystemen hat sich bewährt, modular vorzugehen und ausgehend vom Computer als Kernstück Hardware funktionell in folgende Komplexe zu gliedern: • • • • •

Periphere Eingabe Zentrale Verarbeitung Externe Speicherung Periphere Ausgabe Periphere Übertragung

Teil I Informatik Grundlagen

17

Bei dieser Vorgehensweise wird die funktionelle Differenzierung durch eine räumliche Strukturierung überlagert. Hardwaresysteme sind so komplex, daß sich in den einzelnen Einheiten mehrere Funktionen (Übertragen, Speichern, etc.) überlagern können. Beispielsweise finden in einer Verarbeitungseinheit Prozesse des Übertragens, Speichems, Berechnens usw. in Komplexion statt. Da der Nutzer jedoch bei Hardware immer auf körperliche Gebilde trifft, ist eine räumliche Strukturierung in Kembereich und Peripherie methodisch sirmvoll und anschaulich. (Abb. 1-2.21) Vor allem unter Berücksichtigung der enorm gestiegenen Relevanz der Vernetzung von Informations- zu Kommunikationssystemen ist es naheliegend, Übertragungskomponenten als eigenständige funktionelle und spatiale Kategorie zu klassifizieren und auf Grund ihrer speziellen Auslegung als Einheit zu behandeln.

Abb. 1-2.2-1: Grobgliederung der Hardware eines Computers Auf Grundlage dieser Einteilung werden nachfolgend die Hardwarekomponenten dargestellt. Ist die Peripherie über Verbindungswege (Kanäle, Busse, Kabel) direkt mit der Zentraleinheit verbunden, so sind es On-line-Geräte. Besteht keine Verbindung, handelt es sich um Off-line-Geräte.

18

2 Hardware

2.3.2 Rechnerarchitektur Prinzipiell können Daten in analoger und digitaler Form dargestellt werden. Dementsprechend ist zwischen Analog- und Digitalrechnern zu differenzieren. [Fah89] Aus der Sicht der Wirtschaftsinformatik dominieren in der Anwendung eindeutig die Digitalrechner. Computerarchitektur im engeren Sinne umfaßt den Aufbau, die Struktur und die Funktion eines Rechners. Sie wird physisch bestimmt durch die binäre Darstellung von Daten und deren Verarbeitung auf Basis der Schahalgebra in physikalischen Bausteinen. Das Prinzip der Digitaltechnik ermöglicht höchste Genauigkeit. Das Kemprinzip der Architektur gebräuchlicher Rechner geht auf Grundregeln zurück, die von dem amerikanischen Mathematiker von Neumann bereits 1945 formuliert wurden: [Coy92][PMK92] • • • • • • • •

Die Struktur des Rechners ist unabhängig von der zu realisierenden Anwendung. Basis der Datenverarbeitung sind Binärcodes, d.h. Zahlen werden binär dargestellt. Ein Rechner besteht aus Steuerwerk, Rechenwerk, Speicher sowie Ein- und Ausgabeeinheit. Im Speicher werden Daten imd Programme gehalten. Die Programme dienen der Verarbeitung der Daten. Datenspeicher sind in Zellen gleicher Größe unterteilt, die fortlaufend numeriert sind. Die Nummern heißen Adressen. Programme enthalten Befehle, die in der Regel sequentiell ausgeführt werden. Befehle umfassen nicht die Rechenwerte, sondern nur die Adressen der Zellen. Sprünge bewirken ein Abweichen von der sequentiellen Befehlsfolge. Das Programm wird an der angesprungenen Adresse fortgesetzt.

Kernstück einer von Neumann-Maschine ist die Zentraleinheit. Sie besteht aus Steuerwerk, Rechenwerk und Speicher. Rechenwerk und Steuerwerk bilden den Zentralprozessor (Central Processing Unit: CPU). Würde die Ein- und Ausgabe direkt an die Zentraleinheit gekoppelt, müßte die schnelle Einheit auf die langsamere Peripherie zeitweilig warten. Die Zentraleinheit wird um eine Ein- und Ausgabesteuerung in Form eines Ein- und Ausgabeprozessors ergänzt, um diesen Zeitverlust zu vermeiden. Die Ansteuerung der peripheren Einheiten erfolgt dann über spezielle Gerätesteuerungen: die Controller. (Abb. 1-2.3-1) Das Steuerwerk überwacht und steuert die Prozessorfunktionen. Es reguliert das Zusammenwirken der Komponenten in der Zentraleinheit. Ein integrierter Taktgeber sorgt beim synchronen Betrieb dafür, daß die Schaltvorgänge in Taktintervallen ausgeführt werden. Im Steuerwerk werden die Befehle entschlüsselt, die Reihenfolge der Abarbeitung der Befehle definiert und die notwendigen Einheiten aktiviert. Das Rechenwerk ist für die Ausführung arithmetischer und logischer Operationen zuständig (Arithmetic and Logic Unit: ALU). Basis für die arithmetischen Opera-

Teil I Informatik Grundlagen

19

tionen sind die Dualoperationen: Addieren, Komplementbildung und bitweises Verschieben. Logische Operationen werden auf den Vergleich zweier Größen zurückgeführt.

/ Steuerwert«

r

Recherv vverk

/ Eingabeeintieil

T

Ausgabeeinheil

Speicher

Abb. 1-2.3-1: Aufbau einer Zentraleinheit Steuerwerk und Rechenwerk verfügen über Speicher zur Datenhaltung: die Register. Registerspeicher haben relativ geringe Kapazität und dienen der kurzzeitigen Haltung von Daten oder Befehlen. [Fah89] Für die interne Steuerung einer Zentraleinheit sind Mikroprogramme notwendig, die in speziellen Festwertspeichern (Read Only Memory: ROM) abgelegt sind. Der Hauptspeicher dient der Aufbewahrung aller Informationen zur Steuerung (Befehle) und Verarbeitung (Daten) in der Zentraleinheit. Zur Verbesserung der Zugriffsgeschwindigkeit des schnellen Prozessors auf den vergleichsweise langsamen Hauptspeicher wird ein Pufferspeicher (Cache) zwischengeschaltet, der unter Umständen auch in den Hauptspeicher integriert sein kann. Der Prozessor greift direkt auf den Pufferspeicher zu, der seine Speicherinhalte vom Hauptspeicher bezieht. Der Hauptspeicher wird in der Regel aus Schreib-Lese-Speichem (Random Access Memory: RAM) zusammengesetzt, die folgende Eigenschaften besitzen: • • •

direkte Adressierbarkeit, da jeder Speicherplatz eine eigene Adresse hat kurze Zugriffszeiten und hohe Übertragungsgeschwindigkeiten Datenflüchtigkeit bei Unterbrechung der Energiezufnhr.

Im Hauptspeicher werden folgende Informationen abgelegt: • • • •

aktuell benötigte Programmteile für das Steuerwerk Eingabedaten für das Rechenwerk, für externe Speicher oder für den Hauptspeicher selbst Zwischen- und EndresuUate aus dem Rechenwerk Ausgabedaten. [Scw94]

2 Hardware

20

Für die Verknüpfung der Hardwarekomponenten in der Zentraleinheit und nach außen sind Verbindungen vorhanden, die entweder nach dem Busprinzip als Sammelleitungen oder als Kanäle, vor allem in Großrechnern, arbeiten. Unterschieden werden Selektor- (Verbindung von Zentraleinheit und einem Gerät), Multiplex- und Blockmultiplexkanäle (Verbindung Zentraleinheit und mehrere Geräte in byteweiser bzw. blockweiser Übertragung). [Ree90][Coy92][Fah89]. Prinzipiell werden drei Arten von Bussen unterschieden: • • •

Steuerbus: Übertragung von Steuersignalen Adreßbus: Übertragung von Adressen zur Lokalisierung der Dateneinheiten Datenbus: Übertragung der Daten. [Sta95] (Abb. 1-2.3-2)

/

y

dORESS-

/

/ BUS

Ein-und

1

ZenlralAusgabe-

STEUER-

prozessor

gerilte

1

Haupt-

BUS

speicher

1 DATEN-

1 BUS

/

/

Abb. 1-2.3-2: Systemintegration mittels Bussen

Weiterhin wird zwischen internen und externen Bussen differenziert. Das interne Bussystem übernimmt die Verbindung von Rechenwerk, Steuerwerk und zugehörigen Registern. Das externe Bussystem reguliert das Zusammenspiel von Prozessor, Hauptspeicher und Peripherie über die Ein- und Ausgabesteuerung. [Fah89] (Abb. 1-2.3-3)

21

Teil I Informatik Grundlagen

Prozessor

^ Rechenwerk

1 INTERNER BUS 1 1 RwM«

Steuerwerk

Hauptspeicher

AnschlußSteuerung

AnschluOsteueaing

J

Anschlußsteuerung

J

J

Abb.I-2.3-3: Busse in einem Mikrocomputer

2.3.3 Kernkomponenten von Computern Die Funktionseinheiten von Rechnern werden auf Boards (Leiterplatten) untergebracht. Boards sind die Bindeglieder für mehrere Moduln. Moduln sind in der Regel Mehrschichtkeramikträger, die mehrere Chips (microcircuits) umfassen. Chips sind Einheiten der Mikroelektronik, bestehend aus Schaltungs- und/oder Bauelementen. Elemente sind Transistoren, Widerstände und Dioden, die zu integrierten Digitalschaltungen zusammengefaßt sind. Träger der Chips sind Wafer (Plättchen, die aus dotiertem Halbleitermaterial wie zum Beispiel Silizium oder Galliumarsenid) bestehen. (Abb.I-2.3-4)

2 Hardware

22

Abb.I-2.3-4: Integration von elektronischen Bauelementen im Computer [IBM90]

Nachfolgend soll am Beispiel des PC Aufbau und Zusammenwirken der Kemkomponenten von Computern dargestellt werden. Auf einem Chip wird durch eine Folge von komplizierten technischen Prozessen (Beschichten, Dotieren, Ätzen) ein integrierter Schaltkreis (IC) erzeugt. IC haben Strukturen, die aus elektronischen Bauelementen (z.B. Transistoren) verbimden durch Leiterbahnen bestehen, und sind in der Lage mehrere Millionen Funktionen auszuführen. Funktionseinheiten von IC umfassen den Bereich der logischen Schaltelemente über Speicherbausteine bis hin zu kompletten Mikroprozessoren. Je nachdem wieviele Transistorfunktionen auf einem Chip integriert sind, wird unterschieden nach: • • • •

Large Scale Integration Very Large Scale Integration Ultra Large Scale Integration Giant Large Scale Integration

(LSI)

1.000

bis

10.000

Funktionen

(VLSI)

10.000

bis

1.000.000

Funktionen

(ULSI)

1.000.000

bis

100.000.000

Funktionen

(GLSI)

mehr als

100.000.000

Funktionen.

Chips werden nach ihrer Funktion ausgelegt. Prinzipiell wird zwischen Speicherund Prozessorchips unterschieden. Speicherchips enthahen relativ einfache Schaltungen (z.B. Flip-Flops). Prozessorchips dienen der Realsisierung logischer Funktionen und verfögen deshalb über kompliziertere Schaltimgen. Spezielle Formen von Chips sind der Ein-Chip-Prozessor, bei dem der vollständige Prozessor auf einem Chip untergebracht ist (auch als Mikroprozessor bezeichnet) und der Ein-Chip-Computer (Micro Computer Unit: MCU), bei dem alle Speicherbausteine und Prozessoren auf einem Chip integriert sind. [Ree90]

Teil I Informatik Grundlagen

23

Steuerwerk und Rechenwerk inklusive zugehörige interne Register, das sind interne Speicher für Zwischenergebnisse etc., werden bei einem PC durch einen IC auf einem Chip realisiert und deshalb dann auch Mikroprozessor genannt. Neben diesem auch als Zentralprozessor bezeichneten IC gibt es weitere Komponenten zur Ansteuerung und Steuerung (Controller) auf einem Mainboard, die ebenfalls auf entsprechenden Chips untergebracht sind und als Chipsatz bezeichnet werden. Im Sinne einer modularen Bauweise gibt es im PC eine Leiterplatte, die als Mainboard oder Motherboard bezeichnet wird. Der Chipsatz ist für die Koordination aller auf dem Mainboard befindlichen Komponenten zuständig. Das Mainboard hat auf jeden Fall Steckplätze für Prozessor, Arbeitsspeicher und Bussysteme. Auf ihm befinden sich unter anderem auch der Speicher (ROM) für das BIOS (Basic Input Output System), ein dem Betriebssystem vorgelegtes Programm, das sofort nach Einschalten des PC zur Verfügung steht und den Anlauf des Systems auf einfachstem Niveau ermöglicht. Viele Mainboards enthalten auch die AnSteuereinheiten (Controller) für Diskettenlaufwerk und Festplatte sowie serielle und parallele Schnittstellen. Auf Grund von Problemen mit der Leistungsfähigkeit werden Komponenten wie Graphikoder Soundkarten selten in das Mainboard intergriert.

2.3.4 Prozessoren Prozessoren bestimmen auf Grund ihrer zentralen Stellung im Hardwaresystem wesentlich die Leistung und letztendlich auch den Preis eines Computers mit. Prinzipiell ist zwischen dem Zentralprozessor (Central Processing Unit (CPU)) und sonstigen Prozessoren, auch Koprozessoren genannt, im PC zu unterscheiden. Auf Grund der hohen Anforderungen an das Know How und wegen der hohen Investitionsaufwendungen vor allem für die Herstellung von Zentralprozessoren dominieren weltweit einige wenige Firmen Entwicklung, Herstellung und Absatz dieser Komponenten. Bekannte Hersteller von Zentralprozessoren als Microprozessoren in der klassischen CISC-Architektur sind u.a. Intel, Motorola, Cyrix und AMD. CISC steht dabei für Complex Instruction Set Computer, d.h. Computer mit einem komplexen Befehlssatz. Da Experten nachwiesen, daß 80% der verwendeten Befehle nur 20% des Befehlssatzes betreffen, wurde die RISC-Technologie (Reduced Instruction Set Computer) entwickeh, bei der der Prozessor mit einem reduziertem Befehlssatz arbeitet. Bekannte Vertreter für die Entwicklung und Nutzung der RISCTechnologie sind AMD, IBM, Apple, Motorola, DEC. Im Bestreben, immer leistungsfähigere Mikroprozessoren anzubieten, nutzen die Entwickler Vorteile sowohl der CISC- als auch der RISC-Technologie aus, wodurch in der Praxis eine Vermischung beider Technologien zu beobachten ist.

2 Hardware

24

Stadtilm tS-tOOM«).

Bsrglun S-10 M o

In ReinstKa&ine aufdtmWalarl

MIO. Pittik« in 4A

(maximal zutiasig)

Abb. 1-2.3-5: Reinstraumbedingungen für die Chipherstellung [IBM90] Koprozesssoren als Mikroprozessoren übernehmen im PC u.a. Aufgaben zur arithmetischen Berechnung (Arithmetik-Koprozessor), zur graphischen Darstellung (Graphik-Koprozessor), zur Steuerung von Prozessen auf dem Mainboard (Cache Controller, Interrupt Controller, etc.) und zur Ansteuerung peripherer Einheiten (Festplatten-Controller, SCSI-Controller, etc.). Der prinzipielle Ablauf einer Befehlsbearbeitung in einem Mikroprozessor gliedert sich in zwei Schritte: • •

Befehl lesen (fetch) und ggf. Adreßberechnung Befehl ausführen (execute) und ggf Unterbrechungsbehandlung. [Coy92]

Die Geschwindigkeit, mit der der Prozessor diesen Ablauf durchführt, hängt hauptsächlich von seiner Architektur und seiner Taktfrequenz ab. Eine Erhöhung der Taktfrequenz bewirkt, daß die gleiche Menge an Befehlen in einer kürzeren Zeit bewältigt wird. Taktfrequenzen werden in Megahertz angegeben. Die Architektur beeinflußt die Leistung über die Verarbeitungsbreite und die Größe des Befehlsvorrates. Die Ordnung der Prozessoren nach der Verarbeitungsbreite orientiert sich an Zweierpotenzen. Denmach werden folgende Prozessorgenerationen unterschieden: [Die93]

Teil I Informatik Grundlagen 1.

Generation:

4 Bit

z.B.:

INTEL 4004

2.

Generation:

8 Bit

z.B.:

INTEL 8080

3.

Generation:

16 Bit

z.B.:

INTEL 80286

4.

Generation:

32 Bit

z.B.:

INTEL 80486

5.

Generation:

64 Bit

z.B.:

INTEL Pentium.

25

Um vor allem bei multimedialen Anwendungen 201 besseren Leistungen des Computers beizutragen, wurde die MMX-Technologie für Prozessoren von Intel entwickelt. Durch eine Erweiterung des Befehlssatzes vor allem für die Audio- und Bildverarbeitung soll eine höhere Geschwindigkeit erreicht werden. Da die erste Generation der MMX-Prozessoren nicht den gewünschten Erfolg brachte, die Grundidee von MMX jedoch Leistungsvorteile erwarten läßt, sind in Zukunft MMX-ähnliche Versionen für die Prozessorarchitektur weiterhin von Interesse. Die Verarbeitungsbreite kann auch durch die Parallelisierung von Operationen beeinflußt werden, wie das Beispiel der Parallelschaltung von zwei 80486 DX im Pentium-Prozessor zeigt. In der Praxis umgesetzte Verfahren sind die Vektorisierung nach dem Pipelineprinzip und der Übergang zu Parallelrechnem. Ursprünglich erfolgte die Bearbeitung der Befehle streng sequentiell. Bei der Vektorverarbeitung werden Teile von mehreren Befehlen in einem Takt gleichzeitig ausgeführt, wobei der Fortschritt der Befehlsrealisierung zwischen den einzelnen Befehlen um die Taktzeit oder ein Vielfaches der Taktzeit differiert. Das Prinzip ist nur bei Anwendung auf viele gleichaitige Operationen effektiv. Vorstufe zu den Parallelrechnem sind VLIW-Maschinen (Very Long Instruction Word: VLIW). Durch Übergabe sehr langer Befehle können in einem Takt mehrere Prozessoren gleichzeitig mit Anweisungen beliefert werden. Allerdings sind die Systeme nicht beliebig erweiter- und vemetzbar. Parallelrechner wirken mit mehreren Prozessoren gleichzeitig an einem Problem. Zwei Grundtypen werden unterschieden: • •

Multiple-Instruction-/Multiple-Data-Stream: Single-Instruction-/Multiple-Date-Stream:

MIMD SIMD

Während bei MIMD die Prozessoren weitgehend unabhängig voneinander arbeiten, führen bei SIMD die Prozessoren die gleiche Aufgabe allerdings mit unterschiedlichen Daten aus. Das Problem bei der Parallelisierung ist die sinnvolle Zerlegung der Aufgaben in parallel auszuführende Teilaufgaben durch das Betriebssystem. [PMK92]

2.3.5 Speicherbausteine Der Anwender von Informationssystemen erwartet zwei Hauptfunktionen von Speichereinheiten im Kembereich des Computers. Einerseits sollen fixierte Programme und Daten fest gespeichert werden, andererseits müssen Speicher vorhan-

26

2 Hardware

den sein, die beispielsweise Zwischenergebnisse aufnehmen, also regelmäßig nicht nur gelesen, sondern auch wieder beschrieben werden können. Deshalb haben sich bei den Speicherbausteinen zwei Grundtypen herausgebildet: • •

Read Only Memory (ROM): Festwertspeicher Random Access Memory (RAM): Speicher mit wahlfreiem Zugriff.

Von ROM kaim nur gelesen werden. Im Hauptspeicher enthalten ROM i.a. Mikroprogramme. ROM werden im Herstellungsprozeß beschrieben. Anwenderspezifische Informationen werden mittels spezieller Arten von ROM gespeichert: •





Programmable Read Only Memory (PROM) Festwertspeicher, die bei Bedarf mittels spezieller Geräte einmalig zu programmieren sind Erasable PROM (EPROM) Festwertspeicher, die bei Bedarf mittels UV-Licht lösch- imd neu programmierbar sind Electrically EPROM (EEPROM) Festwertspeicher, die bei Bedarf mittels elektrischer Impulse lösch- und neu programmierbar sind.

Durch die irreversible Speicherung von Software auf Hardwarebasis ergibt sich die sogenannte Firmware. ROM-Daten bleiben auch ohne Stromzufuhr permanent erhalten. RAM gestatten Lese- und Schreiboperationen. Bei Unterbrechung der Stromversorgung gehen die Daten verloren. Für RAM gibt es zwei Bauweisen: • •

Statische RAM (Static RAM: SRAM) Dynamische RAM (Dynamic RAM: DRAM. [Sta95]

DRAM-Chips speichern die Bits über Transistor-Kondensator-Paare. Der Kondensator enthält die Information 0 oder 1. Der Transistor dient als Schaher. Eine regelmäßige Auffrischung (Refreshing) der Ladung der Kondensatoren ist notwendig. SRAM-Chips realisieren die Speicherung mittels Transistorenpaaren, wobei die 0/1-Information über einen definierten Schaltzustand verwirklicht wird. Der Zustand bleibt konstant, bis die Stromzufuhr unterbrochen wird. Da ein Auffrischen nicht erforderlich ist, sind SRAM schneller als DRAM. Auf Grund der komplizierteren Bauweise, jedoch kürzeren Zugriffszeit werden SRAM zum Beispiel für Cache-Speicher verwendet und DRAM eher für den Hauptspeicher. Im Hauptspeicher werden die DRAM-Schaltkreise zu Single Inline Memory Moduls (SIMM) zusammengefaßt. Zwei Module sind bei modernen SIMM für einen 64-Bit-Zugriff (2*32 Bit) erforderlich. Eine neue leistungsfähigere Generation von Speicherbausteinen, die vor allem für Hauptspeicher und hochwertige Graphikkarten eingesetzt werden, sind Synchronous DRAM (SDRAM), d.h. synchron zum Takt des Prozessors arbeitende DRAM. Sie sind nach dem Prinzip Dual Inline Memory Modul (DIMM) aufge-

Teil I Informatik Grundlagen

27

baut. Ein Modul reicht für einen 64-Bit-Zugriff aus. In der Anwendung verdrängen SDRAM derzeit die DRAMs. Die Nutzung von ROM und RAM kann am Beispiel des PC veranschaulicht werden. Die Grundfunktionen der Ein- und Ausgabe (Basic Input/Output System: BIOS) werden in einem ROM gespeichert. Zur Beschleunigung der Nutzung der Funktionen im Betrieb werden BIOS-Routinen auf schnellere RAM ausgelagert (Shadow RAM). Als RAM werden für Cache und Hauptspeicher SRAM bzw. SDRAM eingesetzt. Zu beachten ist, daß Speicherbausteine nicht nur in der CPU eine Rolle spielen. Sie werden auch im Bereich der Computerperipherie (z.B. als Druckerspeicher) verwandt.

2.3.6 Busse Busse dienen der Verbindung der modular aufgebauten Computerkomponenten. Unterschieden wird zwischen internen Bussen in der Zentraleinheit und externen Bussen, die die Verbindung Zentraleinheit mit der Peripherie herstellen. Aber auch Rechnemetze können auf Bussen basieren. Busse bestehen überwiegend aus elektrischen, teilweise auch aus optischen Leitern. Die Busbreite gibt an, wieviel Bits gleichzeitig übertragen werden können. Die Taktfrequenz bestimmt die Zeitintervalle, in denen übertragen wird. Da Aus- und Eingabeoperationen bei einer direkten Verbindung von Zentraleinheit und Peripherie zu Zeitverzögerungen führen, werden bei größeren Rechnern entsprechende Ein- und Ausgabeprozessoren zwischengeschaltet. Diese übernehmen die Steuerung und Umsetzung der Ein- und Ausgabeprozesse zwischen Hauptspeicher und Peripherie. Dabei werden folgende Grundkonzepte sichtbar: •



Der interne Bus wird über einen Konverter mit dem externen Bussystem verbunden, wobei an den internen Bus nur die Komponenten der CPU gekoppelt sind. Der interne Bus verbindet Komponenten der Zentraleinheit und periphere Komponenten mit hohen Übertragungsraten entweder über einen speziellen Controller oder direkt, die sonstige Peripherie mit geringeren Übertragungsforderungen wird an ein oder mehrere zusätzliche Bussysteme angegliedert. [Coy92][Fah89]

Im Bereich der Mikroprozessorsysteme setzt sich zunehmend die zuletzt geschilderte Architektur durch. Bei dem als Local Bus bezeichneten Konzept wird dem Prozessor mittels einer Verbindung auf der Systemplatine der direkte Zugriff auf bestimmte periphere Komponenten gestattet. Initiiert wurde diese Entwicklung durch Zeitprobleme bei der ursprünglichen Standardbusarchitektur (Industry Standard Architecture: ISA.). Auf Grund der relativ geringen Taktfrequenz und Busbreite gibt es Zeitprobleme bei Zugriffen auf

28

2 Hardware

Erweiterungssteckplätze, über die beispielsweise Graphikkarten oder Festplatten bedient werden. Die Reaktion darauf war die Entwicklung einer IBM-Busarchitektur (Microchannel Architecture: MCA), die jedoch aus Kompatibilitätsgründen auf proprietäre Systeme beschränkt blieb. Die nachfolgende Verbesserung der ISA-Architektur (Extended ISA: EISA) beinhaltete die Vergrößerung der Busbreite bei Beibehaltung der Taktfrequenz. EISA-Architektur hat sich bei den meisten PC-Systemen durchgesetzt Die Local-Bus-Architekturen hingegen umfassen eine direkte 32-Bit-breite Datenund Adreßverbindung zwischen dem Prozessor und einer begrenzten Zahl von Steckplätzen, die mit der Taktfrequenz des Prozessors betrieben wird. ISA- und EISA-Karten können mit Hilfe der Steckplätze weiterhin verwendet werden. Bei den Local-Bus-Konzepten ist Periphal Component Interface (PCI) weit verbreitet. Beim PCI-Bus wird die Verbindung zwischen Prozessor und Steckplätzen über einen PCI-Bus-Controller gesteuert. Der Controllereinsatz bewirkt eine relative Unabhängigkeit von Prozessor und Buskomponenten. (Abb. 1-2.3-6) Als Bus wird auch ein Anschluß bezeichnet, der die Verbindung mehrere peripherer Geräte gestattet. Eine leistungsfähige und weitverbreitete Variante ist der SCSI-Bus (Small Computer System Interface). Bis zu acht Geräte können an einen SCSI-Bus angeschlossen werden. Der Anschluß zwischen Rechner und SCSI-Bus wird durch einen Host-Adapter hergesteüt. SCSI gibt es ANSI-Standard in den Versionen SCSI!, SCSI2 und SCSI3. Die Ausfuhrungen Fast- oder Ultra-SCSI ggf in Kombination mit Wide-SCSI erhöhen die Übertragungsrate des SCSI-Bus durch höhere Taktfrequenz bzw. Übertragungsbreite. Ein neues Buskonzept wird mit dem Universal Serial Bus (USB) von Intel verfolgt. USB soll bisherige Systeme wie serielle und parallele Schnittstelle sowie Tastaturanschluß in ein Gesamtkonzept für den Anschluß peripherer Geräte integrieren. Die Geräte (derzeit bis zu 127) sind nicht mehr über den PC, sondern viel flexiler über das Bussystem miteinander verbunden. Konzepte wie SCSI oder USB dürfen sich nicht nur auf die Definition des Bussystems beschränken, sondern müssen vielmehr auch die Schnittstellen zwischen Rechner und Bussystem bzw. Bussystem und peripheren Geräten beschreiben.

Teil I Informatik Grundlagen

29

PCI-BusHauptspdclier

7

Festplatte

Drucker

Graphlkkale

CcXroller

7 o

Fax-

o

karte

Plotter

Dignallsiertablett

Abb. 1-2.3-6: Local Buskonzept am Beispiel PCI [Die93]

2.3.7 Schnittstellen Nachdem die internen Komponenten eines Rechners imd deren Verbindungen untereinander und nach außen behandelt wurden, muß ergänzend noch auf die Schnittstellen von Computern und ihrer Peripherie eingegangen werden. Schnittstellen dieser Art existieren im Rahmen: • •

direkter Verbindungen zwischen Rechner und externen Geräten externer Busverbindungen vom Rechner zu den externen Geräten.

Bei den Direktverbindungen wird zwischen seriellen und parallelen Schnittstellen unterschieden. Die serielle Schnittstelle dient dem bitweisen Austausch von Daten in beide Richtungen., die parallele der parallelen Übertragung von Daten in beide Richtungen. (Abb. 1-2.3-7) Die V.24-Schnittstelle ist eine genormte, serielle Schnittstelle (nach Comite Cosultatif International de Telegraphique et Telephonique: CCITT). Weitgehend identisch ist die amerikanische RS232-Schnittstelle (nach Electronic Industries Association: EIA). Der Standard RS232C beschreibt u.a. für die V.24Kompatibilität, die elektrischen Eigenschaften bis hin zum Aufbau des Steckverbinders. Serielle Schnittstellen dienen dem Anschluß langsamer externer Geräte oder von Druckern, weim größere Entfernungen als bei paralleler Übertragung ohne Verstärkung zu überbrücken sind. Für parallele Verbindungen existieren physikalische Datenschnittstellen als Centronics-Schnittstellen inklusive definiertem Steckverbinder. Sie werden vor

30

2 Hardware

allem für die Übertragung größerer Datenmengen über sehr kurze Distanzen verwendet.

oooooooo

oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo

seriell

parallel

Abb. 1-2.3-7: Serielle und parallele Übertragung Typische Beispiele für den parallelen Anschluß schneller Peripheriegeräte über Schnittstellen in Verbindung mit Bussystemen sind: [Coy92] • • •

Intelligent Drive Electronics: IDE Enhanced Small Disk Interface: ESDI Small Computer Systems Interface: SCSI.

Auf Grund der zentralen Bedeutung der Datenspeicherung auf Festplatten in heutigen Rechnersystemen wurde die Standardisierung vor allem unter dem Gesichtspunkt der Verbindung von internen Bussen und peripheren Geräten betrieben. Über Steckverbinder oder Adapterkarten werden die externen mit den internen Bussystem verbunden. Controller sorgen für die Gerätesteuerung. IDE entstand im Zusammenhang mit dem ISA-Bus. ESDI behandelt die Schnittstellengestaltung bei Einsatz einer Controllerkarte, die Adapter und Controller in einer Einheit integriert. Gegenwärtig weit verbreitet ist SCSI. Der Adapter wird als SCSI-Konverter ausgelegt und gestattet den Anschluß mehrerer Peripheriegeräte über SCSI-Gerätesteuerungen. Die Verbindung zwischen Konverter und externen Geräten wird durch den externen SCSI-Bus verwirklicht. (Abb. 1-2.3-8) Das Konzept fordert Modularität und Flexibilität der Hardwarekonfiguration, da: • • •

ohne Kenntnis der Peripherie ein oder mehrere Konverter fest im Rechner installiert werden können periphere Geräte mit eigener Intelligenz durch Integration der Steuereinheit weitgehend unabhängig und austauschbar in Relation zum Rechner werden Rechner imd Geräte beliebig über die Konverter miteinander verbunden werden können. [Coy92]

Teil I Informatik Grundlagen

31

Abb. 1-2.3-8: Prinzip der SCSI-Geräteanschlüsse [Coy92] Über die Bussysteme und Schnittstellen erfolgt der Anschluß verschiedener peripherer Geräte, die nachfolgend beschrieben werden. Wichtig ist, im Grundgerät ausreichend Steckplätze für Zusatzkarten für eventuelle spätere Erweiterungen der Peripherie vorzusehen. Neue Konzepte im Bereich von Bussen und Schnittstellen zielen auf integrierte Systeme. In diesem Zusammenhang sei beispielsweise nochmals auf Universal Serial Bus (USB) verwiesen, bei dem eine komplexe Lösung für Bus und Schnittstellen bis hin zur Einbeziehung der klassischen parallelen und seriellen Schnittstellen angestrebt wird.

2.4 Hardwareperipherie 2.4.1 Klassifizierung Die Klassifizierung der Hardwarekomponenten kann unter unterschiedlichen Gesichtspunkten vorgenommen werden. Traditionell wird in Anlehnung an das von Neumann Konzept unterteilt in: Eingabe, Speicherung und Ausgabe. Da auch die Koirmiunikation auf Ein- und Ausgabeprozessen beim Rechner basiert, ist die Unterteilung aus der Sicht der Rechnemutzung ausreichend. Mit der Einbindung von Rechnern in Rechner- und Datennetze entstanden in der Entwicklung jedoch spezielle Komponenten für die Rechnerkommunikation, die zwar in der äußeren Peripherie liegen, aber für die Funktionsfahigkeit modemer Rechnerkonzepte unerläßlich sind. Aus diesem Grunde wurde für die nachfolgende Darstellung neben den drei klassischen Arten die Kommimikation als weitere Untermenge in der Hardwareperipherie einbezogen. (Abb. 1-2.4-1)

2 Hardware

32

Abb. 1-2.4-1: Klassifizierung der Hardwareperipherie mit Beispielen Bei der Rechnemutzung wirken die Komponenten allerdings komplex zusammen. Das ist vor allem beim Konfigurieren, d.h. bei der speziellen Ausrüstung eines Computer mit seinen Hardware- (und Soflware-)Komponenten, zu beachten.

2.4.2 Eingabe Für verschiedene Anwendungsfalle werden unterschiedliche Eingabegeräte eingesetzt, die auf verschiedenen, physikalischen Prinzipien beruhen. Gemeinsam ist allen Komponenten, daß sie Daten, die in spezifischer Form vorliegen, in die in der Regel digitale Weit der Rechner wandeln, damit sie nachfolgend gespeichert, verarbeitet oder übertragen werden können. Im Laufe der Entwicklung haben sich bestimmte Gerätegruppen herausgebildet, die jedoch ständig durch technische und organisatorische Veränderungen ergänzt werden. Jüngstes Beispiele sind Spracheingabe über Mikrophone oder Bildeingabe mittels Videokamera. Wichtige Eingabegeräte sind: • • • • •

Tastatur Maus, Trackball, Joystick Stift, Lupe, Digitalisiertablett, Bildschirm Mikrophon Scanner, Kamera.

Teil I Informatik Grundlagen

33

Ausgangsbasis für die Rechnertastaturen sind die Schreibmaschinentastaturen, die imi Funktionstasten, Steuertasten imd Zehnerblocktasten ergänzt worden sind. Die Tastatur verfugt durch einen Prozessor über eigene Intelligenz, die dazu dient, bei Tastendruck einen speziellen Tastaturcode in den Tastaturpuffer zu stellen, der von der Anwendung übernommen und im Rechner als ASCII-Zeichen interpretiert wird. Da Tastaturen eine zentrale Rolle bei der Rechnerbedienung einnehmen, ist ihre ergonomische Gestaltung von großer Bedeutung. Sie werden vor allem zur Eingabe von Text eingesetzt. Ihre Bedeutung für die Ablaufsteuerung einer Anwendung hat mit der Einführung graphischer Benutzeroberflächen abgenommen. Die Gruppe der Mäuse, Rollkugeln und Joysticks dient ähnlichen Eingabeaufgaben. Ziel ist, aus einer mechanischen Bewegung des Gerätes oder eines Teiles (Kugel, Halbkugel, etc.) eine X-/Y-Koordinatenverschiebung abzuleiten, die der Steuerung eines Zeigers (Cursors) oder anderen graphischen Symbols auf dem Bildschirm dient. Die X-/Y-Bewegung wird vom Eingabegerät über den Rechner an das Symbol auf dem Bildschirm analog weitergegeben. Aus der Bildschirmposition des Cursors/Symbols ermittelt die Anwendung, welche Funktion auszuführen ist. Ergänzend zum bewegten Teil können am Eingabegerät Eingabetasten (z.B. bei der Maus) vorhanden sein, die zusätzliche Eingaben zur Koordinatenveränderung erlauben. Bei Bewegungen im Raimi wird die Z-Koordinate benötigt. Die sogenannten 3-DMäuse können nach dem Ultraschallverfahren (Ultraschallmikrophone und Sender) Raumdaten liefern, die vor allem der Bewegimg im Cyberspace dienen. Die Hauptverfahren des Mausanschlusses an Rechner sind serieller Anschluß über Schnittstelle und Busanschluß über Anschlußkarte. Zunehmend gewinnen kabellose Anschlüsse (Infrarot, Ultraschall, Funk) vor allem im mobilen Bereich an Bedeutung. Stifte, Lupen, Digitalisiertabletts und Bildschirme werden benutzt, um einzelne Punkte über ihre Koordinaten, in der Mehrzahl zweidimensionalen, zu ermitteln. Grundprinzip ist, daß ein Zeigeinstrument (Stift oder Lupe) mit einer Unterlage (Tablett oder Bildschirm) zusammenwirkt. Die Geräte verfügen über Sensoren, mit deren Hilfe es möglich ist, zu erkennen, an welcher Stelle in der Fläche oder im Raum der Kontakt zwischen Zeigeinstrument und Unterlage vorhanden ist. Für diese Stelle werden die Koordinaten ermittelt. Die Punktkoordinaten dienen entweder der Beschreibung geometrischer Gebilde (Punkte, Linien, Flächen, Körper) oder der Identifizierung von Funktionen, die bestimmten Flächen auf der Unterlage zugeordnet sind. Digitalisiertabletts werden mit Lupen und Stiften benutzt, Bildschirme mit Stiften. Bei Bildschirmen wird entweder bei Kathodenstrahlröhren der Lichtstift elektrooptisch eingesetzt oder bei Flüssigkeitskristalldisplays (LCD) der Stift benutzt, um induktiv die Position zu bestimmen. Ein Spezialfall ist die räumliche Erfassung von Punktkoordinaten X , Y und Z, die räumlich mittels 3-D-Meßmaschinen erfaßt werden. Physikalische Prinzipien dafiir basieren u.a. auf Ultraschall oder Infrarotmeßsystemen. Beispielsweise werden im Automobilbau dreidimensionale Produktdaten von Entwurfsmodellen mittels

34

2 Hardware

Meßmaschinen für die Weiterverarbeitung in der rechnemnterstützten Konstruktion (CAD) erfaßt. Mikrophone gewinnen neben den bereits erwähnten Spezialfällen (Maus, Digitalisiermaschinen) zur Koordinatenbestimmung zunehmend Bedeutung für Sprachimd Toneingaben. Heutige Rechner- und Speichersysteme gestatten auf Grund ihrer Leistungsfähigkeit in einer entsprechenden Ausbaustufe das Digitalisieren von Sprache und Ton. Analoge Signale werden digitalisiert und können danach wie jede andere Information bearbeitet werden. Vor allem komplexe Anwendungen wie Multimedia erfordern die Möglichkeit, Schallwellen zu erfassen. Scanner und Kameras werden in einem Zusammenhang behandelt, weil sie Geräte sind, die die Erfassung von Bildern als Pixeldarstellungen (Rasterbilder) ermöglichen. Damit wird eine weitere Anwendungsforderung erfüUt. In der Regel werden die Vorlagen zeilenweise abgetastet. Bei Scannern überwiegt das Abtasten mittels Fotodioden (Charged Coupled Devices: CCD). Aus der Vorlage wird ein Bitmuster als Raster abgeleitet. Bei Bedarf können aus dem Rasterbild optische Zeichen (Optical Character Recognition: OCR) abgeleitet werden. Wichtig für die Qualität der eingescannten Bilder sind die gewählte Auflösung und Farbtiefe. Scanner sind u.a. für Bestandserfassung alter Dokument oft genutzte Geräte. Eine Spezialanwendung sind Barcodeleser. Kameras erfaßten in der Vergangenheit Bilder auf Film oder Papier, die dann eingescannt werden konnten, oder auf Videofilmen, die auf speziellen Bearbeitungsplätzen für Videos aufwendig digitalisiert wurden. Die Entwicklung und der Einsatz von Digital-Kameras als Einzelbild- und Videokameras vereinfachte den Zugang mit dem Bildmaterial zum Computer deutlich. Statt Filmmaterial wird wie beim Scannen auf CCD-Elemente zurückgegriffen. Die Bilder werden in einem digitalen Speicher in der Kamera zwischengespeichert und bei Bedarf über eine der gängigen Schnittstelle (zum Beispiel parallele Schnittstelle oder SCSI) in das Rechnersystem übernommen. Eine besondere Lösung im Videobereich ist der Camcorder als Kombination von digitaler Videokamera und Videorecorder mit Farb-LCD-Bildschirm.

2.4.3 Speicherung Die externe Speicherung von Daten und Programmen erfolgt auf elektrischem, magnetischem und/oder optischem Wege. Technologien aus der Gründerzeit der Datenverarbeitung wie Lochstreifen und Lochkarte wurden wegen ihrer Handhabungsnachteile gegenüber den neuen Technologien völlig verdrängt. Gerade die rasante Entwicklung der Speichermöglichkeiten ist repräsentativ für die Entwicklung der Daten- imd Informationsverarbeitung. Geräte zur Speicherung können in folgende Gruppen unterteilt werden: • •

Disketten Platten

Teil I Informatik Grundlagen • •

35

Karten Bänder.

Nach der Art der Nutzung der Speichergeräte wird unterschieden in: • • •

Primärspeicher: im System installierte Geräte mit festen Datenträgern (z.B. Festplatte, Festspeicherkarten) Sekundärspeicher: im System installierte Geräte mit Wechseldatenträgem (z.B. Diskette, CD-ROM) Backup-Speicher: zusätzliche im System installierte Geräte zur Datensicherung (z.B. DAT-Kasetten).

Die grundlegende Klassifizierung schließt nicht aus, daß es im speziellen Falle zu funktionellen Überschneidimgen kommt. Beispielsweise kann ein Sekundärspeicher unter Umständen durchaus sinnvoll für das Backup eingesetzt werden. Disketten sind Kunststoffscheiben, die in einer Hülle drehbar eingeschlossen sind. Die Scheibe ist beidseitig mit magnetischem Material beschichtet. Der Trend bei den Diskettengrößen (Formate) geht eindeutig zu kleineren Abmessungen bei höherer Speicherkapazität durch größere Speicherdichte. Mögliche Dichteangaben sind die lineare Dichte (Bits Per Inch: BPI) und die Spurdichte (Tracks Per Inch: TPI). Stand der Technik im PC-Bereich sind 3,5"-HD-Disketten (High Density) mit einer Kapazität von 1,44 MB. Die 3,5"-ED-Disketten (Extra High Density) mit 2,88 MB haben sich am Markt nicht durchgesetzt. Das Betriebssystem verwaltet auf den Disketten Sektoren und Spuren. (Abb. 1-2.4-2)

Spur

Sektor

Abb. 1-2.4-2: Diskettenaufbau

2 Hardware

36

Disketten werden in entsprechende Diskettenlaufwerke eingelegt. Der Antrieb des Laufwerkes bewegt die Scheibe um ihre Achse. Ein Schreib-A^esekopf realisiert die Magnetisierung und Entmagnetisierung der magnetischen Oberfläche. Die relativ geringe Speicherkapazität der Disketten hat zu zahlreichen neuen Konzepten geführt, bei denen eine höhere Kapazität der Datenspeicherung auf wechselbaren, magnetischen Datenträgern erreicht wird. Am Markt haben sich jedoch nur wenige Produkte auf Grund eines akzeptablen Preis-ZLeistungsverhältnisses als Alternative bzw. Ergänzung zu den 3,5"-Diskettelaufwerken durchsetzen können. Dazu zählen zum Beispiel: • •

ZIP-Laufwerke anschließbar an eine parallele oder SCSI-Schnittstelle mit einer Kapazität von ca. 100 MB JAZ-Laufwerke als interne oder extern über SCSI anschließbare Geräte mit einer Kapazität von ca. 2 GB

Bei den Platten sind drei Arten zu unterscheiden: magnetische optische und magneto-optische Platten. Sie gibt es als Festplatten, permanent im Grundgerät installiert, oder Wechselplatten, vom Nutzer einfach auszutauschen. Umgangssprachlich werden unter Festplatten festinstallierte, magnetische Datenträger verstanden. Im Gegensatz zur Diskette haben Festplatten nicht nur eine flexible Scheibe, sondern viele starre Scheiben in einem Stapel. Zum Schreiben und Lesen werden deshalb mehrere Köpfe benötigt, die an einem Zugriffskamm befestigt sind. Die Scheiben werden auch in Sektoren und Spuren unterteilt. (Abb. I2.4-3)

Plattenstapel ZugrifTskamm

Abb. 1-2.4-3: Festplattenaufbau

Teil I Informatik Grundlagen

37

Für den Anwender sind Speicherkapazität und Zugriffszeit, von der die Transferrate abhängt, von besonderem Interesse. Im PC-Bereich beispielsweise sind Kapazitäten über 20 GB und Zugriffszeiten unter 10 ms üblich. Magneto-Optical Drives (MOD) sind Speicherlaufwerke mit wechselbaren Datenträgem. Unter Ausnutzung des magneto-optischen Effekts werden beim Schreiben Punkte auf der Oberfläche des Datenträgers durch einen Laserstrahl erwärmt und daim durch ein Magnetfeld beeinflußt. Das Lesen erfolgt rein optisch mittels Laserstrahl. Auf Grund ihres günstigen Preis-/Leistungsverhältnisses (bei 3,5 "-Laufwerken ca. 600 MB) und dem wahlfreien Zugriff auf die Daten werden sie gern als Backup-Systeme eingesetzt. Optische Platten bestehen ebenfalls aus dünnen, festen Kunststoffscheiben. Daten werden berührungslos über einen Laserstrahl, der an der Oberfläche reflektiert wird, gelesen. Für Platten, die neben Lesen auch Schreiben gestatten, wird das optische Verfahren mit thermischen und ggf. magnetischen Prozessen kombiniert. Generell werden folgende Arten von optischen Platten unterschieden: • • •

Read Only Memory: ROM Write Once Read Multiple: WORM Rewritable Optical Disc: ROD.

ROM werden vom Hersteller beschrieben. Die bekannteste Form ist die CD-ROM (Compact Disc: CD). Ihr Aufbau ist nach dem sogenannten Yellow Book und ihre Erweiterung nach dem Green Book der Firmen Philips und Sony definiert. CDROM haben in der Regel Speicherkapazitäten von rund 680 MB. Speziell die Entwicklung von graphischen Oberflächen und Multimedia ist eng mit dem Speichermedium CD-ROM verbunden. Mittels CD-Writer (auch CD-Brenner genannt), angeschlossen vorzugsweise über SCSI-Schnittstelle, können einmalig durch Laserstrahl CD-Rohlinge (CD-R) mit Daten im CD-Format beschrieben werden. Die Schreibgeschwindigkeit liegt derzeit bei ca. 900 kByte/s (6-fach). Ein WORM ist mit einem PROM vergleichbar. Der vom Hersteller unbeschriebene Datenträger karm vom Nutzer mittels spezieller Techniken einmalig beschrieben und danach wiederholt gelesen werden. Das bietet interessante Möglichkeiten der Abspeicherung von Standardprogrammen und Bestandsdaten. Für ROD existieren unterschiedliche Beschriftungsverfahren. Eine rein thermische Methode (Phase Change Recording: PCR) nutzt das Prinzip der Umkehr von Materialzuständen bei Erhitzung des Materials durch den Laserstrahl. Eine Kombination von thermischen und magnetischen Prozessen ist möglich (Thermo MagnetoOptical Recording: TMO-Recording). Dieses Verfahren setzt eine magnetische Schicht auf der Platte voraus, bei der definierte Bereiche durch Erwärmung mittels Laserstrahl magnetisch ausgerichtet werden können. Typische Vertreter fiir ROD sind Phase Change Drives (PD-Laufwerke). Auf das Prinzip von PD-Laufwerken greifen auch die bekannten CD-ReWritableSysteme (CD-RW) zurück. Der Unterschied zu PD ist, daß die Aufzeichnung im

38

2 Hardware

CD-Format erfolgt und somit die Datenträger in technisch entsprechend ausgestatteten CD-ROM-Laufwerken lesbar sind. Die Digital Versatile Disk (DVD) ist im Begriff die Nachfolge der CD-ROM anzutreten. Sie hat um ein Vielfaches höhere Speicherkapazität als die CD-ROM. Die DVD wird nicht nur auf dem Gebiet der Datenspeicherung als preiswerter Massenspeicher in der Computertechnik zu deutlichen Verbesserungen fuhren, sondern eröffiiet auch neue Dimensionen für multimediale und Anwendungen der Unterhaltungselektronik. Bereiche, in denen DVD neue Standards setzt bzw. setzen wird sind: •



Computertechnik: DVD-ROM (Massenspeicher für den PC), DVD-R (einmalig beschreibbare DVD), DVD-RW oder DVD-RAM (mehrfach- bzw. wiederbeschreibbare DVD) Multimedia/Unterhaltung: DVD-Video (digitale Wiedergabe von Videofilmen), DVD-Audio (digitale Wiedergabe von Audio-Aufnahmen).

Die technischen Grundprinzipien der CD wurden für DVD übernommen, weiterentwickelt und ergänzt. Die DVD-Lösungen gehören zu den optischen Speichern, die in besonderen Fällen durch andere Verfahren (wie bei CD-RW so auch bei DVD-RW) ergänzt werden. Zur Verbesserung des Ausfallverhaltens von Computeranlagen werden spezielle Subsysteme (Redundant Array of Inexpensive Disks: RAID) integriert. Dabei handelt es sich um Mehrfachplatteneinheiten in einem Gerät, die primär zur Erhöhung des Datendurchsatzes verwendet werden. Mittels spezieller Speichertechniken karm jedoch auch die Datensicherheit bei Ausfall einer oder mehrerer Platten erhöht werden. Werden hohe Anforderungen an die Datensicherheit gestellt, sollte unbedingt eine permanente Stromversorgung (Unterbrechungsfreie Stromversorgung: USV) der Anlagen garantiert sein. Eine spezielle Form externer Speicher sind Karten als Memory Cards. Chips (EEPROM), die sonst im Arbeitsspeicher benutzt werden, werden auf Karten zusammengesteckt und als externe Speicher mit Kapazitäten bis zu 100 MB verwendet. Auf Grund der geringen Größe, des niedrigen Energieverbrauches, der mechanischen Robustheit und der kurzen Schreib-ZLesezeiten im Vergleich zu den Festplatten sind die Memory Cards für den Einbau in transportablen Minirechnem, wie z.B. Notebooks, prädestiniert. Memory Cards für PC orientieren sich an Standards (PC Memory Card International Association: PCMCIA). Da die Gefahr besteht, daß durch interne Systemdefekte oder externe Einflüsse Daten verloren gehen, ist eine Mehrfachspeicherung relevanter Datenbestände in bestirmnten Zyklen sinnvoll. Dieser Prozeß wird als Backup bezeichnet. Sind zeitkritische Anwendungen vorhanden, werden für das Backup u.a. Wechselplatten oder Magneto-optische Platten auf Grund der relativ kurzen Zugriffszeiten verwandt. Optische Aufzeichnungsverfahren sind auch im Zusammenhang mit Archivierung besonders geeignet, weil die Datenbestände mehrere Jahrzehnte ohne Auffrischung erhalten bleiben. In den zeitunkritischen Fällen haben sich vor allem Ma-

Teil I Informatik Grundlagen

39

gnetbänder wegen ihres günstigen Preis/Leistungsverhältnisses als Back-upEinheiten durchgesetzt. Der Trend geht dabei generell zu Laufwerken mit Magnetbandkasetten. Grundsätzlich gibt es zwei Arten der Aufzeichnung. Die Helical-Scan-Technik basiert auf Audio- und Videoentwicklungen. Daten werden mit hoher Dichte schräg zur Bandlaufrichtung durch rotierende Kopftrommeln aufgezeichnet. Sie sind auf Grund der mittels Kompression erreichbaren Datenmengen von bis zu 40 Gigabyte für Back-up großer Datenmengen geeignet. Vertreter dieser Technik sind EXABYTE mit 8mm-Band und DAT (Digital Data Storage: DAT) auf Basis 4mm-Band. Die andere Aufzeichnungsart basiert auf dem Prinzip des Kasettenrecorders und wird als Streamer-Technik bezeichnet. Die Daten werden in parallelen Spuren mittels mehrerer Magnetköpfe aufgezeichnet. Repräsentanten sind Halb-ZollLaufwerke nach einer speziellen Technologie (Digital Linear Type: DLT) und Viertel-Zoll-Laufwerke nach entsprechenden Standards (Quarter Inch Cartridge: QIC). Bestimmte Bandlaufwerke für PC haben keinen eigenen Controller. Sie werden mit dem Diskettencontroller betrieben und deshalb als Floppy-Streamer bezeichnet. Die Anwendung der Mittel der Informatik im Unternehmen bedingt, daß die Datenspeicherung als eine komplexe Frage aufzufassen und zu lösen ist. Neben den Stand-alone-Varianten existieren integrierte bis hin zu Lösungen für das gesamte Unternehmen, in denen Kombinationen der erwähnten Speichergeräte zu optimierten Speichersystemen geführt werden.

2.4.4 Ausgabe Unter dem Aspekt Ausgabe werden alle Komponenten im Grundgerät sowie externen Einheiten behandelt, die an der Aufbereitung und visuellen Darstellung rechnerintemer Daten beteiligt sind, auch wenn die Ausgabe nicht direkt am Ort der Datenverarbeitung erfolgt. Ausgehend von dieser Abgrenzung sind zu den Ausgabegeräten folgende Gruppen zu zählen: • • • • •

Karten Bildschirme Drucker Plotter Wiedergabegeräte.

Die nachfolgend behandelten Karten werden der Ausgabe zugeordnet, weil sie als Zusatzeinheiten in Computern zur Ausgabeunterstützung eingesetzt werden. Ihre Hauptfunktion ist die Vorbereitung von internen Daten zur Ausgabe auf einem entsprechenden Gerät. Wichtige Zusatzkarten für Computer sind: • •

Graphikkarten Faxkarten

40 • •

2 Hardware Audiokarten Videokarten.

Graphikkarten sind Steckkarten und dienen als Bindeglied zwischen Computerprozessor und Bildschirm. Die vom Prozessor punktweise berechneten Bilder werden an den Speicher der Graphikkarte weitergegeben. Speicherchips auf Graphikkarten sind dynamische (DRAM) oder Video-RAM-Chips (Video Random Access Memory: VRAM). VRAM können gleichzeitig lesen und schreiben. Für alltägliche PC-Anwendungen reicht es aus, daß die Karte als Zwischenspeicher fungiert (Frame Buffering) und die Bilder an den Bildschirm überträgt. Die Darstellung erfolgt dann nach entsprechenden Standards (Video Graphic Array (VGA), Super VGA (SVGA)). Für die mittlerweile immer komplexer werdenden Anwendungen werden die Karten mit eigener Intelligenz ausgestattet. Spezielle Graphikprozessoren übernehmen Rahmendaten (z.B. Mittelpunkt und Radius eines Kreises) und berechnen daraus selbständig das Bildschirmbild. Wird dadurch der Hauptprozessor entlastet, so werden diese Karten auch als Accelerator-Karten bezeichnet. Graphikkarten haben weiterhin einen Digital-Analog-Wandler, um die digitalen Computerdaten in analoge Signale für die Ausgabe umsetzen zu können. Um die Leistungsfähigkeit der Systeme bei der Darstellung dreidimensionaler Gebilde zu verbessern, sind 3-D-Graphikkarten entwickelt und zur Anwendung gebracht worden. Ein einheitlicher Standard ist zur Zeit nicht vorhanden. Breite Anwendung in diesem Zusammenhang findet die von Microsoft standardisierte Programmschnittstelle DirectX, die u.a. über Komponenten für die Graphikkarte verfugt. Faxkarten als Zusatzkomponente im Computer bieten die Möglichkeit, Texte imd Graphiken ohne Umweg direkt vom Computer über normale Telephonleitungen an den Empfanger zu schicken oder umgekehrt direkt vom Sender am Rechner zu empfangen. Eine Alternative zur Karte ist das externe Fax-Modem. Es können Rechner mit Netz-/Faxkarte oder externes Fax-Modem, Drucker und Faxgeräte angesprochen werden. Die Funktion ,4^axen" kann in vernetzten System von der Netzwerkkarte (z.B. ISDN-Karte) mit wahrgenommen werden. Vor allem mit der Entwicklung von Multimedia entstand der Bedarf, nicht nur Text und Graphik ein- und ausgeben zu können, sondern auch Ton (Sound) und bewegte Bilder (Video). Damit Rechner in die Lage versetzt werden, Soimd und Video wie andere mediale Mittel zu behandeln, erfolgt die Aufrüstung mit entsprechenden Audio- und Videocards als Transfereinheiten zwischen Prozessor und externen Wiedergabegeräten. Im PC-Bereich werden Audiokarten auch als Soundkarten bezeichnet. Karten bieten u.U. eine solche Funktionalität, daß beispielsweise damit professionelle Videoschnittplätze ersetzt oder eigene Kompositionen am Rechner entwickelt werden können. Audio- und Videokarten werden nicht nur passiv, d.h. zur Wiedergabe eingesetzt, sondern dienen auch der Übernahme und Bearbeitung von Bild und Ton. Bildschirme können in Raster- und Vektordisplays unterteilt werden. Beim Rasterverfahren wird das Bild aus Bildpunkten (Pixel) zusammengesetzt. Es hat sich als Hauptverfahren für Standardanwendungen etabliert. Vektorbildschirme erzeu-

Teil I Informatik Grundlagen

41

gen das Bild aus Linien. Sie werden für Spezialanwendungen, wo hohe Genauigkeit der Darstellung erforderlich ist, eingesetzt. Reine Textdarstellung ist nur noch bei Bedienterminals anzutreffen. Normalerweise arbeiten die eingesetzten Displays im genormten Graphikmodus (z.B. VGA). Standard ist auch, daß die Bildschirme als Refresh-Display über einen Bildwiederholspeicher verfügen, dessen aktueller Inhalt in bestimmten Zyklen erneut am Display dargestellt wird. Erfolgt kein Refresh, verblaßt das Bild und geht verloren. Das Pendant dazu sind Speicherbildschirme, bei denen das Bild erhalten bleibt und nicht wieder aufgefrischt werden muß. Das Bild wird erst bei Änderung der Bildinhalte erneut ausgegeben. Speicherbildschirme werden für spezielle Anwendungen eingesetzt. Die weiteste Verbreitung aus der Sicht der Bauweise haben Kathodenstrahl- (Cathode Ray Tube: CRT), Flüssigkeitskristall- (Liquid Cristal Display: LCD) und Plasmabildschirme als farbgraphikfähige, pixelorientierte Bildschirme geflmden. CRT erzeugen das Bild, indem ein Elektronenstrahl auf die Bildschirmrückseite trifft, die bei einfarbigen Bildschirmen (monochrom) mit einem Material und bei mehrfarbigen (colored) mit unterschiedlichem Material, meist Phosphor, beschichtet ist. (Abb. 1-2.4-4) Der Strahl bringt die Bildpunkte zum Leuchten.

Wetineltzylindof

Abb. 1-2.4-4: Wirkprinzip einer Kathodenstrahlröhre Die Farbdarstellung beruht auf den Grundfarben Rot, Grün und Blau (Red-GreenBlue: RGB), aus denen additiv alle anderen Farben gemischt werden. Wichtig bei der Bewertung von CRT ist die Frage, ob es sich um Voll- (non-interlaced) oder

42

2 Hardware

Halbbild-Displays (interlaced) handelt. Bei Interlace wird jede Zeile nur in jedem zweiten Zyklus aufgefrischt, was u.U. sichtbar das Flimmern des Bildschirms verstärkt. [Die93] Wegen der breiten Anwendung von CRT als Hauptausgabegerät am Computer spielen Ergonomie (z.B. Entspiegelung) und Strahlenschutz eine viichtige Rolle, wobei vor allem die Einhaltung von elektrostatischen und elektromagnetischen Kenngrößen wichtig ist. Als Mindeststandard ist MPR II anerkannt. LCD gewinnen immer größere Bedeutung, nachdem mit den aktiven Dünnfilmtransistoren (Thin Film Transistor: TFT) eine technische Lösung gefunden wurde, die vertretbare Bildaufbauzeiten, Farbdarstellung imd flache Bauweise miteinander verbinden hilft. Breite Anwendung finden LCD und Plasmabildschirme vor allem bei den tragbaren Rechnern auf Grund der genaimten Charakteristik. Technisches Prinzip ist, daß durch eine Matrixanordnung elektrisch steuerbarer Elemente entweder eine Gasschicht (Plasma) oder eine Flüssigkristallschicht (LCD) punktweise so beeinflußt wird, daß das gewünschte Bild entsteht. [Die93]

Bei den Druckern gibt es zwei Grundarten. Das Papier kann entweder mit Anschlag (impact) oder ohne Anschlag (non-impact) beschriftet werden. Bei den Impact-Druckem ist zwischen Typen-und Matrixdruckem zu unterscheiden. Matrixdrucker haben die Typendrucker am Arbeitsplatz verdrängt. Zeichen und Bilder werden punktweise durch die Ansteuerung von 24 Nadeln in einem Druckkopf erzeugt. Im Arbeitsbereich werden die Nadeldrucker gegenwärtig vor allem durch Laser- und Tintenstrahldrucker verdrängt, die beide zu den Non-Impact-Druckem zählen. Der Laserdrucker ist ein Vertreter der Elektrophotodrucker, der Tintenstrahldrukker gehört zur Gruppe der Düsendrucker. Beim Laserdrucker werden mittels Laserstrahl Bereiche auf einer Trommel markiert, an denen dann der Toner haftet, der anschließend auf das Blatt übertragen wird. Der Tintenstrahldrucker ist ein non-impact Matrixdrucker. Er sprüht aus kleinen Düsen Tintentröpfchen auf das Papier. Gründe für die Verschiebung der Anteile der Drucker am Markt sind bessere Qualität und Geräuscharmut von Laser- und Tintenstrahldruckern im Vergleich zum Nadeldrucker. Laserdrucker werden vor allem zur Ausgabe hochwertiger, einfarbiger Darstellungen genutzt. Tintenstrahldrucker für Farbausgaben. Allerdings gibt es auch Farblaserdrucker bzw. Tintenstrahldrucker können auch für einfarbige Darstellungen benutzt werden. Auf Grund des günstigen Preis-ZLeistungsverhältnisses überwiegen für Farbausgaben derzeit vor allem die Tintenstrahldrucker. Eine weitere Gruppe der Non-Impact-Drucker sind die Thermodrucker, die durch Wärmeeinwirkung auf einen Farbträger oder auf Spezialpapier ein Bild erzeugen. Thermodrucker finden u.a. Anwendung bei der Erzeugung von Arbeitsabzügen mittels in den Rechner integrierter Drucktechnik oder bei Faxgeräten etc.

Teil I Informatik Grundlagen

43

Die Farberzeugung bei Druckern erfolgt im Gegensatz zu den Bildschirmen im subtraktiven Verfahren, da die Farbwirkung durch die Reflexion einfallenden Lichtes auf das Papier entsteht. Die Gnmdfarben sind Gelb, Cyan und Magenta (Yellow-Cyan-Magenta: YCM). Ein Problem sind die Übereinstimmung von Darstellimgen am Bildschirm mit der Druckausgabe, d.h. daß das, was auf dem Bildschirm gezeigt wird, genauso auch auf Papier beim Druck erscheint. Deshalb wurden Seitenbeschreibungsverfahren entwickelt. Zwei bekannte Varianten sind True Type und Postscript. Bedeutung für die Ausgabe von Zeichnungen etwa ab Format A3 bis AO haben automatische Zeichenmaschinen (Flotter). Grundbauarten sind Trommel- und Flachbettplotter. Beim Flachbettplotter liegt die Vorlage auf einer ebenen Unterlage. Zweidimensionale Darstellungen werden durch die Überlagerung der geradlinigen Bewegung einer Schiene und eines Schlittens erzeugt. Bei den Trommelplottem entsteht das Bild im kartesischen Koordinatensystem durch Überlagerung einer Rotationsbewegung der Trommel oder Walze und der geradlinigen Bewegung des Schlittens. Großformatige Plotter sind derzeit überwiegend Stiftplotter (Penplotter). Durch den automatischen Stiftwechsel sind farbige Zeichnungen möglich. Wird anstelle der Stifte ein Schneidwerkzeug benutzt, so handelt es sich um Schneidpiotter, die beliebige zweidimensionale Vorlagen ausschneiden können. Penplotter finden beispielsweise fiir CAD-Zeichnungen und Kartenmaterial Anwendung. Schneidpiotter werden z.B. in der Textilindustrie eingesetzt. Alternativ zu den Penplottem werden u.a. Laser-, Tintenstrahl- und Thermoplotter angeboten. Als Standard einer Plottersprache zur Verständigung der intelligenten Zeichenmaschine mit dem Rechner hat sich eine spezielle Befehlssprache durchgesetzt (Hewlett Packard Graphics Language: HPGL). Zu den sonstigen Wiedergabegeräten zählen vor allem unter dem Aspekt multimedialer Systeme: Lautsprecher und Projektionsgeräte. Die Lautsprecher dienen der Wiedergabe akustischer Signale, die durch digitale Daten von der Soundkarte determiniert sind. Wichtige Projektionsgeräte sind Video-Beamer. Sie haben auf Grund ihres immer besseren Preis-ZLeistungsverhältnisses die Kombination Flat-Screen/OverheadProjektor weitestgehend verdrängt. Video-Beamer gibt es als stationäre und transportable Systeme in Vor- oder Rückprojektion, je nachdem wo sich das Gerät in Bezug auf die Leinwand befindet. Sie können alle Computerbilder, die auf einem Bildschirm realisierbar sind, im Großformat wiedergeben. Wichtig ist, daß bei der Ausgabe auf eine Systemabstimmung fiir die Präsentation geachtet wird, d.h. Leistungsparameter von Zentraleinheit, Bussystemen, Graphikkarte, Bildschirm und/oder Video-Beamer etc. sind beim Konfigurieren zu harmonisieren.

44

2 Hardware

2.4.5 Übertragung Die wachsende Vernetzung der Rechnersysteme beeinflußt die Systemkonzepte auch aus Hardwaresicht erheblich. Systeme der Datenübertragung bestehen aus den Datenendeinrichtungen und Datenübertragungseinrichtungen. Nachfolgend sollen einige wesentlichen Komponenten für die Datenübertragung genannt werden. Dabei wird folgende Gliederung zu Grunde gelegt: • • • •

Adapter Endgeräteanschluß Übertragungsmedien Geräte im Netz.

Sollen Daten vom Rechner gesendet oder empfangen werden, so ist eine Aufbereitung der Daten für die Übertragung notwendig, da das Umfeld des Einzelsystems meist heterogen ist. Unter Heterogenität soll in diesem Zusammenhang verstanden werden, daß verschiedene Dienste auf differenten Medien, Produkten und Standards bei unterschiedlicher Performance existieren. Die Aufbereitung der Computerdaten gemäß den Übertragungsanforderungen wird mittels Adaptern realisiert. Bei größeren Rechnern sind die Adapter in der Regel bereits in das Gerät vom Hersteller integriert. Beim PC werden für diese Schnittstellen Steckkarten oder externe Netzadapter benötigt. Solange wesentliche Teile der Femkommunikation auf analogen Signalen beruhen, kommt den Modems eine besondere Stellung zu. Sie wandeln digitale Daten des Rechners in analoge Signale des Netzes und umgekehrt (Modulation und Demodulation). Modems können in Form von PC-Steckkarten oder extern über serielle Schnittstellen (z.B. RSR232) in das System integriert werden. Mit der durchgängigen Einführung digitaler Netze (Integrated Services Digital Network: ISDN) werden die Modems ihre Bedeutung verlieren. Für ISDN werden rechnerintem Steckkarten und extern Adapter benutzt. Falls eine serielle Schnittstelle wie beim Modem zu bedienen ist, muß die Karte oder der Adapter über einen Modemchip verfügen. Während auf der Rechnerseite Adapter die Verbindung herstellen, erfolgt die Anbindung auf der Netzseite durch Transceiver. Transceiver sind Geräte für den Anschluß der Endgeräte an das elektrische Kabel. In der Regel sind es externe Geräte, die sich jedoch auch auf einer PC-Karte befinden körmen (z.B. Cheapemet). An einen Transceiver können bis zu acht Endgeräte angeschlossen werden. Ist mehr als ein Endgerät anschließbar, so handelt es sich um einen MultiportTransceiver. Zur Übertragung werden unterschiedliche Medien eingesetzt. Die klassische Form der Übertragung war elektrisch über verdrillte Kupferkabel (Telephonleitungen) oder Koaxialkabel. Koaxialkabel werden vor allem im Tertiärbereich (Etagenverkabelung) zunehmend durch kostengünstige Twisted Pair Kabel verdrängt, von denen es ungeschirmte (Unshielded Twisted Pair: UTP) und geschirmte (Shielded Twisted Pair: STP) gibt.

Teil I Informatik Grundlagen

45

Die Alternative zur elektrischen ist die Übertragung optischer Signale. Als Kabel werden Glasfaserkabel eingesetzt. Vorteile der Glasfaserkabel sind, daß die Übertragung durch elektrische und magnetische Felder nicht gestört werden kann und hohe Übertragungsraten möglich sind. Ein Grundproblem ist, daß prinzipiell eine zusätzliche Umwandlung von elektrischen in optische Signale und zurück in elektrische notwendig ist, da heutige Computer mit elektrischen Signalen arbeiten. Die Zusatzgeräte verteuern die Verkabelungsprojekte. Für die kabellose, optische Übertragung von Signalen werden vor allem Infrarotund Laserlinks benutzt. Infrarotlicht wird vor allem für die kabellose, flexible Verbindung von Geräten in geschlossenen Räumen angewandt. Laserverbindungen findet man im Außenbereich bei der Übertragung über Sichtentfemungen. Eine spezielle Form für die Übertragung großer Datenmengen über große Entfernungen sind Richtfunkstrecken, beispielsweise bei interkontinentalen Verbindung über Satelliten. Komplexe, weiträumige Netzwerke erfordern Hardware, die eine fehlerarme und effiziente Übertragung ermöglicht. Wichtige Geräte dafür sind Repeater, Bridges, Router, Gateways imd Konzentratoren bzw. Hubs (vgl. dazu auch unten Abschnitt 4.3). Repeater dienen der Signalverstärkung, da die Signale in der Leitung gedämpft werden und nach einer bestimmten Entfernung einer Regeneration des Signals notwendig ist. Die Bridge arbeitet wie ein Repeater, bietet jedoch zusätzlich die Funktion, Netzwerksegmente miteinander zu verbinden. Repeater wirken nur auf der physischen Ebene nach OSI-Referenzmodell. Bridges nutzen zusätzlich die Sicherungsschicht (Link Layer). Für MultiportBridges wird auch der Begriff Switch benutzt. Router beziehen die OSI-Schicht 3, die Vermittlungsschicht, in ihre Funktionalität ein. Somit können Netze unterschiedlicher Toplogie verbunden werden. Wenn Computer aus unterschiedlichen Subnetzen miteinander kommunizieren sollen, wird durch Routing eine optimale Wegfindung für die Nachrichten ermöglicht. Router bewirken das optimale Zusammenwirken verschiedener Netztypen und Protokolle. Für den Übergang zwischen unterschiedlichen Netztypen und Protokollen werden Gatways eingesetzt Somit ist eine komplette Anpassung der ankommenden Daten an die andere Netzseite möglich. Hubs sind modulare Einheiten, die mit Anschlüssen für weitere Hubs (kaskadierende Systeme) und Endgeräte versehen sind und somit eine Konzentration von Netzfunktionen für die bessere Netzbeherrschung bewirken. Sie umfassen Moduln vom einfachen Multiport-Repeater über Bridges, Multiplexer bis zum Router. Leider gibt es keine einheitliche Definition für Hubs. Beispielsweise werden auch optische Stemkoppler als Hubs bezeichnet. Netzwerkkarten haben eine Zwitterstellung im Sinne der Ein- und Ausgabe- sowie Kommunikationsunterstützung am PC. Sie bieten auch funktionelle Unterstüt-

46

2 Hardware

zung von Anwendungen. Vor allem im Zusammenhang mit den integrierten digitalen Diensten wie ISDN werden spezielle Karten (z.B. ISDN-Karten) eingesetzt, die zum Beispiel das Faxen unterstützen oder als aktive Karten mit eigener Prozessorleistung bei Bedarf die CPU entlasten. Die im Vergleich zu ISDN leistungsfähigere ADSL-Technik (Asynchronous Digital Subscriber Line), die Mehrwertdienste bei hohen Bandbreiten auf Kupferkabel ermöglicht, wird ebenfalls durch entsprechende Hardwarekomponenten am PC, wie ADSL-Modems oder ADSLChips, unterstützt. In Deutschland wird diese Technik auch unter dem Kürzel TDSL angeboten.

2.5 Auswahl der Hardware Da Hardwaresysteme sehr komplex sind, ist eine Gesamtoptimierung wichtig. Ein Hochleistungsprozessor nützt nicht viel, wenn er beispielsweise mit einer schnellen Festplatte über einen langsamen Bus verbunden ist. Um die Leistungsfähigkeit der Hardware bewerten zu können, wurden Benchmark-Tests entwickelt, wie zum Beispiel: [Die93] • • • •

Landmark-Test für Prozessor und Speicherbausteine Core-Test für Festplatten Khomerstone-Test für Systemleistungen Power-Meter-Test für Leistungsfähigkeit von Personalcomputern

Die Eignung von Tests, die nur Aussagen für eine Komponente oder ein Subsystem gestatten, ist umstritten. Der Trend geht immer mehr zu Tests, die eine Aussage über das Leistungsverhalten des kompletten Systems erlauben. Das Problem dabei ist jedoch, daß je nach zu absolvierender Aufgabe die Ergebnisse variieren und unterschiedlich zu bewerten sind. Bei der Auswahl der Hardware solhe systematisch vorgegangen werden. Folgender Grobablauf ist zu empfehlen: • • • • • • •

Analyse, Modellierung und Dokumentation der Arbeitsabläufe Fixierung der Einsatzschwerpunkte für den IV-Einsatz Ableitung der neuen Gesamtorganisation Auswahl der entsprechenden Software Auswahl der enstprechenden Hardware Beschaffung und Installation der Hard- und Softwaresysteme Einbindung der Hard- und Softwaresysteme in vorhandenes IV-Umfeld.

Diese Vorgehensweise sichert, daß die Hardware beschafft wird, die effizient, wirtschaftlich und der Aufgabe angepaßt ist. Bei der Beschaffung eines Computers sollten im Detail u.a. folgende hardwarespezifische Fragen Beachtung finden: • • •

Welche Rechnerklasse ist für die Aufgabe geeignet? Welches Hardwareumfeld existiert bereits? Welche Schnittstellen sind einzubeziehen?

Teil I Informatik Grundlagen • • • • • • •

47

Welche Fabrikate kommen in die engere Wahl? Welche Hardwarekomponenten sind auszuwählen? Welche Leistungs- und Kapazitätsparameter müssen die Komponenten bzw. das System haben? Welche Peripherie ist erforderlich? Wie ist der zukünftige Systemausbau geplant? Welche Zusatzforderungen können auftreten? Welche Kosten sind zu kalkulieren?

Die Fragen sind weiter zu untersetzen. Wesentliche Kriterien bei der Auswahl umfassen nicht nur technische, sondern auch wirtschaftliche, rechtliche, ergonomische, etc. Aspekte, die in Katalogen zusammengefaßt sind, wie beispielsweise [BHL88]: Benutzerfreundlichkeit technische Ausstattung kapazitive Auslegung Möglichkeiten der Integration Ausbaumöglichkeiten Verbreitung Kompatibilität Lieferant Garantie Service Unterstützung LieferfristenPreise Referenzen Raumbedarf laufende Kosten Sicherheitsanforderungen Ergonomie. Beim Konfigurieren, dem Ausstatten eines Computers mit den Komponenten, die für die Unterstützung der Anwendungen auf dem Computer notwendig sind und optimal aufeinander abgestimmt sein sollten, sind die Kenntnisse über die einzelnen Hardwareteile des Computers wichtig, da jedes einzelne Elemente Einfluß sowohl auf die Performance des gesamten Systems als auch auf weitere, oben aufgeführte Aspekte, wie Sicherheit, Raum, Ergonomie, usw., hat

48

3 Software

3. Software 3.1 Betriebssysteme 3.1.1 Was ist ein Betriebssystem? In der „Gründerzeit" der Datenverarbeitung gab es nur Anwendersoftware. Der Computer wurde programmiert, um ein Problem zu lösen. Das entstandene Programm wurde eingegeben und gestartet, meist vom Programmierer selbst, und weim es sich als fehlerfi-ei erwies, wurden seine Ergebnisse dem Auftraggeber übergeben. Danach durfte der nächste Programmierer den Computer übernehmen, um sein Programm zu testen oder abzuarbeiten. Auch als es dann Bediener gab, die die höher qualifizierten Programmierer entlasten sollten, bestand deren Aufgabe vor allem darin, Programm nach Programm einzugeben und dafür zu sorgen, daß die teure Maschine möglichst nicht lange stand. Das wurde dann auch die erste Aufgabe für Betriebssysteme: Eine Software sollte durch die Steuerung des Starts der in eine Warteschlange eingegebenen Programme die Nutzung des Computers beschleunigen. Diese Steuerprogramme nannte man ,>lonitore". Sie waren Vorläufer der heutigen Betriebssysteme. Heute besitzen Betriebssysteme weit umfangreichere Aufgaben. Über die Abgrenzung dieser Aufgaben gibt es unterschiedliche Auffassungen. Das zeigt die Vielfalt verschiedener Definitionen des Betriebssystembegriffes in der Literatur sehr deutlich. Wir definieren ein Betriebssystem als ein Programm oder eine Menge zusammenwirkender Programme zur Steuerung aller Programmabarbeitungen und zur Verwaltung aller Ressourcen des Computers (Betriebssystem „im engeren Sinne") und sprechen von Systemsoftware (Betriebssystem „im weiteren Sinne"), indem wir zusätzlich alle universellen Programme zur Bearbeitung imd Verwaltung von Programmen und allgemeinen Daten einbeziehen. Dieser Abschnitt konzentriert sich auf die Beschreibung der Betriebssysteme, die Dienstprogramme imd die Programmbearbeitungssoftware sind Gegenstand des Abschnittes 3.2. Kommunikationssysteme werden im Abschnitt 4 und Datenverwaltungssysteme im Abschnitt 6 behandeh. Bic/Shaw [BS90] beschreiben die Aufgabe von Betriebssystemen als die Verwandlung - funktionelle Aufwertung - des Computers, der nichts beherrscht als die Befehle seiner Maschinensprache, in eine hochleistungsfähige „virtuelle Maschine". Das Betriebssystem übernimmt Funktionen, die von der Hardware nicht beherrscht werden. Dabei ist es für den Nutzer eigentlich unerheblich, ob die entsprechende Leistung durch die Hardware oder durch das Betriebssystem erbracht wird. Für ihn ist es wichtig zu wissen, wie er mit der so entstandenen „virtuellen Maschine" umzugehen hat, während die genaue Kennmis der HardwareEigenschaften in den Hintergrund rückt.

Teil I Informatik Grundlagen

49

Abb. 1-3.1-1 Arten der Systemsoftware Wir wollen in diesem Zusammenhang drei Abstraktionsstufen des Computerbegriffes verwenden: •

Reale Maschine

= Zentraleinheit

+ Geräte (Hardware)



Abstrakte Maschine

= Reale Maschine

+ Betriebssystem



Benutzermaschine

= Abstrakte Maschine

+ Anwendungsprogramm

Für viele heutige Computemutzer genügt es, den Umgang mit der Benutzermaschine zu beherrschen, sich vom für seine Belange maßgeschneiderten Anwenderprograirmi führen zu lassen, das sich seinerseits der Dienste des Betriebssystems bedient und mit deren Hilfe die Hardware nutzt. Von beiden benötigt der Nutzer keine Detailkenntnisse mehr. Auch der Programmierer, der heute Anwendungsprogramme erstellt, wird sich nicht mehr auf Detailkenntnisse zur Hardware stützen müssen. Diese können vielleicht hilfreich sein, wichtig ist für ihn aber nur der Umgang mit der Abstrakten Maschine und der ,J>Jutzeroberfläche" des Betriebssystems. Bleibt eigentlich nur noch zu ergänzen, daß heute, im Zeitaher immer stärkerer Vernetzung von Computern Betriebssysteme nicht mehr an die Grenzen eines Computers gebunden sein müssen. Das betrifft sowohl die Funktion, die sich auf ganze Netze beziehen kann, als auch den Speicherort einzelner Komponenten. Doch dazu mehr im Abschnitt 3.1.7.6.

3.1.2 Die Aufgaben eines Betriebssystems Wir wollen uns hier mit den Aufgaben des Betriebssystems „im engeren Sinne" beschäftigen. Unsere Definition weist ihm zwei Aufgaben zu: Die Steuerung der Programmabarbeitung bezieht sich schon lange nicht mehr nur auf den reibungslosen Übergang zum nächsten Programm, wenn das vorhergehende beendet ist. Jeder Computemutzer weiß heute zu schätzen, wie er mit Hilfe von grafischen Oberflächen mit ihren anschaulichen Symbolen und mit ebenso anschaulichen wie effektiven Manipulationsmöglichkeiten für Maus und Tastatur beim Start und während der Abarbeitung seines Programmes unterstützt wird. Jeder Programmie-

50

3 Software

rer der Anfangszeit wäre glücklich gewesen, wenn er bei auftretenden Fehlem in seinem Programm solche aussagekräftigen Fehlermitteilungen oder gar Hilfen erhalten hätte, wie das heutige Betriebssysteme bieten oder wenn er wenigstens die heute schon als unbequem empftmdenen Kommandos von DOS oder UNIX zur Verfügung gehabt hätte. Mit dem Start eines Programmes richtet das Betriebssystem diesem eine Arbeitsumgebung ein. Dazu gehört z.B.: • • • • •

die Zuordnimg peripherer Geräte, die Übernahme des Datenaustausches mh den einzelnen Geräten durch spezielle Softwarekomponenten, die Driver, die Zuweisung von genügend großem Speicherplatz, temporärer Dateien, in denen Programme Zwischenergebnisse ablegen können, der Aufbau spezieller Speicherbereiche wie Stack, Heap usw.

Das Betriebssystem übernimmt die gesamte Steuerung und Überwachung der Programmausführung. Diese Bedienungsfunktion des Betriebssystems wird auch als seine Äußere Funktion bezeichnet. Im Zeitalter der Mehrprozessbetriebssysteme gewinnt jedoch die Innere Funktion immer größere Bedeutung. Darunter versteht man die Verwaltung der Ressourcen zwecks effektiver Auslastung und die Konfliktvermeidung bei Aufteilung der Ressourcen (Betriebsmittel) des Computers auf mehrere Prozesse. Verwalten bedeutet: • • • •



Vergabe auf Anforderung, Überprüfiing der Berechtigung zur Nutzung einer Ressource, genaue Speicherung der Parameter über die vergebenen Anteile an der Ressource, Sicherung der Kontinuität der Ressourcennutzung (Vergabe von Speicherbereichen ohne Lücken, Sicherung, daß bei aufeinanderfolgenden Zugriffen auf eine sequentielle Datei auch die aufeinanderfolgenden Daten gelesen werden usw.) Freigabe nach Abmeldimg des Bedarfs oder bei Programmende

Im Multiprogrammbetrieb ist es wichtig, daß diese Bereitstellung der ComputerRessourcen entsprechend einer vorgegebenen Strategie erfolgt, die vor allem der Effektivität des Gesamtprozesses (hohe Auslastung aller Ressourcen) dienen muß. Besonders wichtig ist auch die „gerechte" Verteilung der Ressourcen. Das Betriebssystem muß in der Lage sein, einem Programm zugeteilte Ressourcen auch wieder zu entziehen. Es muß verhindern, daß ein Programm die gesamten Ressourcen dauerhaft an sich zieht und andere Programme nicht zum Zuge kommen läßt. Das darf nur in Ausnahmefallen zugelassen werden, wenn es der Nutzer verlangt.

Teil I Informatik Grundlagen

51

Bei manchen Betriebssystemen ist eine sehr schnelle Zuteilung der Ressource Rechenzeit von besonderer Bedeutung. Wichtig im Dialogbetrieb am Bildschirm sind akzeptable Reaktionszeiten. Ein Computemutzer, der auf die Reaktionen des Computers auf seine Aktionen mit Maus- oder Tastatur länger als eine Sekunde warten muß, wird zu Ungeduldshandlungen und damit zu unnötigen Bedienfehlem verleitet. Gerade dieses Problem spieh im Zuge der immer höheren Taktfrequenzen scheinbar eine immer geringere Rolle. Betrachtet man die Entwicklung auf diesem Gebiet jedoch etwas genauer, so stellt man fest, daß auch heute noch solche Wartezeiten auftreten. Hauptursachen dafür sind: •





die immer komplizierter werdende Software (welches anspruchsvolle Programm verzichtet heute noch auf die eigentlich überflüssigen und äußerst programmintensiven Klang-, Bild- oder gar Videoeffekte!), die immer stärkere Vernetzung nicht nur der Computer, sondern auch der Software, die heute schnell einmal auf entfernt im Internet gelagerte Hilfsdaten oder "Prozeduren zugreift, die immer kompliziertere Softwarestruktur, die nicht mehr auf minimale Rechenzeit ausgerichtet ist, sondern vor allem auf softwaretechnologische Aspekte wie Modularität, Wartbarkeit und Weiterentwicklungsfreundlichkeit der Software.

Wichtig bei der Ressourcenverwaltung ist die Verfolgung von Schutzstrategien. Das Betriebssystem muß absichern, •

• • •

daß Daten eines Programms während seiner Abarbeitung nicht durch andere Programme verändert oder gelöscht werden (wenn dies nicht ausdrücklich erlaubt wird), daß Dateien eines Nutzers (oder Daten eines laufenden Programmes) vor unberechtigter Einsichtnahme durch Andere geschützt sind, daß Dateien eines Nutzers nur durch dazu Autorisierte verändert oder gelöscht werden, daß Geräte, die einem Programm zugewiesen wurden, nicht zwischenzeiüich durch andere Programme genutzt werden.

Früher spielte die Abrechnung der Ressourcennutzung in Unternehmen der Datenverarbeitungsdienstleistung eine wichtige Rolle. Heute gewinnt diese Aufgabe neue Bedeutung im Zusammenhang mit der gewerbsmäßigen Bereitstellung und Nutzung von Leistungen im Internet. Hier sind Betriebssystemkomponenten gefragt, die die Vergabe der Ressourcen an die einzelnen Programme mit vertretbarem Aufwand protokollieren. Für die Steuerung des Zusammenwirkens gleichzeitig laufender Programme, die verschiedene Aspekte eines Problemkreises behandeln (wie etwa die Bearbeitung von Bestellungen und von Warenein- oder -ausgängen) ist das Bereitstellen von Möglichkeiten zur Synchronisation und Kommunikation zwischen den Programmen (wir werden später von Prozessen sprechen) dringend erforderlich.

52

3 Software

3.1.3 Einige Grundbegriffe Im Zusammenhang mit den obengenannten Aufgaben wird es notwendig, einige Begriffe zu erklären. Auffallig ist beim Studium von Literatur zu Betriebssystemen die Verwendung des Begriffes Prozeß da, wo der Anfanger den Begriff Programm erwartet. Was ist der Unterschied? Unter einem Prozeß verstehen wir ein gestartetes Programm. Da es Betriebssysteme gibt, die die gleichzeitige Abarbeitung von mehreren Programmen erlauben, ist es auch möglich, ein Programm gleichzeitig mehrfach laufen zu lassen (vielleicht mit jeweils anderen Daten). Für diesen Fall sprechen wir von verschiedenen Prozessen, die alle das gleiche Programm realisieren. Ein vielleicht etwas hausbacken anmutender Vergleich soll hier mit dem Kuchenbacken angestellt werden. Wenn man das Programm mit dem Rezept vergleicht, so kommt der Prozeß dem eigentlichen Backvorgang gleich. Wenn ein Prozeß selbst einen anderen Prozeß erzeugen - starten - kann, spricht man von hierarchischen Prozeßsystemen, die man durch Prozeßbäume darstellen kann. Im Sprachgebrauch mancher Betriebssysteme spricht man statt von Prozessen von Tasks und meint damit allerdings mehr die Anweisungen an das System, den Prozeß auszufuhren. Im Zusammenhang mit dem Begriff Prozeß sollte man auch den Begriff des Threads betrachten, der erst bei modernen Betriebssystemen eine Rolle spieh. Diese Betriebssysteme erlauben es, Programme so zu teilen, daß man die Teile einzeln und - soweit es ihre Funktion zuläßt - parallel zueinander starten kann. Einen solchen gestarteten Programmzweig nennt man Thread. Prozeßdefinition nach Tanenbaum /Tan92/: Ein Prozeß ist ein in Ausführung befindliches Programm. Bestandteile des Prozesses sind ein eigener Befehlszähler, eigene Register und eigene Variable. Damit verfügt jeder Prozeß über einen eigenen virtuellen Prozessor. Die Literatur spricht von sequentiellen Prozessen. Sie will damit ausdrücken, daß alle Operationen des Prozesses auf einem sequentiellen Prozessor nacheinander ausgeführt werden und nicht parallel. Diese Prozesse sind aber parallel in dem Sirme, daß Prozeß A noch nicht beendet ist, wenn Prozeß B gerade läuft. Er ist aber nicht aktiv, sondern wartet darauf, wieder aktiv werden zu dürfen. Diese Begriffsverwendung kann zu Mißverständnissen führen: Diese Prozesse verlaufen virtuell parallel zueinander, real aber gestückelt sequentiell Prozeßabläufe sind immer determiniert. Sie beruhen auf Eigenschaften des Programmes, der Daten der Computerressourcen. Dadurch wird der logische Ablauf des Prozesses bestimmt. Existieren zur gleichen Zeit weitere Prozesse auf dem Computer, wird der zeitliche Ablauf auch durch diese beeinflußt. Er wird damit zufallsbeeinflußt und nicht mehr reproduzierbar.

Teil I Informatik Grundlagen

53

Virtuell parallele Prozesse sind immer irgendwie abhängig voneinander. Diese Abhängigkeit entsteht durch: • • •

gegenseitige Aufiaifbeziehungen Bemühen um gleiche Ressourcen (konkurrierende Prozesse) Bezugnahme auf gleiche Daten im Primär- oder Sekundärspeicher

Ein Prozessor kann mit einem Scheduling - Algorithmus auf verschiedene Prozesse „aufgeteih" werden. Ein Prozeß wird im Speicher repräsentiert durch: • • • •

Befehle (Programm) Programmdaten systemorientierte Daten Keller

Ein weiterer Zentralbegriff des Themenkreises Betriebssysteme ist der der Ressourcen oder Betriebsmittel. Darunter versteht man vor allem RAM-Speicher, Dateien auf Datenträgem (evtl. auch den ganzen Datenträger) sowie alle Geräte und Gerätekanäle wie Bildschirmterminals, Drucker, Plotter, Scanner usw. Als Ressourcen bezeichnet man auch Nachrichten und Signale, die zwischen Prozessen ausgetauscht werden. Für Mehrprozeßbetriebssysteme wird die Rechenzeit zum wichtigsten Betriebsmittel. Ausfuhrlicher wird sich Abschnitt 3.1.5.1. mit dem Ressourcenbegriff befassen. Unter den Ressourcen spielen Dateien und Dateisysteme eine besonders wichtige Rolle. Es gehört zu den charakteristischen Dienstleistungen der Betriebssysteme, Dateien zu erzeugen, zu lesen und zu beschreiben. Ursprünglich waren alle Dateien sequentiell, d.h. alle Daten konnten nur in der Reihenfolge gelesen werden, in der sie aufgeschrieben wurden. Das galt auch für die Reihenfolge der Dateien auf einem Datenträger. Später führte man zur Lokalisation von Dateien auf einem Datenträger Verzeichnisse ein, in denen für jede Datei neben dem Namen und wichtigen Eigenschaften die nötigen Angaben zum Auffinden der Datei stehen. Mit der Entwicklung immer leistungsfähigerer Datenträger (z.B. Festplatten) begannen die Verzeichnisse unübersichtlich zu werden. Man begann die Dateien nach irgendwelchen meist inhaltlichen Gesichtspunkten zu gruppieren und ordnete sie in verschiedenen Unterverzeichnissen an, die ihrerseits wie Dateien im übergeordneten Verzeichnis registriert wurden. Auf diese Weise entstanden hierarchische Dateisysteme, die man durch baumformige Graphen darstellen kann und die heute von allen wichtigen Betriebssystemen unterstützt werden. Die genaue Lage einer Datei im Dateisystem wird durch den Pfad, eine beim Hauptverzeichnis (Wurzelverzeichnis, Root Directory) beginnende Verzeichnisfolge beschrieben. Auf neuere Strukturen der Dateisysteme gehen die Abschnitte 3.1.7.5. und 3.1.7.6. ein.

54

3 Software

3.1.4 Betriebsart und Nutzungsform 3.1.4.1 Ein- oder Mehrprozeßbetrieb Wichtige Charakteristika eines Betriebssystems sind Betriebsarten und Nutzungsformen. Darunter versteht man wichtige Charakteristika der internen Abläufe der Programmabarbeitung beziehungsweise zeithche Abhängigkeiten imd Organisationsformen der Nutzung durch verschiedene Nutzer. Sowohl Betriebsart als auch Nutzungsform werden entscheidend vorbestimmt durch die Möglichkeiten und Grenzen, die der jeweilige Entwicklungsstand der Hardware bietet. Einzige Betriebsart der Computer der ersten und zweiten Generation war der Einprozeßbetrieb: Zu jedem Zeitpunkt kann dabei immer nur genau ein Prozeß abgearbeitet werden. Einprozeßbetrieb bedeutet geringe Ressourcen-Auslastung. Bei den typischen Massendatenverarbeitungs-Aufgaben der 50er und 60er Jahre wartete die Zentraleinheit 90% und mehr der Rechenzeit darauf, daß E/A-Operationen (Ein- und Ausgabe-Operationen) zum Abschluß kamen, weil die elektronischen Vorgänge auch in jenem frühen Stadium der Computertechnik immerhin schon in Mikrosekunden gemessen wurden und damit verschwindend kurz waren gegenüber den rein mechanischen Vorgängen der E/A-Prozesse, deren Zeiteinheit lediglich die Millisekunde war. Eine Verbesserung dieser Relation konnte durch die Entwicklung kanalgesteuerter E/A in der zweiten Rechnergeneration erreicht werden. Die E/A-Geräte erhielten eigene Steuerungen und Pufferspeicher. Dadurch wurde der Aufwand der Zentraleinheit für die E/A auf die kurze Zeit der Befehlsübermittlung imd des Datentransports vom oder zum Puffer reduziert. Jetzt wurde die Gesamtzeit nicht mehr durch die Summe der E/A-Operationen bestimmt, sondern durch die langsamste unter ihnen. Die Gesamtzeit wurde dadurch immerhin auf etwa die Hälfte reduziert. Die Zentraleinheit war jedoch nach wie vor nur zu sehr geringen Anteilen ausgelastet. Den Ausweg aus der geringen Nutzung der Zentraleinheit brachte die Betriebsart Mehrprozeßbetrieb mit dem Übergang zur 3. Rechnergeneration. In den Zeiten, in denen die Zentraleinheit bisher ungenutzt blieb, weil sie auf die Beendigung irgendwelcher peripheren Vorgänge warten mußte, woirde sie jetzt einfach einem anderen Prozeß zur Nutzung übergeben. Dazu benötigt das Betriebssystem eine besondere Komponente, den Scheduler, dessen Aufgabe darin besteht, den einzelnen Prozessen den Zugriff auf den Prozessor zuzuteilen und (nach Möglichkeit) nach einer angemessenen Zeit auch wieder zu entziehen. Diese Fähigkeit, dem Prozeß den Prozessor auch wieder entziehen zu körmen, charakterisiert eine zusätzliche Klassifikation unter den Mehrprozeßbetriebssystemen. Preemptive Systeme besitzen diese Fähigkeit, andere Systeme wie Windows 3.x, die diese Möglichkeit nicht besitzen, bezeichnet man als kooperative

Teil I Informatik Grundlagen

55

Systeme. Ihre Stabilität ist davon abhängig, ob sich die Prozesse kooperativ zeigen und die Ressource Prozessor wieder abgeben. Das geschieht aber immer nur dann, wenn der Prozeß eine Ressource benötigt, die nicht sofort zur Verfugung steht. Mit rechenintensiven Programmen kann man diese Systeme zu schwerfälligem Verhalten bringen, mit einfachen Programmierfehlem wie unendlichen Schleifen kann man sie voll blockieren. Der Übergang zum Mehrprozeßbetrieb war mit der Forderung nach umfangreichen Ressourcen verbunden. Um mehrere Prozesse gleichzeitig abarbeiten zu können, bedurfte es größerer Hauptspeicher und zusätzlicher Geräte, denn das Ganze konnte in vielen Fällen nur fianktionieren, wenn jeder der parallel laufenden Prozesse seine eigenen E/A-Geräte zugewiesen bekam. Dieser Übergang stellte aber vor allem neue hohe Anforderungen an die Betriebssysteme. Für alle Ressourcen mußten viel umfangreichere und komplexere Listen gefuhrt und überprüft werden als bisher. Besondere Funktionen für das Betriebssystem ergaben sich für die Situation des Prozeßwechsels, in der eine große Zahl von Steuerinformationen umgespeichert werden muß, damit der andere Prozeß da weiterarbeiten kann, wo er vor seiner Unterbrechung aufgehört hat. Dazu kamen Anforderungen an die Arbeit der Scheduler, die bei der Verteilung der Rechenzeit an die einzelnen Prozesse sowohl auf Fairneß in der Vergabe, auf angemessene Reaktionszeit des Computers auf Eingaben im Dialogbetrieb als auch auf Effektivität des Ganzen zu achten hatten. Dadurch begannen die Betriebssysteme selbst, mehr und mehr Ressourcen in Anspruch zu nehmen, darunter auch die Ressource Rechenzeit, die vorher so großzügig verteilt werden konnte. Die Rechenzeit nimmt bei Mehrprozeßbetrieb schneller zu als die Anzahl parallel laufender Prozesse, so daß bei relativ hoher Auslastung der Anlage schnell ein Zustand entstehen kann, bei dem vor allem das Betriebssystem selbst die Rechenzeit in Anspruch nimmt. Mit anderen Worten: Mehrprozeßbetriebssysteme haben Grenzen, die es zu respektieren gilt. Im Interesse eines ungestörten und effektiven Arbeitens ist es wichtig zu wissen, wo diese Grenzen etwa liegen und ihre Überschreitung möglichst zu vermeiden. Obwohl sich im Laufe der Entwicklung die Geschwindigkeitsdifferenz zwischen der elektronischen Ausführung der eigentlichen Informationsverarbeitung und der durch Präzisionsmechanik dominierten E/A-Technik noch weiter verstärkt hat, wurden PC als die typischen Vertreter der 4. Rechnergeneration zunächst wieder vorwiegend mit Einprozeßbetriebssystemen betrieben. Wichtigster Vertreter dieser Betriebssystemgeneration war MS-DOS. Offenbar spielten die beschriebenen Zeitverluste angesichts der Preisentwicklung keine solche Rolle mehr. Wer es sich leisten konnte, einen Computer für private Zwecke zu kaufen und ihn dann stunden- und tagelang zu Hause ungenutzt stehen ließ, den störte auch nicht, daß die Zentraleinheit bei der Nutzung eigentlich viel mehr hätte leisten können. Vielmehr entschied für diese ersten PC-Betriebssysteme vor allem ihre Einfachheit.

56

3 Software

Inzwischen bieten alle Betriebssysteme nicht nur Mehrprozeßeigenschaften an, sie tragen auch selbst Mehrprozeßcharakter, indem sie ihre Funktionen arbeitsteilig auf eine immer weiter wachsende Zahl parallel laufender Prozesse aufteilen. Das betrifft die Microsoft-Windows-Systeme ebenso wie die Mitglieder der UNIXFamilie mit dem besonders stark im Vormarsch befindlichen LINUX und solche Systeme wie BE-OS oder das IBM-Betriebssystem OS/2. Während das Grundmodell des Mehrprozeßbetriebes davon ausgeht, daß jeder Prozeß im Zusammenhang mit erreichten Wartesituationen die Ressource Rechenzeit selbst abgibt, werden bei Time-Sharing jedem Prozeß exakt vorgegebene Zeitscheiben zugewiesen. Ist dieses Zeitintervall abgelaufen, so wird durch das Betriebssystem der nächste Prozeß gerufen. Ist dieser noch nicht bereit, so wird sofort der folgende gerufen. So wird verhindert, daß ein rechenintensiver Prozeß, vielleicht sogar ein fehlerhaft programmierter Prozeß, den Prozessor nie mehr abgibt, sondern jeder Prozeß hat reihum die Möglichkeit, aktiv zu werden. Echtzeitbetrieb (Real time) ist die Betriebsart, bei der Prozesse ständig betriebsbereit auf anfallende Daten warten, um diese in kürzester Zeit zu verarbeiten. Derartige Forderungen bestehen bei der Steuerung schnellebiger Prozesse wie Steuerung von Flugzeugen, Raketen, Satelliten oder kemtechnischen Prozessen, Robotersteuerung, aber auch in Verkehrsleitsystemen und in großen Auskunftsystemen. Echtzeit - Betriebssysteme sind meist fiir spezielle Anwendungen konzipiert und bieten für andere Anwendungen wenig Unterstützung.

3.1.4.2 Stapel- oder

Dialosbetrieb

Die ersten Betriebssysteme waren durchweg Stapelbetriebssysteme. Stapelverarbeitung ist dadurch gekennzeichnet, daß sequentiell eingegebene Jobs (Tasks oder Taskfolgen) in der Reihenfolge der Eingabe oder entsprechend einem vorgegebenen Prioritätenschlüssel nacheinander abgearbeitet werden. Die heute vorherrschende Betriebsart ist der Dialogbetrieb. Dialogbetrieb setzt eine dialogfahige Hardware voraus. Erste Dialogversuche wurden mit elektrischen Schreibmaschinen durchgeführt. Ein Dialog, der hohen Anforderungen genügt, ist erst möglich, seit es Bildschirmterminals gibt. Die Einfuhrung des Dialogbetriebs stellte eine revolutionäre Wende in der Geschichte der Informatik dar. Der Dialogbetrieb brachte vor allem dem Anwender die Möglichkeit, sich selbst an den Computer zu setzen und seine Probleme mit Hilfe der zur Verfugung stehenden Software selbst zu lösen. Damit schuf der Dialog die Voraussetzung für die direkte Einbeziehung der Mitarbeiter der Fachabteilungen in die Lösung ihrer Probleme mit Hilfe von Computern, sowohl im Rahmen immer komplexer werdender Projekte als auch in der aus eigener Initiative betriebenen individuellen Datenverarbeitung. Mit dem Dialogbetrieb wurde es möglich, eingegebene Daten sofort am Computer auf Richtigkeit zu kontrollieren und zu korrigieren, vom Computer sofort nach Eingabe der Daten Ergebnisse zu erhalten, die man ebenfalls sofort auf Plausibili-

Teil I Informatik Grundlagen

57

tät prüfen konnte. Bei erkannten Unkorrektheiten war es möglich, in kürzester Zeit Korrekturen und Wiederholrechnungen zu starten. Andererseits stellt der Dialogbetieb aber auch neue hohe Anforderungen an die Beschaffenheit des Betriebssystems. Bezüglich der Reaktionsfähigkeit auf Tastatur- und Maus-Operationen wird von einem Dialogsystem die Reaktionsfahigeit eines Echtzeitsystems erwartet. Auch bei der Programmierung von Anwenderprogrammen, die im Dialog arbeiten sollen, müssen andere Bedingungen beachtet werden als bei Programmen, die Informationen nacheinander lesen und in derselben Reihenfolge wieder ausgeben. Trotz der eindeutigen Vorteile von Dialogsystemen gegenüber der Stapelverarbeitung haben moderne Dialogbetriebssysteme auch Möglichkeiten zur Stapelverarbeitung. Werm man z.B. in MS-DOS die Reihenfolge und alle Anwendungsbedingungen für den Start einer Folge von Prozessen genau weiß, so kann man die entsprechenden Kommandos in einer „Batch-Datei" festhalten und diese als Ganzes starten. Der Computer arbeitet dann alle genarmten Kommandos im Stapel ab, ohne daß ein Bedienereingriflf notwendig wäre. In UNIX-Systemen erledigt man dasselbe mit Hilfe von Shell-Scripts. Dialogbetrieb wird auch als interaktiver Betrieb bezeichnet. Interaktiv bedeutet, daß die Aufträge an das Betriebssystem erst während ihrer Ausfuhrung konkretisiert werden. Das geschieht im Dialogbetrieb durch die Eingaben des Nutzers. Die Bezeichnung „interaktiv" trifft aber auch auf Echtzeitbetrieb zu. Hier wird der weitere Ablauf des zu steuernden Prozesses durch Signale eines physikalischen Prozesses gesteuert, mit dem der Computer quasi in einem Dialog steht

3.1.4.3 Mehrnutzerbetrieb Unter Mehrnutzerbetrieb verstehen wir die eine Betriebsart, bei der das Betriebssystem bei der Verwaltung von Prozessen und Datenbeständen dem besitzenden (auslösenden) Nutzer die Wahrnehmung und den Schutz bestimmter Rechte gewährleistet. Mehmutzerbetrieb kann mit Ein- oder Mehrprozeßbetrieb, aber auch mit Stapel- oder Dialogbetrieb gekoppeh sein. Wichtig ist dabei die Abgrenztmg der Ressourcenbereiche gegeneinander, der Schutz vor Übergriffen, der Schutz vor unberechtigter Einsicht. Eine wichtige Aufgabe für Mehmutzerbetriebssysteme kann die Abrechnung der genutzten Ressourcen sein. Heute sind Mehmutzersysteme vorwiegend Teilnehmersysteme, d.h. jeder Nutzer arbeitet mit eigenen Prozessen und nutzt eigene oder gemeinsame Datenbestände. Dagegen beruht der Teilhaberbetrieb (Transaktionsbetrieb) auf dem Prinzip der Benutzung eines einmal in der Zentraleinheit stehenden Programmes durch verschiedene Nutzer. Mittels definierter Kommandos fordert der Nutzer kleine abgegrenzte Operationen (Transaktionen) an. Dabei hat das Betriebssystem die Aufgabe zu verhindern, daß sich mehrere Prozesse durch die parallele Ausfuhrung von Transaktionen gegenseitig behindern oder Daten verfalschen.

58

3 Software

Typische Transaktionssysteme sind viele Buchungs- und andere Datenbanksysteme, aber auch die Abstimmung der Ressourcennutzxmg durch verschiedene Prozesse im Multiprozessing erfolgt über Transaktionen.

3.1.4.4 Mehrprozessor-

und

Netzbetriebssysteme

Mehrprozessorbetrieb ist die Steuerung mehrerer Prozessoren durch ein Betriebssystem. Solche Betriebssysteme sind gefragt zur Steuerung des Betriebs von Rechnern, die nicht mehr dem von Neumann'schen Architekturprinzip folgen und statt dessen über mehrere Prozessoren verfügen (Parallelrechner). Die Ressourcenverwaltung erstreckt sich zunächst nur über mehr als einen Zentralprozessor. Die Arbeit mit Parallelrechnem verlangt veränderte Denkweisen nicht nur bezüglich des Betriebssystems, sondern schon in vielen Belangen der Programmgestaltung. Viel Verwandtschaft mit Mehrprozessorbetriebssystemen besitzen auch verschiedene Netzbetriebssysteme, bei denen der Zugriff nicht nur zu verschiedenen Prozessoren eines Computers, sondern zu verschiedenen Computern gesteuert wird. Dazu wird Näheres im Abschnitt 4 (Verbundsysteme) dieses Buches ausgeführt.

3.1.5 Ressourcen und die Tücken ihrer Verwaltung 3.1.5.1

Ressourcen

Die Effektivität eines Betriebssystems bei der Steuerung von Prozessen wird entscheidend dadurch bestimmt, wie das Betriebssystem in der Lage ist, den Prozessen die von ihnen benötigten Ressourcen (Betriebsmittel) zugänglich zu machen. Ressourcen sind alle Hard- und Softwarekomponenten, die ein Prozeß benötigt, um erfolgreich zu Ende gefuhrt zu werden. Bei Einprozeßbetrieb hat das Betriebssystem die Ressourcennutzung nur zu organisieren (z.B. Speichereinteilung) und den Programmierer mit Werkzeugen zur Vereinfachung zu unterstützen (z.B. Driver zur Unterstützung der Ein- und Ausgaben über die zur Verfugung stehenden peripheren Geräte). Bei Mehrprozeßbetrieb besteht die Hauptaufgabe des Betriebssystems in der Zuteilung der Ressourcen an die um sie konkurrierenden Prozesse. Klassifizierung der Ressourcen nach Kalfa /Kal88/: Hardware:

Prozessor, Speicher, Geräte, externe Speicher, Übertragungsleitungen

Software:

Programmtexte, Dateien, Signale, Nachrichten

Teil I Informatik Grundlagen

59

wiederverwendbar(reusable):

Prozessor, Speicher, Programmtext, Dateien, Geräte

verbrauchbar (consumable):

Signale, Nachrichten, Zeit

entziehbar (preemptible):

Prozessor, Speicher, Gerät

nicht entziehbar(non-preemptible): Dateien, Drucker, früher Magnetbänder, Magnetplatten, verbrauchbare Ressourcen exklusiv:

Prozessor, Signale, Drucker

mehrfach nutzbar (multiplex): Speicher, Dateien, Übertragungsleitungen Vor allem die Konkurrenz mehrerer Prozesse um eine nicht entziehbare Ressource kann zu besonderen Problemen bei der Ressourcenverwaltung durch das Betriebssystem fuhren. Mit solchen Problemen befassen sich die Abschnitte 3.1.5.4 Kritische Abschnitte und 3.1.5.5 Deadlocks.

3.1.5.2

Prozeßzustände

Allgemein unterscheidet man drei Prozeßzustände: RE rechnend besitzt den Prozessor RB rechenbereit ausfuhrbar, aber der Prozessor ist einem anderen Prozeß zugeteilt EL blockiert kann nicht ausgefiihrt werden, bis ein definiertes Ereignis eintritt Zwischen diesen Zuständen sind theoretisch sechs verschiedene Übergänge möglich. Vier davon sind sinnvoll. Abb. 1-3.1-2 stellt diese Übergänge sowohl als Matrix als auch als Übergangsgrafen dar.

RE

RB

BL

RE

-

2

3

RB

1

-

-

BL

-

4

-

Abb. 1-3.1-2: Prozeßzustände und Übergänge nach /Tan92/ als Übergangsmatrix bzw. Übergangsgraf

60

3 Software

Die Übergänge bedeuten im Einzelnen: 1

RB-RE:

Der Prozeß hat den Prozessor wieder vergeben und der ist an der Reihe

2

RE-RB

Der Scheduler (vergl.3.1.4.1.) entscheidet, daß der Prozeß lange genug gearbeitet hat und den Prozessor an einen anderen Prozeß abgeben soll.

3

RE-BL:

Der Prozeß kann nicht weiter ausgeführt werden, weil er bestimmte Ressourcen benötigt, sie aber nicht vorfindet. Er muß auf die Bereitstellung der Ressource warten. Diesen Wartezustand nennt man „blockiert".

Bsp.

Lesen aus einem Gerät: Die Gerätesteuerung meldet, daß ihr Puffer noch nicht gefüllt ist. Der Prozeß muß warten, bis das Gerät mit dem Lesen fertig ist

Bsp.

verkettete Prozesse (Pipes) Davon spricht man, wenn zwei Prozesse A und B so miteinander verbunden sind, daß beide gleichzeitig laufen, Prozeß B aber Daten als seine Eingabedaten verwendet und weiterverarbeitet die A als Ausgabedaten erzeugt und in einen „Pufferbereich" ablegt, aus dem sie B dann zur Weiterverarbeitung entnimmt. B blockiert in einer solchen Pipe, wenn er Daten eingeben will, die A im Puffer noch nicht bereitgestellt hat. A blockiert dagegen, wenn er Daten ausgeben wiU, aber der Puffer voll ist und diese Daten nicht mehr aufnehmen kann.

4

BL-RB:

Ein externes Ereignis tritt ein, das den Blockierungsgrund (Übergang 1) beendet. Solche Ereignisse werden meist durch spezielle Signale, die Interrupts, gemeldet,

BL-RE wäre sinnlos, weil der blockierte Prozeß ja mit der erteilten Rechenzeit nichts anfangen könnte. Wenn aber die Information über das Ende der Blockierung eintrifft (Interrupt), wird der Prozeß erst wieder in die Warteschlange der rechenbereiten Prozesse gesetzt, ehe der Scheduler ihm Rechenzeit erteilen kann. RB-BL ist unmöglich, weil der Blockierungsgrund nur beim Rechnen entstehen kaim. Abb. 1-3.1-2 stellt die Prozeßzustände nach Tanenbaum /TAN92/ sowohl als Übergangsmatrix als auch als Übergangsgraf dar. Verschiedene Autoren unterteilen den Zustand „blockiert" in die Zustände „ausgelagert blockiert" (AI) und „ausgelagert bereit" (A2) und erweitem das Zustandsmodell zudem um die Zustände ,4ieu" (N) und „beendet" (E). Auslagerungen (siehe 3.1.5.6.) werden vorgenommen, wenn wegen Überlastung des Speichers die Speicherbereiche eines ganzen Prozesses ausgelagert werden. Der Zustand N ist dadurch charakterisiert, daß ein Prozeß nach seinem Start vom Betriebssystem erst eine Arbeitsumgebung eingerichtet bekommen muß, ehe er

Teil I Informatik Grundlagen

61

richtig arbeiten kann. Im Zustand E wird diese Arbeitsumgebung wieder abgebaut oder zm Benutzung und Überschreibung durch andere Prozesse freigegeben. Für diese nunmehr sieben Zustände wären theoretisch sogar 21 verschiedene Übergänge denkbar. Praktisch erhöht sich die Zahl der sinnvollen Übergänge aber nur von 4 auf 9 erhöht. Sinnvoll sind von den theoretisch möglichen neuen Übergängen nur die folgenden. Abb. 1-3.1-3 stellt Prozeßzustände und Übergänge für dieses erweiterte Zustandsmodell dar

N RB RE BL A1 A2 E N

8

RB

-

RE

-

2

BL

-

4

-

A1

-

-

-

-

A2

-

7

-

-

1

E

-

-

3

-

5

-

-

9 -

-

0

-

-

-

-

Abb. 1-3.1-3: Prozeßzustände und Übergänge für das erweiterte Zustandsmodell, ebenfalls als Übergangsmatrix bzw. Übergangsgraf 5

BL - AI:

Für Auslagerungen wird man blockierte Prozesse auswählen, deren es gewöhnlich auch genügend geben wird.

6

AI - A2:

Für den blockierten und ausgelagerten Prozeß kommt die Nachricht, daß die fehlende Ressource zur Verfügung steht. Er wird in eine andere Warteschlange eingeordnet.

7

A2 - RB: Solange der ausgelagerte Prozeß noch blockiert war, war es nicht sinnvoll, ihn wieder einzulagern. Erst nachdem die Nachricht über die Verfügbarkeit der fehlenden Ressource eingetroffen ist, wird er eingelagert werden. Dann wird er in die Warteschlange der rechenbereiten Prozesse eingeordnet werden.

8

N - RB:

Ein neu gestarteter Prozeß wird, nachdem seine Arbeitsumgebung fertiggestellt ist, unter die rechenbereiten Prozesse eingeordnet werden.

9

RE - E:

Nur ein rechnender Prozeß kann feststellen, daß er sein Ende erreicht hat. Erst dann kann das Betriebssystem seine Arbeitsumge-

62

3 Software bung abbauen und zur Benutzung durch andere Prozesse freigeben

3.1.5.3 Scheduling: Vergabe von Prozessorzeit Die Tatsache, daß Prozesse gleichzeitig existieren, fordert einen Mechanismus, der die wichtigste Ressource „Prozessor" verteilt und jeweils einen der konkurrierenden Prozesse aktiviert. Diese Aufgabe übernimmt ein besonderer Teil des Betriebssystems, der Schedu1er. Allgemein wird für ihn nur die Aufgabe gesehen, den Prozessor zu verteilen, d.h. den Übergang vom Zustand „bereit" in den Zustand ,rechnend" für einen ausgewählten Prozeß zu steuern (und natürlich: diesen Prozeß vorher auszuwählen). Dieser Wechsel des aktiven Prozesses wird auch als Kontextwechsel bezeichnet. Die Art der Verteilung der Prozessorzeit charakterisiert die Unterscheidung in (verdrängendes) Multitasking. Bei kooperativem (nicht-preemptivem) Multitasking ist der Scheduler nicht in der Lage, dem Prozeß den Prozessor zu entziehen. Ein Beispiel für nicht-preemptives Verhalten ist Windows 3.1. Für Systeme mit konkurrierenden Benutzem sind kooperative Scheduling-Prinzipien ungeeignet. Die Unterbrechung bei preemptivem Scheduling erfolgt durch zyklisch ausgelöste (Uhr-) Interrupts. Der Prozeß bekommt ein „Quantum" zugeteilt (Zeiteinheit). Wenn er am Ende des Quantums noch aktiv ist wird er unterbrochen. Üblicher Zyklus: ca. 10 bis 50 Hz. Viele Betriebssysteme erlauben eine Einstellung der Zykluslänge. Mögliche Kriterien für die Vergabe der Prozessorzeit an die Prozesse in preemptiven Systemen sind: Fairneß:

gerechte Verteilung der Prozessorzeit

Effizienz:

möglichst hohe Auslastung des Prozessors mit Zeit für die Prozesse

Antwortzeit:

minimale Wartezeit der interaktiven Benutzer auf Antworten, möglichst so, daß der Nutzer nicht imgeduldig wird

Anfangswartezeit

minimale Wartezeit vor dem Start (im Stapel)

Verweilzeit:

minimale Dauer vom Start eines Stapelauftrages bis zu seiner Beendigung

Durchsatz:

Anzahl der bearbeiteten Aufträge in einer bestimmten Zeit (Stapel)

Diese Kriterien sind kontradiktiv. Wenn ein Scheduler eine bestimmte Art von Prozessen bevorzugt, muß er dafür andere benachteiligen.

Teil I Informatik Grundlagen

63

Effektivität des Schedulings fordert einen geringen Anteil der Verwaltungszeit, also der Zeit für den Scheduler selbst. Diese Rechenzeit des Schedulers ergibt sich aus der Zeit für den Auswahlalgorithmus („Welcher Prozeß erhält als nächster den Prozessor zugeordnet?") und für die Auslagerung (Umspeicherung) von Steuerdaten des Prozesses beim Wechsel des aktiven Prozesses. Hohe Effizienz der Rechnemutzung erreicht man durch lange Verweildauer eines Prozesses (hohes Quantum). Daraus resultiert aber schlechtes Antwortverhalten der Prozesse. Also wird ein Kompromiß zwischen diesen beiden Kriterien zu suchen sein. Nachfolgend sollen einige Schednling-Algorithmen vorgestellt werden: Nicht-preemptive Basisverfahren: Prozesse werden nicht unterbrochen, sie geben nur die Ressource ,J'rozessor" ab, wenn sie wegen einer fehlenden anderen Ressource blockiert sind (kooperatives Verhalten). Sie werden dann in die Warteschlange der wartenden Prozesse eingereiht. 1. FIFO-Scheduling (First In - First Out) Der Prozeß, der am längsten in der Warteschlange steht, wird zuerst bedient und vollständig bearbeitet. Reines FIFO-Scheduling tritt in der Praxis sehen auf. FIFO wird in Kombination mit Prioritäten aber sehr häufig genutzt. Gegen FIFO spricht, daß es keine Unterscheidung zwischen wichtigen und unwichtigen Aufträgen gibt. Die mittleren Wartezeiten sind nicht optimal. 2. „Der kürzeste Job zuerst" (KJZ) Aus der Warteschlange wird der Auftrag mit der kürzesten Laufzeit zuerst bearbeitet. Damit erreicht man eine minimale mittlere Wartezeit. Allerdings ist die Wartezeit für längere Stapelaufträge schwer vorhersehbar. In der Regel wird die Angabe einer geschätzten Laufzeit dem Benutzer überlassen. Wenn der Benutzer die Laufzeit zu kurz angibt, kann das System den Auftrag nach Ablauf der angegebenen Zeit abbrechen (oder in einem Rechenzentrum kann man für die darüber hinaus benötigte Zeit hohe „Strafgebühren" berechnen). preemptive Basisverfahren: Nicht-verdrängende Verfahren sind für den Timesharing-Betrieb nicht akzeptabel, da die Reaktionszeit des Systems auf interaktive Eingaben unvorhersehbar und in aller Regel zu lang ist. 3. Reihum-Verfahren ( „Round Robin") Bei dem Verfahren wird jedem Prozeß reihum für ein festes Quantum (z.B. 100 ms) der Prozessor überlassen. Wenn der Prozeß blockiert oder sein Quantum abgelaufen ist (Interrupt durch die Hardware-„Clock"), führt der Scheduler einen Kontextwechsel durch. Weitergabe des Aktivitätsrechtes durch Einreihung in eine Warteschlange. Prozesse, die aktiv waren, werden hinten an gestellt. Ein Problem ist die Festlegung des Quantimis: Ist das Quantum zu groß, dauert es bei einer großen Prozeßanzahl lange, bis ein Prozeß nach seiner Verdrängung

64

3 Software

wieder an der Reihe ist. Dadurch ist die Reaktionszeit des Systems auf interaktive Eingaben ggf. zu lange. Beispiel: Im System sind 25 Prozesse aktiv, das Quantum beträgt 200ms, die Kontextwechselzeit 5ms. Wenn ein Prozeß gerade verdrängt wurde, dauert es, falls alle anderen Prozesse ihr Quantum voll ausnutzen, 5 Sekunden (24*(200ms + 5ms) = 4920ms), bis der Prozeß den Prozessor wieder erhält. Ein interaktiver Benutzer wird heute schon bei sehr viel kürzeren Reaktionszeiten ungeduldig! Ist das Quantum dagegen zu klein, sinkt die Systemleistung: Das System benötigt für jeden Kontextwechsel den Prozessor für Verwaltungsoperationen. Je öfter Prozesse verdrängt werden, desto kleiner ist der Anteil der Prozessorzeit, die für die eigentliche Programmausführung zur Verfügung steht. Wenn beispielsweise das Quantum und die Kontextwechselzeit gleich groß sind, stehen nur 50% der Prozessorleistimg für die Programmausfuhrung zur Verfügimg, der Rest wird für Kontextwechsel benötigt. Das Quantum muß nicht notwendigerweise fiir alle Prozesse identisch sein. Man kann z.B. ein Prioritätsschema so implementieren, daß man Prozessen mit hoher Priorität ein größeres Quantum gibt. 4. Prioritäten werden aus unterschiedlichen Gründen eingeführt: • • • •

Um wichtige bzw. dringende Prozesse bei der Verarbeitung vorzuziehen Um besonderen Kunden einen bevorzugten Service zu bieten Um interaktive Prozesse im Hinblick auf kurze Reaktionszeiten gegenüber rechenintensiven Hintergrundprozessen zu bevorzugen Um Echtzeitanforderungen erfüllen zu können

Statische Prioritäten werden vom Administrator bzw. vom Benutzer dem Prozeß zugeordnet. Sie ändern sich nicht. Bei der Vergabe wird nach Priorität abgefragt Prozesse mit gleicher Priorität werden untereinander nach Roimd Robin behandelt. Einmal gestartete Prozesse werden in einer festen Warteschlange gespeichert. Diese wird immer von Anfang an durchgegangen, bis ein bereiter Prozeß gefunden ist. So kommen Prozesse niedriger Priorität erst zum Zuge, wenn es keine Prozesse höherer Priorität mehr gibt. Dynamische Prioritäten werden vom Betriebssystem regelmäßig neu berechnet, wobei Eigenschaften eines Prozesses (statische Priorität, Ressourcennutzung) oder Systemzustandsmerkmale (Warteschlangengrößen, Anzahl der Prozesse) mit eingerechnet werden können. Die Grundidee der Mehrstufigen Feedbacklisten ist folgende: Es gibt N Prioritätsstufen, zu jeder Stufe eine Liste („run queue") mit Prozessen, die sich im Zustand „bereit" befinden. Alle Prozesse bekommen das gleiche Quantum. Die Auswahl des nächsten ausführenden Prozesses richtet sich nach der Priorität: Der Prozeß an der Spitze der höchsten nicht-leeren Prioritätsliste bekommt den Prozessor. Wenn er sein Quantum aufgebraucht hat, wird er in der nächst niedrige-

Teil I Informatik Grundlagen

65

ren Prioritätsliste hinten angefugt. Ein neuer Prozeß kommt in die höchste Prioritätsstufe. Ein Prozeß der sein Quantum nicht ausnutzt, wird beim Blockieren aus dem Prioritäts-Netzwerk entfernt xmd in eine Warteliste eingefugt. Wenn das erwartete Ereignis eintritt, kommt er an das Ende der Liste, in der er vorher war. Er behält also seine Prioritätsstufe und wird bevorzugt werden, wenn er in den Zustand „bereit" wechselt. Rechenintensive Prozesse, die ihr Quantum immer ausnutzen, verlieren von Zeitscheibe zu Zeitscheibe an Priorität. Das beschriebene Grundschema hat folgende wichtige Eigenschaften: • • •

E/A-intensive Prozesse, die ihr Quantum nie oder selten benötigen, werden schnell bedient, weil sie in einer hohen Prioritätsklasse bleiben. Kurze Programme werden schnell ausgeführt, weil sie anfangs in die höchste Prioritätsstufe eingeordnet werden. Lange laufende rechenintensive Anwendungen bekommen im Laufe der Zeit eine geringe Priorität. Sie bekommen den Prozessor seltener, nutzen ihn dafür aber auch länger als die E/A-intensiven Prozesse.

Prioritäten

Höchste Priorität

11

Abb. 1-3.1-4: Mehrstufige Feedbacklisten

66

3 Software

Variation der Quantumsgröße: Man könnte rechenintensiven Prozesse ein größeres Quantum zubilligen, quasi als Ausgleich dafür, daß sie nur „selten" den Prozessor bekommen. Prioritätsverbesserung bei Interaktion: Im Grundschema bleibt ein Prozeß der niedrigsten Prioritätsstufe immer in dieser Stufe stehen. Wenn ein Programm nach einer rechenintensiven Phase wieder viele Interaktionen durchfuhrt, wird dies nicht berücksichtigt. Man könnte hier die Priorität wieder hochstufen, wenn der Prozeß aus der Warteliste in das Prioritätsnetzwerk zurückgeführt wird. Bei einigen UNIX-Systemen wird beispielsweise die Priorität abhängig von der Art des erwarteten Ereignisses (Terminaleingabe, Terminalausgabe, Platten-E/A usw.) um mehrere Stufen erhöht. Berücksichtigung von Wartezeiten: Prozesse der geringsten Priorität werden nur dann bearbeitet, wenn alle anderen Prioritätsstufen leer sind. Wenn sehr viele E/Aintensive Prozesse im System sind, können daher die rechenintensiven Prozesse „verhungern". Man könnte hier in regelmäßigem Zyklus die Priorität abhängig von der Wartezeit stufenweise wieder erhöhen. Basisprioritäten: Das Schema erlaubt keine Unterscheidung zwischen wichtigen und unwichtigen bzw. dringenden und weniger dringenden Prozessen. Man könnte hier eine vom Administrator zu vergebende, feste Basispriorität in die Berechnung mit einbeziehen. Diese Basispriorität ist ein Maß für die Wichtigkeit des Programms und wird in einer geeigneten Weise mit dem adaptiven Mechanismus kombiniert. Die Basispriorität könnte z.B. als unterste Prioritätsstufe dienen. In Verbindung mit Prioritätsverbesserungsmöglichkeiten könnte die Basispriorität auch als Einstiegsstufe für den Prozeß dienen: Der Prozeß kann sich auf eine höhere Stufe verbessern (z.B. durch Anrechnung von Wartezyklen). Sobald er aber den Prozessor bekommen und sein Quantum genutzt hat, fallt er wieder auf seine Basispriorität zurück. Echtzeitprioritäten: In einigen Betriebssystemen sind die obersten Prioritätsstufen für Echtzeitprozesse reserviert, die eine garantierte maximale Antwortzeit benötigen. Echtzeitprioritäten sind statisch und werden ausschließlich vom Administrator vergeben. Er muß abhängig von den Anforderungen der zu überwachenden bzw. zu steuernden Anlage dafür sorgen, daß es keine Prioritätskonflikte unter den Echtzeitprozessen gibt. Ein Echtzeitprozeß darf nicht verdrängt werden. Scheduling in verteilten Systemen: Völlig neue Probleme für das Scheduling entwickeln sich unter den Bedingungen von Mehrprozessorsystemen und von verteilten Systemen. Tanenbaum (Verteilte Betriebssysteme, Prentice Hall 95) widmet diesem Thema über 50 Seiten. Reale Client - Server - Systeme nach diesem Ansatz sind allerdings noch nicht bekannt geworden.

Teil I Informatik Grundlagen

67

3.1.5.4 Kritische Abschnitte Parallel existierende Prozesse konkurrieren um die Ressourcen des Computers. Diese Konkurrenz fuhrt unter bestimmten Umständen zu kritischen Abschiiitten". Diese treten auf bei Speicherbereichen oder Dateien mit vereinbarter gemeinsamer Nutzimg durch verschiedene Prozesse (Shared memory oder Shared-Attribut bei der Eröffiiung von Dateien), wenn Daten gelesen; verarbeitet und danach verändert zurückgeschrieben werden. Kritisch ist die Zeit vom Lesen bis zum Rückschreiben der Datenelemente. In dieser Zeit kann es durch folgendes Szenario zu Fehlem kommen: Prozeß A und Prozeß B lesen kurz nacheinander ein Datenelement mit dem Wert X(0), verarbeiten diesen Wert beide auf ihre Weise und wollen ihn danach verändert zurückschreiben. A möge als Erster von beiden mit seinen Berechnungen fertig sein und schreibt ihn mit dem Wert X(l) zurück, danach schreibt B seinen Wert X(2) zurück. Natürlich überschreibt B den Wert X(l). Damit bleibt die Änderung X(0) ==>X(1) aus dem Prozeß A unberücksichtigt Korrekterweise hätte Prozeß B mit dem Lesen des Wertes X warten müssen, bis Prozeß A seinen Ergebniswert X(l) zurückgeschrieben hat. Der so entstandene Fehler ist eine Folge des Wirkens des Scheduler, der hier offensichtlich im ungünstigen Moment dem Prozeß A den Prozessor entzogen hat. Da die Erteilung und der Entzug eines Prozessor-Quantums schwerlich von algorithmischen Situationen eines Anwenderprozesses abhängig gemacht werden können, gilt es allgemeine Vorsorge gegen die Folge von Unterbrechungen in kritischen Abschnitten zu treffen und für diese Zeit die Benutzung der Datenelemente für die Konkurrenz zu sperren. Ohne eine solche Sperrung entstehen Datenverluste. Solche Kritischen Abschnitte treten sowohl innerhalb der Betriebssysteme selbst auf (z.B. Einrichtung von Warteschlangen für verschiedene Ressourcen) als auch in Anwendungsprogrammen, z.B. in komplexen Datenbanksystemen wie z.B. Platzreservierungs- und anderen Buchungssystemen, zentralen Karteien usw.. Diese Sperrung eines Datenbereiches gegen schreibenden Zugriffs ist nicht ganz problemlos zu realisieren. Die Literatur, z.B. /Tan92/ bietet eine ganze Reihe verschiedener Methoden der Sperrung der Ressource innerhalb des kritischen Abschnittes an: Semaphore, Ereigniszähler, Monitore u.a.. Sie sollen hier nicht im Einzelnen dargestellt werden. Sie alle beruhen auf folgendem Grundalgorithmus: 1.

Prüfe, ob Abschnitt frei! Wenn nicht frei, wiederhole 1.! (Warteschleife)

2.

Sperre! (setze eine geeignete Variable auf einen entsprechenden Wert!)

3.

Führe die Operationen des kritischen Abschnittes aus!

4.

Hebe die Sperrung auf!

Nach dem Sperren kann nun bedenkenlos auch dem Entzug der Prozessorzeit durch dem Scheduler entgegengesehen werden. Ein Prozeß B, der nun in den kritischen Abschnitt eintreten möchte, gelangt nur in die Warteschleife und blockiert

68

3 Software

lediglich den Prozessor für die Dauer seines Quantums durch ergebnislose Wiederholung der Testfrage 1. Das kann sich mehrfach wiederholen, wenn die Operationen des im kritischen Abschnitt befindlichen Prozesses A recht zeitaufwendig sind. Es wird aber so nicht zu Datenverlusten kommen. Erst wenn Schritt 5 erfolgt ist, haben andere Prozesse wieder Zugang zum kritischen Abschnitt und werden ihrerseits diesen für die Dauer ihrer kritischen Operationen sperren. Das ganze Verfahren krankt nur an einer Schwäche. Die Gefahr des Eindringens eines anderen Prozesses in den kritischen Abschnitt ist auf diese Weise nicht völlig beseitigt, sondern die Wahrscheinlichkeit für das Eintreten dieser Situation ist nur rigoros verringert worden. Unmöglich ist ein solches Eindringen deshalb nach wie vor nicht, weil dem Scheduler immer noch die Möglichkeit gegeben wird, zwischen den Schritten 1 imd 2 dem Prozeß A den Prozessor zu entziehen und damit einen Prozeß B in den kritischen Abschnitt eintreten zu lassen. Wenn Prozeß A nun wieder den Prozessor besitzt, wird er davon ausgehen, daß der kritische Abschnitt frei ist (was ja zwischenzeitlich nicht mehr stimmt) und wird seinerseits sperren. Da nun keine Abfrage mehr erfolgt wird nicht erkannt werden, daß auch Prozeß B die entsprechende Variable auf „Sperren" gesetzt hat. Völlig beseitigt wird die Gefahr nur dann, wenn die Schritte 1 und 2 des oben stehenden Algorithmus zu einem Maschinenbefehl zusammengefaßt werden, so daß dem Scheduler letztlich die Möglichkeit genommen wird, einen Prozeß bei dem für die Vermeidung von Datenverlusten erforderlichen Sperrvorgang zu unterbrechen. Solche Befehle steUt moderne Hardware inzwischen den Programmierern von Betriebssystemen zur Verfügung.

3.1.5.5 Deadlocks Eine weitere Gruppe von Betriebsstörungen, die ebenfalls durch das Konkurrieren von Prozessen um Ressourcen entstehen können, sind Deadlocks (Prozeßverklemmungen). Das sind Verklemmungen, die dadurch entstehen, daß Prozesse, die je eine nicht imterbrechbare ( und damit nicht entziehbare ) Ressource zugewiesen bekommen haben und eine zweite Ressource anfordern, diese aber gerade deshalb nicht bekommen, weil der andere Prozeß sie besitzt und nicht freigibt. Ein Deadlock kann z.B. durch folgendes Scenarium entstehen: Prozeß A besitzt den Drucker und benötigt zur Fortsetzung den Platter. Prozeß B besitzt den Plotter und benötigt zur Fortsetzung den Drucker. Wenn nur ein Drukker und ein Plotter im System vorhanden sind, sind beide Prozesse für immer blockiert, wenn nicht einer von ihnen suspendiert wird. In einen Deadlock können zwei, aber auch mehrere Prozesse verstrickt sein, die sich dann zyklisch blockieren.

Teil I Informatik Grundlagen Prozeß

besitzt Ressource

benötigt Ressource

1

A

B

2

B

C

3

C

D

4

D

E

5

E

A

69

Abb. 1-3.1-5: Deadlocksituation mit 5 beteiligten Prozessen Ressourcen, die so der Anlaß zu Verklemmungen werden können, müssen nicht unbedingt Geräte sein, die nicht unterbrechbar genutzt werden können. Solche Wirkungen können auch entstehen • • •

durch nicht teilbare Dateien, durch Datenbereiche, die zur Vermeidung zeitkritischer Abschnitte zeitweilig gesperrt sind oder durch das Warten auf bestimmte Nachrichten eines anderen Prozesses.

Unterbrechbare Ressourcen können entzogen und dem anderen Prozeß zur Verfugung gesteht werden. z.B. wird fehlender Speicher erst dann zur Verklemmung fuhren, wenn nichts mehr ausgelagert werden kann. Die Blockierung eines Prozesses kann unterschiedlich realisiert sein: Manche Betriebssysteme blockieren einen Prozeß, der nicht verfügbare Ressourcen anfordert, automatisch und wecken ihn erst, wenn die Ressource wieder zur Verfugung steht. Andere Systeme teilen dem Prozeß diese Nichtverfugbarkeit in einer Fehlermeldung mit. Dieser tritt dann in eine Warteschleife. Er ist dann de facto auch blokkiert, da er in dieser Zeit keine nützlichen Operationen ausfuhren kann. Die Benutzung eines Betriebsmittels besteht aus drei Phasen: • • •

Anforderung Vergabe und Benutzung Freigabe

Für die Entstehung von Deadlocksituationen ist von Bedeutung, ob ein Betriebsmittel nur einmal vorhanden ist oder ob es n-mal existiert (z.B. Plätze in Warteschlangen oder Tabellenplätze, Speicherplatz auf RAM oder Datenträger) Nach Holt modelliert man die Bedingxmgen für Deadlocks durch gerichtete Graphen:

70

3 Software Betriebsmittel auch: Prozeß-

Prozeß

Betriebsmittel

Der Prozeß besitzt das Betriebsmittel. Betriebsmittel fordert Fertigstellung der aktuellen Phase des Prozesses Der Prozeß fordert das Betriebsmittel an.

Das Beispiel aus Abb. 1-3.1-5 läßt sich dann wie folgt darstellen:

Abb. 1-3.1-6: Deadlocksituation entsprechend Abb. 1-3.1-5 Deadlock-Situationen sind als Zyklen erkennbar. Abb. 1-3.1-7 zeigt eine weitere Situation, die sich bei genauer Betrachtung des Grafen als Deadlock erweist, obwohl die meisten betrachteten Prozesse ordnimgsgemäß zu Ende geführt werden können. Die Prozesse P4, P5 und P7 bilden mit den Ressourcen C, D und E einen Zyklus. Dieser Zyklus charakterisiert den Deadlock. Die übrigen Prozesse können - eventuell mit Verzögerungen, weil sie auf gewisse Ressourcen warten müssen, ordnungsgemäß zu Ende geführt werden.

Abb. 1-3.1-7: Eine weitere Deadlocksituation. Die an dem Zyklus beteiligten Prozesse P4, P5 und P7 bewirken den Deadlock. Deadlocks bilden eine reale Gefahr für die unbehinderte Arbeit eines Betriebssystem. Was kann man gegen diese Gefahr tun? In der Literatur zu Betriebssystemen werden allgemein vier Strategien angeboten, mit denen man dieser Gefahr entgegentreten kann: 1. Der Vogel - Strauß - Algorithmus : Deadlocks werden ignoriert. Das ist vertretbar, wenn die Vermeidung von Deadlocks unvertretbar hohen Aufwand, aber geringen Nutzen bringt (z.B. wenn die Wahrscheinlichkeit der Deadlocks sehr gering oder der entstehende Schaden nicht der Rede wert ist).

Teil I Informatik Grundlagen

71

Es ist eine gute Lösung, statt aufwendiger Anti-Deadlock-Methoden Prinzipien einzusetzen, die den Deadlock nahezu unwahrscheinlich machen. Dazu gehören Maßnahmen zur Verkürzung von Blockierungszeiten oder Maßnahmen zur Erhöhung der Anzahl nicht teilbarer Geräte (z.B. durch die Einführung virtueller Geräte, durch die Vergrößerung von Warteschlangen, Tabellen usw.) 2. Erkennung und Behebung Erkennung von Deadlock-Zuständen ist möglich, wenn das Betriebssystem Anforderung, Vergabe und Freigabe von Betriebsmitteln (z.B. in Tabellen) registriert und diese Informationen nach Zyklen durchsucht. Wenn man auf diese Weise einen Deadlock erkennt, kann man ihn nur auflösen, indem man mindestens einen Prozeß beendet. Welchen Prozeß man dafür auswählen sollte, wird eindeutig von den Auswirkungen eines solchen Abbruches bestimmt. Hier empfiehlt sich auf jeden Fall der manuelle Eingriff durch einen kompetenten Computemutzer, der diese Auswirkungen zumindest für die Anwenderprozesse einschätzen kann. Seine Entscheidung kann dadurch unterstützt werden, • •

daß der Abbruch wichtiger Systemprozesse in dieser Situation zumindest erschwert werden kann, daß wichtige Systemprozesse, die mit aufwendigen Dialogen verbunden sind, mit regelmäßigen Backups programmiert werden. So muß man im Falle einer Programmunterbrechung nicht wieder ganz von vom anfangen, sondern kann auf dem Niveau des jeweils letzten Backups fortsetzen.

Um einen Deadlock zu erkennen, müßte eine analytische Methode entwickelt werden, die das Erkennen der Zyklen in den Holt'schen Grafen auch ohne das optische Erkennen des zyklischen Charakters ermöglicht. Eine solche Zykluserkennung könnte man programmieren, indem man das Betriebssystem eine Matrix nach Art der Abb. 1-3.1-8 anlegen läßt, die für alle Prozesse und für alle Ressourcen je eine Zeile enthält. Man erstellt eine Tabelle, die für die Prozesse 1 bis n und die Ressourcen A bis F je eine Zeile und eine Spähe enthält, in die für die Holt'schen Graphen jeweils ein „x" eingetragen ist . Dabei sind in den Zeilen der Prozesse (in den Spalten der Ressourcen) die Ressourcen eingetragen, die vom jeweiligen Prozeß angefordert werden, in den Spalten der Prozesse (in den Zeilen der Ressourcen) die Ressourcen, die vom jeweiligen Prozeß blockiert werden. Daraus ergibt sich eine Vierteilimg der Matrix: • •



Da ein Prozeß keinen Prozeß anfordern oder besitzen kann und eine Ressource keine Ressource, bleiben zwei der Teilmatrizen leer. Im linken Unteren Teilbereich können in jeder Zeile nur so viele Felder belegt sein, wie Exemplare dieser Ressource zur Verfügung stehen (z.B. Anzahl der Plätze in der Warteschlange). Im rechten oberen Teilbereich können beliebig viele Felder belegt sein, da eine Ressource von beliebig vielen Prozessen angefordert werden kann und jeder Prozeß beliebige Ressourcen beanspruchen kann.

3 Software

72

Um die Existenz eines Deadlocks festzustellen, müßte folgender Algorithmus abgearbeitet werden: •



Alle leeren Zeilen (Ressourcen, die von keinem Prozeß blockiert werden, und Prozesse, die keine Ressourcen anfordern) werden festgestellt und da sie damit keinen Deadlock bewirken können, auch die in den entsprechenden Spalten stehenden Eintragungen gelöscht. Diese Eintragungen können j a dann ebenfalls keinen Deadlock hervorrufen. Entsprechend sind danach die leeren Spähen festzustellen (Prozesse, die keine Ressourcen benötigen oder deren Ressourcenanforderungen nach dem bisherigen Stand keinen Deadlock bewirken können) und die in den entsprechenden Zeilen stehenden Eintragimgen zu löschen, da sie nun ebenfalls keinen Deadlock mehr zur Folge haben können.

Da dadurch weitere Zeilen leer geworden sein können, sind diese beiden Schritte solange wiederholt auszufuhren, bis sich keine Veränderungen ergeben. Wenn danach noch Eintragungen in der Matrix verblieben sind, bilden sie einen Zyklus und beschreiben so einen Deadlock.

PI

P2 P3 P4 PS P4 P7 A

PI

B

C

D

F

X

P2

X

P3

X

P4

X

X

PS

X

P6

X

P7 A

E

X \

B C D

X X

E F

X X

A b b 1-3.1-8: Ressourcenbedarf und -nutzung in der durch Abb. 1-3.1-7 dargestellten Deadlocksituation. Wenn wir diesen Algorithmus an Abb. 1-3.1-8 erproben, erhalten wir den oben beschriebenen Zyklus P4-C-P5-E-P7-D-P4 und können damit den Deadlock nachweisen.

Teil I Informatik Grundlagen

73

Solche Algorithmen können prinzipiell von einem Betriebssystem ausgeführt werden und bieten damit prin2dpiell die Voraussetzung, ein Betriebssystem die Existenz von Deadlocks erkennen und anzeigen zu lassen. Sie bewirken aber einen derart hohen Aufwand, daß sie zumindest nur in Ausnahmesituationen zum Einsatz gebracht werden sollten. Tatsächlich sind bisher solche Verfahren in realen Betriebssystemen noch nicht zum Einsatz gekommen. 3. Deadlock - Verhinderung Eine weitere Strategie besteht darin, bei Vergabe einer Ressource an einen Prozeß zu prüfen, welche Ressourcen in welcher Stückzahl der Prozeß noch beanspruchen wird. Wenn diese Stückzahl für irgend eine der Ressourcen nicht mehr ausreichen wird, gilt der Prozeß als unsicherer Prozeß und wird solange nicht mehr mit Ressourcen bedient, bis andere Prozesse wieder so viele Ressourcen zurückgegeben haben, daß der Prozeß wieder sicher ist. Dieses Vorgehen wird als ,JBankiersalgorithmus" bezeichnet. 4. Deadlock - Vermeidung Deadlocks werden durch die folgenden vier Ressourceneigenschaften charakterisiert: 1. 2.

3.

4.

Wechselseitiger Ausschluß: Jede Ressource wird entweder von einem Prozeß benutzt oder ist verfügbar Belegungs- und Wartebdingung: Ein Prozeß, der bereits Ressourcen besitzt, kann weitere Ressourcen anfordern Ununterbrechbarkeit: Die Ressourcen, die ein Prozeß besitzt, können ihm nicht entzogen werden, sondern müssen von ihm explizit freigegeben werden. Zyklische Wartebedingung: Es existiert eine zyklische Kette aus zwei oder mehr Prozessen, von denen jeder eine Ressource anfordert, das vom nächsten Prozeß der Kette belegt wird.

Deadlocks könnten vermieden werden, wenn es gelingt, eine dieser vier Bedingungen sicher zu verhindern. Bedingung 1 kann durch Spooling, d.h. durch das Einrichten von Warteschlangen vermieden werden. Man bezeichnet das als Schaffimg „virtueller" Ressourcen. Gebräuchlich ist z.B. das Einrichten von Druckerspoolem in Netzen. Damit verschiebt man den Engpaß auf die neu auftretende Ressource „Speicherplatz in der Druckerwarteschlange", die aber nur eine begrenzte Zahl von Warteplätzen haben wird. Man senkt die Wahrscheinlichkeit des Auftretens von Deadlocks, unterbindet sie aber nicht völlig. Außerdem kann nicht jede Ressource durch Spooling ersetzt werden (z.B. Tabellen, diese können nur sehr groß gewählt werden, um die Deadlockgefahr zu senken).

74

3 Software

Bedingung 2 zu verbieten, ist nicht möglich, solange dynamische Prozesse zugelassen werden, deren Ressourcenbedarf sich erst aus ihrem Verlauf ergibt. Bedingung 3 zu verhindern, ist nicht möglich, da sonst der Prozeß in seiner Ausfiihrung geschädigt wird (z.B. Unterbrechung eines Druckvorganges durch Entzug des Druckers und Vergabe an einen anderen Prozeß). Bedingung 4 zu verhindern, ist möglich stellt aber Forderungen an die Softwaregestaltung, die nur mit hohem Aufwand zu erfüllen sind, so daß dieser Weg der Verhinderung von Deadlocks ebenfalls in der Praxis nicht üblich ist. So hat also jede Form der Deadlock - Bekämpfimg Effektivitätsverluste, vor allem zusätzliche Aufwände als Begleiterscheinung. Es darf deshalb nicht verwundem, daß die dominierende Strategie im Zusammenhang mit der Tatsache, daß es überhaupt Deadlocks geben kann, die Methode „Vogel Strauß" mit dem Kopf im Sand ist.

3.1.5.6 Speicherorzanisation - Virtueller Speicher Eine der wichtigsten imd auch aufwendigsten Aufgaben der Betriebssysteme ist die Vergabe und Verwaltung der Ressource „Speicher". In der Frühzeit der Betriebssysteme gab es nur statische Speicherverwaltung, d.h. ein Prozeß erhielt mit seinem Start allen Speicher zugewiesen, den er als Bedarf angemeldet hatte. Der Prozeß belegte alle angeforderten Speicherplätze zu Beginn und hatte sie bis zu seinem Ende zur Verfugung. Unter dynamischer Speicherverwaltung versteht man die Möglichkeit, einem Prozeß während seines Laufes auf Anforderung - „on demand" - zusätzlichen Speicherplatz zur Verfügung zu stellen und ihm diesen auch zu entziehen, falls er den Bedarf wieder abmeldet. Zur dynamischen Speicherverwaltung gehört auch die Möglichkeit, daß der Prozeß zu jeder beliebigen Zeit Speicherinhalte nachladen kann, unter Umständen auch so, daß er Module, die er zeitweilig nicht benötigt, durch andere Module überschreibt. Diese früher häufig benutzte Methode nennt man „Overlaytechnik". Sie hatte den Nachteil, daß der Programmierer eine solche Überlagerung von Programmteilen vorbereiten mußte und war deshalb mit etwas aufwendigerer Programmierung verbunden. Sie war aber bereits eine Vorstufe der heute gebräuchlichen „Virtuellen Speicherung". Unter virtueller Speicherung versteht man Techniken, mit denen man Prozessen das gleichzeitige Arbeiten ermöglicht, deren Speicherbedarf in der Summe das real vorhandene Speicheraufkommen beträchtlich übersteigen kann. Dies geschieht, indem man im Speicher nur solche Inhalte des Prozesses vorhält, die gerade benötigt werden, während man andere Inhalte zeitweilig auslagert bzw. gar nicht erst einlagert. Wenn er diese Inhalte zum Arbeiten benötigt, müssen sie erst eingelagert werden. Unter Umständen ist dafür erst entsprechender Platz durch Auslage-

Teil I Informatik Grundlagen

75

rung von Speicherbereichen des gleichen Prozesses oder aber auch anderer Prozesse zu schaffen. Diese Auslagerungen verlangsamen natürlich die Vorgänge auf dem Computer, aber bei der Geschwindigkeit gegenwärtiger Hardware bleibt das allgemein in verträglichen Größenordnungen und wird vielfach von den Nutzem gar nicht bemerkt. Entscheidend ist die Möglichkeit, Prozesse überhaupt starten zu körmen, ohne das genügend Speicher für den gesamten Prozeß vorhanden ist. Moderne Anwendungssoftware ist gekermzeichnet durch die programmäßige Berücksichtigung sehr vieler Sonderbedingungen, die nur sehr selten auftreten, in Programmzweigen, die dementsprechend auch nur sehr selten durchlaufen werden. So kaim es vorkommen, daß in einer Abarbeitung eines solchen Programmes sehr viele Zweige überhaupt nicht durchlaufen werden, so daß ein Laden dieser Speicherbereiche eine echte Vergeudung von Speicherplatz wäre, während andere Zweige so selten angesprochen werden, daß es vertretbar ist, sie bei Bedarf einmalig nachzuladen, ohne daß dadurch größere Zeitverluste auftreten. Wichtig ist es, die Strategien zur Ein- und Auslagerung von Speicherbereichen so zu wählen, daß beim Auswählen der auszulagernden Bereiche möglichst die selten benötigten Bereiche getroffen werden, während die häufig benötigten möglichst im Speicher verbleiben sollen. Man spricht von „virtuellem Speicher" als dem Speicher, der vom Prozeß insgesamt benötigt wird. Zur Identifizierung erhalten alle benötigten Speicherplätze „virtuelle Adressen", die noch nichts über die endgültige Lage im real vorhandenen Speicher aussagen können. Die Gesamtheit der virtuellen Adressen wird auch „virtueller Adreßraum" genannt. Der tatsächlich zur Verfugimg stehende Speicher wird als „physischer Speicher" oder ,JPrimärspeicher" bezeichnet. Virtueller Speicher, der nicht im physischen Speicher untergebracht werden kann, muß auf Datenträgem (Festplatte o.a.) abgelegt sein, der auch als „Sekundärspeicher" bezeichnet wird. Von dort werden die Speicherinhahe bei Bedarf nachgeladen. Dorthin werden sie auch ausgelagert, wenn ihr Platz benötigt wird. Die erste zur Anwendung gekommene Form der virtuellen Speicherung nennt man Swapping. Der virtuelle Speicher wird nach funktionellen Gesichtspunkten in „Segmente" zerlegt. Diese werden je nach Bedarf ein- oder ausgelagert. Segmente sind allgemein unterschiedlich groß. Bei Beendigimg eines Prozesses oder Auslagemng eines Segmentes entstehen deshalb Lücken unterschiedlicher Größe im Speicher, die von den danach einzulagernden Segmenten im Allgemeinen nicht wieder genau ausgefüllt werden. Eine der typischen Aufgaben des Speichermanagements bei Swapping ist demzufolge auch die Verwaltung der Speicherabschnitte in Listen und die Suche nach der jeweils bestgeeigneten Lücke für ein einzulagerndes Segment. Die wichtigsten hierfür zur Verfügung stehenden Verfahren heißen

76 • • • •

3 Software „first fit" (die erste Lücke in der Freispeicherliste, in die es eingelagert werden kann), „next fit" (wie fu-st fit, nur beginnt die Suche nicht am Anfang der Liste, sondern beim zuletzt eingelagerten Segment), „best fit „ (die kleinste Lücke, in die das Segment gerade noch hinein paßt) „worst fit" (die größte Lücke)

Für den Nichtfachmann überraschend, hat in vergleichenden Untersuchungen „worst fit" das beste Ergebnis gebracht. Nachteil des Swapping sind die immer wieder auftretenden Restlücken, die mit den oben zitierten Verfahren zwar minimiert, aber nicht vollständig beseitigt werden. Um sie vollständig zu beseitigen, müßten bei Freigabe eines Speicherbereiches alle nachfolgenden Bereiche nachgerückt werden (Kompaktifizierung). Dazu wäre der Zeitaufwand aber zu hoch, weshalb solche Lösungen fiir den Speicher in realen Betriebssystemen nicht vorkommen. Swapping selbst wird in heutigen Betriebssystemen durchweg eingesetzt, allerdings nur im Zusammenwirken mit dem nachfolgend beschriebenen Paging.

3.1.5.7 Speicheroreanisation:

Paging

Um dem Dilemma der vielen Lücken und des langwierigen Suchens geeigneter Bereiche zu entgehen, bietet sich folgendes Vorgehen an: Sowohl der real vorhandene Speicher als auch der virtuelle Adreßraum werden alle in Abschnitte gleicher Größe eingeteilt, so daß bei der Einlagerung dieser Speicherabschnitte keine Lükken mehr bleiben. Die Abschnitte des virtuellen Adreßraumes nennt man „Seiten", die des physischen Speichers werden ,JCacheln" oder auch „Seitenrahmen" genannt. Beide müssen gleich groß sein. Die heute in den meisten Betriebssystemen übliche Größe beträgt 4k (4096 Byte). Sie wird in vielen Fällen inzwischen auch von der Hardware, z.B. von den Intel - Prozessoren, unterstützt. Dieses „Paging" wird inzwischen in allen modernen Betriebssystemen genutzt, die damit auch Programme mit sehr großem Speicherbedarf abzuarbeiten, auch wenn die Hardware diesen Speicher gar nicht aufweist. Unerheblich sind dabei zunächst die Eflfektivitätsverluste, die durch die Auslagerungen in Kauf genommen werden müssen, logischerweise je höher, um so größer die Differenz zwischen virtuellem und physischen Speicher ist. Im Gefolge dieser Speichereinteilung wird es allerdings keine größeren Speicherbereiche mehr geben, in denen Befehle und Daten eines Programmes lückenlos fortlaufend stehen. Vielmehr wird es nur noch logisch zusammenhängende Adreßräume geben, der physisch verstreut in kleinen Abschnitten über den RAMSpeicher des Computers verteilt steht, wie das Abb. 1-3.1-9 darzustellen versucht.

Teil I Informatik Grundlagen

Prozeß 1

Page 22 Page 23 Page 24 Page 25 Page 26 Page 27 Page 28 Page 29 Page 30 Page 31 Page 32

Physischer Speicher

77

Prozeß 2

Page 69 Page 70 Page 71 Page 72 Page 73 Page 74 Page 75 Page 76 Page 77 Page 78

Abb. 1-3.1-9: Logisch aufeinander folgende Seiten liegen physisch verstreut im Speicher Da die Einteilung in Seiten nicht mehr nach logischen Gesichtspunkten erfolgt, sondern nur noch exakt nach der Größe, und da nach 4096 Byte gnadenlos abgeschnitten wird, unter Umständen mitten im Befehl oder mitten im Wort, ist es unter Paging erforderlich, jede in einem Befehl vorkommende Adresse vor Befehlsausführung erst aufzubereiten. Das bedeutet konkret, daß zunächst immer erst geprüft werden muß, ob sich diese Adresse auf einer Seite befindet, die gerade im physischen Speicher steht, oder ob die Seite erst eingelagert werden muß. Ist die Seite im Speicher vorhanden, so wird die im Befehl stehende virtuelle Adresse gar nicht den tatsächlichen Platz im physischen Speicher beschreiben, auf dem sie tatsächlich zu finden ist, sondern es ist ein aufwendiger Algorithmus erforderlich, aus ihr abzuleiten, wo der entsprechende Befehl oder die entsprechende Information im physischen Speicher zu finden ist. Denkt man dann noch an die vielfaltigen Probleme bei der Auswahl einer geeigneten Seite zur Auslagerung, wenn Platz für eine einzulagernde Seite geschaffen werden muß, so ergibt sich also ein beträchtlicher Aufwand für die Verwaltung des virtuellen und realen Speichers unter Paging. Diese Verwaltung virtuellen und physischen Speichers, insbesondere die Ermittlung der physischen aus der virtuellen Adresse (Adreßtransformation) erfolgt mit Hilfe von Seitentabellen, die für jede Seite Informationen über ihren Status (eingelagert / ausgelagert) sowie bei Einlagerung die Kachelnummer und verschiedene andere Informationen enthalten, z.B. solche die der Entscheidungsfindung über

78

3 Software

die Auswahl einer auszulagernden Seiten dienen können. Betrachten wir nun diese Adreßtransformation: Unter den Maschinensprachen gegenwärtiger Hardware dominiert die Adreßlänge von 32 Bit. Mit 32 Bit kann man 2^^ = 4 Giga verschiedene Adressen darstellen. So groß körmte also auch aus dieser Sicht der virtuelle Speicher eines Prozesses werden. Bis zu dieser Größe läßt sich mit den Methoden des Pagings auch Physischer Speicher verwalten. Wenn eine Seite die Größe von 2'^ = 4096 hat, so werden 12 Bit fiir die Angabe der Adresse innerhalb der Seite benötigt. Um die Seitennummer zu ermitteln, ist also die virtuelle Adresse durch diese Seitengröße zu dividieren. Der Divisionsrest bildet daim den Offset („Displacement", ,J»osition"), die relative Adresse innerhalb der Seite. Natürlich ist die komplizierte Rechenart „Division" für solche Adreßoperationen völlig ungeeignet. Hier hilft aber die Eigenschaft des Dualsystems, daß eine Division durch eine Zweierpotenz durch einfaches Abtrennen von Bits erreicht werden kann. Damit ergibt sich durch die Festlegung von 4096 als Seiten- bzw. Kachellänge aus den letzten 12 Bit der virtuellen Adresse der Offset, die ersten Bits ergeben. die Seitennummer. Für diese Seitennummer muß nun der entsprechende Eintrag in eine „Seitentabelle" gesucht werden, der - wenn die Seite eingelagert ist u.a. die Kachel-Nr. enthält. Die physische Adresse, die die gesuchte Information im Speicher nun tatsächlich besitzt, läßt sich bilden, indem man Kachelnummer und Offset wieder aneinander hängt. Auch beim Suchen des Eintrages der Seitennummem kann man die Eigenschaften des Dualsystems geschickt ausnutzen. Wenn z.B. der Eintrag einer Seiten in die Seitentabelle 4 Byte groß ist (das ist die gegenwärtig übliche Größe), so braucht man an die Seitennummer nur zwei Bit anzuhängen, um die relative Adresse des Eintrages in der Seitentabelle zu erhalten. Dennoch ist natürlich die Ermittlung der virtuellen aus den realen Adressen, die Einlagerung der Seiten sowie die gegebenenfalls erforderliche Auslagerung anderer Seiten eine aufwendige Angelegenheit, die die CPU beträchtlich belasten würde. Dieses Problem löst man, indem man diese Speicherzuordnung nicht durch die CPU realisiert, sondern durch einen eigenen Prozessor, die Memory Management Unit (MMU).

Teil I Informatik Grundlagen

79

Virtuelle Adresse; 31

12|11

0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0

0 1 0 1

Seiten - Nummer

0 1 1 0

1

0 1 0 1

1 1 0 1

Offset

Seitentiibelle: 31

27 0 G0 0

0

1

1

0 1 1 1

2

1ö 0 ü^

3

1 11

Kachel^-^ummer 0 0 0

0

0

8 7

0

^

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0 ^ 0 0 0

0 0 0 0

0 0 1 0

0 1 0 1

0 0 0 0

0 0 0 0

Do

Ö

OÖÖO

ÖOOÖ

OÖOÖ

6 1 1 Ö

0 0 0 0

0 0

^i

ÖOÖÖ

OÖOÖ

OÖOÖ

0 1 0 1

1 Ö Ö Ö

0 0 0 0

0 0 0 0

ö 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 1 0

1 1 0 1

0 0 0 0

0 0 0 0

0 1 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 1

1 1 0 0

00 0 0

oopo

10

0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 1 0

1 0 O A

0 0 0 0

0 0 0 0

1021

1 1

uu

0 0 0 0

0 0 0 0

0 0 0 0

0 0 1 0

1 0 0 0

0 0 0 0

0 0 ( 0

1022

1 1 1

u

0 0 0 0

0 0 0 0

0 0 0 0

0 0

lyOOO

0 0 0 0

0 0 (

1023

uuuu

0 0 0 0

0 0 0 0

0 0 0 0

0 0 1 0

f O O O

0 0 0 0

0 0

o

6













1

0 0

Physische Adresse:

/

31 0 0 0 0

i n 0 0 0 0

u 1u

0 0 0 0

0 0 0 1

1 1 0 0 0 1 1 0

Kachel - Nummer

28

, rO 0 1 0 1

1 1 0 1

Offset

Abb. 1-3.1-10: Ein Beispiel für Paging: Mit Hilfe der Seitentabelle wird aus der Seitennummer die Kachelnummer ermittelt und statt dieser eingesetzt.

3.1.6. Struktur von Betriebssystemen Ursprünglich war ein Betriebssystem ein Programm. Mit der Zeit nahm zwar die Zahl der Funktionen zu, aber es blieb zunächst bei der festen Struktur, die man heute als monolithischen Block bezeichnet. Monolithische Betriebssysteme rufen ihre Funktionen als Unterprogramme. Anwenderprogramme (AP) werden ebenfalls wie Unterprogramme behandelt. Das AP wird solange bearbeitet, bis

80 • • •

3 Software das AP-Ende erreicht wurde (Rücksprung wie an einem UnterprogrammEnde), ein Zeitablaufsignal oder ein Unterbrechungssignal erkannt wird, eine Betriebssystemfunktion vom AP angefordert wird.

Danach wird wieder zum Betriebssystem zurückgesprungen. Die ständige Zunahme erforderlicher Funktionen ließ die Betriebssysteme schnell anschwellen. Da die RAM-Speicher bei Weitem nicht in dieser Geschwindigkeit mit wuchsen, wurden neue Architekturen erforderlich. Eine Lösung bot der Systemkern-Ansatz. Ein „Systemkem" enthält das erforderliche Minimum lebensnotwendiger Betriebssystem-Funktionen, die immer verfügbar sein müssen. Nur er verbleibt resident im Speicher. Alle anderen Funktionen werden als zu rufende Module bereitgehalten, die dann beim Ruf als selbständige Prozesse nachgeladen und gestartet werden. Nach ihrer Beendigung wird dann dieser Speicherplatz wieder freigegeben. Auf seiner Basis entwickehe sich das sogenannte Schichtenmodell. Geschichtete Betriebssysteme bilden mehrere Schichten, von denen jede die darunter liegenden Schichten überdeckt und mit ihnen eine funktionell aufgewertete virtuelle Maschine bildet. Die unterste Schicht verdeckt die Hardware und korrespondiert direkt mit ihr. Jede Schicht bereitet die Kommandos auf, die sie erhält, und erzeugt daraus Kommandos, die sie an die darunter liegende Schicht weitergibt. Genauso nimmt sie die Informationen auf, die ihr die darunter liegenden Schichten liefern, bereitet sie auf und gibt sie an die darüberliegende Schicht weiter. Viele geschichtete Systeme, darunter auch MS-DOS, sind in dieser Hinsicht jedoch inkonsequent und ermöglichen die Korrespondenz zwischen Schichten, die sich nicht direkt berühren. Das erschwert die Portabilität der Software, das heißt die Übertragbarkeit einer Software auf andere Systeme. Die oberste Schicht eines solchen Betriebssystems heißt Nutzerschicht oder auch Nutzeroberfläche. Das ist die Schicht, die die Betriebssystemkommandos des Bedieners entgegennimmt und die Meldungen des Betriebssystems in einer dem Verständnis des Bedieners entsprechenden Form ausgibt. (Zum Begriff Nutzeroberfläche gibt es unterschiedliche Auslegungen. Vielfach wird er auch für die Schnittfläche zwischen der Nutzerschicht und dem Nutzer verwendet.) Bei MS-DOS übernimmt die Datei COMMAND.COM diese Funktion. WINDOWS 3.1. nutzt die unteren Schichten von DOS und fügt eine eigene Nutzerschicht hinzu. Auch solche Dateimanipulationssysteme wie der NORTON Commander oder der Dateimanager von Windows 3.x sind zusätzliche Nutzerschichten, die auf der normalen Nutzerschicht des Betriebssystems aufbauen und dem Nutzer eine ihn noch besser unterstützende Oberfläche bieten. Ein wichtiger Bestandteil der Nutzerschnittstellen ist die Steuersprache des Betriebssystems. Moderne Nutzerschnittstellen reduzieren allerdings den Gebrauch von Kommandos auf ein unumgängliches Minimum und bieten statt dessen über

Teil I Informatik Grundlagen grafische Oberflächen Manipulationstechniken, Cursormenüs, Unterstützung, graphische Symbolik und Drag and Drop.

81 Maus-

Jedes Anwenderprogramm, in dem ein Dialog mit dem Nutzer gefuhrt wird, stellt eine Ergänzung der Nutzerschicht dar. Viele Anwenderprogramme besitzen selbst eine vollständige Nutzerschicht. Sie sind so konstruiert, daß sie den gesamten Dialog mit dem Nutzer führen und verhindern, daß der Nutzer mit der Oberfläche des Betriebssystems direkt arbeitet. Eine wichtige Rolle innerhalb des Betriebssystems spieh die Programmschnittstelle, die Schnittstelle zwischen dem Betriebssystem und dem Anwenderprogramm. Dem Anwenderprogramm müssen leistungsfähige Steuerfunktionen des Betriebssystemkems zur Verfügung stehen, Bibliotheksroutinen wie die E/AFunktionen oder die mathematischen Standardfunktionen und Laufzeitroutinen (verschiedene Überwachungsfunktionen, Speicher-, Datei- und Geräteverwaltung), die alle in der Programmiersprache vereinfacht aufgerufen werden können. In heutigen Betriebssystemen dominieren Client-Server-Architekturen. ClientServer-strukturierte Betriebssysteme bestehen aus einer Vielzahl gleichzeitig laufender oder auch zur Erfüllung eines bestimmten Auftrags gestarteten Prozessen, die auf ganz bestimmte Dienste spezialisiert sind. Die ständig laufenden „Server" bieten jeweils ganz spezielle Dienste („Services") an und warten, daß ein Nutzerprozeß gerade diesen Dienst anfordert, indem er eine entsprechende Nachricht in einer Nachrichtenwarteschlange hinteriegt. Falls sie eine solche Nachricht (Request, „Anforderung") vorfinden, werden sie aktiv, leisten den geforderten Dienst und schließen ihn mit der Lieferung einer dazugehörigen Nachricht ab. Danach fallen Sie wieder in die Warteschleife zurück. Die Dienste, die von den einzelnen Servern angeboten werden, sind meist sehr kleine Operationseinheiten. Gewöhnlich treten auch die Server wieder als Client auf, melden selbst ihren Bedarf nach bestimmten anderen Diensten bei anderen Servern an und lassen sich damit „Zuarbeit" leisten. Auf diese Weise werden komplizierte Aufgaben in Arbeitsteilung vieler spezialisierter Serverprozesse gelöst. Der Hauptvorteil dieser Betriebssystemarchitektur besteht darin, daß keiner der Server universelle Funktion hat, sondern jeder nur einen bestimmten Aufgabenbereich zu „verantworten" hat. Fällt ein Server aus, ist das System selbst in der Regel nicht vom Absturz betroffen und kann weiter genutzt werden, unter anderem um den eben abgestürzten Server wieder zu aktivieren. Weitere Vorteile liegen in der offenen Struktur dieser Systeme. Eine Erweiterung des Serviceangebots des Betriebssystems ist im wesentlichen durch die Hinzufügung eines neuen Servers erreichbar. Veränderungen und Anpassungen eines Dienstes verlangen meist nur die Veränderung eines Serverprogrammes. Die Client-Server-Architektur wurde zuerst für den Bereich der Rechnerkommunikation entwickelt, ist aber inzwischen zu einem der meist verwendeten Prinzipien der Softwarearchitektur auch der Anwendersoftware geworden.

82

3 Software

Logische Folge dieser Entwicklung ist ein ganz anderer Typ von Betriebssystemen: verteilte Betriebssysteme. Das sind Systeme mit Client - Server - Stnüctur, deren Server über verschiedene ständig miteinander in Verbindung stehende Computer verteilt sind imd von denen einige ihre Dienste auch Clients zur Verfügung stellen, die auf anderen Computern arbeiten. Das macht bei selten in Anspruch genommenen Diensten Sinn. Andere Server hingegen werden im Interesse einer schnellen Realisierung ihrer Dienste sicher immer auf dem Computer liegen, dessen Arbeit sie zu unterstützen haben. Eine extreme Lösimg in dieser Richtung waren die Mitte der 90er Jahre angebotenen ,PC-Terminals", die mit einem minimalen Speicher ausgerüstet waren und lediglich einen einfachen Betriebssystemkem besaßen, der nach der Durchführung von Startvorgängen vor allem die Kommunikation zu externen Servern aufrecht erhalten solUe. Gesunkene Speicherpreise und die Tatsache, das Kommunikation zwischen Computern immer langsamer ist als interne Kommunikation zwischen Prozessen, die auf einem Computer laufen, führten zum Ende dieser Entwicklungslinie. Das Prinzip der virtuellen Maschine, die die Hardware nach außen „abschließt", wird auch durch das Client-Server-Prinzip nicht aufgehoben. Anwendungsprogrammierem und ihren Programmen wird der Zugriff zur Hardware nach wie vor untersagt. Dieser wird lediglich einigen ausgewählten Prozessen (z.B. den Treibern) gewährt, so daß der Betriebssysstemkem aus einigen wenigen Serverprogrammen zusammengesetzt ist, deren Dienste alle anderen Programme in Anspruch nehmen können.

3.1.7. Charakteristik wichtiger Betriebssysteme der Gegenwart Im Folgenden wollen wir wichtige Betriebssysteme charakterisieren. Will man ein Betriebssystem beschreiben, so muß man immer angeben, welche Version, Release oder Variante man meint. Keine Software unterliegt einer so starken Dynamik wie die Betriebssysteme. Sowohl die ständige Weiterentwicklung der Hardware als auch die ständige Suche nach neuen Möglichkeiten zur Verbesserung des Services für Programmierer und Computemutzer führen zu regelmäßige neuen Versionen, wobei diese Vielfalt noch durch den Konkurrenzkampf rivalisierender Softwarehersteller gesteigert wird. Die ersten Betriebssysteme waren proprietäre Betriebssysteme. Darunter versteht man Betriebssysteme, die nur für einen Rechnertyp geschaffen wurden. Die Entwicklung von Rechnerfamilien mit Computern unterschiedlicher Größe auf der Basis einheitlicher Hardwarebausteine ermöglichte erstmals die Entwicklung von Betriebssystemen, die auf mehreren Rechnertypen laufen. Solche Rechnerfamilien entstanden bei allen großen Hardwareproduzenten. Entsprechend dem überwältigenden Marktanteil der IBM spielten deshalb auch die IBM - Betriebssysteme in dieser Ära eine dominierende Rolle.

Teil I Informatik Grundlagen

83

Aber auch wenn die Mehrheit der Programmierer der Großrechenanlagen mit den Stapelbetriebssystemen FMS (FORTRAN Monitor System) und IBSYS (für die IBM7094), mit DOS /IBM oder OS /IBM arbeiteten, so muß man diese Systeme immer noch als proprietär bezeichnen, weil sie nicht oder nur in wenigen Fällen auf Rechnern anderer Hersteller eingesetzt wurden.

3.1.7.1 Betriebssysteme ßr

Großrechner

Viele größere Unternehmen betreiben noch immer relativ komplexe Software auf Rechnern der 3. Generation. Die dazu benötigten Betriebssysteme sind zwar aus heutiger Sicht veraltet, aber es ist eben erforderlich, die wichtigsten Kommandos für ihre Nutzung zu kennen. Charakteristische Betriebssysteme dieser Familie sind DOS/360 und OS/360 von IBM, die speziell für die Rechnerfamilie IBM 360 entwickelt und dann auf Nachfolgesysteme übertragen wurden (OS /370, DOS/3 70 usw.). Diese Betriebssysteme entstanden mit dem Übergang zum Mehrprozeßbetrieb. Sie unterstützten: • •



das Kanalkonzept der Hardware zur Parallelisierung von Zentraleinheit und peripheren Geräten, das Interruptkonzept, mit dem Prozesse auf Grund von Ereignissen unterbrochen, ihr Bearbeitungsstatus gespeichert und ihre Fortsetzung an der Unterbrechimgsstelle ermöglicht wurde, das Warteschlangenkonzept für Bearbeitungsaufträge und für Ausgabedaten und die Einteilung des Hauptspeichers in Partitionen für jeden parallel laufenden Prozeß (und für das System selbst!)

Im Laufe der Entwicklung wurden weitere wichtige Systemeigenschaften entwikkelt wie z.B.: • •

• •



die Verschiebbarkeit von Partitionen zur Verbesserung der Speichemutzung, die Möglichkeit der Einrichtung von Wiederanlaufpimkten in Programmen, mit denen der Fehleranfälligkeit der damaligen Hardware Rechnimg getragen wurde und der Wiederbeginn von lange dauernden Prozessen nur auf den letzten Wiederanlaufpunkt gesetzt werden mußte, wodurch bei der Länge damaliger Programmabarbeitungen viel Zeit gespart werden konnte., die Führung von Logbüchern, symbolische Gerätebezeichnungen, wodurch es möglich wurde, bei Ausfall eines Gerätes die Ergebnisse des Prozesses auf ein anderes Gerät oder auch schon in eine Datei auszugeben, in der die Daten bis zur Behebung des Fehlers zwischengespeichert werden konnten sowie Debugger zur Unterstützung der Fehlersuche bei der Programmentwicklung.

Charakteristisch für diese Systeme ist der Aufbau der Rechenaufträge (Jobs) als Stapel (Batch). Mit dem vorwiegenden Eingabemedium Lochkarte, später mit Magnetbanddateien war folgender Aufbau des Eingabestromes üblich: •

Steuerlochkarten für den nachfolgenden Prozeß,

84 • •

3 Software die Lochkarten für den Aufruf des Programms imd schließlich Lochkarten mit den Eingabedaten des Programms.

Ein solcher Stapel wurde Job genannt. Es war möglich, den Job aus mehreren Steps zusammenzusetzen, von denen jeder den obengenannten Aufbau hatte. Die Eingabe der Steueranweisungen über Terminal war möglich, aber in der Anfangsphase üblicherweise nur auf allgemeinste Operationen wie Start des Systems und Abbrüche beschränkt. Steueranweisungen wurden in einer Jobsteuersprache (JCL - Job Control Language /BroOO/) formuliert. Eine Steueranweisung besteht aus einer oder mehreren Steuerzeilen (ursprünglich 80-spaltige Lochkarten) und beginnt mit der Kennzeichnung //. Kommentare beginnen mit //*, Datenbegrenzungskarten (Dateiende) mit /* . Eine Steueranweisung kann einen Namen für einen beschriebenen Prozeß oder ein beschriebenes Objekt angeben, auf den sich eine andere Steueranweisung beziehen kann. Dieser muß direkt nach dem //-Symbol stehen. Nach einem Leerzeichen als Trennzeichen wird das nächste Wort als Kommando gedeutet. Das Ende eines Jobs wird durch eine Steueranweisung beschrieben, die nur aus // besteht. Zu OS/IBM gehören Dienstprogramme für eine Reihe typischer Dienste wie Kopieren, Sortieren imd Ändern von Dateien, Anlegen und Pflegen von Katalogen und Bibliotheken sowie Software zur Programmbearbeitung. Unter dem Einfluß der Entwicklung anderer Betriebssysteme entstanden immer neue Versionen und Generationen der IBM-Mainframe-Betriebssysteme. So entstanden nach dem ursprünglichen OS/MFT (feste Anzahl paralleler Tasks) OS/MVT (variable Anzahl Tasks), VSE (Virtuell Storage Extended) und Mitte der Siebziger Jahre MVS (Multiple Virtual Storage /BroOO/), das die interaktive Steuerung von Stapeljobs mit virtueller Speicherung ermöglichte. MVS hat sich von den Siebziger bis in die Neunziger Jahre aus einem Stapelsystem in ein modernes transaktionsorientiertes System entwickelt, das Datenbestände im Umfang von mehreren Billionen Byte (Terabyte), Arbeitsspeicher von mehreren Gigabyte und darüber hinaus quasi beliebig große virtuelle Speicher unterstützt. Als begonnen wurde, dialogorientierte Betriebssystem zu entwickeln, wurden auch in der Welt der Mainframes solche Systeme geschaffen. Eine typische Lösung dafür sind die TP-Monitore (Transaction Processing) wie CICS u.a., die Dialoganwendungen verschiedener Nutzer an verschiedenen Terminals als Prozesse starten imd im Teilhaberbetrieb mit Listen und Warteschlangen verwalten. Das Pendant dazu nach dem Teilnehmerprinzip ist TSC (Time Sharing Option /Teu99/), mit dem Prozesse verschiedener Nutzer nach einem Zeitscheibenverfahren gesteuert werden. Eine dritte Technologie dieser Gruppe ist CRJE (Conventional Remote Job Entry), mit der von einer dezentralen Datenstation der Start eines Stapeljobs auf der Zentraleinheit ausgelöst werden kann, dessen Ein- und Ausgaben an der Datenstation vorgenommen werden.

Teil I Informatik Grundlagen

85

Das System VM (Virtual Machine) ist ein übergeordnetes System, das als eine Art Obersystem eine virtuelle Hardware erzeugt, auf der Nutzer von dezentralen Datenstationen aus solche Betriebssysteme wie DOS, OS/MVT oder OS/MVS oder inzwischen auch U N K installieren kann. Der Baustein CP (Control Program) des VM steuert den regelmäßigen Wechsel dieser Gastsysteme mittels einer Zeitscheibensteuerung und stellt jedem Gastsystem eine virtuelle Maschine zur Verfugung, die keinerlei funktionelle Aufwertung erhält, aber exakt die Eigenschaften der Basishardware besitzt. Eine dieser virtuellen Maschinen kann einem OS-System zur Abwicklung der Stapelverarbeitungsaufgaben übergeben werden, während die übrigen als sogenannte CMS (Conventional Monitor System) im Mehrprozeßbetrieb interaktiv betrieben werden körmen. Wie IBM bieten auch andere Hardwareanbieter Betriebssysteme für ihre Rechnerfamilien an. So läßt sich das BS2000 von SNI auf allen Rechnern des Systems 7.500 installieren und besitzt etwa vergleichbare Funktionalität wie das MVS der IBM.. Alle diese Systeme sind für jeweils eine ganze Reihe Rechnertypen anwendbar und werden damit jeweils von einer großen Anzahl von Programmierern und Computemutzem angewandt. Ihr Mangel besteht darin, proprietär zu sein, d.h. immer nur für den Betrieb von Rechnern eines Herstellers geschaffen zu sein. Unter diesen proprietären Systemen entwickelte sich MVS mehr und mehr zu einem de-facto-Standard.

3.1.7.2. Betriebssysteme

der Mini - Rechner - Strukturen

Seit Anfang der Sechziger Jahre lief parallel zur Entwicklung der Großrechner eine Entwicklung von relativ schnellen Rechnern mit geringerer Speicherkapazität und einfacher Peripherie, die auf Grund ihres niedrigen Preises kleineren Unternehmen und Fachabteilungen eine Chance zur Aufstellung eigener Computer geben sollten. Einen Höhepunkt erreichte die Produktion dieser „Minicomputer" in den Siebziger Jahren mit der PDP-11/45 und der PDP-11/70 von DEC. Diese Minicomputer verlangten auf Grund der größeren Nähe zu den Anwendern eine einfachere, benutzerfreundliche Technologie imd waren deshalb auch Auslöser für viele progressive Bestrebungen bei der Entwicklung der Betriebssysteme. So wurde gerade bei den Minicomputern die Entwicklung interaktiver Systeme besonders vorangetrieben. Ein typische Vertreter war das Betriebssystem VMS (Virtual Memory System), ein Mehmutzer-Multitasking-System für die VAX-Computer der Firma Digital Equipment Corp. (DEC). Es unterstützte den Dialogbetrieb mehrerer Nutzer von verschiedenen Terminals, wobei jeder Nutzer einen Dialog (auf Betriebssystemoder Anwenderprogramm-Ebene) führen, dabei jedoch im Hintergrund eine begrenzte Anzahl weiterer Prozesse starten und arbeiten lassen konnte.

86

3 Software

Ein anderes weit verbreitetes und noch heute gebräuchliches System für Minirechner ist das OS/400 für die IBM AS/400.

3.1.7.3 Die UNIX-

Welt

Um 1970 versuchte eine kleine Gruppe von Programmierern der Bell Telephone Laboratories von AT«&T in Zusammenarbeit mit dem M.I.T. und General Electric, unter dem Namen MULTICS (MULTiplexed Information and Computing Service) ein möglichst portables Betriebssystem für Timesharing-Betrieb zu entwikkeln. UNIX /HEROG/ ist eigentlich ein Spitzname, den das System wegen seiner anfanglichen Mißerfolge erhielt. Die Grundidee des Systems war die eines offenen Systems. Sie erwies sich als so tragend, daß sie zur Entwicklung einer ganzen UNIX-System-Famile führte. „Offen" bedeutet vor allem freien Zugang zu den Quelltexten für alle. Damit verbunden ist die herstellerunabhängige Festlegung für Schnittstellen, Dienste und Formate. Durch diese Produktstrategie erhäU der Entwickler einer offenen Software ein Heer von Mitstreitern, die aus eigenem Antrieb und mit geringen Kosten Mängel aufspüren, Möglichkeiten ihrer Behebung anbieten und sich an der ständigen Weiterentwicklung beteiligen. Neben dem eigentlichen Betriebssystem UNIX entstand eine Vielzahl von Dienstprogrammen für die Arbeit unter UNIX und nicht zuletzt auch die Programmiersprache C. Die Programmierung des größten Teiles von UNIX in C, verbunden mit der Schaffung eines portablen (d.h. auf andere Rechner übertragbaren) CCompilers ermöglichte auch die Übertragung von UNIX auf andere Computersysteme. Der Verkauf der Lizenzen für eine sehr geringe Gebühr und die Tatsache, daß die proprietären Betriebssysteme der PDP-11 nicht sehr nutzerfreundlich waren, schufen die Voraussetzung sowohl für eine schnelle Verbreitung von UNIX durch Generationen von Studenten, die UNIX kennenlernten und sich danach in ihren Unternehmen für die Einführung dieses Betriebssystems engagierten, als auch für eine ständige Weiterentwicklung durch die Impulse, die von einer Vielzahl hochrangiger Wissenschaftler ausgingen, die alle Erfahrungen mit UNIX sammelten. An der Berkeley University entstand eine eigene UNIX-Entwicklungslinie, die Berkeley System Distribution (BSD). Eine große Zahl von Computerhersteller entwickehe für seine Computer eigene UNIX-Versionen. So entstanden AIX (IBM), ULTRIX (DEC), HP-UX (HP); SINK (Siemens-Nixdorf), SunOS und Solaris (Sun Microsystems), XENIX (Microsoft) und über 50 weitere Systeme, die alle der UNIX - Grundkonzeption folgten. Der Name UNIX ist geschütztes Markenzeichen von AT&T. Ihn dürfen nur diejenigen Entwicklungen tragen, die von AT&T die Lizenz dazu erteilt bekommen.

Teil I Informatik Grundlagen

87

Diese Entwicklungsvielfalt gab der UNIX-Familie viele gute Ideen und erschloß ihr Rechner fast aller Größenordnungen und eine große Palette von Anwendungsbedingungen und -gebieten. Sie brachte aber auch eine Vielfah von Unverträglichkeiten in die UNIX-Welt, durch die das Prinzip der Offenheit emsthaft gefährdet wird. Aus dem Bedürfnis nach Standardisierung entstanden Organisationen wie OSF (Open Software Foundation), X/OPEN und UI (UNIX International). AT&T definierte in SVID (System V Interface Definition) Systemaufiiife, Formate usw. und schuf mit seinem System V Release 4 (SVR4) ein UNIX, das die Vorteile anderer Entwicklungslinien vereinigte und macht die Lizenzvergabe „UNIX" von der Einhaltung weitestgehender Übereinstimmungen abhängig. Heute sind UNIX-Systeme auf Rechnern aller Größenordnung vom Superrechner mit Mehrprozessor-Architektur (als Gastsysteme) bis zum PC anwendbar. Mit LINUX trat 1992 ein Produkt in die UNIX-Welt ein, das stärker als alle anderen UNIX-Distributionen der Idee der offenen Software folgt. Bis heute haben Linus Thorwalds und eine Vielzahl vor allem junger freier Mitarbeiter ein System geschaffen, das zur emsthaften Konkurrenz für die Microsoft - Windows - Systeme zu werden scheint. UNIX wurde ursprünglich geschaffen von Programmierem für Programmierer. Das hatte zur Folge, daß die Nutzerschnittstellen vorwiegend auf den Gebrauch durch professionelle Computemutzer orientiert waren. So verwenden viele UNIXNutzer auch noch heute Komponenten wie den Editor vi und die Programmiersprache awk. Kommandosprachen, die zwar sehr einfach zu handhaben, aber z.T. mühselig zu erlemen sind. LINUX bietet zur Überwindung dieser Elite-Tendenzen solche Software wie die grafische Oberfläche X Windows und den Editor EMACS, der eigentlich noch viel mehr kann, als nur Texte zu bearbeiten, und erlaubt damit den Umgang mit Kommandos ebenso wie einfache und elegante Manipulationen mit der Maus für den Nutzer, der sich mit dem Erlemen von Kommandos schwer tut. UNIX besitzt eine Schichtenstruktur. Die Hardware wird durch einen Kern vollständig umschlossen. UNIX gestattet weder den Benutzerprozessen noch den Benutzem am Terminal den direkten Kontakt mit der Hardware, sondem vermittelt alle diese Kontakte. Für den Nutzer des Systems ist eine „Shell" (Schale) mit einer Kommandosprache der Vermittler zum Kem des Systems. Viele Endnutzer - besonders in kommerziellen Anwendimgen, wo UNIX inzwischen zunehmend Fuß faßt - werden durch grafische Oberflächen der von ihnen verwendeten Software sogar noch von der Shell femgehalten, so daß sie sich nicht mit diesen für Profis geschaffenen Sprachen (Es gibt deren inzwischen mehrere.) auseinanderzusetzen brauchen. Wer Zugang zu UNIX haben will, muß sich mit Namen und Paßwort anmelden, die von einem Prozeß login eingelesen und überprüft werden, das im gleichen Atemzug dem Benutzer die für ihn festgelegte Arbeitsumgebung einrichtet, beliebige Routineprozesse, die er zu Beginn aller seiner Rechnersitzungen gestartet ha-

88

3 Software

ben möchte, ablaufen läßt xmd ihm die für ihn vorgesehene Shell startet, eventuell eine von ihm gewünschte grafische Oberfläche einrichtet oder ihm gar seine Software startet, auf deren Nutzung sich seine Rechnersitzung vielleicht sogar beschränken soll. Im letzteren Fall wird er nur mit der grafischen Oberfläche seines Anwendungsprogrammes arbeiten imd mit der Konunandoebene von UNIX gar nicht in Berührung kommen. Die Shells melden mit einem Prompt-Zeichen ihre Bereitschaft, worauf dann Kommandos eingegeben werden können. Das erste Wort einer eingegebenen Zeile wird als das Kommando (Name eines lauffähigen Programmes) verstanden, die nachfolgenden Worte je nach Programm als Parameter interpretiert oder ignoriert. Das Programm wird gesucht und als Prozeß gestartet. Während dieser Zeit nimmt der Prozeß laufend Dienste des Kerns bzw. einer Bibliotheksschicht des UNIXSystems in Anspruch. Danach wird wieder die Shell aktiv. Die Dateien auf Datenträgem sind in Verzeichnissen (Directories) zusammengefaßt. Inhalt eines Verzeichnisses sind Dateien und Unterverzeichnisse. Auf diese Weise wird eine baumformige (hierarchische) Anordnung der Dateien erreicht, was für den Anwender eine sehr gute Übersichtlichkeit seiner Daten schaffen kann. Das Hauptverzeichnis (Wurzelverzeichnis) heißt ,/". Im Gegensatz zu MS-DOS und den Windows-Systemen, bei denen jeder Datenträger ein eigenes Wurzelverzeichnis besitzt, gibt es unter UNIX nur ein einziges hierarchisches Dateisystem mit einem einzigen Wurzelverzeichnis. Die einzelnen Datenträger werden dann jeweils durch ein „mounf'-Kommando an ein bestimmtes ,JIakenverzeichnis" des bestehenden Dateisystems angefügt. Da „mount" schon einen wesentlichen Eingriff in das System darstellt, wird dieses Kommando - ebenso wie eine Reihe weiterer vor allem systembezogener Kommandos - in vielen UNIX-Systemen nur einigen wenigen bevorrechtigten Nutzem erlaubt. Die Einordnung eines Verzeichnisses in die Gesamthierarchie wird durch eine Folge von Unterverzeichnissen (Pfad) beschrieben, die diese Lage eindeutig bestimmen. Jedem Unterverzeichnisnamen wird der Name des übergeordneten Verzeichnisses durch einen Schrägstrich ( J " ) getrennt vorangestellt. In den meisten UNIX-Systemen werden für wichtige Systemkomponenten bestimmte wichtige Verzeichnisnamen einheitlich verwendet wie z.B. /bin, /usr/bin /dev /etc /lib, /usr/lib /tmp /usr/tmp /usr /usr/man

Wichtige ausfuhrbare (Binär-) Programme Gerätedateien Programme imd Steuerdateien für die Systemadministration Bibliotheken Verzeichnis für temporäre Dateien Alle Dateien der Benutzer, aber auch eine Reihe wichtiger Komponenten des Systems in eigenen Unterverzeichnissen Online - Manual

Teil I Informatik Grundlagen

89

Sowohl Verzeichnisse als auch Geräte wie z.B. Drucker werden als Dateien behandeh. Für die Angabe mehrerer Dateinamen können die Wildcard-(Joker-) Zeichen * oder ? verwendet werden. So ist x* ein Sammelname für alle Dateien, deren Name mit x beginnt. Mit Prog??.pas werden Pascal-Programme mit den Namen ProgOl.pas, Prog02.pas usw. angesprochen. Die Standardausgabe, die gewöhnlich nach dem Bildschirm erfolgt, kann durch ,JCommando > Datei" in eine Datei (und damit auch auf ein Gerät wie z.B. einen Drucker) umgeleitet werden. Es ist auch möglich, durch ,J(ommando < Datei" die Dateneingabe für einen Prozeß statt von der Tastatur aus einer Datei vornehmen zu lassen, in der die einzugebenden Daten in der richtigen Reihenfolge vorbereitet stehen müssen. Als „Umleitung" kann man auch die Prozeßverkettung betrachten. Zwei Prozesse werden dabei so verbunden, daß die Standardausgabe den ersten Prozesses - statt auf den Bildschirm zu kommen - als Standardeingabe des zweiten dient. Ein wichtiges Element von U N K sind die Shell-Scripts. Das sind Dateien, die aus aneinandergereihten UNIX-Kommandos bestehen. Mit ihrem Aufruf werden diese Kommandos ohne weiteren Eingriff des Bedieners in der eingegebenen Reihenfolge ausgeführt. Die Shellsprachen der verschiedenen Shells bieten dem Programmierer einen vorzüglichen Komfort für die unkomplizierte Formulierung des logischen Aufbaus, der den vergleichbaren Sprachen der meisten anderen modernen Betriebssysteme überlegen und nur mit dem der problemorientierten Programmiersprachen vergleichbar ist. Betrachtet man die Entwicklung des Softwaremarktes seit Ende der Achtziger Jahre, so kann man einen stetigen Vormarsch von UNIX-Anwendungen feststellen. Das ist vor allem darauf zurückzuführen, daß heute selbst die PC's an Leistungsstärke gewinnen und inzwischen auch den anspruchsvolleren Anforderungen dieses Systems an Speicher und andere Ressourcen gerecht werden und daß es inzwischen genügend Software gibt, die dem Endnutzer die direkte Auseinandersetzung mit den Mühen des Systems erspart und ihm einen Komfort bietet, der sich mit dem der PC-Betriebssysteme durchaus messen karm. Seit 1998 sind verstärkte Bemühungen auch renommierter Softwareproduzenten zu beobachten, Produkte zu entwickeln, die auch unter verschiedenen UNIXSystemen, vor allem aber imter LINUX laufFähig sind. Zu dieser Zeit hatten sich Anbieter von LINUX-Distributionen gefunden, die nicht nur immer neue Ideen aufgriffen, sondern endlich auch Support und Gewährleistung die nötige Aufmerksamkeit widmeten, so daß auch der einfache Anwender mehr Vertrauen schöpfen konnte. Diese neue Geschäftspolitik einiger LINUX-Anbieter - verbunden mit der Tatsache, daß hier nicht das Diktat eines Monopolisten wirken kann bewogen dann zunächst die Softwareentwickler Corel, Oracle, Informix, später dann auch SAP, Lotus, Tivoli, und andere, Software auf UNIX- bzw. LINUXBasis zu entwickeln, was wiederum Hardwareproduzenten wie Siemens, Compaq, Dell, Sim und HP bewegte, ihre Hardware auch mit LINUX auszurüsten.

90

3 Software

So kommt es, daß UNIX heute aus einem Vorfahren des PC-Betriebssystems MSDOS zu einem der Nachfolgergeworden ist und vor allem in der Gestalt von LINUX.

3.1.7.4 PC-Betriebssysteme:

MS-DOS

MS-DOS, ein Ein-Prozeß- und Ein-Nutzer-Betriebssystem, galt in den Achtziger und Neunziger Jahren schlechthin als das Betriebssystem für Personalcomputer. Entstanden als Auftragssoftware für IBM zur Steuerung der 16-Bit-PC's durch Einbeziehung von Eigenschaften des älteren PC-Betriebssystems CP/M und von UNIX wurde es schnell zum konkurrenzlosen Marktführer auf dem PC-Sektor und machte Microsoft aus einem kleinen Unternehmen zu einer wirtschaftlichen Macht. Konkurrenzsysteme konnten nur gegenhalten, indem sie wesentliche Eigenschaften des Systems übernahmen. Die regelmäßigen Weiterentwicklungen der INTEL-Prozessoren wurden jeweils von neuen Versionen des Betriebssystems begleitet, die vor allem der Ausnutzung der neuen Hardware-Eigenschaften dienen sollten. Die letzte Version war MSDOS 6.22 vom Herbst 1994. Heute ist MS-DOS durch Windows 95 bzw. Windows 98 ersetzt. MS-DOS besitzt eine Schichtenarchitektur. Jede dieser Schichten wird durch eine Datei realisiert, die in den verschiedenen Versionen unterschiedliche Namen tragen. Die hardwarenahe Schicht von MS-DOS 6.22 bildet die Datei lO.SYS, die Vermittlungsschicht MSDOS.SYS. Die Nutzerschicht heißt seit den ersten MSDOS-Generationen COMMAND.COM. Ergänzt wird 10. SYS in seinem Zusammenwirken mit der Hardware durch eine Vielzahl sogenannter Treiber (Driver). Diese relativ klemen Dateien steuern das Zusammenwirken der Software mit den E/A-Geräten. Sie beherrschen nur sehr elementare Operationen wie die Ausgabe eines Byte auf eine bestimmte Stelle des Bildschirmes oder die Ein- oder Ausgabe eines Blockes fester Größe (z.B. 128 Byte) von oder nach einer bestimmten Stelle einer Diskette. Die Verwaltung der ein- bzw. auszugebenden Daten übernimmt die Vermittlungsschicht. Sie führt die erforderlichen Listen, nach denen die richtige Stelle auf Datenträger oder Bildschirm gefunden wird, organisiert, daß im richtigen Moment der im Pufferspeicher angesammelte Datenblock zur Diskette gegeben wird, und zerlegt die vom Prozeß veranlaßte Bildschirmausgabe in die einzelnen Treiberbefehle. Der Bediener des PC bemerkt von den Tätigkeiten dieser beiden Komponenten im Normalfall überhaupt nichts. Seine Kommandos werden vom Kommandointerpreter COMMAND.COM entgegengenommen, auf Syntaxfehler überprüft, interpretiert und an das Vermittlungssystem weitergeleitet. Das Dateisystem in MS-DOS ist wie in UNIX baumförmig. Im Gegensatz zu UNIX besitzt jedoch jeder Datenträger ein eigenes hierarchisches Verzeichnissy-

Teil I Informatik Grundlagen

91

Stern mit einem Wurzelverzeichnis „\". Die Namen der Unterverzeichnisse werden mit „\" angekettet. Dateinamen dürfen maximal 11 Byte lang sein (8 Byte für den eigentlichen Namen und 3 Byte für die Namenserweiterung. Beide werden in der schriftlichen Darstellung durch einen Punkt getrennt). Die Laufwerke selbst tragen Buchstaben als Bezeichnung (a:, b: usw.) Nur wenige Befehle wie DIR, MOVE oder COPY sind interne Befehle und als solche dem Kommandointerpreter bekannt. Die meisten Befehle müssen als Programmdateien der Typen (Namenserweiterungen) .COM oder .EXE bzw. als Stapeldateien (Folgen von DOS-Kommandos) vom Typ .BAT existieren. Fehlen sie, so keimt der Interpreter das Kommando nicht. Mit dem Einschalten des PC wird ein auf ROM-Speicher im Computer stehendes Startprogramm aktiviert, führt einen Selbsttest zur Überprüfimg der Computerfunktionen und zur Ermittlung der verfugbaren Hardwarekomponenten durch und sucht danach in definierter Reihenfolge die Datenträger nach einem ladbaren Betriebssystem ab. Das erste so gefundene Betriebssystem - ganz gleich, ob DOS, Windows, UNIX oder was auch sonst - wird geladen und gestartet. MS-DOS kann variabel geladen werden. Die Konfiguration wird in einer Datei CONFIG.SYS festgelegt. Diese Datei entscheidet über die Nutzung des Speichers und über die zu ladenden Driver. Wenn das System nach dem Laden im aktuellen Verzeichnis eine Datei namens AUTOEXEC.BAT vorfindet, startet es diese sofort, bevor es sich mit einem jJ'rompt" meldet und damit kund gibt, daß es bereit ist, Kommandos entgegenzunehmen. Beide Dateien entscheiden damit wesentlich die Leistungsfähigkeit des installierten Systems. In der Folge sollen einige wichtige DOS-Kommandos vorgesteüt werden. Der Systemverwaltung dienen z.B. PATH (legt fest, in welchen Verzeichnissen nach den Programmdateien für gegebene Kommandos gesucht werden soll), DOSKEY (ermöglicht Rückruf und Bearbeitung vorhergegangener Kommandos), DATE und TIME (Setzen oder Abfi-age von Datum und Zeit), KEYB (Tastaturbelegung) und PROMPT (Gestaltung der Bereitschaftsmeldung, aber auch Steuerung von Bildschirmeigenschaften). MEM ermittelt die Speicherbelegung. Der Verwaltung von Datenträgem (Laufwerken) dienen u.a. die Kommandos FORMAT (Einrichten eines Datenträgers für die Speicherung von Dateien), FDISK (Aufteilen einer Festplatte in mehrere ,J'artitions", die wie selbständige Datenträger behandelt werden können) und CHKDSK (Überprüfung von Datenträgem). Verzeichnisse werden mit MD angelegt, mit CD gewechselt und mit RD gelöscht. DIR zeigt ihren Inhalt an, TREE ihre hierarchische Struktur. Dateiinhahe können mit TYPE angezeigt und mit PRINT gedruckt werden. Dabei arbeitet PRINT als einziger DOS-Befehl im Hintergrund, d.h. während er läuft, können andere Kommandos erteilt werden. COPY und XCOPY sind Kommandos zum Kopieren von Dateien. MOVE dient der Verschiebung in ein anderes Verzeichnis oder auf einen anderen Datenträger, aber auch der Umbenennung. MORE, SORT und FIND sind sogenannte Filter. Die Schreibweise ,JCommando\Filter" bewirkt, daß die Daten, die durch Kommando 1 auf den Bildschirm

92

3 Software

(Standardausgabe) ausgeben würden, vom Filter weiterverarbeitet werden. Man nennt diese Form der Kommandoverkettung ,JPipe". MORE, der meistverwendete Filter, zerlegt große Datenmengen in „bildschirmgroße" Portionen. Es gibt spezielle Kommandos für die Steuerung der Systeminstallation, die nur in der CONFIG.SYS angewandt werden. Andere Kommandos dienen der Programmierung von Batch-(Stapel-)dateien. Die Batchprogrammierung von MS-DOS ist - verglichen mit UNIX - nicht sehr leistungsfähig, obwohl in den neueren Versionen immer wieder Versuche zu ihrer Verbesserung unternommen woirden.

3.1.7.5 Die DOS-Nachfolger: MS - Windows und OS/2 Die Grenzen von MS-DOS waren schneller erreicht, als das seine Väter voraussahen. Die Hauptschwächen des Systems sind die Ausrichtung auf einen Hauptspeicher von 1 MByte entsprechend der Architektur des INTEL-Prozessors 8086 sowie die ausschließliche Unterstützung des Real Mode als Arbeitsweise des Prozessors. Heutige PC können mit geringem Kostenaufwand mit 64 MByte oder mehr ausgerüstet werden. Solche Speichergrößen können unter MS-DOS nur unter großem Programmieraufwand genutzt werden. Die wichtigsten Nachfolgeprodukte sind Windows und OS/2. Beide beruhen auf ähnlichen Grundkonzepten der anfangs sehr eng zusammenarbeitenden Firmen IBM und Microsoft. Den später zwischen beiden Produktreihen entstandenen Konkurrenzkampf hat eindeutig Microsoft mit seinen Windows-Systemen gewonnen. Dabei spielen eigentlich weniger die Systemeigenschaften eine Rolle als das Softwareumfeld und noch viel mehr das Marketing - Konzept. In abgegrenzten Bereichen erweist sich OS/2 mit seiner letzten Version WARP 4 als außerordentlich erfolgreich in Bezug auf Stabilität und Sicherheit dem Windows sogar überlegen. Nicht zuletzt deshalb setzen Banken, Versicherungen und Verwaltungen in großem Maße auf OS/2 statt auf Windows-Systeme. Während IBM mit der Entwicklung des OS/2 genau eine Linie verfolgte, entwikkelte Microsoft seine Windows-Produkte in zwei getrennten Reihen. Während Windows NT von Beginn an die gleichen hohen Ansprüche verfolgte wie OS/2, wurden Windows 3.0, 3.1 und später 3.11 (auch als 3.x bezeichnet /MS96/) als einfache Produkte für jedermann zu erschwinglichen Preisen konzipiert und trugen als Folge dieser Einfachheit auch dafür typische Mängel. Wichtigste Neuerung des ursprünglich gemeinsamen Konzeptes gegenüber DOS waren aus der Sicht des Nutzers graphische Oberflächen mit Fenstereinteilung und Mausunterstützung als Nutzerschnittstelle. Windows bis zu den Versionen 3.1 und 3.11 baut auf MS-DOS auf. Selbst Windows 95 /WiJu96/ benötigte noch eine DOS-Basis. OS/2 baute dagegen von Anfang an auf eine vollständige eigene Systemarchitektur. Windows 3.x erlaubt nur kooperatives Multitasking und ist damit sehr anfallig für Fehler in den Anwendungsprogrammen, ein Makel, der auch bei Windows 95/98

Teil I Informatik Grundlagen

93

(Windows 9x) noch nicht beseitigt ist. Stabilen preemptiven Mehrprozessbetrieb erlaubt dagegen Windows NT - ebenso wie OS/2. Seit dem 1 T.Februar 2000 ist Windows 2000 auf dem Markt und ist angetreten, Windows NT, aber auch Windows 9x abzulösen. Sehr gut unterstützen Windows imd OS/2 den flexiblen Datenaustausch zwischen verschiedenen Anwendungen. In Windows erfolgt ein statischer Datenaustausch über die Zwischenablage. Dadurch ist es z.B. möglich, in Erzeugnisse der Textverarbeitung Grafiken verschiedener Grafikeditoren oder Tabellen (z.B. aus EXCEL) einzubinden. Bei dynamischem Datenaustausch (DDE) erfolgt die Einbindung so, daß spätere Aktualisierungen der Quelle automatisch übernommen werden können. Objektverknüpfung und -einbettung (OLE) ermöglicht die Einbindung eines Objektes (einer Datei mit ihrem erzeugenden Programm) in ein anderes Objekt.

3.1.7.6 Ausblick: Betriebssysteme

mit neuen

Eigenschaften

Sicher werden Windows-Systeme auch in den nächsten Jahren den PC-Sektor dominieren. Sicher wird auch UNIX, insbesondere LINUX immer stärker auf dem PC-Sektor wirksam werden. OS/2 wird auch in den nächsten Jahren in Banken, Versicherungen und ähnlichen Organisationen gute Voraussetzungen für Stabilität der Informationssysteme bieten. Schließlich ist ein Marktgewinn für BeOS als Betriebssystem für vorwiegend multimediale Anwendungen zu erwarten. Sicher ist aber auch, daß die immer bessere Unterstützung der Eigenschaften der heutigen PC-Technik nicht das alleinige Ziel neuer Betriebssysteme bleiben wird. Schon heute deuten sich völlig neue Forderungen an Betriebssysteme an, die in absehbarer Zeit viel wichtiger sein werden als manche der heute angestrebte Eigenschaften. Mehr und mehr verlegt sich der Schwerpunkt der Anforderungen auf • • •

transparente Nutzung von Netzressourcen und Multiprozessorfähigkeit sowie die Fähigkeit, große Datenmengen mit hoher Geschwindigkeit verarbeiten zu können.

Man spricht von Verteilten Systemen /Tan95/, wenn die Ressourcen eines Systems auf mehrere vernetzte Computer verteilt vorliegen und die Nutzer von allen Stellen des Netzes auf alle Komponenten des Systems zugreifen können. Transparent nennt man ein System, werm dem Nutzer nicht gezeigt wird, daß er mit Ressourcen anderer Computer arbeitet, und ihm der Eindruck vermitteU wird, er arbeite nur mit einem einzigen Computer. X Windows System (kurz X) ist die 1984 entstandene Konzeption eines portablen (d.h. auf andere Hardware übertragbaren) Fenstersystems für Grafikbildschirme, das auf UNDC aufbaut. Kern des Systems ist der X-Server, ein Bildschirmausgabeprogranun, das bestimmte graphische Grundflmktionen (Linien, Flächen) auf pixel-adressierbaren Bildschirmen ausführt und Eingaben von Tastatur und Maus

94

3 Software

registriert. Er organisiert nicht die Arbeit des Fenstersystems, sondern liefert nur elementare Werkzeuge. Um den Server gruppieren sich verschiedene Dienstprogramme, vor allem für die Steuerung verschiedener Fenstertypen. Anwender- und Dienstprogramme treten als Client (Kunde) des Servers auf. Das Besondere an dieser Architektur ist, daß Clients und Server auf beliebige Rechner des Netzes verteilt sein können und auch Bildschirmfenster auf beliebigen Computern des Netzes einrichten können. Völlig neue Anforderungen an die Systeme ergeben sich aus der Tendenz zur Ausstattimg der Computer mit mehreren Prozessoren. Die dadurch entstehenden sehr leistungsstarken Computer lassen sich nur dann effektiv ausnutzen, wenn es gelingt, die Software in relativ kleine Module (Prozesse oder Threads) aufzuspalten, die es so auf die Prozessoren aufzuteilen gilt, daß diese relativ gleichmäßig ausgelastet sind. Die eigentliche Schwierigkeit liegt dabei in dem Problem, die Teilprozesse richtig aufeinander abzustimmen, so daß jeder genau dann gestartet werden kann, wenn die von ihm benötigten Informationen vorliegen. Die einfache Form der Mehrprozessorsteuerung besteht darin, die Komponenten des Betriebssystems und verschiedene Anwendungen auf die Prozessoren aufzuteilen, aber ein Programm immer nur auf einem Prozessor abzuarbeiten. Dagegen erfordert die Verteilung von Teilen eines Programmes als Threads auf verschiedene Prozessoren genauere Angaben über die Zulässigkeit von Aufsplittungen schon bei der Programmierung. Völlig neue Anforderungen stellt aber auch eine Entwicklungsrichtung, die als das genaue Gegenteil der Entwicklung von Supercomputern betrachtet werden kann: Handheids und Palm-PC. Diese neue Generation mächtiger Zwerge unter den Computern verfolgt das Ziel, durch Miniaturisierung eine neue Form der Mobiiitat der Informationsbereitstellung zu erreichen. Ihre Stärke besteht in der Verbindung von Handlichkeit mit Netzanbindung. Bequem in die Hand zu nehmen, kann man sie ohne großen Aufwand ständig bei sich tragen und hat so jederzeit und an jedem Ort Zugang zu Rechenleistung und zu allen denkbaren Informationen. Die gegenwärtigen Betriebssysteme für diesen Sektor heißen Windows CE /Klar99/ und Palm OS.

3.2 Systemnahe Software 3.2.1. Dienstprogramme In sehr engem Zusammenwirken mit dem jeweiligen Betriebssystem stehen die Dienstprogramme, häufig auch als Tools (Werkzeuge) bezeichnet. Dabei sind die Grenzen oft nicht genau zu fixieren. So liefern Betriebssystemanbieter oft Komponenten mit Dienstprogrammcharakter, die direkt an das jeweilige System gebunden sind und z.T. sogar als interne Kommandos gerufen werden. Andererseits gibt es Dienstprogramme, die ihre Dienste unabhängig vom Betriebssystem lei-

Teil I Informatik Grundlagen

95

sten. Viele Dienstprogramme übernehmen Funktionen, die Aufgabe der eigentlich Betriebssysteme sind, und ermöglichen für ihre Ausführung eine anwenderfreundliche Handhabung. Die Tendenz bei Microsoft Windows besteht darin, ein möglichst umfangreiches Dienstesystem direkt in das Betriebssystem einzubinden. Manche Dienstprogramme dienen der Realisierung einzelner Funktionen, andere wie z.B. die unter DOS nutzbaren Tools Norton Commander (NC) und PCTools sind sehr komplex und realisieren eine Vielzahl nützlicher Operationen. Diese Tools legen sich wie eine weitere Schicht über die Nutzerschnittstelle imd schaffen letztlich eine gegenüber dem einfachen Betriebssystem weiter verbesserte virtuelle Maschine. Vor allem für zwei Schwerpunktaufgaben gibt es heute ein reichhahiges Angebot von Dienstprogrammen: Datei- und Datenträgervenvaltung und Diagnose, Test und Dokumentation. Die wichtigste Gruppe widmet sich der Unterstützung der Dateiarbeit. Dazu gehören Funktionen wie Kopieren, Umspeichem, Umbenennen und Löschen von Dateien, aber auch die Festlegimg bzw. Prüfung von Dateieigenschaften wie Schreibschutz. Sortieren imd Mischen von Dateien werden ebenso übernommen wie Bildschirmanzeige und Druck der Dateien. Für alle diese Funktionen gibt es auch Betriebssystemkommandos. Die Tools bestechen aber in der Regel durch eine weitaus nutzerfreundlichere Gestaltung. Eine besonders wichtige Rolle spielen Editoren, mit denen Dateien erstellt und bearbeitet werden. Heute gibt es eine Vielzahl sehr nutzerfreundlicher imd doch einfacher Editoren wie z.B. den EDIT-Befehl des MS-DOS oder der mit der F4 Taste aufzurufende Editor des Norton Commanders. Textverarbeitungssysteme unterscheiden sich von Editoren durch eine Vielzahl von Möglichkeiten der optischen Gestaltung des Schriftbildes in der Bildschirmund Druckdarstellung (vgl. Teil III, Abschnitt 2). Für die Erstellung von Programmen und Programmdateien kann allerdings der umfangreiche Service der Textverarbeitungssysteme auch schädlich sein. Die Hilfsinformationen zur Layoutgestaltung würden diese Dateien für ihren Verwendungszweck unbrauchbar machen. Sie müssen mit einfachen Editoren ersteUt werden. Durch die zunehmende Kompliziertheit modemer Software und die immer größer werdenden zu verwaltenden Informationsmengen, besonders durch die Verarbeitimg von statischen und bewegten Bildern und von Klangeffekten, gewinnt die Verdichtung von Programmen bei der Speicherung durch Packer wie ZIP, ARJ, die Windows-Version WINZIP und andere zunehmend an Bedeutung. Auf dem Gebiet der Datenträgerverwaltung werden Funktionen wie Formatierung und Kennzeichnung sowie der Prüfung der Speichersicherheit ausgeübt. Es gibt Dienstprogramme, die defekte Magnetspurabschnitte auf dem Datenträger aufspüren und fiü- das System unansprechbar machen können, oder sie sogar wieder aktivieren.

96

3 Software

Eine besondere Rolle spielt inzwischen die Antiviren-Software. Auf dieses Problem geht Abschnitt 6.3. ein.

3.2.2 Übersetzungsprogramme Für die Erstellung und Pflege von Software nimmt die Programmbearbeitungssoflware eine zentrale Position ein. Computer verstehen Programme nur in einer sehr elementaren Sprache, der Maschinensprache. Befehle einer Maschinensprache bestehen aus Operationsteil (Was ist zu tun?) und Adreßteil (womit). Die Operationen sind meist sehr elementar. Sie beschränken sich meist auf die vier Grundrechenarten, auf die logischen Operationen UND, ODER und NICHT, auf Transporte von Datenmengen unterschiedlicher Größe von einem Speicherbereich zum anderen, das Senden von Signalen zur Steuerung peripherer Geräte und den Aufruf eines Befehls außerhalb der normalen Reihenfolge und sind binär verschlüsselt. Eine Befehlsfolge in einer solchen Sprache könnte z.B. lauten: 5 155

Hole Zahl x vom Speicherplatz 155!

1 156

Addiere Zahl y (von Speicherplatz 156)!

6 157

Transportiere das Ergebnis z nach Speicherplatz 157!

So könnte die Operation z := x+y programmiert werden. Auf diese Weise wurden die ersten Computer programmiert, als es erst einmal darauf ankam, überhaupt Programme zum Laufen zu bringen. Es ist verständlich, daß bald nach Möglichkeiten einer einprägsameren Programmierung gesucht wurde. Maschinenorientierte Programmierung verwendet die gleichen Maschinenbefehle, aber mit einprägsamen Bezeichnungen für die Operationen und mit der Möglichkeit, Variablennamen statt Speicheradressen fiir die Operanden zu verwenden. Die obengenannte Programmsequenz könnte dabei z.B. lauten: TV X

Transportiere vom Speicherplatz der Zahl x!

AD Y

Addiere Zahl Y!

TN Z

Transportiere nach dem Speicherplatz der Zahl z!

Diese Programmiertechnik ermöglichte eine einprägsamere Formulierung von Computerprogrammen. Da die Computer jedoch nach wie vor nur die Maschinensprache „verstanden", war es notwendig, Übersetzungsprogramme einzuführen, mit denen maschinenorientierte in Maschinenprogramme umgewandelt werden konnten. Man nennt sie Assembler und spricht auch von Assemblersprachen. Obwohl sie wegen ihrer sehr elementaren Operationen heute für die Programmierung der meisten Probleme viel zu aufwendig sind, finden sie bis heute Anwendung bei der Programmierung vor allem system- und hardwarenaher Software. Sie

Teil I Informatik Grundlagen

97

sind besser als andere Sprachen geeignet, die Fähigkeiten der Hardware optimal auszunutzen. Ein wichtiger Schritt zur Anpassung der Programmiersprachen an die menschliche Denkweise war die Entwicklung problemorientierter Programmiersprachen. 1954 entstand eine Programmiersprache FORTRAN, 1960/61 Algol 60 und Cobol-61, 1964 PL/1 und später eine Vielzahl anderer Sprachen, darunter um 1970 BASIC, PASCAL und C. Diese Sprachen waren gleichzeitig maschinenunabhängig konzipiert und ermöglichten so erstmals die Entwicklung hardware-unabhängiger Software. Charakterisiert werden diese Sprachen durch die Verwendung mathematischer, vor allem gleichungsähnlicher Schreibweisen bei Berechnungen sowie umgangssprachlicher Formulierungen für die Darstellung logischer Zusammenhänge und algorithmischer Abläufe. Sie ermöglichten einer großen Zahl interessierter Anwender, mit viel geringerem Aufwand als bisher eigene Programme zu schreiben und den Computer für ihre Zwecke zu nutzen. Als Übersetzungsprogramme für in problemorientierter Sprache geschriebene Programme kennt man Compiler und Interpreter. Compiler (wie auch Assembler) übersetzen das Programm vollständig (wozu es also auch vollständig fertiggestellt sein muß), um es danach abzuarbeiten oder abarbeitungsfahig zu speichern, während vom Interpreter jede Anweisung für sich übersetzt und abgearbeitet wird. Damit kann man mit Interpretern Programme in jeder Phase ihrer Erstellung übersetzen und testen. Der Nachteil des Interpreterprinzips besteht in der höheren Rechenzeit. Jeder Befehl muß vor seiner Abarbeitung erst übersetzt werden. Während aber beim Compiler jeder Befehl genau einmal übersetzt wird, muß der Interpreter den Befehl so oft neu übersetzen, wie er aufgerufen wird, so daß der Übersetzungsaufwand insgesamt um ein vielfaches höher wird. Ob dieser Nachteil Gewicht hat, ist abhängig von der Zielstellung der jeweiligen Anwendung. Während bei dialogorientierten Programmen Rechenzeitveriuste in der Größenordnung von Milli- bis Zehntelsekunden als belanglos abgetan werden können, spielen sie bei einigen Anwendungen, in denen superschnelle Prozesse gesteuert werden sollen, eine wichtige Rolle. Hier kann es sogar sein, daß zur Minimierung der Rechenzeit die Programmierung in Assemblersprache vorzuziehen ist. In der f i ^ e n Phase der Computerprogrammierung verfügte jedes Programm über den gesamten Speicher des Computers und damit konnte der Programmierer die Adressen selbst festlegen oder - nach Einführung symbolischer Adressen - dem Assembler oder Compiler durch Variablenvereinbarung den Speicherbedarf mitteilen, so daß von diesem die Adressen festgelegt und mit dem Programm fest abgespeichert werden konnten. Als dann im Speicher während der Programmabarbeitung auch noch das Betriebssystem imd nach Einführung des Multiprozessing sogar mehrere Programme gleichzeitig stehen mußten, war es nicht mehr möglich, die endgültigen Speicheradressen bereits während der Übersetzung festzulegen. Compiler und Assembler

98

3 Software

legen heute relative Adressen fest, die erst durch Ladeprogramme zur endgültigen absoluten Adresse vervollständigt werden. MS-DOS bietet eine sehr elegante Methode der endgültigen Adreßfestlegung. Alle Adressen bestehen aus einer Segment- und einer Offsetadresse. Sie sind je zwei Byte lang und können damit 64k verschiedene Adressen unterscheiden. Adresseneinheit des Offsetteils ist das Byte, des Segmentteils der Paragraph (16 Byte). Damit können beim Übersetzungsprozeß die Offsetadressen vollständig fertiggesteUt werden und es verbleibt für den Ladevorgang nur noch die Eintragung der Segmentadressen, da erst zu diesem Zeitpunkt feststeht, auf welche Anfangsadressen die einzelnen Segmente geladen werden. MS-DOS kennt verschiedene Speichermodelle, nach denen ein Programm unterschiedlich in Segmente aufgeteilt werden kann. Dateien vom Typ .COM bestehen immer nur aus einem einzigen Segment, EXE-Dateien immer mindestens aus einem Code- und einem Datensegment. Die ständige Verbesserung der Möglichkeiten der Hardware macht vor allem Einund Ausgabeoperationen immer komplizierter und führt zu einem erhöhten Abstimmungsbedarf Die Vielzahl der notwendigen Abstimmungsaufgaben kann heute von fertigen Programmbausteinen erledigt werden, die teils immanente Bestandteile des Betriebssystems sind, teils in besonderen Dateien (Libraries) gespeichert sind. Der Programmierer ruft diese Bausteine heute sowohl in problemals auch in maschinenorientierten Sprachen mit einfachen Anweisungen wie read, write oder open. Beim Übersetzen wird dann nur der Aufruf eines solchen Bausteins eingefügt. Die eigentliche Einfügung der Bausteine erfolgt durch eine besondere Software, den Programmverbinder (Linker). Mit dem Linker können auch Programmbausteine eingebunden werden, die vom Anwender als selbständige Programmabschnitte (Prozeduren und Funktionen) erstellt und getrennt übersetzt wurden. Debugger dienen zur Testung neu erstellter Programme. Mit ihnen kann man zu testende Programme abschnitts- oder befehlsweise abarbeiten, zu jeder Zeit beliebige Zwischenergebnisse ermitteln oder auch verändern. Heute werden nicht mehr einfach Compiler für eine Sprache angeboten, sondern ganze Programmiersysteme, die aus Compiler, Linker, Editor, Debuggern, Modulbibliotheken und vielen anderen nützlichen Komponenten bestehen. Meist sind diese Komponenten so miteinander verbunden, daß bei vom Compiler erkannten Fehlem die Übersetzung abgebrochen wird und sofort im Editor der Cursor auf die Stelle zeigt, an der der Fehler erkannt wurde. Von den fiühen problemorientierten Sprachen sind FORTRAN (vorwiegend in technischen Anwendungen) und COBOL (für ökonomische Anwendungen) noch heute in Gebrauch. Algol (stark mathematisch orientiert) und PL/1 (algol-ähnlich, mit zusätzlichen Möglichkeiten für Massendatenverarbeitung) wurden vor allem von PASCAL verdrängt, das in erster Linie die logisch klare Formulierung fordern sollte und vor allem in der Informatikausbildung von Ingenieur- und Naturwissenschaftsstudenten zum Einsatz kommt. Die besondere Stellung, die

Teil I Informatik Grundlagen

99

PASCAL heute auf dem PC-Sektor unter den Programmiersprachen einnimmt, erlangte es allerdings erst durch die Turbo-Pascal-Sprachsysteme von Borland International, das außer auf eine große Zahl gut aufeinander abgestimmter Komponenten auch auf einige sehr nützliche Spracherweiterungen und eine ständige Modernisierung in Anpassung an die Entwicklung der Hardware und der Betriebssysteme verweisen kann. Neuere Turbo-Pascal-Versionen erlauben z.B. auch die Einbindung von Assemblersprach-Passagen in das PASCAL-Programm. Unter UNIX und damit im gesamten Workstationsbereich dominiert nach wie vor die Programmiersprache C, die zusammen mit UNIX entstand und dessen Systemdienste besonders gut anzusprechen vermag. Heute wird C auch auf dem PCSektor - vor allem dank einem dem Turbo-Pascal sehr ähnlichen Programmiersystem von Borland - sehr häufig angewandt. C und seine objektorientierte Weiterentwicklung C++ erlauben eine sehr gute, fast assemblerähnliche Ausschöpfimg der System- und Hardwareeigenschaften. BASIC entstand in der Anfangszeit der PC als Interpretersprache mit der Zielgruppe Schüler und Programmieranfänger und war dementsprechend einfach konzipiert. Kurzzeitig erlebte BASIC eine sehr starke Verbreitung, verliert aber inzwischen wieder an Bedeutung. Sehr groß ist inzwischen die Zahl der Programmiersprachen mit speziellen Anwendungszielen. ADA ist eine Sprache für die Erstellung komplexer rechnerintegrierter Systeme, bei denen das Programm die Betriebssystemfimktionen selbst übernimmt. Sie dient vor allem der Programmierung von Bord-, Waffen- und Kommunikationssystemen. RPG und das als Systemprogrammiersprache unter UNIX genutzte awk sind Sprachen für die Verarbeitung satzweise organisierter Dateien. SQL /Schi99/ ist die bekannteste Sprache zur Verwaltung relationaler Datenbanken. Eine Vielzahl von SpezialSprachen wurde für die Monte-Carlo-Simulation diskreter Systeme (SIMULA, GPSS u.a.), für die Lösung von Aufgaben der Linearen Optimierung (MPSX, APEX) sowie für die Programmierung numerischer Werkzeugmaschinen (APT, EXAPT) entwickelt. Eine besondere Rolle in der Entwicklung der Programmiersprachen spielen SDL, eine Spezialsprache zur Erstellung von Compilern sowie OCCAM und EDISON als erste Programmiersprachen für die Programmierung paralleler Systeme. Der lange von verschiedenen Softwareproduzenten verwendete Begriff (fourth generation language), der eine neue Generation der Programmiersprachen suggerierte und heute nur noch wenig verwendet wird, wurde uneinheitlich in zwei verschiedenen Richtungen interpretiert: •



Software-Entwicklungswerkzeuge sind Programme, die die professionelle Softwareentwicklung unterstützen. Solche Systeme werden im Abschnitt 3 des Teiles II behandelt. Endbenutzersprachen sind Abfragesysteme, mit denen Nicht-Informatiker ohne professionelle Hilfe Informationsrecherchen in relationalen Datenbanken betreiben können.

100

3 Software

Hingegen würden die folgenden Entwicklungstendenzen durchaus den Begriff einer neuen Generation von Programmiersprachen rechtfertigen. SMALLTALK ist eine objektorientierte Sprache und hat die Weiterentwicklung der modernen universellen Sprachen PASCAL und C++ /Bre99/ sehr stark beeinflußt. Als Objekt bezeichnet man eine Menge von Daten und an sie gebundene Operationen. Aus vorgegebenen Objekten können durch Vererbung und Veränderung mit relativ geringem Aufwand neue Objekte für die Lösung konkreter Aufgabenstellungen erstellt werden. Die 90er Jahre brachten den Durchbruch für Sprachen der objektorientierten Programmierung. Dabei rückte vor allem Java /Dec96/ /Do98/ in den Vordergrund, eine Sprache, die bei Sim Microsystems ursprünglich für die plattformunabhängige Entwicklimg elektronischer Geräte entwickelt wurde und heute vor allem das Internet beherrscht. Die Stärke von Java ist nicht in erster Linie die Objektorientierung, sondern die Plattformunabhängigkeit seiner Behandlung. Java - Quelhexte werden durch einen Compiler in einen maschinenunabhängigen ,3yte-Code" übersetzt, der auf jeder Hardware und unter jedem Betriebssystem mit einem Interpreter abgearbeitet werden kann, sobald für diese Umgebung ein solcher Interpreter entwickelt wurde. Der Byte-Code ist stark comprimiert und besitzt maschinensprach-ähnliche Eigenschaften. Durch den sehr kompakten Charakter läßt er sich sehr effektiv im Internet versenden (man spricht dann von Java-,Applets") und kann dort auf dem Computer des Verbrauchers interpretiert werden. Die gängigen Intemetbrowser verfügen mittlerweile alle über einen implementierten Java-Interpreter, so daß das Applet im Normalfall das Internet nicht weiter belastet. Java läßt sich aber auch im Internet als „Servlett" einsetzen und wird dann auf dem Server-Rechner von einem Interpreter abgearbeitet, um von hier aus einen Dialog mit dem PartnerRechner im WWW zu steuern. Schließlich ist Java außerhalb des Internets eine leistungsfähige Sprache, die sehr gut zur Erstellung von Anwendungsprogrammen mit eigenen grafischen Oberflächen eingesetzt werden kann. Solche Java - Programme besitzen dann auch den Vorteil, leicht intemetfähig gemacht werden zu können. JavaScript /Mi96/ ist eine Sprache, die viele Ähnlichkeiten mit Java hat, aber sich doch auch in vielen Dingen unterscheidet. Java wurde von Netscape ursprünglich unter dem Namen „LiveScript" entwickelt, nach Abstimmung mit Sun Microsystems jedoch mit ihrem heutigen Namen versehen und stärker an Java angepaßt. Es bleibt jedoch eine eigenständige Sprache. Ein wesentlicher Unterschied ist, daß die Compilierung zum Byte-Code entfällt. Damit muß ein JavaScript immer als Quelltext im Internet versendet werden, der dann ebenfalls im Browser durch einen Interpreter abgearbeitet wird. Ein weiterer wesentlicher Unterschied liegt in der nur schwach ausgebauten Objektorientierung. Ein Programmierer kaim in JavaScript - anders als in Java - keine neuen Objekte definieren, sondern kann nur auf solche Objekte zurückgreifen, die in der Sprache vordefiniert sind.

Teil I Informatik Grundlagen

101

Tel wurde von John Ousterhout /Ou95/ als ein mächtiges Instrument zur Programmierung von Anwendungen mit eigener grafischer Oberfläche entwickelt, wozu Ousterhout auch die Widget-Bibliothek Tk entwickelte, die für alle möglichen Fenstertypen grafischer Oberflächen geeignete Standardobjekte enthält, so daß das Programmieren grafischer Oberflächen auf den geschickten Aufruf dieser Widgets reduziert wird. Widget ist ein Kunstwort für Window-Object. Tel und Tk wurden imter UNIX entwickeh, stehen inzwischen aber auch unter Windows zur Verfügimg. Inzwischen hat Tel auch Einzug in die Programmierung interaktiver CGIProgramme im WWW gefeiert. Dort kommt inzwischen auch die von Larry Wall als UNLX-Systemprogrammiersprache entwickelte Perl /Haj99/ verstärkt zum Einsatz. Perl läßt sich auch sehr gut mit Tk kombinieren und macht damit auch Tel auf dem Gebiet der Anwendungsprogrammierung mit grafischer Oberfläche Konkurrenz /Lid98/. Eine andere bedeutsame Entwicklungstendenz innerhalb der Programmiersprachen ist die Entwicklung von den imperativen Sprachen, in denen dem Computer der Ablauf der Operationen (Algorithmus) durch Befehle vorgegeben wird, zu prädikativen (auch nichtprozeduralen, logischen oder deklarativen) Sprachen wie z.B. PROLOG /BoKä91/. Prädikative Programmiersprachen formulieren ein Programm nicht mehr als Algorithmus, als Folge von Befehlen, sondern beschreiben das zu lösende Problem durch die Formulierung von Fakten und Regeln.

3.3 Anwendungssoftware Anwendungssoflware dient unmittelbar zur Lösung von Anwenderproblemen, beispielsweise Buchhaltung, Lohnabrechnung, Fakturierung, statistische Auswertungen, Korrespondenz, Erstellen von Skizzen und Zeichnungen, Terminkalender usw. Um sie zu charakterisieren, kann man Anwendungssofhvare nach unterschiedlichen Gesichtspunkten gliedern, insbesondere •





nach der Art der Entwicklung oder Erstellung (Standard-, Individualsoftware), innerhalb der Standardsoftware nach Branchenab - oder -Unabhängigkeit, innerhalb der Individualsoftware nach Eigen- oder Fremdentwicklung, nach der Systembasis oder -plattform, wozu Hardware, Systemsoftware (Betriebssysteme, Programmiersprachen, Datenbanken) und auch Entwicklungswerkzeuge zählen, entsprechend der Struktur bzw. den Teilsystemen eines integrierten Informationssystems (Administrations-, Dispositions-, Planungs und Kontrollsysteme mit weiterer Untergliederung nach betrieblichen Aufgabengebieten, vgl. dazu unten II 1.3.1) oder allgemein im Sinne der Gliederung des Informationssystems, in das sie eingebunden ist.

102 •

3 Software nach abzudeckenden Funktionen (Datenverarbeitung, Textverarbeitung, Graphik, Kommunikation).

Abb. 1-3.2-1 zeigt Einordnung (volle Linien) und mögliche Strukturierung (gestrichelte Linien) von Anwendungssoftware.

Clndividual-^

Qystemba^

(^nktione^

(''^ran c^ en a b - ^ V^ängigkeit^^

Abb. 1-3.2-1: Klassifikation und Gliederung von Software Die Gliederungsmerkmale treten durchwegs in Kombination auf. Zur vollen Charakterisierung von Anwendungssoftwareprdukten ist i. d. R. die Beurteilung nach mehreren oder allen aufgeführten Kriterien sinnvoll. Ein Betrieb entscheidet sich beispielsweise •





für das operative System (vgl. dazu unten II 1.3.1) des Bereichs Rechnungswesen fiir den Einsatz eines branchenunabhängigen Standardsoftwareprodukts auf der Systembasis eines Client-Server-Systems (Serversystem Unix, Clients Windows 98), für das operative System des Bereichs Logistik für den Einsatz eines Branchen-Standardsoftwareprodukts ebenfalls auf der Systembasis eines ClientServer-Systems (Serversystem Unix, Clients Windows 98), für dispositive Aufgaben (vgl. auch dazu unten II 1.3.1) des Bereichs Rechnungswesen zugunsten einer individuell selbst zu entwickelnden Lösung unter Nutzung eines Standardsofhvareprodukts für Tabellenkalkulation auf der Systembasis Windows 98.

Auf weitere wichtige charakterisierende Merkmale gehen wir hier nicht ein. Man dürfte jedoch sofort erkennen, daß eine derartige Charakterisierung von Anwen-

Teil I Informatik Grundlagen

103

dungssoftware für Entscheidungen des Informationsmanagements von Bedeutung ist. Anwendungssoftware ist bei Betrachtung im Sinne der Wirtschaftinformatik nicht Selbstzweck, sie ist vielmehr in das betriebliche Informationssystem eingebunden und dient der Lösung im wesentlichen vorgegebener (betriebswirtschaftlicher) Anwendungsprobleme, die nach geeigneter Modellierung durch Programme (Softwareprodukte) realisiert wird. Anwendungssoftware ist eine wichtige Komponente betrieblicher Informationssysteme. Die Fragen dazu bilden den wesentlichen Inhalt von Teil II. Die Entscheidungskriterien zu Standard/Individualsoftware und zur Systemgrundlage werden unter dem Thema Informationsmanagement, Fragen der Gliederung nach Teilsystemen eines integrierten Informationssystems unter dem Thema Informationssysteme speziell behandelt.

4 Rechnerverbundsysteme und Kommunikation 4.1 Anliegen und Grundbegriffe Hauptaufgabe des Informationsmanagements ist das bedarfsgerechte Bereitstellen der zur effizienten Erfüllung der Geschäftsprozesse erforderlichen Informationen sowie die effiziente Distribution von Informationen, die aus den Geschäftsprozessen entstehen, zu den betreffenden Empfängern, wie konkrete Werbeaktivitäten, unterschriebene Verträge, eigene Bestellungen u. ä. Dieser Informationsbedarf umfaßt: • • • • • •

Prozeß- imd Verwaltungsdaten aus dem eigenen Haus Kundeninformationen und Geschäftsverbindungen Wirtschaftsnachrichten wissenschaftlich-technische und technologische Probleme Umweltschutzfi-agen Förderprogramme und Ausschreibungen u. v. a. m.

In der Mehrzahl der Fälle sind Entstehung der Information und Verwendung der Information räumlich getrennt, so daß Informationsaustauschprozesse stattfinden müssen. Immer stärker werden diese Austauschprozesse rechnergestützt durchgeführt, d. h. ihre inhaltlich und funktionell verschiedenen Formen integriert mittels Textdaten, Binärdaten, Bilddaten, Tondaten als Datenaustausch zwischen Rechnersystemen durchgeführt und zum erforderlichen Zeitpunkt abgerufen. Diese Entwicklung bietet erhebliche Vorteile durch: • • •

Geschwindigkeitserhöhung des Austausches Die Unterstützung neuer Produktionstechniken wie just-in-time, die ohne elektronische Datenübertragung nicht möglich wären Neue Vertriebskanäle, neue Geschäftsmodelle, neue Kooperationsformen werden ermöglicht

104 • • •

4 Rechnerverbundsysteme und Kommunikation Kostenvorteile durch Vermeidung von Medienbrüchen Erschließung neuer Informationsquellen, die früher wegen zu großen Zeitaufwandes bei der Erschließung ungenutzt blieben Zustandekommen einer Kommunikation auch bei Abvk'esenheit des Adressaten durch Speicherung der Information

Defizite, an deren Behebung intensiv gearbeitet wird (vgl. 6.3), bestehen in der Sicherung der Einhaltung des Copyrights imd darin, elektronischen Dokumenten im Geschäftsverkehr den gleichen juristischen Stellenwert zu verleihen hinsichtlich Authentizität, Unversehrtheit, Einmaligkeit wie herkömmlichen Papierdokumenten. Kommunikationsdienste werden aus technischer Sicht in zunehmendem Maße von darunter liegenden hochleistungsfähigen globalen Rechnemetzen realisiert. Es zeichnet sich ab, daß auch die heute noch in vielfaltigen Firmen vorliegenden Endgeräte (Faxgerät, Telefon etc.) in multifunktionalen Computern integriert sein werden. Daher werden Kommunikation und Rechnerverbundsysteme in einem Kapitel behandelt. Zu Beginn werden technische Grundlagen hinsichtlich der Architekturstandards von Rechnemetzen dargelegt, die erforderlich sind, um technologische Trends beurteilen zu können. Auch neue Konzepte von Software zur Kommunikationsunterstützung werden vorgestellt. Aus inhaltlicher Sicht wird ein Überblick über die wesentlichsten Kommunikationsdienste gegeben. Möglichkeiten der kommerziellen Nutzung von Rechnemetzen sind in Teil II 4-4 unter dem Thema ECommerce zu finden. Kommunikationssysteme besitzen eine bestimmte Grundstruktur: Datenendstation]



Übertragungsnetz

Datenendstation

Abb. 1-4.1-1: Grundstruktur eines Kommunikationssystems

Die Datenendstationen bestehen jeweils aus einer Endeinrichtung (Data Terminal Equipment DTE) und i. a. einer Übertragungseinrichtung (Data Circuit Terminating Equipment DCE). DTE

DCE

Netz

DCE

DTE

Abb. 1-4.1-2: Kommunikationssystem mit DTE, DCE Je nach Richtung des Informationsflusses ist eine Endeinrichtung entweder Sender oder Empfänger.

Teil I Informatik Grundlagen

105

Eine Übertragungseinrichtung paßt die gegebene Darstellung der Information den Möglichkeiten des Übertragungsweges an. Eine häufig vorkommende Form sind Modems, die die digitalen Datenströme in analoge Signale umwandeln, die auf dem klassischen analogen Telefonnetz transportiert werden, und umgekehrt. Jedes Gerät mit der Fähigkeit, Informationen zu verarbeiten oder zu speichern, kann als Endeinrichtung dienen. Übertragungsmedien sind entweder • •

kabelgebunden (Cu, Koaxial, Glasfaser) oder richtstrahlgebunden (Erdfunk, Satellit).

Beurteilungsgrößen sind Bandbreite, Übertragungsgeschwindigkeit, Übertragungsart (analog, digital), maximale Übertragungsentfemung ohne Zwischenverstärkung und Abhörsicherheit. Nach der Form werden unterschieden: • • • •

Sprachkommunikation Textkommunikation Datenkommunikation Bildkommunikation.

Nach der Art der Kommunikation wird unterschieden zwischen • •

passiver Kommunikation: auf der angewählten Datenendstation (Rechner) werden Daten nur gelesen, transferiert oder geschrieben, und aktiver Kommunikation: auf der angewählten Datenendstation werden Programme gestartet und die Ergebnisse transferiert.

Nach dem zeitlichen Zusammenhang spricht man entweder von • •

synchroner Kommunikation oder asynchroner Kommunikation.

Von wachsender Bedeutung sind auch die Unterschiede in den Kommunikationstechniken, je nachdem welche Partner miteinander kommunizieren. Diese Unterscheidung in Business-to-Business-Kommunikation (B2B) und Business-toConsumer-Kommunikation (B2C) ist Ausgangspunkt für die Einfuhrung in das Thema Electronic Commerce (vgl. Teil II 4.3).

4.2 Rechnernetze Ein Rechnerverbundsystem (Rechnemetz) ist ein räumlich verteiltes System von selbständigen Rechnern, die durch Datenübertragungseinrichtungen miteinander verbunden sind und im allgemeinsten Sinn einer gemeinsamen Steuerung und Verwaltung unterworfen sind. Die Motive für die Vernetzung von Rechnern bestehen einerseits in verschiedenen Formen der Arbeitsteilung, zum anderen in Kostenersparnis durch

106 • • • •



4 Rechnerverbundsysteme und Kommunikation Lastverbund (Ausführung von Aufgaben durch die Kapazität mehrerer Einzeirechner) Geräteverbund (die Nutzung teuerer Peripheriegeräte durch mehrere Rechner gleichzeitig) Funktionsverbund (Nutzung von Programmfunktionen auf entfernten Rechnern) Datenverbund (Nutzung gemeinsamer häufig genutzter Datenbestände entweder an einem zentralen Ort (Datenbankserver) oder verteilt auf einzelne Server (z. B. nach Abteilungen) oder Kopien einunddesselben Datenbestandes auf räumlich verteilten Rechnern mit der Maßgabe von P^eplikationsmöglichkeiten, d. h. der Synchronisierung des Datenabgleichs nach verschiedenen Zeitmodellen) Kommunikationsverbund (Austausch von Nachrichten zwischen den Benutzem von Rechnern an räumlich verteilten Arbeitsplätzen).

Diese Kooperationsformen von Rechnern sind nicht von der räumlichen Entfernung abhängig. Unter anderem Gesichtspunkt bewirkt jedoch auch die räumliche Entfernung eine Klassifizierung der Netze in 1.

2.

3.

LAN (Local Area Networks) sind Systeme für den Hochleistungs- Informationsaustausch. Sie • verbinden Rechner im maximalen Umkreis von 10 km, die juristisch der Verantwortung eines Unternehmens unterliegen • keine öffentlichen DÜE benötigen • deren Verkabelung Eigentum des Unternehmens ist • schnellen Datentransfer ermöglichen: WAN (Wide Area Network) verbinden weltweit Rechner heterogener Systeme, die • weit weniger einer zentralen Koordination unterliegen • zwischen den einzelnen Knoten öffentlich angebotene DÜE nutzen müssen, • langsam im Vergleich zu Datenübertragungsraten von LAN sind MAN (Metropolitan Area Networks), die • nur ausgewählte Großstädte Deutschlands untereinander verbinden, also nicht flächendeckend sind • Hochleistungsnetze sind, die Transferraten von 155 Mbit/s bieten • sich eignen, LAN von Betrieben mit Niederiassungen in mehreren Städten zu verbinden, ohne den Engpaß des Umstiegs auf WAN (sog. Backbone-Netze)

Aus der Sicht der Kontrolle lassen sich Corporate Networks abgrenzen, die einzelne LANs eines verteilt operierenden Unternehmens mittels öffentlicher Kommunikationsleitungen verbinden. Um das Abhören der Kommunikation zu verhindern, wird die Kommunikation authentifiziert und verschlüsselt durchgeführt. Damit entstehen die Virtual Private Networks (VPN). Je nach Leistung der beteiligten Rechner ist auch eine Klassifikation nach den Ebenen der Vernetzung instruktiv:

Teil I Informatik Grundlagen •

107

Arbeitsplatzrechnerebene: alle teilnehmenden Rechner sind PC oder Workstations Abteilungsrechnerebene: spezielle PC-LAN-Server oder Rechner der MiniLeistungsklasse übernehmen dediziert sowohl das lokale NetzwerkManagement als ggf. auch die Einbindung an Femnetze Großrechner: Ein Arbeitsplatzrechnemetz ist mit einem oder mehreren Mainframes gekoppelt, um dort spezielle Dienste (z. B. Datenbankabfragen) in Anspruch nehmen zu können, die nicht auf der Ebene einzelner Arbeitsplatzrechner geleistet werden können. Die Arbeitsplatzrechner können entweder als „dimime" Terminals oder „intelligente" Frontends arbeiten.





Diese Ebenen lassen verschiedene Formen der Arbeitsteilung zu: 1.

Feer-to-Feer-Netze: • alle Rechner im Netz sind gleichberechtigt • jeder einzelne kann für einen bestimmten Dienst im Netz eingerichtet werden und andere Dienste in Anspruch • nur in kleinen Netzen auf Arbeitsplatzebene sinnvoll, da durch diese zusätzliche Leistung die Perfomance einzelner Rechner stark belastet wird.

2.

Client-Server-Netze (hauptsächlich für Abteilungs- und Großrechnemetze): Unter Client-Server-Architektur eines Rechnemetzes versteht man eine kooperative Form der Datenverarbeitung, wobei die Aufgaben unter den verbundenen Rechnem aufgeteilt sind. Der/die Server (Backends) bieten darüber hinaus Dienstleistungen an, die Clients (Frontends) beanspmchen diese Dienste. Damit entsteht eine Hierarchie von Rechnem nach den von ihnen zu vertretenen Rollen bzw. angebotenen Dienstleistungen. Wir sprechen dann von • • •

Fileservem Dmckerservem Datenbankservem



Kommunikationsservem

• •

Mailservem Authentikationsserver



Backup-Server

(zur zentralen Daten- und Programmhaltung) (zur Verwaltung von Dmckerwarteschlangen) (zur Speicherung und Abfrage großer Datenbanken) (Gateways, zur Umsetzung von Protokollen auf andere Netzarchitekturen) (zur Verwaltung elektronischer Postfacher) (zur Verwaltung und Prüfung der Rechte zahlreicher Nutzer) (zu Sicherheits- und Archiviemngszwecken)

u. a. wobei jeweils einige dieser Rollen von einer physikalischen Maschine wahrgenommen werden können. Neben der Übernahme zentralisierter Dienste bieten Server die wertvolle Möglichkeit, • •

jeweils einheitliche und vom Nutzer nicht veränderbare Programmversionen für alle Nutzer bereitzuhalten bei Datenverlusten am Arbeitsplatz auf die letzte aktuelle Version am Server zurückgreifen zu können

108

4 Rechnerverbundsysteme und Kommunikation



• •

3.

durch differenzierte Vergabe von Lese-, Schreib- und Ausfuhrungsrechten Datenbestände nur aufgabenentsprechend zugänglich zu machen und so ihre Vertraulichkeit, Integrität und Verfügbarkeit zu sichern. Entsprechend sieht der einzelne Anwender nicht die gesamte Fülle der ServerLeistungen, sondern nur die ihm zur Verfügung gestellten Objekte (Environmentkonzept) den gegenseitigen Ausschluß auf gemeinsam benutzten Ressourcen, da sonst ggf. nicht konsistente Daten entstehen (Record- und File-Locking) schließlich das gesamte Netzwerk zu managen (möglichst menügesteuert), d. h. die Ordnungsmäßigkeit der Abläufe zu kontrollieren, Fehler einzukreisen und zu beheben sowie Vorgänge (z. B. zu Abrechnungszwecken oder zur Fehlersuche) zu protokollieren.

Host-Terminal-Netze waren die historisch frühesten Installationen. Sie waren dadurch gekennzeichnet, daß die gesamte Intelligenz des Systems auf einem leistungsstarken zentralen Rechner (dem Host) konzentriert waren, die angeschlossenen Rechner dagegen nur als „dumme" Terminals fungierten, ohne eigene Prozessor- und Speicherkapazität.

Diese Betrachtungsweise ist sinnvoll auf Arbeitsplatz- und Abteilungsebene. WAN folgen nicht dieser deutlichen Funktionsaufleilung, sondern agieren komplexer, im allgemeinen als Multi-Server-Netze. Im Kontrast zu WAN haben sich im LAN-Bereich deutlich zwei typische Topologien durchgesetzt, die die relative Überschaubarkeit von LAN widerspiegeln und auch zwei grundsätzlich unterschiedliche Zugriffsverfahren realisieren: Die durch den Standard IEEE 802 (ISO 8802) vorgegebene Zugriffsregimes (MAC-Media Access Control) sind a) deterministisch b) stochastisch

:

Token-Steuerung CSMA/CD-Verfahren (Carrier Sense Multiple Access/Collision Detection)

Bei deterministischem Zugang „fragt" ein Token reihum alle Stationen nach Sendebedarf ab und sichert so fairen Zugang. Dies findet Anwendungen bei RingStrukturen (z. B. IBM: Token-Ring/Token-Bus) und ermöglicht Datenübertragungsraten von 4 bzw. 16 Mbit/s. Bei stochastischem Zugang besetzt die Station mit jeweils der im Moment frühesten Sendeanforderung das Netz, was zu Wartezeiten für andere Teilnehmer führen kann. Auftretende Kollisionen müssen durch CSMA/CD-Verfahren geregeh werden. Das Verfahren arbeitet auf Busstruktur als ETHERNET und FAST ETHERNET. In WAN hingegen hat sich, ausgehend von der Stern-Topologie, einfacher Kopplungen zwischen „dummen" Terminals und leistungsfähigen Hosts, eine hochkomplexe, nicht näher zu klassifizierende Vermaschung als Topologie ge-

109

Teil I Informatik Grandlagen

bildet, die auf vielfachen unterschiedlichen Wegen den Datentransfer ermöglicht und Ausweichmöglichkeiten bei Überlastung einzelner Leistungen bereithält.

Server

Ringstruktur

Busstruktur

Abb. 1-4.2-1: LAN-Strukturen/1

Stern-Topologie

Vermaschte Topologie

Abb. 1-4.2-2: LAN-Strukturen/2 Die Verbindung zwischen (ggf. unterschiedlichen) LAN wird durch BackboneNetze hergestellt, die keine eigene Netzklasse darstellen, wobei die Einkoppelung der LAN bei homogenen Netzen über Brücken oder Router, bei heterogenen Netzen über Gateways geschieht. Der bereits vorhandene Engpaß zwischen Datentransfer im Rechner und LAN (max. 20 Mbit/s) verschärft sich weiter beim Übergang zwischen LAN. Auch der sich abzeichnende erhöhte Datentransfer multimedialer Daten, insbesondere Videoanwendungen, fiihrt in naher Zukunft zum ausschließlichen Einsatz von Hochgeschwindigkeitsnetzen als Backbones.

110

4 Rechnerverbundsysteme und Kommunikation

4.3 Grundstruktur von Kommunikationsprozessen Gleichgültig, ob mehrere Rechner in einem lokalen PC-Netzwerk, in Weitverkehrsnetzen oder mit einem zentralen Großrechner kommunizieren, ist trotz i. a. stets unterschiedlichen Ablaufs der Kommunikation Standardisierung von zentraler Bedeutung. Seit 1977 wurde von der ISO das OSI (Open Systems Interconnection)- Referenzmodell als Grundlage ftr die Bildimg von Kommunikationsstandards vorangetrieben. Es unterstützt die Kommunikation in heterogener Umgebung, d. h. zwischen unterschiedlichen Endgeräten. Um den höchst komplexen Prozeß zu beherrschen, zerlegt man ihn in einzelne Bestandteile mit jeweils abgegrenzten Funktionen mit dem Ergebnis: • • • •

Jede Schicht erbringt genau eine wohldefmierte Dienstieistung. Jede Schicht nutzt dazu nur, wenn überhaupt, die Dienste der darunterliegenden Schicht, aber überspringt keine Schichten. Jede Schicht verarbeitet die ihr übergebene Information (Schnittstelle) nach bestimmten Regeln (Protokolle). Die Realisierung jeder Schicht erfolgt hardware- oder softwaremäßig. Verschiedene Realisierungen einer Schicht sind möglich und üblich, solange nur Fimktion und Schnittstelle gleichbleiben, so daß solche Schichten gegeneinander austauschbar sind.

Die verbreitetsten Schichten-Modelle sind 1. das OSI-Referenz-Modell

(ISO)

2. TCP/IP

(des DoD, USA)

Das OSI-Referenz-Modell des Kommunikationsprozesses ist aus 7 Schichten aufgebaut. Die unterste Schicht (Bitübertragungsschicht) definiert die nachrichtentechnischen Hilfsmittel fiir Kabel, Stecker und Spannungen sowie die Struktur der Bits. Die Sicherungsschicht formiert Bitfolgen zu Datenpaketen und beinhahet Mechanismen zur Kompression der Daten sowie zur Fehlererkennung und Korrektur bei der Durchfuhrung von Zweipunkt-Verbindungen. Hier werden auch die unterschiedlichen Zugangsverfahren zum Übertragungsmedium verankert. Die Vermittlungsschicht ist für das Routing, d. h. die Bestimmung eines optimalen Weges von der Datenquelle durch ein verzweigtes Netzwerk zum Zielrechner, zuständig. Sie spielt keine Rolle in einfachen PC-Netzwerken, die nur aus einer Ring- oder Busleitung bestehen. Werden verschiedene Netzwerke über einen Knotenrechner miteinander verbunden, muß dieser je nach Struktur der Netzwerke verschiedene Fähigkeiten besitzen: •

Ein Repeater verbindet zwei völlig gleichartig arbeitende Netzwerke. Er dient nur der Auffrischimg der Signale und ist der Sicherungsschicht zuzuordnen.

Teil I InfOTmatik Grundlagen •



III

Eine Bridge verbindet zwei verschiedene Netzwerke auf der Basis gleicher Bitübertragung und gleicher Sicherungskonventionen und ist der Vermittlungsschicht zuzuordnen. Ein Router hat die Aufgabe, nach gewissen Kriterien wie „least time delay", „shortest path" etc. anhand von Routing-Tabellen die Weiterleitung von ankommenden Datenpaketen zu organisieren. Je nach Situation (Netzlast) müssen Pakete an die gleiche Adresse nicht zwangsläufig den gleichen Weg durchlaufen (adaptives Routing). Bridges und Router können in einer Funktionseinheit kombiniert sein. Router sind der Vermittlungsschicht zugeordnet.

Verbindungen von Rechnemetzen mit total unterschiedlichen Strukturen (Adressen, Topologien, Protokollen) wie z. B. BANYAN Vines und das TCP/IP-Intemet sind nur über komplexe Knotenrechner, sogenannte Gateways, zu bewerkstelligen, die sämtliche Schichten ineinander übersetzen. Sie überdecken alle Schichten.

M



Virtuelle Verbindungen der Schichten Tatsächlicher Datentransport

Abb. I- 4.3-1: OSI-Referenz-Modell eines Kommunikationsprozesses

112

4 Rechnerverbundsysteme und Kommunikation

Die Transportschicht stellt das Bindeglied zwischen den transporttechnisch orientierten Schichten 1 bis 3 und den nunmehr auf die Anwendung bezogenen Schichten dar. Sie stellt Möglichkeiten der Beschreibung der Übertragung ohne Details der Medien, Typologien, Adressen etc. bereit, z. B. verbindungsorientierte vs. verbindungslose Transportdienste sowie Multiplexen und Konzentration von Bitströmen. Wegen der höheren Flexibilität eines verbindungslosen Transports, bei dem keine starre Verbindung zwischen Dateiquelle und -senke geschaltet ist, sondern bei dem einzelne Pakete ggf. auf verschiedenen Routen zum Empfanger gelangen können, genügen die nur auf einzelne Pakete bezogenen Fehlerkorrekturmechanismen der unteren Schichten nicht mehr. Diese übergreifende Kontrolle der Fehler sowie der Reihenfolge der Zusammensetzung der Pakete sind in Schicht 4 angesiedelt. Die Kommunikationssteuerungsschicht ist zuständig für den reibungslosen Ablauf einer Sitzung (Session), eingeschlossen die Synchronisation der Partner, Wiederaufbau nach Abbruch und geordneten Abbau. Die Datendarstellungsschicht stellt Services für Transportinformation der Daten in einheitliche Standardformate bereit. Auch Verschlüsselungsmechanismen sind Schicht 2 zugeordnet. Die Anwendungsschicht schließlich stellt dem Nutzer die eigentlichen Netzdienste zur Verfugimg. OSI-konforme Dienste sind u. a. E-Mail mittels Message Handling entsprechend X.400, File Transfer nach FTAM und Verzeichnungsdienst nach X.500. Öffentliche Verwaltungen der Bundesrepublik Deutschland und der Europäischen Gemeinschaft sind rechtskräftig verpflichtet, in der Informationstechnologie ab einem Liefervolumen von 200 000 DM solche Produkte zu beschaffen, die diesen europäischen Normen genügen, so daß diese Normen bei der Übermittlung und dem Austausch von Informationen sowie für die Kompatibilität der Systeme zugrunde gelegt werden können [EU]. Alternativer, weit verbreiteter de-facto-Standard ist die Protokollfamilie TCP/IP, ursprünglich vom Departement of Defence der USA entwickelt. Sie zeichnet sich durch relative Einfachheit verglichen mit OSI-Protokollen aus und arbeitet problemlos unter UNIX bei der Kommunikation unterschiedlichster Unix-Systeme. Das Internet kann definiert werden als weltweit größtes Netzwerk von Rechnern, die über TCP/IP miteinander zusammenarbeiten. Die TCP/IP-Protokollfamilie besteht nur aus 4 Schichten. Diese sind in der folgenden Graphik vergleichend zur OSI-Protokollfamilie dargestellt. Das TCP (Transmission Control Protocol), entsprechend Schicht 4, • • •

zerlegt den Datenstrom der Anwendung in genormte Pakete numeriert die Pakete durch, um sie im Ziel in die richtige Folge zu bringen bildet Prüfsummen zur Fehlererkennung

Teil I Informatik Grundlagen

113

Das IP (Internet Protocol), entsprechend der Vermittlungsschicht, versieht diese Pakete mit einem „Umschlag" (Header), der die Adressen von Absender und Empfänger enthält, und routet sie verbindungslos (connectionless) und dynamisch zum Zielrechner. Das Ziel der OSI-Schichten 3 und 4 wird damit realisiert, technisch jedoch abweichend von ISO-Vorgaben. Kurz gefaßt besteht der wesentliche Unterschied zwischen der OSI-konformen Realisierung der Transportschicht (X.25-Protokoll-Familie) und TCP/IP darin, daß im ersten Fall die Pakete über eine virtuelle Verbindung (keine exklusive, da Datenpakete verschiedener Nutzer verzahnt die gleichen Transportwege nutzen) mit vorgeschriebenen, daher sicheren Knoten transportiert werden. Die Verzahnung der Verkehrsströme sichert eine optimale Leitungsauslastung, jedoch sinkt bei hohem Verkehrsaufkommen die Kapazität (Stau-Problematik). Die Knoten erfüllen nur eine „store-and-forward"-Funktion, d.h. sie speichern die ankommenden Pakete solange, bis eine Weiterleitung möglich ist.

iso-osi

DoD-Protokollfamilie Telnet InterakTives Tenninal

SMTP Simple Mail Transfer

FTP File Transfer Protocol

TCP Transmission Control Protocol

NSP Name Server Protocol

UDP

IP Internet Protocol

Netz als Datentransportressource, wie X.25, LAN Nebenstellenanlage oder privates Datennetz

Abb. 1-4.3-2: TCP-IP-Protokollfamilie des DoD Das Transportverfahren in TCP/IP besteht dagegen darin, die Pakete verbindungslos zu routen, d.h. keine starre, virtuelle Verbindung vorzugeben, sondern die Wahl des nächsten Teilstücks von der momentanen Netzbelastung und den gerade freien Strecken abhängig zu machen, so daß zusammengehörige Pakete auf ganz verschiedenen Wegen zum Empfänger gelangen können und am Schluß wieder in der richtigen Reihenfolge zusammengesetzt werden. Die Leistung der

114

4 Rechnerverbundsysteme und Kommunikation

Knoten (Router) wird dann anspruchsvoller, sie müssen in jedem Moment die aktuelle Auslastungssituation in ihrer Umgebung kennen und anhand von RoutingTabellen dem Datenpaket die nächste freie Leitung zuweisen können. Der Weg, den ein Paket nimmt, ist nicht vorhersehbar, insbesondere kann nicht für die Sicherheit aller durchlaufenen Knoten garantiert werden. Andererseits entsteht so ein robustes, flexibles Netz mit sehr hohem Durchsatz, das gegen Leitungsausfälle gesichert ist und damit die og. Stauproblematik entschärft. TCP/IP konkurriert auf Grund seiner Einfachheit sowie hersteller- und plattformübergreifenden weltweiten Infrastruktur sehr stark mit OSI-konformen Produkten und wird von vielen Fachleuten als der Standard der Zukunft gesehen, während OSI als gescheitert erklärt wird. Gegen das offene Internet als ausschließliches Medium der Behördenkommunikation spricht jedoch emsthaft • • • •

die Offenheit des Netzes, die mit den definierten Sicherheitsregimes der Öffentlichen Verwaltungen kollidiert der Mangel einer klaren Verantwortung für das Internet und seiner planvollen Entwicklung Probleme der Verfügbarkeit last but not least Schwächen der verwendeten Protokolle: z. B. ist bei SMTP keine Möglichkeit des Empfangbeweises bzw. „Sendens mit Rückschein im Geschäftsverkehr" implementiert, Internet ist nicht abhörsicher u. ä.

Seine Nutzung kann sinnvoll in ausgewählten Anwendungsbereichen (Informationsrecherchen, Öffentlichkeitsarbeit, einfache E-Mail-Konnektivität) sein, kommt aber für den Datenverkehr zwischen öffentlichen Verwaltungen sowie für den geschäftlichen Austausch sensibler Daten in der privaten Wirtschaft nicht in Frage. Derzeit sind OSI-konforme Dienste oder aber auf lange Sicht Netze, die die Vorteile von TCP/IP, aber nicht die Nachteile besitzen, insbesondere die nicht beherrschbare Offenheit, die Grundlage für alle organisationsübergreifenden Kommunikationsvorhaben in Deutschland und Europa.

4.4 Verfügbare Netzinfrastrukturen Zur Datenkommunikation stehen derzeit (4/2000) zur Verfügung : • •

Standleitungsnetze Die verbindungsorientierten, leitungsvermittelten Telefonnetze • Telefonnetz analog (mit Modem 56 K) • Telefonnetz digital (mit ISDN-Adapter 144 Kbit/s) • Asymmetrische Techniken auf Analogleitungen (z.B. ADSL, bis Mbit/s)

Teil I Informatik Grundlagen

115

die bis auf die letzte nur bedingt für den gewerblichen Datenverkehr zu nutzen sind, vorrangig aber wegen ihrer flächendeckenden Verfügbarkeit bis in die Haushalte zu nennen sind • Öffentliche Paketnetze wie • Datex-P (2Mbit/s, welches international standardisiert ist, ein volumenbasiertes Gebührenmodell besitzt, hohen Durchsatz ermöglicht, geschlossene Benutzergruppen zuläßt und Netzübergänge zu nahezu allen anderen Netzinfrastrukturen zuläßt) • Datex-M(100Mbit/s) • Breitband-ISDN (bis 600 Mbit/s, auf der Basis von ATM, einer Weiterentwicklung des Paketprinzips) • Öffentliche IP-Netze • Internet • Breitband-WIN (das Wissenschafisnetz, betrieben vom DFN, zur Verbindung aller deutschen Hochschulen und Forschungseinrichtimgen) mit 134 Mbit/s, geplant bis 8 Gbit/s • USA :das Internet II (ABILENE) für Hochschulen (geplant bis 9,6 Gbit/s) • Geschlossene IP-Netze • Intranets von Unternehmen, d.h. Rechnemetze auf IP-Basis innerhalb von Unternehmen und Behörden, die ausschließlich untemehmenseigene Rechner miteinander verbinden, intemet-typische Dienste und Formate wie HTML nutzen, Browser als universelle Nutzeroberfläche verwenden, aber vom öffentlichen Internet abgeschottet sind oder nur über wenige, kontrollierte Übergänge verfügen. • Extranets von Unternehmen, d.h. Intranets, zu denen zusätzlich Kunden bzw. Geschäftspartner Zugriff erhalten können (über Nutzerregistrierung imd Paßwort) Beispiele hierfür sind unter vielen das Extranet der Landesverwaltung Sachsen (der „Information Highway des Landes Sachsen") oder das Branchennetz ENX („European Network Exchange") für die Automobilindustrie, welches die Qualitätsmerkmale eines Corporate Networks mit den Vorteilen der Internet-Technik verbindet, d.h. den geschützten Datenaustausch zwischen den Herstellern, Entwicklungspartnem, Zulieferern, Spediteuren, Händlern und sonstigen Partnern der deutschen Automobilindustrie auf einer einheitlichen und kostengünstigen Plattform ermöglicht (www.enx.de). 1998/99 startete der Pilotbetrieb mit den Herstellern Audi, BMW, Daimler-Chrysler und VW. Auf der Zulieferseite beteiligen sich die Firmen Bosch, Behr, Dräxlmaier, Freudenberg und Hella. Am Ausbau zum europaweit größten Extranet arbeiten die Branchenverbände Spaniens, Frankreichs, Großbritanniens und Deutschlands. Als nächster Schritt wird die Verbindung zum amerikanischen Branchennetz ANX vorbereitet. • Mobilfunknetze (terrestrisch) ermöglichen bei der gegenwärtigen Datenkapazität von 9,6 Kbit/s des GMS-Standards bei unterschiedlichen Endgeräten wie mobilen Rechnern mit Handy-Adaptern oder WAP-fähigen Handies nur ru-

116

4 Rechnerverbundsysteme und Kommunikation

dimentäre Formen der Datenübertragung. Die sich abzeichnende Ablösimg durch den GPRS-Standard und danach den UMTS- Standard (ab 2002) mit Datenübertragungsraten bis 2 Mbit/s wird den Datenaustausch mit Endgeräten an beliebigen Standorten zu einer echten Alternative machen. • Satellitenfunknetze ermöglichen die gleich Funktionalität auch für Benutzer mobiler Endgeräte, die fiir erdgebundene Funknetze nicht mehr erreichbar sind, z.B. Schiffe, Expeditionen. Besonderes Einsatzgebiet sind Verkehrsleitsysteme, worüber z.B. eine Echtzeit-Fahrzeugdisposition erfolgen kann (Dienst Euteltracs von Alcatel) oder eine Kombination aus satellitenbasierter Positionsbestimmung (Global Positioning System GPS des amerikanischen Verteidigungsministeriums) und Verkehrsstromerfassung die exakt auf die Position des Fahrzeugs abgestimmte Bereitstellung von Verkehrsinformation ermöglicht (Dienst Tegaron). • Stromleitungen, die bis in jeden Haushalt reichen, können ebenfalls Datenströme aufmoduliert bekommen (PowerLine Communication). Aussichtsreiche Pilotprojekte laufen bereits. Dem Betriebswirt stehen damit vielfältige Hilfsmittel zur Unterstützung der betrieblichen Informationssversorgung aus der,JDatensteckdose" zur Verfügung. Die Entscheidung für eine Übertragungstechnologie hängt ab von • • • • • •

Aktuellem und geplantem Umfang der zu übertragenden Daten Zeitlichem Anfall der Daten (gleichmäßig oder zu Spitzenzeiten) Dringlichkeit der Übermittlung (Echtzeit oder zeitverzögert) Vertraulichkeit der Daten (gewünschte Übertragungssicherheit) Verfügbarkeit der Netze (z.B. mobiler Außendienst) Volimien- oder zeitabhängigem Kostermiodell

Die erweiterten technischen Möglichkeiten der Kommunikation erzeugten neue Probleme, speziell im Bereich des Datenschutzes. Da es technisch kein Problem mehr darstellt, die Gesamtheit aller Verbindungen aller Fernsprechteilnehmer über Monate zu speichern, wird befürchtet, daß sich hier ein riesiger Datenfundus aufbauen läßt, der den Netzanbietem zwar die Datengrundlagen für den Einzelverbindungsnachweis liefert, aber der von nicht autorisierten Personen auch zur Herstellung von Kommunikationsprofilen einzelner Personen oder Einrichtungen mißbraucht werden könnte. Damit könnten Persönlichkeitsrechte des Einzelnen auf Eigenbestimmung über seine Daten verletzt werden. In der Wirtschaft kann es zur Aufdeckung von Geschäftsgeheimnissen infolge der Kenntnis von Kommunikationsbeziehungen kommen.

4.5 Neue Softwarekonzepte zur Unterstützung von Kommunikationsprozessen Konferenzsysteme imterstützen die synchrone Kommunikation von Teilnehmern an unterschiedlichen Orten. Mittels Videokamera, Mikrofon, Soundkarten und

Teil I Informatik Grundlagen

117

entsprechender Software können im einfachsten Fall die entfernten Teilnehmer sichtbar und hörbar gemacht werden. Die Inhalte werden dabei von den Teilnehmern erzeugt, die Führung der Konferenz obliegt einem Moderator. Weiter in der Unterstützung der Arbeit, die auf ein bestimmtes, strukturiertes Ergebnis zielt, gehen Application Sharing Systeme. Hier erhalten alle Teilnehmer auf ihren Bildschirmen die gleichen Teil-Arbeitsergebnisse zur Verfugung gestellt . Die Formen reichen von einem • • •

„Shared Whiteboard" (einer virtuellen Skizzentafel), auf der Skizzen, graphische Entwürfe, Bilddateien etc. angezeigt werden können, über eine integrierte Textkonferenz (Chat), deren Ergebnisse auch persistent als Arbeitsergebnis speicherbar sind bis zur gemeinsamen Nutzung von Anwendungen, die auf dem Rechner des Moderators laufen, z.B. Textverarbeitungssyteme zur Erstellung von Berichten. Die Teilnehmer köimen unterschiedliche Rollen spielen, entweder passiver Betrachter, der nur über andere Kanäle Zustimmung oder Ablehnung signalisieren kann, also nur Leserechte hat, oder aktiver Teilnehmer in der Anwendung selbst, der das Recht auf Übernahme der Steuerung („floor control") beim Moderator beantragen kann und daraufliin Schreibrechte innerhalb der Anwendung direkt erhält. Diese Arbeitsweise wird auch als „Joint Authoring" bezeichnet.

Technische Unterstützung der Kommunikation in Beratungen gewähren TerminPlanungs-Systeme (Group Scheduling). Grundlage dafür sind konsequent geführte elektronische Kalender, in denen Mitarbeiter sämtliche dienstlichen Termine eintragen. Zum Einberufen einer Beratung sucht der Moderator in den Kalendern der Teilnehmer nach freien Zeiten, läßt automatisch Einladungen als Electronic Mail erzeugen, bei Zustimmung zur Einladung eine automatische Rückantwort generieren und schließlich den Beratungstermin in den Terminkalender der Teilnehmer eintragen. Inhahliche Unterstützung von Teams gewährt Workgroup Computing Software /Groupware (auch Computer Supported Cooperative Work CSCW). Sie unterstützt die Gruppe als Ganzes durch Bereitstellung von zur Arbeit erforderlicher Information in aufbereiteter Form, ohne den einzelnen direkt zu steuern. Im Kern besteht Groupware aus • •



Einem Mailsystem Einer Vielzahl intelligent organisierter Referenzdokumente mit betrieblichen Informationen, wie Handbücher, betriebliche Standards, Abkürzungsverzeichnisse und Nomenklaturen, Rundschreiben etc. Protokollanwendungen zu Ergebnissen von täglichen Aktivitäten wie Projektarbeit, Kundenarbeit etc., um den Bearbeitungsstand für alle betreffenden Mitarbeiter sichtbar zu machen und z.B. bei neuen Kundenkontakten das gesamte bisherige Wissen zu dem Vorgang schnell bereitzustellen. Derartige Anwendungen tragen zum „Wissensmanagement" (Knowledge Management) im Unternehmen bei, d.h. das Detailwissen einzelner Mitarbeiter allen verfügbar zu machen.

118

4 Rechnerverbundsysteme und Kommunikation

Workflow-Management-Software steuert dagegen den Arbeitsablauf zwischen allen an der Bearbeitung eines Geschäftsprozesses Beteiligten bzw. Arbeitsplätzen. Nacheinander entsprechend den einzelnen Bearbeitungsschritten werden den Bearbeitern am Rechner bereitgesteUt: • • •

Das zu bearbeitende Dokument in digitalisierter Form Vorschläge für die Bearbeitung (Zustimmung/AblehnungAVeitergabe) Ggf. für die Bearbeitung erforderliche Unterlagen (bisherige Verträge, Reklamationen, Schadensanzeigen etc.)

Grundvoraussetzung für die Anwendimg dieser Software ist die Analyse der Geschäftsabläufe und die Identifikation der konstant gleich strukturiert ablaufenden Vorgänge, denn nur diese sind einer Prozeßdefinition in Workflow-Software zugänglich. Je nach Branche können sie jedoch bis zu 80 % der Tagesaufgaben ausmachen, z.B. bei Kreditbearbeitung, Schadensfallbearbeitung oder Antragsbearbeitung in Behörden. Bei Informationsdiensten in Netzen haben sich Hypertextbasierte Informationssysteme durchgesetzt. Hypertext ist Fließtext mit der Möglichkeit, sog. Links einzubauen, d.h. sensitive Textstellen, denen Verweise auf weiterführende Textstellen, Graphiken, Videos, Tondateien etc. unterlegt sind. Hypertext ist daher aus dieser Sicht nicht statisch, sondern läßt sich je nach Informationsbedarf des Nutzers unterschiedlich erweitem, die Dokumente werden flexibel aus vielen, i.a. weltweit verteilten Quellen zusammengestellt. Der Nutzer braucht nicht über technische Kenntnisse zu verfügen, was den Ort und das Übertragungsverfahren der Quellen anbetrifft, sondern arbeitet rein intuitiv. Von dynamischem Hypertext spricht man dann, wenn die Seite erst als Reaktion auf Eingaben spezifisch für den Nutzer aufgebaut wird (vgl. 4.8)

4.6 Kommunikationsdienste im Überblick Kommunikationsdienste oder Mehrwertdienste (Value Added Services (VAS) in Netzwerken = VAN) sind alle kommerziellen Dienstleistungen zur inhaltlichen Durchführung/Gestaltung des Datenaustauschs über Kommunikationsnetze, die über das reine Bereitstellen von physikalischen Netzen hinausgehea Als ursprüngliche Arbeitsteilung beim Zustandekommen von Kommunikation ergab sich • • •

Content Provider (Anbieter/Erzeuger der Inhalte) Service Provider(Durchfuhrung des Transports) Net Provider (Betreiber der Netze).

Eine sinnvolle Ergänzung des Netzbetriebs ist das gleichzeitige Bereitstellen von Transportdiensten aus der gleichen Hand, d. h. die Personalunion von Service Provider und Net Provider, woraus sich historisch der Begriff des Mehrwertdienstes ableitete. Jüngere Mergers wie AOL und Time Warner zeigen andere Mög-

Teil I Informatik Grundlagen

119

lichkeiten, nämlich sich als Service Provider von Inhalteanbietem ergänzen zu lassen. Das Spektrum der Mehrwertdienste reicht von sehr netznahen wie Garantien einer bestimmten bereitzustellenden Bandbreite, Intranets im Outsourcing-Betrieb oder eines bestimmten Gebührenmodells über die Bereitstellung von Speicherplatz (Web Hosting), Zugang zum Internet, Verwaltimg von Domain Namen, Datenkonvertierung und -Verschlüsselung, Trust Centers zum Erzeugen von private/public Keys bzw. Zertifikaten bis zum Web-Design oder dem Betreiben von Auktionshäusem oder Marktplätzen im Internet, um nur einige zu nennen. Nicht alle können im weiteren behandelt werden, auch kommen täglich neue Geschäftsideen hinzu. Vier große Gruppen lassen sich mindestens identifizieren. •

• •



File Transfer als Basisdienst: Übertragung einer Datei aus einem zum Lesen freigegebenen Verzeichnis des Quellrechners in ein zum Schreiben freigegebenes Verzeichnis des Zielrechners Speicher- und Verteildienste : z.B. Email, Mailboxen, SMS Informationsdienste: Bereitstellen von Informationen aller Art im OnlineZugriff, z.B. klassische Online-Datenbanken, Echtzeit-Börsendienste, Auskünfte, GPS-Koordinaten, Verkehrsdienste, Stadtinformationssysteme etc. Transaktionsdienste ': interaktive Kommunikationsvorgänge, die mit Rechtsfolgen ftir den Kunden verbunden sind , z. B. Kau^erträge, so daß stets die Situation des Kunden klar sein muß, ob ein Schritt wirksam war oder nicht; Kommunikationsvorgänge mit zusätzlichen Sicherheitsmechanismen wie der Bildung und Überwachung von Transaktionen, Bestätigungen bei erfolgreicher Transaktion etc.; Beispiele sind Online Banking, Online Shopping, Buchungssysteme u.a.

Die jeweiligen Dienste sind nicht an ein bestimmtes physisches Trägemetz gebunden, sondern der gleiche Dienst kann sowohl auf verschiedenen Grundlagen (z. B. analog oder digital) als auch über Netze unterschiedlicher Anbieter (z. B. Email) realisiert werden. Nachfolgend werden die derzeit am meisten genutzten Dienste dargestellt und bewertet : Telefax: •



Bildkommunikationsdienst zur Übermittlung sowohl von Bilddokumenten (Zeichnungen u. ä.) als auch Textdokumenten, die pixelweise abgetastet werden und als Folge dieser Pixel (Bitmap) unter Nutzung von Kompressionsverfahren übertragen werden erhebliche Zeit- und Kostenvorteile gegenüber der „gelben Post"

' Transaktion = Kommunikationsvorgang aus mehreren Schritten, der unteilbar ist, d.h. entweder ganz oder gar nicht ausgeführt werden muß; bei Abbruch wird das System auf den Zustand vor Beginn der gesamten Aktion zurückgesetzt.

120 • • •

4 Rechnerverbundsysteme und Kommunikation Partner braucht nicht anwesend zu sein (asynchrone Kommunikation) sehr populär (hohe Zuwachsraten) Bewertung unterschiedlich, je nachdem, ob ein eigenständiges Endgerät eingesetzt wird oder ein PC als Endgerät dient:

eigenes Endgerät: • es entstehen Kosten für das Endgerät • Medienbruch, sofern vom Rechner erstellte Texte zu versenden sind • beim Faxempfang kein digitalisierter weiterbearbeitbarer Datenbestand • jeder, der die Fax-Nr. kennt, kann ein (evtl. unerwünschtes (Werbung etc.)) Fax adressieren; Papier wird unnütz verbraucht • Mehrfachverwendung ist aufwendig Faxen mit dem PC: • technisch realisiert durch • • •

• •





• • Faxkarte im Rechner oder • • faxfähiges Modem Schritt in die Richtimg integrierter Bürokommunikation mittels PC Senden aus Textverarbeitungen direkt möglich, damit Medienbruch vermieden komfortable Faxsoflware ermöglicht • • Mehrfachversand • • zeitversetztes kostengünstiges Senden • • Logbücher zur Protokollierung des Versands und Kostenkontrolle aber: handschriftliche Vorlagen nur mittels Zusatzausrüstung (Scanner) zu versenden eingehende Faxe sind Bitmaps mit erheblichem Speicherbedarf, die nicht unmittelbar weiterverarbeitbar sind, sondern nur ggf mittels OCRSoftware in Textdateien umgewandelt werden können, was aber erheblichen manuellen Aufwand zur Fehlerkorrektur bedeutet eingehende Faxe sind trotz digitalisierter Form nicht automatisch in Netzwerken an Adressaten weiterverteilbar, da keine Standards existieren, welcher Ausschnitt als Adresse interpretiert werden soll vorteilhaft ist, daß eingehende Faxe bereits auf dem Bildschirm gelesen und dann ggf gelöscht werden können, ohne stets ausgedruckt werden zu müssen

Electronic Mail: • •

• • •

Text- imd Datenkommunikationsdienst von einem Rechner aus wird ein Text oder eine HTML-Datei an einen Partner versendet und in einer dafür vorgesehenen Datenbank des Zielrechners (Mailbox) abgelegt Transportdienst für beliebige Dateiarten durch die Möglichkeit der Dateianhänge(Attachments), Partner braucht nicht anwesend zu sein (asynchrone Kommimikation) E-Mail eignet sich ideal zur Fax-Ablösung, da

Teil I Informatik Grundlagen

121

• •

die gleiche Geschwindigkeit erreichbar ist die gleiche Information als Textdatei wesentlich weniger Speicher verbraucht als als Bitmap • der Text • • digitalisiert vorliegt, speicherbar imd editierbar ist • • automatisch weiter versendbar ist • Vielfach-Versendung nach Adreßbüchern möglich ist • Vertraulichkeit gewährleistet ist, indem alle in dieser Mailbox ablegen dürfen, aber nur der Besitzer der Mailbox lesen darf • E-Mail kann weltweit versandt werden, sofern vom Firmennetz oder Einzelplatz ein Zugang zum Internet besteht und die Adresse des Empfängers bekannt ist. Eine Internet-Adresse ist in folgender Weise aufgebaut: Nutzer @ Subdomäne.Domäne.Land • Die Grundfunktionalitäten von E-Mail-Software bei einer unüberschaubaren Menge von Produkten bestehen in • Vorhandensein untemehmensweiter und privater Adreßbücher • Der Möglichkeit, beliebige Dateien zu „attachen" • Der Möglichkeit, empfangene Mail direkt zu beantworten (,Jleply") oder mit Anmerkungen weiterzuleiten (.J'orward") • Empfangene Mail in hierarchisch strukturierten Ordnersystemen nach Sachgebieten geordnet abzulegen • Diese Ordner nach unterschiedlichen Kriterien gefütert anzeigen zu lassen (z. B. nur ungelesene Mail, nur Mail eines bestimmten Absenders, mit einem bestimmten Betreff etc.) Anspruchsvollere Produkte wie Lotus-Mail ermöglichen • Das Verschlüsseln von Mail • Das elektronische Signieren von Mail, so daß vom Empfänger die Authentizität des Absenders mittels dessen öffentlichem elektronischen Schlüssel geprüft werden kann Sogenannte öffentliche Mailboxen oder Bulletin Board Systeme (BBS), offeriert sowohl von kommerziellen als auch privaten Anbietern (z. B. Telebox400 der Telekom), bieten ebenfalls persönliche Mailboxen, die sich zur Hinterlegimg von Informationen von oder für Außendienstmitarbeiter eignen und auch über Modem und Telefonnetz erreichbar sind. Das Postoffice befindet sich dann auf dem Server des Anbieters, die Nutzung ist gebührenpflichtig. Darüber hinaus werden häufig sogenannte Diskussionsforen angeboten, die auf EMail beruhen, aber nicht auf private Speicherbereiche Bulletin Board Systeme schreiben, sondern (nach Themengruppen geordnet) in allgemein zugängliche Speicherbereiche, wo jedermann lesen und eigene Beiträge „posten" kann (ein elektronisches „Schwarzes Brett"). Mailboxen mit ihrer Strukturierung in Ordner bieten den Ansatz zum Unified Messaging Service (UMS): Sie erleichtem dem Nutzer die Übersicht über alle für ihn eingehenden Nachrichten, ob per Telefon, per Fax oder per Electronic Mail, indem er nur noch unter einer einheitlichen Nummer zu erreichen ist und die Software die Fähigkeit besitzt, die eingehenden Nachrichten technisch zu identifi-

122

4 Rechnerverbundsysteme und Kommunikation

zieren. Faxe als Bilddateianhänge an eine Eingangsmeldung anzuhängen und in einen entsprechenden Ordner abzulegen, Anrufe entsprechend als Tondateien und Mail sowieso.

Die folgende Abbildung zeigt die Benutzeroberfläche von MS Outlook, die eine Vielzahl dieser Fähigkeiten verwirklicht: ilJti'l « t t ewortaf ttfi« «fem« I i-V*-^

• 9 Enhw*« 9 (MkMCM«0«NMt ^ Q«Mrd«* OtMUa ^iOMnH ^KjMnd* O f*"»^

CS

• C5., trM» • JiJ Hl IktS« Nli«.»4.8i I b n

ier«w* * r sm*ei*eo»miHiwi z w neue* Stu*ei*lw

^ :ä

:

^ : m ü bd k4 ad ^

MIU440lle4* n l&St

UporadM $ »Mte OktAL. UM HarwMf cm FW 0 k »MiiCTi«»N« n

id hi v M/nOO - M-neMta«! N«/JHM

iuC dm» buD Server 4S « l U J M M t - m4.»lMII;27 Mm Frl4.04MO£lS telUHMUdlS Oa 13MMM»40 Hl i2.e4Misiae HlirMMISM .

die Meueruagen:

- i e a d e c u a o x M v u r t d«« SivMtucflcsettea voa 12.04.2000 LtrUt tur "KonveMioA sur AnBieecckeattteicbnun« i » £lelctconiaebe» OeschMftevetKcht'' iaitt Cndverbcaueltern der AgV vo« 15.12.1999 'RIC besteiB Srusa. :»lrk roK

i ^ t p l . - I a t o r B . Dick Foa .OeechMftsfuehter lutd 9«curicy Con«ulc«iic w—

^

Abb.I-4.6-1: Benutzeroberfläche von MS Outlook Weitere Komponenten von Mailboxen können sein • • • •

Kalender (realisiert als spezielle Ansichten spezieller Ordner) Terminverwaltung Aufgabenlisten Notizzettel u.a.

Damit rücken persönliche Mailboxen über ihre ursprüngliche Aufgabe hinaus in das Zentrum von persönlichen Arbeitsumgebungen. Die bisher behandelte Electronic Mail eignet sich für den spontanen schnellen Austausch von imstrukturierter Information zwischen wechselnden Partnern. Sie wird von Personen ausgelöst und zum passenden Zeitpunkt vom Empfänger gelesen. Automatische Auswertung des Inhahs ist wegen fehlender Strukturvereinbarungen nicht möglich. Auf dieser Basis lassen sich die Anforderungen des elektronischen Austauschs von Geschäftsdokumenten nicht erfüllen, die darin bestehen

Teil I Informatik Grundlagen • •

123

Große Mengen an Einzeldokumenten auszutauschen und in Echtzeit zur Kermtnis zu nehmen Möglichst diese Dokumente ohne Medienbruch in die Anwendungssysteme des Empfängers, z.B. Warenwirtschaftssystem, Rechnungswesen u.a. zu übernehmen

Electronic Data Interchange Dieser Austausch von elektronischen Geschäftsdokumenten wird über Electronic Data Interchange (EDI) durchgeführt. Electronic Data Interchange ist der Austausch von Dokumenten, die gemäß vereinbarter Nachrichtenstandards strukturiert sind, zwischen Rechnern bzw. Informationssystemen auf elektronischem Weg ohne menschlichen Eingriff. EDI ermöglicht den Beteiligten eine Zusammenarbeit auf der Basis fest definierter gemeinsamer Grundlagen durch die Übertragung strukturierter elektronischer Daten. Für die eigentliche Übermittlung muß ein zusätzlicher Transportdienst vereinbart werden auf entweder Mail-Basis oder über File Transfer. Typische Einsatzgebiete von EDI sind der Austausch von Handels-, Geschäfts-, Finanz-, Verwaltungs-, Produktions- und medizinischen Daten, z.B. Rechnungen, Bestellungen, Zollerklärungen, medizinischen Abrechnungen etc., also gerade solche Daten, die auch bisher über brauchen- und vorgangstypische Papierformulare ausgetauscht wurden und eine feste Struktur entsprechend den Formularfeldem besitzen. Seit über 30 Jahren existierten so branchenspezifische Datenaustauschformate, zB. ODETTE in derAutomobilindustrie, SWIFT im Bankensektor u.v.a.m. Seit 1985 wurde durch die Vereinten Nationen ein branchenübergreifender Standard EDIFACT (EDI for Administration, Commerce and Transport) für diese Nachrichtentypen gefordert, der einzelne branchentypische Formate als Subsets enthält und f ^ Deuschland in der Norm ISO 9735 zusammengefaßt ist Ein Standardvorgang der Beschaffung wird auf folgende Weise abgebildet (in Klammem steht jeweils der Name der zugehörigen EDIFACT-Nachricht): 1. Anfrage (REQUOTE)

Muster AG

^^ —

2. Angebot (QUOTE)

Käufer 4.Lieferung (DESADV)

^—

Güter GmbH

3. Bestellung (ORDER)

5. Rechnung (INVOICE)

Abb. 1-4.6-2: EDIFACT - Kommimikationsschema

-w

Anbieter

124

4 Rechnerverbundsysteme und Kommunikation

Aus rechtlichen Gründen müssen vor Aufnahme von EDI sämtliche technischen und juristischen Absprachen in einem Datenaustauschabkommen vereinbart werden. Gegenstand des Abkommens müssen sein die Datensatzformate, Quittungsverfahren für erhabene Nachrichten, die Verbindlichkeit der erhaltenen Dokumente, evtl. Sicherheitsvorkehrungen, Archivierung, Haftungsfragen u. ä.. Die Vorteile für beide Seiten bestehen in • • •

Verkürzung der Lieferzeiten; JIT-Produktion kann grundsätzlich nur über EDI verwirklicht werden (vgl. die Ausführungen zu ENX . 4.4) Verringerung des Arbeitsaufwands bei der Beschaffung Vermeidung von Medienbrüchen und Fehlem bei der Bearbeitung.

Neue Probleme erheben sich ebenfalls : •

• •

Abstimmung der Datenformate zwischen den Teilnehmern, von deren Einhaltung ggf eine weitere Geschäftsbeziehung abhängig gemacht wird (,410 EDI no business!") imd die üblicherweise vom stärkeren Partner dominiert wird Hohe Kosten der Umstellung auf EDI bzw. Nutzung von ERP-Software mit EDI-Schnittstelle (wird auch als Mehrwertdienst angeboten) Hohe Kosten der Anbindung mit Standleitungen oder über VAN, speziell für kleinere Zulieferer

Mittels Internet-Technologie lassen sich als kostengünstige und einfache Alternative klein- und mittelständische Zulieferer über Web-EDI einbinden (zum Internet vgl. 4.7), eine Art einseitiger EDI: automatisiert auf der Seite der großen Unternehmen, die auch die Infrastruktur bereitstellen, manuell auf der Seite der kleinen Unternehmen. Die großen Unternehmen binden diese Zulieferer in ihr Extranet ein, indem diese mit Nutzerkennung und Paßwort über übliche Browser Zugang zu speziellen Einstiegsseiten erhalten, wo die Bestellungen des Auftraggebers laufend über Datenbankzugriffe in dynamischen Webseiten eingesteUt werden. Der Zulieferer entnimmt entweder manuell die ihn betreffenden Daten oder kann sie in einem importfähigen Standardformat per File Transfer downloaden. Rückmeldungen an den Auftraggeber werden durch den Zulieferer stets manuell durch Ausfüllen von Formularen, die der Server des Zulieferers entsprechend passend zu den Formaten des Zulieferers bereitstelh, generiert. Eine automatisierte Auswertung auf Zuliefererseite wird möglich sein, wenn WebSeiten strukturiert erzeugt werden können, indem in XML eigene Tags für Attribute des Inhalts vorgesehen sind. Sicher ist, daß alle erwarteten Zuwächse im elektronischen Geschäftsverkehr, insbesondere im Business-to-Business-Bereich, auf Electronic Data Interchange beruhen werden. Online-Informationsdienste Eine spezifische Form der elektronischen Kommunikation bilden die OnlineDatenbanken. Sie sind hervorgegangen aus konventionellen Datensammlungen, die früher nur durch zeitaufwendige und personalintensive, häufig parallel durch-

Teil I Informatik Grundlagen

125

geführte papiergebundene Bibliotheksrecherchen, Abonnements von Fachblättem u. ä. nutzbar gemacht werden konnten. Erster wesentlicher Schritt war die Überföhrung dieser Datenbestände in leistungsfähige Datenbanksysteme mit flexiblen Recherchetechniken, die zunächst auf CD vertrieben wurden. Je nach Datenart verloren die CD mehr oder weniger schnell an Aktualität, auch wenn sie heute noch gelegentlich Stand der Technik sind. Nunmehr ertauben Fortschritte bei der Vernetzung, diese Datenbanken nur eiimial aktuell auf leistungsstarken Zentralrechnem (Hosts) online zur Verfügung zu stellen. Die Leistung der professionellen Anbieter besteht darin, mittels hochqualifizierter Teams bereits in einem vorgelagerten Arbeitsgang Informationen aus vielen Quellen zusammengeführt zu haben und in einer thematischen Datenbank anzubieten und zu aktualisieren, so daß der Nutzer nicht an verschiedenen Stellen suchen muß. Damit können viele dezentrale betriebliche Struktureinheiten mit derartiger Aufbereitungsfunktion entfallen. Auch wenn diese Anbieter kommerziell agieren, ist es von Vorteil, die Notwendigkeit der Informationsbeschaffung vorausgesetzt, wenn nur bei Bedarf in diesen Online-Datenbanken recherchiert wird und auch nur für die tatsächlich benutzte Information gezahlt wird, statt konstante eigene Personalkosten zu tragen. Die Bereitstellung erfolgt über komfortable Bedienoberflächen, die auch den ungeübten Nutzer unterstützen. Kostenlose Übungsdatenbanken werden angeboten. Weltweit existieren über 6000 Online-Datenbanken mit weit gefächertem Angebot von wissenschaftlich-technischen Fachinformationen, Patentinformationen, Untemehmensinformationen, Marktinformationen, Förderprogrammen, Ausschreibungen/Kooperationen, Presseinformationen u.a..

Informationsquelle 1 Datenbank 1

Hostl

Informationsquelle 2 DFÜ

Datenbank 2

Datenbank n

Hostk

Informationsquelle -m Abb. 1-4.6-3: Nutzung von Online-Datenbanken Für betriebswirtschaftliche Recherche sind in Deutschland wichtige Anbieter : •

Die Firma Genios (www.genios.de) der Verlagsgruppe Handelsblatt für Wirtschaflsdaten, Fachzeitschriften

126 •



4 Rechnerverbundsysteme und Kommunikation Die Fachinformationszentren (vor 25 Jahren auf Initiative der Bundesregierung gegründet), spez. Fachinformationszentrum Technik (www.fiz-techiiik.de) mit wissenschaftlich-technischen DB, Patent-DB und Wirtschaftsdaten Die Gesellschaft fiir betriebswirtschaftliche Information (www.gbi.de)

Kommerzielle Online-Dienste Sinnvolle und populäre Weiterentwicklung des Angebots klassischer OnlineDatenbanken waren Zugangsangebote zu beliebigen Informationsangeboten, die sich nicht notwendig in der attributorientierten Form von Datenbanken befinden brauchen. Auf VANs und in proprietären Formaten , ergänzt durch ein Spektrum an populären Kommunikationsdiensten , etablierten sich hierfür sog. Online Dienste, für Nutzer zugänglich über Telefon und Modem .Seit dem Siegeszug des Internet hat sich diese Philosophie der eigenen Inhalte gewandelt, jetzt steht die Vermittlung zu diesen Inhahen im World Wide Web - Format im Vordergrund : Ein Online-Dienst ist ein kommerzieller Mehrwertdienst, der eine Vielzahl von Informations- und Kommunikationsdiensten unter einer einheitlichen Oberfläche anbietet, wie •

Internet - Zugang



Weitere Kommunikationsdienste : Mail, UMS, Chats



Server-Speicherplatz für Web-Seiten der Kunden (Web -Hosting)



Transaktionsdienste in sicherer Umgebung Redaktionell geprüfte thematische Einstiegsseiten in das WWW, sog. Portale (vgl. 4.7) und Bettreiben von Marktplätzen fiir unterschiedliche Interessengruppen (vgl. 4.7).

Mit den Portalen ist eine ursprüngliche Idee der Online-Dienste wieder aufgenommen worden, die nach den Erfahrungen mit dem WWW dem Nutzer einen rascheren Weg zu ihn interessierenden Informationen bieten soll. Führende Online-Dienste sind T-Online (Europa) (www.t-onIine.de) und AOL(weltweit). Beide erwarten weiteres Wachstimi hauptsächlich durch den Ausbau dieser Portalfiinktionen. Wesentlicher Unterschied zu reinen Internet-Providern ist die Verfiigung über ein eigenes Netz abgeschotteter Knotenrechner, so daß man Kostenpflichtigkeit gegen sichere Rechnerumgebung abwägen kann. Zugang zum T- Online-Netz wird nur mit Nutzerkennimg und Paßwort gewährt. So wird etwa Online-Banking (lange Zeit ein Alleinstellungsmerkmal von T-Online) nur innerhalb einer sicheren Umgebimg ausgeffihrt, indem aus T-Online direkt der betreffende Bankrechner angewählt wird und so der Weg der Nachrichten kontrolliert wird. Auch zu anderen sensiblen Informationen , z.B. dem Rechnungsserver der Deutschen Telekom (www.reo-sv.de) wird Zugang nur aus T-Online gewährt.

Teil I Informatik Grundlagen

127

4.7 Arbeit im Internet Das Thema wird in Anbetracht der bereits dazu existierenden Literatur und des Netzes selbst als Informationsquelle nur mit dem für Betriebswirte pragmatischerweise notwendigen Umfang behandelt. Im Vorfeld sind einige klärende Bemerkungen angebracht: Neben „dem Internet" als weltgrößter offener Rechnerverbund basierend auf dem TCT/IP-Protokoll, existieren viele weitere Rechnerverbundsysteme mit der gleichen Technologie, aber abgeschlossen. Die Qualität der Arbeit in diesen Extranets ist so signifikant besser, so daß aus Sicht des Autors die sirmvolle wirtschaftliche Nutzung (vgl. II-4.4, Electronic Commerce) vorrangig, wenn nicht ausschließlich in Extranets stattfinden wird. Die folgende Gegenüberstellung zeigt die Unterschiede : Extranet

Offenes Internet

Existenz eines Betreibers, damit An- Kein Betreiber sprechpartner bei Problemen Verantwortung des Betreibers für die Keine wie auch immer geartete Prüfung der Inhalte, daher keinerlei Garantie für eingestellten Inhalte Aktualität oder Wahrheitsgehalt der Informationen Nur zugelassene Teilnehmer erhalten Offen für beliebige Teilnehmer Zugang über Paßwort Kommunikationspartner sind damit ein- Anonymer Umgang , falsche Identitäten möglich ander bekannt Verantwortlichkeiten sind durch Nut- Juristische Regelungen bleiben weit zerverträge o.ä geklärt hinter den technischen Gegebenheiten zurück Aufbereitete Darstellung der Informa- Chaotisches Informationsangebot, nicht nach Themen strukturiert, Fülle der Intionen für die Geschäftspartner formation schwer zu beherrschen , noch keine optimale Suchtechnologie in Sicht Netz kann für zu erwartenden Daten- Permanenter Dauerstau, keine garantierten Bandbreiten verkehr ausgelegt werden Dadurch nutzbar als integriertes Kom- Prinzipiell Intemet-Telefonie (Voice munikationsnetz für Daten und Sprache Over IP VoIP) möglich, ungenügende bei entsprechender Bandbreite Sprachqualität Aber alle Vorteile des Extranet: Übergänge in das Internet Robustes, einfach bedienbares Netz

128

4 Rechnerverbundsysteme und Kommunikation

Datenformate, Dienste wie im Internet Nutzerfreundliche Browser

Selbstverständlich findet man auch im Internet seriöse Informationsquellen wie die Server von Bundesregierung, Landesregierung, Internationalen Organisationen und viele andere. Jedoch ist man gut beraten, nicht alles, was auf dem Bildschirm darstellbar ist, für bare Münze zu nehmen, sondern sich an weiteren Quellen im Netz zu vergewissem und Plausibilitätschecks vorzunehmen.

4.7.1 Aufbau des Internet und Dienste im Internet Jeder im Internet (und entsprechend in Intranets) erreichbare Rechner ist mit einer wehweit (bzw. intranetweit) eindeutigen Ziffemfolge gekennzeichnet. Diese IPAdresse besteht derzeit (Ipv4) aus 4 Byte, die durch Punkte getrennt geschrieben werden. Zur nutzerfreundlicheren Erreichbarkeit besitzt jeder Internet-Server ebenfalls einen anschaulichen Namen, der nach Eingabe auf sog. Name-Servern in diese IP-Adresse übersetzt wird, z. B: ftphost.fh-zwickau.de

141.32.44.66

Mailhost.fh-zwickau.de

141.32.44.65

www.fh-zwickau.de

141.32.44.61

Der Gebrauch des Internet sollte nicht auf das World Wide Web beschränkt werden, die Vielfalt der betriebswirtschaftlich interessanten Dienste im Internet ist größer: • • • •

Electronic Mail File Transfer (FTP) USENET-Newsgroups World Wide Web

verbreitetster Dienst Dienst mit größtem Datentransfer-Volumen lebendigster Dienst Dienst mit meisten Teilnehmern

Electronic Mail wurde vorangehend bereits behandelt. Bei File-Transfer wird ein fremder Host angewählt, der Teile seiner Verzeichnisse (/pub ) zur allgemeinen Einsichtnahme und zum Dateitransfer freigegeben hat. Man hat entweder eine Nutzungsberechtigung (login, account) auf diesem Host oder gibt als Nutzemamen „anonymous" und als Paßwort die eigene E-MailAdresse ein. Sowohl von kommunikativem als auch betriebswirtschaftlichem Interesse sind die sog. NetNews, die man im USENET genannten Teil des Internet findet. Es werden informell an „schwarzen Brettern" aktuelle, ökonomische, politische oder un-

Teil I Informatik Grundlagen

129

terhaltsame Informationen plaziert, hier findet Gedankenaustausch zu allen möglichen interessierenden Themen statt, der das Zusammengehörigkeitsgefühl der „Intemef'-Gemeinde bewirkt. Die Fülle der Nachrichten wird gegliedert in zahlreiche (ca. 20 000) „Newsgroups", die hierarchisch aufgebaut sind und deren oberste Ebene u. a. die Gruppen ah (Vermischtes), comp (Computer), rec (Freizeit), sei (Wissenschaft), de (deutscher Teil der Netnews) enthält. Ein Newsreader ist im Browser enthalten. Der wirtschaftliche Wert der Diskussionen liegt in •

Der informellen Diskussion von Gebrauchseigenschaften neuer Produkte (oder dem Mangel daran !, insbesondere im Computer-Umfeld), eine Art Marktforschung Kompetenter kostenloser Hilfe bei fast jedem IT-Problem Einem aktuellen Kanal für Jobangebote.

• •

Jeder kann bei entsprechenden Voraussetzungen Beiträge in einer passenden Newsgruppe „posten", er sollte dabei die Netikette (informelle Umgangsformen im Netz) im Auge haben : •

Sich kurz fassen



Einen höflichen Ton auch bei kontroversen Ansichten pflegen



Nur wirklich neue Beiträge leisten (dazu vorher eine Weile die News passiv verfolgen und die FAQ (frequently asked questions) lesen)



Keine Werbung, kerne kommerzielle Nutzung

4.7.2 Das World Wide Web Das World Wide Web (WWW) ist ein weltweites, auf Computemetzen basierendes Hypertext-Informationssystem (vgl. 4.5) Es bietet die Möglichkeit, weltweit auf Informationen (Dokimiente, Bilder, Sprache/Musik) zuzugreifen. Komfort und Problem zugleich ist die graphische Orientierung des WWW. Hypertexte können Bilder, Video oder Töne enthalten (Hypermedia), damit aber auch bei Aktivierung von „Links" solche Dateien anfordern, was zu langen Antwortzeiten und hoher Netzlast fuhren kann. Gelegentlich ist der damit verbundene geringe Informationszuwachs dem immensen Übertragungsaufwand keineswegs adäquat. Die Hypertext-Dateien werden mit der Dokumenten-Auszeichnungssprache HTML (Hypertext Markup Language) derzeit V. 4.0 erzeugt. Diese Sprache beinhaltet im groben Steuerzeichen zur Charakterisierung des Textinhaltes als Überschrift, Liste etc. und die in 4.5 erläuterten Links zu anderen derartigen Seiten. Ihr großer Vorzug ist ihre Plattformunabhängigkeit, d. h. die Datei wird einmal erstelh und kaim auf jeder Rechnerplattform („write once run everywhere") mit dann plattformspezifischen Leseprogrammen, den sog. Browsern, angezeigt werden, wobei die Steuerzeichen jeweils plattformspezifisch interpretiert werden, also die Seiten nicht überall gleich aussehen.

130

4 Rechnerverbundsysteme und Kommunikation

Gravierender konzeptioneller Nachteil von HTML ist ihr Mangel an Möglichkeiten, semantisch zu strukturieren. Jede HTML-Seite ist ein reiner Fließtext, der sich mittels Volltextsuche , aber nicht nach Werten von Attributen durchsuchen und auswerten läßt. Er ist so einer weiteren Auswertung und inhaltlichen Weiterbearbeitung auf dem Client-Rechner nicht zugänglich, z. B. einer Sortierung der ausgegebenen Links einer Suchmaschine nach gewissen Kriterien. Neue Impulse werden von der Weiterentwicklung XML (Extensible Markup Language) erwartet, die erlaubt, eigene inhaltliche Tags zu definieren, so daß Dokumente entsprechend der Werte innerhalb dieser Tags (wie Attribute) ausgewertet werden können. Dies könnte auch eine Ablösung von EDI durch strukturierte XML-Seiten ermöglichen. Weitere Informationen finden sich auf www.electronic-commerce.org/edi/internet/edixml.html.

Dem Gebrauch und den Möglichkeiten der Browser, der Konzeption von HTMLProjekten und Werkzeugen zu ihrer Erstellung ist der Abschnitt 4.8 gewidmet.

4.7.3 Navigation im WWW Jede Quelle im Internet hat eine eindeutige Adresse in Form eines URL (Uniform Ressource Locator) mit dem Aufbau: Beispiele:

Protokoll ://Rechnemame/Pfadname/Datei. html http: //www. fh-zwickau. de ftp: //ftp. uni-leipzig. de mailto://sabine. [email protected]

Das Protokoll http (Hypertext Transfer Protocol) steht lür Datenübertragungsverfahren für HTML-Seiten. Das WWW ist kein planvoll aufgebautes Ganzes, wo die Gesamtheit aller gebündelten Informationen zu einem bestimmten Thema an genau einer Stelle konzentriert ist. Im Gegenteil steht es jedem WWW-Autor frei, eigene Informationsbestände im WWW-Format einzustellen. Die Linksetzung hängt dabei nur von der Einsicht des Programmierers ab, es existieren keine Beschränkungen. Folglich kann die zugrunde liegende Verweisstruktur nicht mehr hierarchisch, sondern netzartig mit Mehrfachverweisen, Rückverweisen etc. erscheinen. Also werden Hilfestellungen zur Navigation, zum schnellen Auflfmden der geforderten Information benötigt. Die ultimative Methode gibt es nicht, wohl aber Empfehlungen : 1.

2.

Das „Surfen", also beliebige Verfolgen gerade auftauchender vielversprechender Links ist höchstens für Erstsemester-Studenten noch tragbar, aber in höheren Studienjahren und im Unternehmen zum Fenster hinausgeworfene Zeit. Der beste Weg ist die genaue Kenntnis der exakten URL der Quelle; vielfach ist sie aus der Tagespresse ersichtlich oder läßt sich bilden als

Teil I Informatik Grundlagen

131

www.namederquelle.de. Nach kurzer Zeit hat man eine Liste von vertrauenswürdigen, häufig gebrauchten Links gesammelt. 3. Der nächstbeste Weg ist die Benutzimg von Suchmaschinen. Probleme dabei sind • Die geringe Netzabdeckung (30 %) und hohe Zahl veralteter Links • Es ist nur Suche nach Zeichenketten möglich, nicht nach Bildern, Tönen • Die zu große Anzahl von Treffern (hits) ist nicht zu bewältigen Zur Auswahl stehen: • • •

• •

Suchhilfen im Browser selbst Web-Kataloge, d.h. manuell bewertete, nach Kategorien geordnete Listen von Links; sie sind sehr zu empfehlen, da hier Qualität vor Quantität geht. Echte Suchmaschinen, d.h. Datenbanken enormen Umfangs, die von automatisch das Netz durchsuchenden Programmen (Agents) mit Inhah gefüllt werden, sie sind nicht zu empfehlen, da sehr viele Links auf ungeprüfte und unpassende Inhalte führen Metasuchmaschinen geben Suchanfragen an verschiedene echte Suchmaschinen weiter und potenzieren damit deren Probleme Themenbasierte Suchmaschinen [et 100] suchen spezielle Quellen im Netz ab, z.B. Nachrichtendienste, Softwarebibliotheken u.a.

Mindestens 70 verschiedene Suchmaschinen existieren. Ihre Suchverfahren basierten jeweils auf der Suche nach Ascii-Zeichenketten, die mit den logischen Operatoren „und", „oder", „not" (bzw. „+", „-") verknüpft werden können (Hinweise zum Gebrauch finden sich entweder in der Hilfe zur Suche oder bei „Profisuche" oder „erweiterte Suche"). Der Gebrauch von Jokern ist möglich und die Suche nach Phrasen, d.h. nach benachbart stehenden Worten (Suche nach ,3ayem München" ergibt ganz andere Resultate als die Suche nach ,JBayem" und ,>lünchen"). Meist karm die Suche auf die URL oder den Titel des Dokuments eingeschränkt werden. Die Trefferliste wird häufig gewichtet danach, ob die Suchbegriffe weit oben im Dokument auftauchen. Neuester Beitrag zu effektiven Suchstrategien ist das Angebot an Portalen im Netz. Ein Portal ist ein Angebot im WWW, das Nutzer entsprechend ihren Interessen auf weiterfiihrende Seiten leitet. Portale sprechen bestimmte Zielgruppen an, die • • •

Fachlich gebildet sind (Branche; Softwarenutzer, etc.) Regional gebildet sind (Beriin und Umgebung,...) Von Interessengruppen gebildet sind (Gesundheitsportale, etc.)

Portale werden entweder im Unternehmen aufgebaut für Mitarbeiter oder Kunden, oder sie bilden einen eigenständigen Mehrwertdienst, ein eigenes Geschäftsfeld eines Unternehmens, das sich aus Werbeeinnahmen oder Umsatzbeteiligimgen finanziert. Wir unterscheiden:

132 • • • • •

4 Rechnerverbundsysteme und Kommunikation Persönliche Portale Teamportale Untemehmensportale Vertikale Portale Öffentliche Portale

Persönliche Portale und Teamportale (Workplace Portals) stellen den Mitarbeitern entsprechend ihrer Arbeitsaufgaben alle Links zur Erfüllung Ihrer Tätigkeit bereit. Untemehmensportale stellen ein auf Kunden zugeschnittenes Angebot von Informationen und Services bereit. Vertikale Portale werden von neutralen Betreibern betrieben und bieten Unternehmern und Kunden ganzer Branchen einen Anlau^unkt zur schnellen Kontaktaufiiahme. Beispiele finden sich bei • • • • •

www.mySAP.coni www.industrialweb.com www.baunetz.de www.industrienet.de www.handwerks-Centrum.de

Öffentliche Portale schließlich wenden sich an den Massenmarkt der Privatkunden. Beispiele sind • • •

www.fun.t-online.de www.shopping.t-online.de www.berlin.t-online.de u.a.

In den Angeboten führender Suchmaschinen findet man Suchhilfen aus allen vorgenannten Kategorien. Dem kommerziellen Einsatz des Internet ist das Kapitel II-4.3 gewidmet.

4.8 Die Nutzerschnittstelle des WWW 4.8.1 Die Browser Der klassische Marktführer unter den WWW-Browsem ist Netscape. Anfang 1995 brachte die Netscape Communications Corporation mit dem Netscape Navigator 2.0 erstmalig einen Browser auf den Markt, der die Dienste Mail und News voll integrierte. Seit Version 4.0 ist der Navigator Bestandteil eines Paketes Netscape Communicator, das außerdem solche Komponenten wie Netscape Composer (Erstellung und Bearbeitung von WWW-Seiten nach dem WYSIWYG-Prinzip), Netscape Messenger (ein integriertes Mailsystem), Netscape Collabra (Nutzung der News-Dienste) und Netscape Conference (Intemet-Konferenz-System) enthäh.

Teil I Informatik Grundlagen

133

Die aktuelle Versionen 4.73 (5/2000) zeichnet sich durch die volle Integration nahezu aller gebräuchlichen Dienste sowie durch eine Vielzahl von Viewern und Plugins aus. Charakteristische Features dieser Version sind Netscape Radio, Shopping Button, mit dem des Electronic Shopping besser unterstützt werden soll, Netscape AOL Instant Manager 3.0 zur Unterstützung von News, Einzel- und Gruppen-Chats, Winamp 2.5 und Macromedia Flash Player 4.0 für MP3Interpretation. Angekündigt ist Netscape 6, mit dem sich Netscape der erstarkten Konkurrenz erwehren möchte. Neue Features von Netscape 6 sollen unter anderem sein: AutoTranslate

Englische Texte werden auf Anforderung ins Portugiesische, italienische, Deutsche, Spanische, Französische und Japanische (bzw. umgekehrt) übersetzt.

My Sidebar

ein individuell gestaltbares Menü, das dem Nutzer ermöglicht, Ordnung in die für ihn interessantesten Links, Mailadressen, Newsgroups - und was auch sonst immer - zu bringen (Damit erhält My Sidebar den Charakter eines persönlichen Portals),

Netscape Adressbook

verwaltet Mailadressen auf neue Weise und archiviert automatisch alle Mail-Adressen, mit denen Sie Kontakt hatten.

Buddy List

informiert Sie bei Bedarf über den Online-Status aller auf einer Liste eingetragenen Partner und ermöglicht die einfache Kontaktaufiiahme mit diesen Partnern

Netscape Client Customizing Kit

ein äußerst produktives Werkzeug zur Erzeugimg von speziellen Browserinstallationen für einen Anwender, wobei kundenbezogene Besonderheiten wie eigene Homepage, eigenes Logo, eigene Lesezeichen BuddyList- und My-Sidebar-Installationen einbezogen werden köimen.

Die Konkurrenz, die dem Netscape Navigator erwachsen ist, heißt Microsoft Internet Explorer (MIE) und liegt gegenwärtig in der Version 5.0 vor. Lange hat sich Microsoft vor allem auf die Intemetnutzer des PC-Sektors beschränkt und nur dort den Konkurrenzkampf aufgenommen, wo seine eigenen Betriebssysteme arbeiteten. Inzwischen hat sich Microsoft sogar dazu durchgerungen, einen Internet Explorer zu entwickeln, der auch unter UNIXBetriebssystemen lauffähig ist. Microsoft ist dem Netscape gegenwärtig vor allem auf dem Gebiet der Wiedergabe einiger multimedialer Features und bei einigen Techniken der CGIProgrammierung überlegen. Insgesamt ist aber jeder der beiden Anbieter dem Konkurrenten gerade dort überlegen, wo er proprietäre Entwicklungen betrieben hat, die dann mit dessen Software nicht gelesen werden körmen.

134

4 Rechnerverbundsysteme und Kommunikation

Abb. I.4.8.-1 zeigt die rasante Entwicklung der Marktanteile dieser beiden Konkurrenten.

Internet Explorer

Mi

c

n

Q.




3

S O

—)

(j>

c n

->

O) Q.




N. 05

3 o



oo o>

10 —3

Q.

c

_

- X

05 o>

05 0)

O) o>

ra





erzeugt einen Button, der - wenn er angeklickt wird - alle bis dahin erfolgten Eingaben liquidiert.

Teil I Informatik Grundlagen

143

Beispiel für ein Formular



TyPE = TEXT Ihr Name: 7n «»>1027

WPS R12aOO Fanuh }3M t«|Mni 7S. leom FMIPM«

EngXxgvll«

IDBATAPl (BipGB)

Di>k«t128) i*m.ti OM)

o Walter» Informationen

3

Monitor

J ..

O Weitere Informationen

11;- 0«« Preo. FW CWpli» Tmutn», 92 kHi. TCO 99. (V IS 16") (-^.79 DM) M«u»

O Weitere Informationen

iLogittch First Mouit* Standard Komponentan

3

Taitatur

O Welter« Informationen

|OiHSpacitmfT»la{ui(m ETOSymbol) • lntel8lO«Chipsaz Feitplatte • Microtower 3.5"t>skett«ntaiAv«rt< 110 gb Eioe Fntinitti. 6 400 upM • Norton Antivirus 2000 • Kostenloser mtern« Zugang mllD«B^ (Nur in Deutschland verfügbar) • 30TageRüclt*tk>n

Unternehmenszentrale (Backend-Bereich)

a-a

Unternehmenszweigstellen (Frontend-Bereich)

a

Tok«n Fbno

• - • NovM LAN c:

Abb. 1-5.2-1: Abgestuftes Untemehmensnetz in C/S-Architektur

Teil I Informatik Grundlagen

169

Die Netzkonfiguration muß durch hard- und softwareseitige Komponenten vier Protokollwelten (X.25-WAN, Ethernet, Token Ring, Novell) integrieren. Abbildung 1-5.2-1 verdeutlicht das hardwareseitige Equipment der Netz-Konfiguration nach der Einbindung der Zweigstelle in das Gesamtnetz des Unternehmens.

5.2.2 Zusammenfassendes Beispiel Das folgende Konfigurationsbeispiel verdichtet den dargelegten Weg von der Erstellung hard- imd softwarebezogener Teilkonfigurationen, auf die zurückgegriffen wird, bis hin zu ihrer Einbindung in die Netz-Konfiguration, die nach exakter Prüfung auf Vollständigkeit, Kompatibilität und Konsistenz die System-Konfiguration ergibt. Diese Gesamtkonfiguration wird durch eine Bildgrafik veranschaulicht. Aufgabenstellung In einem Unternehmen soll der Controlling-Bereich mit einem PC-Netz für zehn Nutzer ausgestattet werden. Die einzusetzende Software ist integrierender Bestandteil des bereits im Einkauf und im Vertrieb genutzten Standardsoftwaresystems SAP R/3, das auf einem Datenbank- und Applikationsserver im Rechenzentrum läuft. Die Untemehmensteile kommunizieren über einen FDDIBackbone, der neben der Übertragung betriebswirtschaftlicher Informationen auch die übertragungsintensive Bereitstellung von Konstruktionsunterlagen flexibel und leistungsgerecht gewährleistet. Das neue PC-Netz muß folgenden Anforderungen wachstumssicher genügen: a) betriebswirtschaftliche Funktionalität • Nutzung von SAP R/3, Modul CO • Nutzung von ARIS zur Modellierung und Analyse von Geschäftsprozessen • Nutzung von MS Office für individuelle Problemlösungen b) Datensicherheit • Ausfallsicherung gegen Plattendefekte • Backup-/Systemadmimstrationsservices • Netzausfallsicherung Im Interesse der Nutzung von bestehenden Erfahrungen soll das PC-Netz NTbasiert mit einem leistungsstarken Server ausgebildet werden, der multivalente lokale Aufgaben (Applikations-, Datenbank-, File-, Backup-, und Routingservices) mit hoher Effizienz und Sicherheit gewährleisten muß. Lösung Die Hardware-Konfiguration des Netz-Servers basiert auf einem hochgetakteten Pentium-Prozessor, 1 GB RAM und einem leistungsstarken Bussystem, auf das hier nicht näher eingegangen wird.. Der Festplattenspeicher wird als Disk Array

170

5 System-Konfiguration

mit 6 Platten ä 18 GB in RAID (Redundant Array of Inexpensive Disks) -Level-5Technik ausgelegt. Der System-Monitor genügt in 15"-Ausfuhrung. DLT-Streamer, CD-ROM-Laufwerk und Battery Backup Unit werden ergänzend vorzusehen. Die Netzeinbindung wird über einen Fast Ethernet Adapter vorgenommen. Die Software-Konfiguration des Netz-Servers enthäh folgende Komponenten, die hier nur überblicksmäßig angegeben werden: System-, Applikations-, und Backup-Software. F D D I Backbone [1 Gbit/s]

-Fa«

(E PC-Netz "Controlling" HARDWARE - 4 X Intel-Xeon III - RAM: 1 GB - Festplatte 6 x 1 8 GB in Verbindung mit RAID 5 - DLT-Streamer - CD-ROM - Monitor - Fast Ettiemet Adapter - Battery Backup Unit

S 3

SOFTWARE - Systemsoftware - Applikationssoftware (ARIS Server und Repository) - Backupsoftware

weitere vorhandene Ressourcen

SWITCH: - >=10 Ports - untert>rectiungsfreie Stromversorgung

SOFTWARE - Systemsottware (Client) - Applikationssoftware (ARIS Client) - SAP R ß GUI

Abb. 1-5.2-2: System-Konfiguration fiir ein PC-Netz „Controlling" als Bestandteil eines Untemehmensnetzwerkes

Teil I Informatik Grundlagen

171

6 Datenorganisation 6.1 Organisation von Plattendateien 6.1.1 Vorbemerkungen zum Thema Dateiorganisation Hierbei handelt es sich um eines der ,4classischen" Themen der Informatik. Die Bedeutung der Dateiorganisation ist in dem Sinne abnehmend, als man die Dateiorganisation in Anwendungssystemen nicht mehr zu programmieren braucht, weil sie durch Datenbanksysteme realisiert wird. Moderne Datenbanksysteme bieten in der Tat die Möglichkeit, die Datenorganisation nach den gegebenen Anforderungen einfach zu nutzen. Das Verständnis für die Grundlagen der Dateiorganisation ist aber auch heute noch wichtig für den, der Datenbanken sinnvoll nutzen will, insbesondere für das physische Datenbankdesign und damit für den effizienten Einsatz von Datenbanken.

6.1.2 Datenhierarchie Man unterscheidet zwdschen „logischer" und „physischer" Datenorganisation. Gegenstand der „logischen" oder konzeptionellen Datenorganisation ist im wesentlichen die Modellierung von Objekten der realen Welt als Voraussetzung für Entwicklung und Gestaltung von Informationssystemen; sie wird in Teil II behandelt. Hier stehen mm die Dateneinheiten im Sinne ihrer Speicherung insbesondere auf Platten- und Diskettenlaufwerken zur Diskussion. Allerdings ist es nicht möglich, von den Gesichtspunkten der logischen Datenorganisation ganz zu abstrahieren. Die physischen Datenelemente bilden eine Hierarchie, und zwar von unten nach oben: Feld, Segment, Satz, Datei, Datenbank (oder genauer gesagt: Datenbasis der Datenbank). Die Datenelemente werden über Namen angesprochen. Die Namen aller dieser Datenelemente stellen symbolische Adressen dar, über die auf den entsprechenden Speicherplatz zugegriffen werden kann, bei Dateien und Datenbanken i. d. R. auf externe Speicher, ansonsten auf Hauptspeicherplätze. Um Adressierung und Speicherplatzverwaltung braucht sich heute der Programmierer nicht zu kümmern, diese Funktionen werden durch Betriebssysteme für externe Speicher bzw. durch symbolische oder höhere Programmiersprachen für den Hauptspeicher wahrgenommen. Feld

Ein oder mehrere, zu einer ansprechbaren Einheit zusammengefaßte Bytes bezeichnet man als Feld. Beispiele: Artikel-Nummer, Bezeichnung, Preis, Bestand, errechnete Umsatzsteuer, Eingabezahl usw.

172

6 Datenorganisation

Segment Ein Segment faßt mehrere Felder zu einer Einheit zusammen. Die Felder Tag, Monat und Jahr ergeben beispielsweise ein Segment Datum. Ein Segment kann auch aus Segmenten bestehen oder in ein Segment eingehen. Segmente haben heute in der Datenorganisation abnehmende Bedeutung. Datensatz oder einfach Satz (Record) Mehrere zusammengehörige Felder, die physisch eine Einheit bilden und bei ,J)atendateien" (s. u.) im Sinne der „logischen" Datenorganisation i. d. R. ein Objekt der realen Welt abbilden und unter einem Ordnungsbegriff zusammengefaßt sind, bezeichnet man als einen Satz. Ein Satz karm aus Segmenten, die wieder aus Feldern bestehen, und aus Feldern direkt bestehen. Beispiele sind etwa eine Zeile eines Textes, im Falle einer Artikeldatei ein Artikelsatz mit Feldern wie Artikel-Nummer, Bezeichnung, Preis, Bestand, Mengeneinheit usw. Man bezeichnet Datensätze als formatiert, wenn sie eine feste Feldeinteilung besitzen und über einen Ordnungsbegriff identifiziert werden können. Abb. 1-6.1 zeigt die Datenhierarchie anhand eines Satzes einer Kundendatei. Kundensatz Kunden-Nummer Firma Firmenbezeichnung Zusatzbezeichnung Anschrift Postleitzahl Länderkennzeichen PLZ-Nummer Ort Postfach. Straße

Datensatz Feld Segment Feld Feld Segment Segment Feld Feld Feld Feld Feld

Abb. 1-6.1 Datenhierarchie Datei

(File)

Mehrere, i.d.R. gleichartige oder zumindest zusammengehörige Sätze bilden eine Datei. Eine Datei ist ganz allgemein ein Datenbestand, wie er auch durch eine Kartei, eine Mappe oder eine Liste repräsentiert werden kann, aber unabhängig von der Art der Speicherung. Beispiele: Text eines Briefes, Artikeldatei, Kundendatei, Buchungssatzdatei, Offene- Posten-Datei, Personalstammdatei usw. Dateien im Sinne der Informatik werden auf Datenträgem (extern, kurzzeitig auch im Hauptspeicher) gespeichert, jedoch sind auch zur Druckerausgabe zwischengespeicherte Daten Dateien. Als Datei karm man zwar wissenschaftlich nicht exakt, aber einfach und verständlich, die physisch gespeicherten Objekte bezeichnen, die der Dateimanager von Windows (Windows Explorer) verwaltet und zeigt.

Teil I Informatik Grundlagen

173

Wichtige Dateiarten (vgl. z. B. das Handbuch zum Betriebssystem MS-DOS) sind: • •

• •

Programmdateien, d. h. vom Computer ausführbare Programme (Objektcode), ,4Datendateien", die Anwenderdaten für betriebliche Informationssysteme enthalten, wie beispielsweise Kimdenstamm, Artikelstamm, Auftragsbestand oder auch die Daten einer Tabelle eines Tabellenkalkulationsprogramms usw.; die Interpretation der Daten durch ein Programm oder durch einen Anwender direkt und interaktiv setzt die Kenntnis der Datenstruktur voraus, unformatierte Textdateien, darunter als Sonderform Stapelverarbeitungsprogramme, Systemdateien, die Informationen über die Hardware enthalten (Konfigurationsdateien, Treiber).

Dateien können von fester bzw. von variabler Satzlänge sein, letzteres ist beispielsweise charakteristisch für Textdateien. Daten in betrieblichen Informationssystemen sind meist formatiert, d. h. ihre Sätze sind formatiert. Im weiteren diskutieren wir nur formatierte Datendateien, wie sie für betriebliche Informationssysteme charakteristisch sind. Datenbank (Data Base) Unter Datenbanken versteht man die Zusammenfassung mehrerer zusammengehöriger Dateien mit einem Verwaltungssystem. Vgl. dazu Abschnitt 6.2.

6.1.3 Verwaltungs- und Verarbeitungsfunktionen Wir benutzen als Beispiel zur Dateiorganisation einen Auszug aus der Artikelstammdatei eines Zweirad-Großhändlers. Zu dessen Sortiment gehören Fahrräder, Motorräder und Ersatz- und Zubehörteile (vgl. Abb. 1-6.2). Artikel werden durch eine Artikelnimimer (Schlüssel der Datei) identifiziert und über sie angesprochen. Wir nehmen sie aus Gründen einfacher Darstellung zweistellig an (was natürlich in der realen Welt nicht zur Diskussion stehen könnte, weil das Sortiment so sehr beschränkt wäre). Außerdem wird je Artikel eine Kurzbezeichnung geführt, die zwar zur Identifizierung nicht ausreicht, aber einen weiteren Zugriff ermöglicht (Zweitschlüssel), etwa für den Fall, daß der Kunde bei der Auftragserteilung die Artikelnummer nicht angibt und der Sachbearbeiter ohne zusätzliche Unterlagen auf die im Computer gespeicherten Daten zugreifen soll. Dieser Zweitschlüssel braucht nicht vollständig angegeben zu werden (Bre reicht aus für den Zugriff auf Bremsen); man spricht dann von einem Matchcode-Zugriff Der Suchbegriff wird hier immer in Großbuchstaben geschrieben, um die Suche nicht mit der Problematik der Groß/Kleinschreibung (Bremse wäre dann nicht gleich bremse oder BREMSE usw.) zu belasten.

174

6 Datenorganisation

ARTIKELNUMMER 02 03 05 11 12 13 25 26 52 53

BEZEICHNUNG Hollandrad Sportrad 5-Gang Rennrad lO-Oang Mittelzugbremse Tachometer mechan. Fahrrad-Computer Fahrrad-Dynamo Spezial-Dynamo Bremsgriffe Renn-Bremsgriffe

SUCHBEGRIFF FAHRRAD FAHRRAD FAHRRAD BREMSE TACHO TACHO DYNAMO DYNAMO BREMSE BREMSE

MENGENEINHEIT Stk Stk Stk Stk Stk Stk Stk Stk Paar Paar

BESTAND 02 03 Ol 14 21 08 15 04 25 09

Abb. 1-6.2: Artikelstammdatei

Knuth fuhrt neun typische Dateioperationen auf [Knu77], von denen wir hier die folgenden herausgreifen: a)

Sequentielle Verarbeitung des gesamten Datenbestandes oder eines Teiles davon, beispielsweise: • Anzeige oder Druck von Schlüssel, Stamm- und Bestandsdaten für alle Artikel oder für Artikel einer Gruppe; • Bestandsliste für alle Artikel oder für die Artikel einer Gruppe;

b)

wahlfreie Verarbeitung einzelner Sätze, beispielsweise: • Ändern von Preisen, Bezeichnungen u. dergl. einzelner Artikel, Fortschreiben von Bewegungen im Dialog (online und ohne Vorsortierung von Belegen); • Anzeige der Stammdaten eine Artikels; •

c)

Zugriff auf die Stammdaten eines Artikels bei einer Fakturierung;

das Aufnehmen neuer Sätze (Artikel) in die Datei und

d) das Löschen von Sätzen (Artikeln, die nicht mehr geführt werden) der Datei. Die beiden letztgenannten Vorgänge bezeichnet man als Strukturänderungen der Datei. Sätze einer Plattendatei köimen im eigentlichen Sinne nur dann gelöscht werden, wenn man die gesamte Datei ohne die gelöschten Sätze auf einen neuen Speicherplatz schreibt. Weil dies zu aufwendig wäre, löschen wir „logisch", indem wir im Satz ein Status-Feld definieren, das bei gültigen Sätzen beispielsweise den Wert „0", bei gelöschten den Wert „9" hat, und in allen Programmen Sätze mit dem Status = „9" von der Verarbeitung ausschließen. Ein derartiger, nämlich logisch gelöschter Satz bleibt zunächst in der Datei. Er wird durch ein Reorganisationsprogramm entfernt, das die gesamte Datei ohne logisch gelöschte Sätze neu schreibt (physisches Löschen). Dies gilt im wesentlichen für alle Organisationsformen von Plattendateien.

Teil I Informatik Grundlagen

175

6.1.4 Fortlaufend gespeicherte oder sequentielle Datei Auf adressierbaren und auf nicht adressierbaren Speichern können die Sätze einer Datei einfach aufeinanderfolgend gespeichert werden. Man kann dann immer nur einen Satz nach dem anderen lesen und schreiben. Wahlfreier Zugriff ist nicht möglich. Nach der einzigen sinnvoll möglichen Verarbeitung spricht man hier von sequentiellen Dateien. Die einzelnen Sätze können gleich oder unterschiedlich lang sein (feste oder variable Satzlänge). Die physische Übertragungseinheit zwischen Zentraleinheit und externem Speicher ist der Block. Ein Block enthäh einen oder mehrere Datensätze. Hohe Blockung erhöht die Arbeitsgeschwindigkeit bei sequentieller Verarbeitung, weil weniger Schreib-/ Lesevorgänge stattfinden, benötigt aber Platz im Hauptspeicher. SATZADRESSE

ARTIKELNUMMER

BEZEICHNUNG

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

02 03 05 11 12 13 25 26 52 53

Hollandrad Sportrad 5-Gang Rennrad 10-Gang Mittelzugbremse Tachometer mechan. Fahrrad-Computer Fahrrad-Dynamo Spezi al-Dynamo Bremsgriffe Renn-Bremsgriffe

SUCHBEGRIFF FAHRRAD FAHRRAD FAHRRAD BREMSE TACHO TACHO DYNAMO DYNAMO BREMSE BREMSE

MENGENEINHEIT

BESTAND

Stk Stk Stk Stk Stk Stk Stk Stk Paar Paar

02 03 Ol 14 21 08 15 04 25 09

Abb. 1-6.3: Fortlaufend gespeicherte (sequentielle) Datei Wir greifen zur Verdeutlichung auf die oben skizzierte Artikelstammdatei mit nur wenigen ausgewählten Feldern je Satz und einem zweistelligen Ordungsbegriff (Artikelnummer) zurück. Werden die Sätze, nach Artikelnummer sortiert, fortlaufend gespeichert, so ergibt sich der Aufbau der Datei gemäß Abb. 1-6.3. Die Satzadresse ist in Klammer gesetzt, weil sie nicht Teil der Datei ist. Anhand der vier wichtigsten Verwaltungs- und Verarbeitungsfunktionen ist die sequentielle Datei wie folgt zu beurteilen: a)

b)

Sequentielle Verarbeitung des gesamten Datenbestandes oder eines Teiles davon ist gut möglich, wobei im Regelfalle die Sortierung der Datei vorauszusetzen ist. Der Zugriff auf den (nächsten) zu verarbeitenden Satz ist gegeben durch physische Nachbarschaft - im Gegensatz zu wahlfreiem Zugriff, bei dem über die bekannte Adresse zugegriffen wird -, was den schnellstmöglichen Zugriffsweg darstellt. Wahlfreie Verarbeitung einzelner Sätze ist nicht möglich. Sätze einer Datei werden bei wahlfreiem Zugriff gewöhnlich über den Ordnungsbegriff angesprochen. Im Beispiel besteht keine rechnerisch formulierbare Beziehung zwischen Ordnungsbegriff und relativer Satzadresse. Wahlfreier Zugriff ist nicht möglich; man kann lediglich die Datei sequentiell so lange lesen, bis der gesuchte Satz geflmden ist, wobei die Suche immer wieder am Anfang beginnt.

176

6 Datenorganisation

c)

Neue Sätze können nur am Ende der Datei angefugt werden. Für den Fall, daß die Sätze sortiert eingefugt werden sollen, gibt es im wesentlichen zwei Wege: • Die gesamte Datei wird im Zuge der Verarbeitung auf einen neuen Speicherplatz geschrieben, wobei die neuen Sätze an passender Stelle eingefiigt werden (Reorganisation der Datei), oder • die neuen Sätze werden am Ende angefugt; nach Bearbeitung wird die Datei sofort sortiert. d) Das Löschen von Sätzen der Datei giU für sequentielle Dateien wie oben allgemein erläutert.

6.1.5 Random Datei Bei adressierbaren Speichern, hier insbesondere Plattenspeichem, ist wahlfreier Zugriff auf einzelne Datenelemente möglich. Technische Grundlage des wahlfreien Zugriffs sind die Zugriffskämme, die auf jede der konzentrischen Spuren des Plattenspeichers positioniert werden können. Organisatorische Grundlage für das Auffinden einer Datei (Dateianfang) ist das vom Betriebssystem geführte Platteninhaltsverzeichnis (Directory). Innerhalb einer Datei kann auf einen Satz bei fester Satzlänge dann wahlfrei zugegriffen werden, wenn bekannt ist, um den wievielten Satz der Datei (= relative Adresse des Satzes in der Datei oder relative Satzadresse oder Satznummer) es sich handeh. Nach der Formel absolute Adresse = Anfangsadresse der Datei (gemäß Directory) + (relative Satzadresse - 1 ) * Satzlänge kann zunächst die absolute logische und daraus durch die Plattensteuerung selbst die physische Adresse (Spur, Oberfläche, Sektor) errechnet werden. Voraussetzung für den wahlfreien Zugriff auf einen Satz einer Datei ist also - neben den oben dargestellten Voraussetzimgen hinsichtlich Hardware und Systemsoftware, die wir als gegeben annehmen -, daß die relative Satzadesse bekannt ist. Eine Datei, auf deren Sätze auf diese Art zugegriffen werden kann, bezeichnet man als relative oder Random-Datei. Die Bezeichnung Random stellt auf den wahlfreien Zugriff, die Bezeichnung relativ auf die Adressierung ab. Diese Art der Adressierung ist auch bei sequentiellen Dateien mit fester Satzlänge möglich. Auf die Sätze der Datei gemäß Abb. 1-6.3 kaim über die Satzadresse zugegriffen werden. Die Dateien der PC-Datenbank dBASE sind beispielsweise derartige sequentielle Dateien. 6.1.5.1 Direkte

Datei

Die Datei kann in der Weise gespeichert werden, daß die Ordnungsnummer immer gleich der relativen Satzadresse ist. Bei Lücken im Ordnungsbegriff entstehen auch in der Datei Lücken.

Teil I Informatik Grundlagen SATZADRESSE

177

ARTIKELNUMMER

BEZEICHNUNG

SUCHBEGRIFF

MENGENEINHEIT

BESTAND

02 03

Hollandrad Sportrad 5-Gang

FAHRRAD FAHRRAD

Stk Stk

02 03

05

Rennrad lO-Oang

FAHRRAD

Stk

Ol

11 12 13

Mittelzugbremse Tachometer mechan. Fahrrad-Computer

BREMSE TACHO TACHO

Stk Stk Stk

14 21 08

(25) (26)

25 26

Fahrrad-Dynamo Spezi ai-Dynamo

DYNAMO DYNAMO

Stk Stk

15 04

(52) (53)

52 53

Bremsgriffe Renn-Bremsgriffe

BREMSE BREMSE

Paar Paar

25 09

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13)

Abb. 1-6.4: Direkte Datei Man bezeichnet eine derartige Speicherungsform als direkte Datei (zum Teil auch als gestreute Datei) bzw. einfach als Random-Datei oder relative Datei mit direkter Adressierung. Durch ein Satzstatus-Feld köimen unterschieden werden • • •

gültig belegte Plätze/aktive Sätze, logisch gelöschte Sätze (Plätze sind nicht freigegeben) und freie Plätze.

Anhand der vier wichtigsten Verwaltungs- und Verarbeitungsfunktionen ist die direkte Datei wie folgt zu beurteilen: a)

Sequentielle Verarbeitung des gesamten Datenbestandes oder eines Teiles davon ist möglich, wobei in den Verarbeitungsprogrammen darauf zu achten ist, daß leere Plätze von der Verarbeitung ausgeschlossen werden. Dies erfolgt auf die Art wie das Übergehen logisch gelöschter Sätze über das SatzstatusFeld. Der Zugriff auf den nächsten Satz ist gegeben sowohl durch physische Nachbarschaft als auch über die bekannte Adresse. b) Für die wahlfreie Verarbeitung einzelner Sätze stellt die direkte Datei den effizientesten Weg dar. c) Neue Sätze können problemlos eingefugt werden, weil deren Platz von vornherein vorgesehen ist. d) Sätze der Datei können ebenso problemlos gelöscht werden durch Setzen des Satzstatus-Feldes • auf den definierten Wert für logisches Löschen oder • fflr Freigabe des Platzes, was dem physischen Löschen entspricht.

178

6 Datenorganisation

Die direkte Organisation ist die optimale Dateiorganisation. Sie kommt jedoch nur bei lückenlosem oder lückenarmem numerischen Ordungsbegriff in Frage.

6.1.5.2 Hash-Dat ei Wenn wir imser Beispiel zur Dateiorganisation - der Realität eher entsprechend dahingehend modifizieren, daß die Artikelstammdatei des Zweiradhändlers 15000 Sätze und einen achtstelligen Schlüssel hat, so müßten bei direkter Organisation rund 10* Plätze vorgesehen werden. Korrekter gesagt, die Anzahl der Sätze der Datei ist bestimmt durch die größte vergebene oder zu vergebende Schlüsselnummer. Diese Lösung erscheint nicht akzeptabel. Man ist i. d. R. nicht bereit, für eine Datei mit 15000 Sätzen mehr als etwa 20000 Plätze bereitzustellen. Schlüssel und Satzadresse können dann nicht mehr übereinstimmen. Durch ein rechnerisches Verfahren kann der Schlüssel in den gültigen Wertebereich der Satzadressen transformiert werden, beispielsweise durch Division des Schlüssels durch die Zahl belegbarer Plätze der Datei und Übernahme des Divisionsrestes als Satzadresse (Divisionsrestverfahren). Ein Problem derartiger Verfahren liegt darin, daß unterschiedliche Schlüssel zur selben Adresse führen können. Anhand der vier wichtigsten Verwaltungs- und Verarbeitungsfunktionen ist die Hash-Datei wie folgt zu beurteilen: a)

b) c)

d)

Sequentielle Verarbeitung des gesamten Datenbestandes oder eines Teiles davon ist nicht möglich, weil durch das Adreßtransformationsverfahren keine Sortierfolge nach dem Schlüssel gewährleistet ist. Für sequentielle Verarbeitung muß eine Hash-Datei • sortiert oder • mit Index versehen (siehe unten) oder • nach Schlüssel verkettet (siehe unten) werden. Für die wahlfi-eie Verarbeitung einzelner Sätze bietet die Hash-Datei einen sehr effizienten Weg. Neue Sätze köimen relativ problemlos eingefugt werden, wobei allerdings im Gegensatz zur direkten Datei der Platz an der durch das Transformationsverfahren ermittelten Adresse belegt sein kann. Sätze der Datei können ebenso problemlos gelöscht werden durch Setzen des Satzstatus-Feldes auf den definierten Wert für logisches Löschen oder für Freigabe des Platzes, was dem physischen Löschen entspricht.

Die Hash-Datei ist die geeignete Dateiorganisation für den Fall überwiegend oder ausschließlich wahlfreier Verarbeitung, wenn der Schlüssel die direkte Organisation nicht zuläßt.

Teil I Informatik Grundlagen

179

6.1.6 Datei mit Index Eine interessante und sehr häufig benutzte Dateiorganisation ist die Datei mit Index oder Index-sequentielle Datei. Unter diesen Bezeichnungen (Englisch: ISAM-Datei, Indexed Sequential Access Method) versteht man physisch unterschiedliche Realisierungen, die wahlfreie und (logisch) sequentielle Verarbeitung sowie komfortable Strukturänderungen zulassen. Indizes können auch für den Zugriff über Nicht-Schlüssel-Felder aufgebaut werden. Problematisch karm die Effizienz werden.

6.1.6.1 Einstufiser. linearer Index Man speichert die Datei fortlaufend ohne Lücken, zur eigentlichen (sequentiellen) Datendatei kommt eine Tabelle zur Umsetzung der Ordnungsnummem in die relative Satzadresse (Index). Der Index wird zur Verarbeitung als Tabelle im Hauptspeicher gehaUen, im übrigen so wie die Datendatei und zusammen mit dieser extern gespeichert. Soll auf einen Satz mit gegebener Ordnungsnummer wahlfrei zugegriffen werden, so wird zuerst über den Ordnungsbegriff in der Indextabelle (im Hauptspeicher) die relative Satzadresse ermitteh (Abb. 1-6.5). Datendatei: SATZADRESSE

ARTIKELNUMMER

BEZEICHNUNG

SUCHBEGRIFF

0) (2) (3) (4) (5) (6) (7)

02 03 05 25 26 52 53

Hollandrad Sportrad 5-Gang Rennrad 10-Gang Fahrrad-Dynamo Spezi al-Dynamo Bremsgriffe Renn-Bremsgriffe

FAHRRAD FAHRRAD FAHRRAD DYNAMO DYNAMO BREMSE BREMSE

MENGENEINHEIT Stk Stk Stk Stk Stk Paar Paar

BESTAND 02 03 Ol 15 04 25 09

Index: ARTIKELNUMMER 02 03 05 25 26 52 53

SATZADRESSE 1 2 3 4 5 6 7

Abb. 1-6.5: Datei mit einstufigem, linearem Index Der Index in dieser Form enthält für jeden Datensatz eine Eintragung. Er ist einstufig und linear und wird auch als TAG FILE bezeichnet. Strukturänderungen, d.h. Aufnahme neuer Sätze und Löschen von Sätzen von sequentiellen Plattendateien, sind grundsätzlich problematisch, weil einerseits für neue Sätze kein Platz vorhanden ist, anderseits der Platz eines gelöschten Satzes

6 Datenorganisation

180

nur in Sonderfallen genutzt werden kann. Das folgende Beispiel (Abb. 1-6.6) zeigt, wie in eine Datei mit Index neue Sätze aufgenommen werden können bzw. wie ein bestehender Satz der Datei gelöscht werden kann. Man erkennt, daß die Strukturänderungen sich lediglich in der im Hauptspeicher gehaltenen Indextabelle niederschlagen. Datendatei: SATZADRESSE (1) (2) (3) (4)

ARTIKELNUMMER 02 03 05 25

BEZEICHNUNG

MENGENEINHEIT Stk Stk Stk Stk

BESTAND

Hollandrad Sportrad 5-Gang Rennrad 10-Gang Fahrrad-Dynamo

SUCHBEGRIFF FAHRRAD FAHRRAD FAHRRAD DYNAMO

52 53 11 12 13

Bremsgriffe Renn-Bremsgriffe Mittelzugbremse Tachometer mechan. Fahrrad-Computer

BREMSE BREMSE BREMSE TACHO TACHO

Paar Paar Stk Stk Stk

25 09 14 21 08

02 03 Ol 15

(V (6) (7) (8) (9) (10)

Index: ARTIKELNUMMER 02 03 05 11 12 13 25 52 53

SATZADRESSE 1 2 3 8 9 10 4 6 7

Abb. 1-6.6: Datei mit einstufigem, linearem Index nach Aufnahme neuer Sätze (Schlüssel 11,12,13) und nach Löschen eines Satzes (Schlüssel = 26) Der Platz Nr. 5 könnte auch weiterhin belegt bleiben. Er wird nicht mehr angesprochen, weil er nicht mehr im Index enthalten ist. Wie die Beispiele zeigen, können Dateien mit Index sequentiell und wahlfrei verarbeitet werden. Ihre Organisation und Verwaltung sind nicht ganz einfach, doch stellen die Hersteller von Datenverwaltungssystemen hierfür fertige Routinen zur Verfügung, so daß die Handhabimg für den Programmierer oder für den Endbenutzer letztlich sogar sehr einfach ist.

6.1.6.2

Index-sequentielle

Datei

Für die hier beschriebene Dateiorganisation trifft der Name Index-sequentiell, der auch für alle Dateien, die im Abschnitt 6.1.6 dargestellt werden, verwendet wird.

Teil I Informatik Grundlagen

181

in der Tat zu, und dies ist die ursprüngliche Dateiorganisation dieses Namens und dieses Typs. Ein einstufiger, linearer Index muß zur Verarbeitung der Datei im Hauptspeicher gehalten werden. Er benötigt bei größeren Dateien viel Hauptspeicherplatz, und zwar etwa (Länge des Schlüssels in Byte + Satzadresse in Bytes) * Anzahl Sätze der Datei. So würde beispielsweise der Index einer Einwohnerdatei einer Stadt mit 200 000 Menschen und einer zwölfstelligen Personalnummer (wie der in der gesetzlichen Rentenversicherung verwendeten) mindestens 4,5 Millionen Bytes ((12 + 3) * 200000) belegen'. Werden die Datensätze innerhalb eines Segments, hier in der Regel einer Spur, physisch sortiert gespeichert, so braucht der Index nur auf den größten (oder kleinsten) in einem Segment enthaltenen Schlüssel zu verweisen (Hauptindex). Jedes Segment kann einen Unterindex (Spurindex) enthalten, dies ist aber nicht zwingend, wenn man sequentielles Absuchen des Segments, das sich zu dem Zeitpunkt voll im Hauptspeicher befindet, in Kauf nimmt. In der Ausgangsbelegung werden die Segmente nicht voll belegt, so daß Platz für die Aufnahme neuer Sätze fi'eigehalten wird. Wir zeigen eine Index-sequentielle Datei zunächst in einer Ausgangsbelegung, danach nach Aufiiahme eines neuen und nach dem (physischen) Löschen eines Satzes (Abb. 1-6.7 und 1-6.8). Ab Abb. 1-6.8 verzichten wir auf die Unterindizes. Wir nehmen im Beispiel vier Sätze je Segment und eine Ausgangsbelegung je Segment von 75% an (in praktischen Realisierungen ist die Zahl der Sätze je Segment weit größer). Datendatei: SEGM.ADR.

SATZADR.

(1)

(1) (2) (3) (4) (1) (2) (3) (4) (1) (2) (3)

(2)

(3)

MENGENEINHEIT Stk Stk Stk

BSTD

Hollandrad Sportrad 5-Gang Rennrad 10-Gang

SUCHBEGRIFF FAHRRAD FAHRRAD FAHRRAD

25 26 52

Fahrrad-Dynamo Spezial-Dynamo Bremsgriffe

DYNAMO DYNAMO BREMSE

Stk Stk Paar

15 04 25

53

Renn-Bremsgriffe

BREMSE

Paar

09

ARTIKELNUMMER 02 03 05

BEZEICHNUNG

02 03 Ol

Hauptindex:

') Adressen werden dual dargestellt. Wird das Adreßfeld in zwei Bytes dargestellt, so umfaßt der Adreßraum 2 " , somit nur 65 536 Sätze. 2 " = 16 777 216 erlaubt die Adressierung von 200000 Sätzen.

6 Datenorganisation

182

ARTIKELNUMMER 05 52 53

SEGMENT -ADRESSE 1 2 3

Unterindizes: SEGMENT 1:

SEGMENT 2:

ARTIKELNUMMER 02 03 05

SATZ-ADRESSE

ARTIKELNUMMER

SATZADRESSE 1 2 3

25 26 52

SEGMENT 3:

ARTIKELNUMMER

1 2 3

SATZ-ADRESSE

53

1

Abb. 1-6.7: Index-sequentielle Datei/Ausgangsbelegung Datendatei: SEGMADR.

SATZADR.

(1)

(1) (2)

ARTIKELNUMMER 03 05

BEZEICHNUNG

II 25 26 52 53

Sportrad 5-Gang Rennrad lO-Gang

SUCHBEGRIFF FAHRRAD FAHRRAD

MENGENEINHEIT Stk Stk

BSTD 03 Ol

Mittelzugbremse Fahrrad-Dynamo Spezi al-Dynamo Bremsgriffe Renn-Bremsgriffe

BREMSE DYNAMO DYNAMO BREMSE BREMSE

Stk Stk Stk Paar Paar

15 04 25 09

(3) (2)

(4) 0) (2)

(3) (3)

(4) (1) (2)

(3) (4)

Hauptindex: ARTIKELNUMMER 05 52 53

SEGMENT -ADRESSE 1 2 3

Abb. 1-6.8: Index-sequentielle Datei nach Aufiiahme eines neuen Satzes (Schlüssel = 11) und nach Löschen eines Satzes (Schlüssel = 02)

Teil I Informatik Grundlagen

183

Für den Fall, daß ein Segment keinen Platz mehr für einen Neuzugang enthält (das Segment platzt), gib es unterschiedliche Strategien, wovon wir zwei herausgreifen: a)

Der neue Satz wird in einen Überlaufbereich geschrieben. Ein Zeiger im geplatzten Segment verweist auf die Adresse des Satzes im Überlaufbereich. Gibt es weitere Überlaufsätze zu einem Segment, so verweist der erste Überlaufsatz auf den zweiten usw. (Abb. 1-6.9).

b)

Das platzende Segment wird in zwei annähernd zur Hälfte belegte Segmente aufgespaltet, womit man ein neuerliches Platzen eines der neuen Segmente in zu kurzer Zeit weitgehend vermeidet. Der Hauptindex wird entsprechend reorganisiert (Abb. 1-6.10).

Datendatei: SEGM.ADR.

SATZADR.

(1)

(1) (2) (3) (4) (1) (2)

ARTIKELNUMMER 03 05

BEZEICHNUNG

11 12

Sportrad 5-Gang Rennrad 10-Gang

(3) (4) (3) (1) (2) (3) (4) Überlaufbereich

25 26 53

Mittelzugbremse Tachometer, mechan Fahrrad-Dynamo Speziai-Dynamo Renn-Bremsgriffe

(101)

52

Bremsgriffe

(2)

(1) (2) (3)

SUCHBEGRIFF FAHRRAD FAHRRAD

MENGENEINHEIT Stk Stk

BREMSE TACHO

Stk Stk

DYNAMO DYNAMO BREMSE

Stk Stk Paar

15 04 09

BREMSE

Paar

25

BESTA ND 03 Ol

W

Hauptindex: ARTIKELNUMMER 05 52 53

SEGMENT ZEIGER AUF ÜBERLAUF-ADRESSE BEREICH -SEGMENT 1 2 3

. 101 -

Abb. 1-6.9: Index-sequentielle Datei nach Aufnahme eines Satzes (Schlüssel = 12), mit Überlaufbereich Index-sequentielle Dateien müssen von Zeit zu Zeit reorganisiert werden, was Abb. 1-6.10 deutlich macht. Ihre Ausgangsbelegimg - auch nach Reorganisation liegt gewöhnlich zwischen 50 und 90%; sie hängt ab von der Häufigkeit von Strukturänderungen: Bei häufigen Strukturänderungen setzt man die Ausgangsbelegung geringer an, um mehr Platzreserve für neue Sätze zu halten.

6 Datenorganisation

184 Datendatei: SEGM.ADR,

SATZADR.

(1)

(1) (2) (3) (4) (1) (2)

(2)

(3)

(4)

(3) (4) (1) (2) (3) (4) (1) (2) (3) W

ARTIKELNUMMER 03 05

BEZEICHNUNG

11 12

Stk Stk

25

Mittelzugbremse BREMSE Tachometer, me- TACHO dian Fahrrad-Dynamo DYNAMO

Stk

15

53

Renn-Bremsgriffe

BREMSE

Paar

09

26 52

Spezi al-Dynamo Bremsgriffe

DYNAMO BREMSE

Stk Paar

04 25

Sportrad S-Gang Rennrad 10-Gang

SUCHBEGRIFF FAHRRAD FAHRRAD

MENGENEINHEIT Stk Stk

BSTD 03 Ol

Hauptindex: ARTIKELNUMMER 05 25 52 53

SEGMENT-ADRESSE 1 2 4 3

Abb. 1-6.10: Index-sequentielle Datei nach Aufnahme eines Satzes (Schlüssel 12) und Aufbau eines neuen Segments im Datenbereich

6.1.6.3 Index als B-Baum Wir gehen bei den folgenden Überlegungen davon aus, daß - im Gegensatz zur Index-sequentiellen Organisation gemäß 6.1.6.2 - Daten und Index auf allen Stufen getrennt werden. Sieht man von Informationen zur Verwaltung des Index ab, so enthäh dann jede Index- Eintragung nur den Schlüssel und die Satzadresse. Derartige Indizes können für beliebige Schlüssel einer Datei aufgebaut werden (auch Sekundärindizes, im Beispiel für den Zugriff über die Artikel-Kurzbezeichnung), was übrigens auch für die Lösung gemäß 6.1.6.1 gilt. Eine größere Indextabelle kann grundsätzlich strukturiert und dann als Baum dargesteUt werden. Im Interesse besserer Übersichtlichkeit zeigen wir die Lösungswege anhand von Beispielen mit geringen Datenmengen, für die Mehrstufigkeit natürlich nicht sinnvoll wäre. Wir nehmen wie bei den übrigen bisherigen Beispielen zur Datei mit Index an, daß ein Segment (Knoten des Graphen, wobei ein Baum eine besondere Form ei-

Teil I Informatik Grundlagen

185

nes Graphen ist) vier Eintragungen aufiiimmt. Der Index entsprechend Abb. 1-6.5 kann dann wie folgt als Baum dargestellt werden:

Hauptindex 11

03

53


11 und =< 26 ist,

6 Datenorganisation

186 •

Unterindex-2 wird vom externem Speicher in den Hauptspeicher geladen xmd nach dem Schlüssel (25) abgesucht, Schlüssel 25 ist die Satzadresse 04 zugeordnet, über die der Datensatz gefimden wird.



In den weiteren Darstellungen von Zugriffsbäumen verzichten wir auf die Eintragimg der Satzadressen. Es gibt allerdings auch Speicherungstechniken, die anstelle der Satzadresse den Datensatz speichern, so daß Daten und Index eine einzige Datei bilden. Bei der Organisation gemäß Abb. 1-6.11 und 1-6.12 dient der Hauptindex nur zum Auffinden des entsprechenden Unterindex, er enthält keine Verweise auf Datensätze (Satzadressen), die nur in den Blättern des Baumes (den Knoten der untersten Ebene) gespeichert sind. Schlüssel sind hier zum Teil redundant gespeichert (11,26,53). Ein Index dieser Organisation kann sich im Zuge von Strukturänderungen, in unserem Beispiel der Aufiiahme neuer Sätze mit den Schlüsseln 14, 15, 16, 17, 18, 19, 20 und 21, unerfreulich entwickeln. Wie Abb. 1-6.13 zeigt, ist die Höhe der einzelnen Unterbäume stark unterschiedlich, der Baum ist unausgeglichen (degeneriert). Der Zugriff auf den Schlüssel = 21 erfordert beispielsweise das Laden von 4 Unterindizes. Haupüidex II

03

53

«

/

Unteiindex-I 02

26

Untehndex-2 05

12

II

13

25

Unterindex-3 26

52

*

53


2.3.2 15

16

16

17

25

Jnterin INDEX ARTIKELNUMMER 02 03 05 25 26 52 53 INDEX BEZEICHNUNG Bremsgriffe Fahrrad-Dynamo Hollandrad Rennrad 10-Gang Renn-BremsgrifTe Spezi al-Dynamo Sportrad 5-Gang INDEX KURZBEZEICHNUNG BREMSE DYNAMO FAHRRAD INDEX MENGENEINHEIT PAAR STÜCK INDEX PRODUKTGRUPPE ERSATZTEILE FAHRZEUGE ZUBEHÖRTEILE

193

Ol

02

03

04

05

06

07

1 0 0 0 0 0 0

0 1 0 0 0 0 0

0 0 1 0 0 0 0

0 0 0 1 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 1 0

0 0 0 0 0 0 1

0 0 1 0 0 0 0

0 0 0 0 0 0 1

0 0 0 1 0 0 0

0 1 0 0 0 0 0

0 0 0 0 0 1 0

1 0 0 0 0 0 0

0 0 0 0 1 0 0

0 0 1

0 0 1

0 0 1

0 1 0

0 1 0

1 0 0

1 0 0

0 1

0 1

0 1

0 1

0 1

1 0

1 0

0 1 0

0 1 0

0 1 0

1 0 0

1 0 0

1 0 0

1 0 0

Abb. 1-6.21: Voll invertierte Datei als Binärmatrix

6.1.9 Entscheidungskriterien zur Dateiorganisation Als Entscheidungskriterien besonderer Art und von besonderer praktischer Bedeutung sind vorhandene Software-Unterstützung zur Dateiverwaltung (Dateiverwaltungssystem als Teil des Betriebssystems, der Programmiersprache oder des Datenbanksystems) und der Wissensstand der Mitarbeiter zu nennen. Im weiteren beziehen wir xms auf fachliche Entscheidungskriterien zur Dateiorganisation und stellen die charakteristischen Anwendungen sequentieller, direkter, Hash- und Index- sequentieller Dateien bzw. Dateien mit Index dar. Zu prüfen ist in der Reihenfolge der Erörterung; sind die Voraussetzungen für eine bestimmte Dateiorganisation erfüllt, so brauchen die weiteren Möglichkeiten nicht weiter untersucht zu werden. Die charakteristischen Anwendungen sind: (1) Sequentielle Datei: • Arbeits- und/oder Protokolldateien, • Datensätze werden sequentiell und chronologisch geschrieben (angefugt), • die Datei wird in Stapelverarbeitung ausgewertet, eventuell mehrmals nach unterschiedlicher Sortierung,

194

6 Datenorganisation

(2) Direkte/Random Datei: • Optimale Organsation, sofern der Schlüssel sie zuläßt: Der Schlüssel muß numerisch und (annähernd) lückenlos sein. (3) Hash-Datei • Ausschließlich oder weit überwiegend wahlfreie Verarbeitung mit erforderlichem schnellen Zugriff, • sehr große Datei (weil der Index einer sehr großen Datei die Effizienz beeinträchtigt), • zur (seltenen) sequentiellen Verarbeitung bestehen die Möglichkeiten: a) Sortieren, b) Sekundärindex, c) Verkettung nach Schlüssel. (4) Index-sequentielle Datei bzw. Datei mit Index • Die am häufigsten benutzte Dateiorganisation für betriebswirtschaftliche Anwendungen, • sequentielle und wahlfreie Verarbeitung, • wahlfreier Zugriff und sequentielles Weiterlesen, • wahlfreier Zugriff nicht nur über einen bekannten Schlüsselwert, sondern auch auf einen Datensatz mit einem Schlüsselwert, der größer oder gleich einem eigegebenen Suchbegriff ist, • zu prüfen ist jedoch - aus Effizienzgründen - die tatsächlich zugrundeliegende physische Organisation, insbesondere des Index

6.2 Datenbanksysteme 6.2.1 Einführung Für die bisher behandelte „ konventionelle" Datenorganisation ist charakteristisch (Abb. 1-6.2-1): • •

zu j edem Anwendimgsprogramm gehören die entsprechenden Dateien, jedes Anwendungsprogramm beschreibt die Struktur „seiner" Daten genau so, wie sie in den Dateien physisch gespeichert werden.

Teil I Informatik Grundlagen

195

Abb. 1-6.2-1: Programm-Datei-Beziehungen Daraus resultieren u.a. folgende Probleme: •

• • • • •

feste Bindung der Daten- an die Programmstrukturen und gegenseitige Abhängigkeit (verändern sich die Datenstrukturen, so müssen auch die Programme geändert werden und umgekehrt), Neuanlage von Datenbeständen zur Realisierung neuer Anwendungen, selbst wenn inhaltlich und strukturell ähnliche Datenbestände bereits vorliegen, Inflexibilität der Auswertung der Datenbestände, denn nur in Programmen vorgedachte und festgelegte Auswertungen sind möglich, hohe Redimdanz der gespeicherten Daten und erhöhte Gefahr von inkonsistenten, d.h. logisch widersprüchlichen, Datenbeständen', wiederholte Lösung von Datenzugriffsaufgaben in den Programmen (z.B. die Speicherverwaltung, der Änderungsdienst), Fehlen von Schutz- und Sicherungsmechanismen für die Datenbestände.

Zur Lösung dieser Probleme nutzt man für die betriebliche Datenhaltung seit den 70er Jahren Datenbanksysteme. Sie stellen eine Weiterentwicklung der konventionellen Datenorganisation in folgender Hinsicht dar: • • •

sie realisieren das Konzept einer zentralen Datenbasis und der integrierten, möglichst redundanzarmen Speicherung aller Datenbestände, lösen die Abhängigkeit von Anwendungsprogramm und Datenbeschreibung und übernehmen allgemeine Datenverwaltungs-, -Zugriffs- und -schutzaufgaben.

Verändert sich im Beispiel (Abb. 1-6.2-1) Datum 1, so ist dies unproblematisch für den Gesamtdatenbestand. Verändert sich Datum 2, so müssen die Dateien 2 und 4 verändert werden. Ändert sich Datum 3, so müssen 3 Dateien angepackt werden, um global einen einheitlichen Wert von Datum 3 und einen konsistenten Datenbestand zu realisieren.

6 Datenorganisation

196

Komponenten eines Datenbanksystems Ein Datenbanksystem (DBS) muß neben dem Datenspeicher, der Datenbank (DB), über Software verfugen, die die Verwaltung der Datenbank und den Zugriff darauf realisiert, das Datenbank-Management-System (DBMS). Es setzt auf dem Betriebssystem auf und nutzt die Dienste der systemnahen Schichten. Neben dem Zugriff auf die Datenbestände der DB regelt das DBMS auch den Zugriff auf das Data Dictionary (DD). Dieses steUt gewissermaßen einen zentralen (Meta-) Datenspeicher für die Beschreibung der Strukturen der DB dar und wird oft auch als Datenwörterbuch bezeichnet. DBMS, Data Dictionary, Datenbank und oftmals auch die Anwendungsprogramme, die mit der Datenbank arbeiten, bilden das DBS (vgl. Abb. 1-6.2-2).

Anwendungsprogramm 1 Datenbankmanagementsystem

lAnwendungsprogramml Anwendungsprogramm 3 0 0 0 Anwendungsprogramm n

/



— X '

'

Datenbank.

Data Diclio-

Abb. 1-6.2-2: Komponenten eines Datenbanksystems Aufgaben des Datenbank-Management-Systems Im Verlaufe der geschichtlichen Entwicklung der DBS wurden dem DBMS - neben der Unterstützung der Datenhaltung und des Datenzugriffs - immer mehr Aufgaben übertragen. Von einem DBMS wird gegenwärtig die folgende „GrundFunktionalität" erwartet: • •

• •



es überwacht die nicht-redundante Datenhaltung des gesamten Datenbestandes, der von Anwendimgsprogrammen benötigt wird (Datenintegration), es reagiert auf die Anforderung von Daten seitens der Anwendungsprogramme und stellt, unter Zugriff auf die DB und unter Nutzung der Datenbeschreibung im Data Dictionary, die entsprechenden Daten bereit (Zugriffsvermittlung), es unterstützt die Entwicklung der Datenbeschreibung der DB (vgl. 1-6.2.4) und deren Ablage im Data Dictionary (Datenbeschreibung), es synchronisiert konkurrierende Zugriffe (Transaktionen) mehrerer Benutzer bei paralleler Arbeit, um versehentliche Schreibkonflikte auf gemeinsam benötigte Datenbestände zu vermeiden (Synchronisation), es unterstützt die Rekonstruktion zerstörter Datenbestände nach Systemabstürzen oder Programmfehlem, indem es in einer Protokolldatei alle in einem Zeitabschnitt aufgetretenen Ereignisse der Arbeit mit der DB registriert und diese Informationen für die Fehlerbehebung nutzt (Transaktionssicherung und Wiederanlauf),

Teil I Informatik Grundlagen

197

es überwacht die Korrektheit und Vollständigkeit der gespeicherten Daten und die korrekte Ausführung von Änderungen von Datenbankinhalten (Integritätssicherung / Konsistenzüberwachung), es übernimmt Zugriffskontrollen - wie die Benutzeridentifikation, die Überprüfung der Zugriffsrechte auf Dateien, die Protokollierung der Benutzerzugriffe - sowie Aufgaben des Schutzes der Datenbestände (Datenschutz und Zugriffssicherung), es bietet zahlreiche Serviceleistungen zur Unterstützung des Datenbankentwurfs, zur Reorganisation und effektiven Nutzung der Datenbestände der DB wie z.B. Generatoren zur Entwicklung von Abfragen, Berichten und Masken (Dienstfunktionen).

Transaktionen Für die Realisierung der angesprochenen Basis-Funktionalität ist das Konzept der Transaktionen von zentraler Bedeutung. Eine Transaktion ist eine Folge von logisch zusammengehörenden Operationen auf der DB, die nur als Ganzes ausgeführt werden dürfen. Für Transaktionen gelten die sogenannten ,ACIDEigenschaften": •







Transaktionen sind atomar bzw. unteilbar (Atomicity), d.h. eine Transaktion wird nur als Ganzes, mit allen Operationen, oder überhaupt nicht ausgeführt. Tritt ein Fehler bei der Transaktionsausfuhrung auf, so werden die bisher ausgeführten Operationen als nicht ausgeführt betrachtet. Die Transaktion wird dann „zurückgesetzt". Transaktionen sind die Einheiten für die Konsistenzüberwachung (Consistency), d.h. sie müssen alle formulierten Integritätsbedingungen (vgl. 1-6.2.3.2) einhalten. Eine Transaktion überführt einen konsistenten Zustand der Datenbank in einen neuen konsistenten Zustand. Transaktionen verlaufen isoliert voneinander (Isolation), d.h. eventuell parallel ablaufende Transaktionen dürfen sich nicht gegenseitig beeinflussen. Das kann durch geeignete Synchronisierungsverfahren, wie das Setzen von Lese- und Schreibsperren, gewährleistet werden. Transaktionen sind dauerhaft (Durability), d.h. die Ergebnisse einer erfolgreich abgeschlossenen Transaktion sind dauerhaft in der DB gespeichert.

6.2.2 Architektur von Datenbanksystemen Ein wichtiger Grund für die Entwicklung von DBS war die starre Kopplung von Datenstrukturen und Anwendungsprogrammen, die zu den genannten Problemen führte. Die Überwindung dieser Daten-Programm-Abhängigkeit war insofern von großer Relevanz für die Überlegungen zur Architektur von DBS. Bei der Realisierung einer weitestgehenden Datenunabhängigkeit werden 2 Stufen unterschieden, die alle DBMS unterstützen:

198 •



6 Datenorganisation Die Implementierungsunabhängigkeit oder auch physische Datenunabhängigkeit ist dann gewährleistet, wenn die Datensicht des einzelnen Anwendungsprogrammes unabhängig von der Datenstruktur der gespeicherten Daten ist. Ändern sich die physischen Datenstrukturen, so dürfen daraus keine Änderungen an den Anwendungsprogrammen resultieren. Die Anwendungsunabhängigkeit oder logische Datenunabhängigkeit ist dann gewährleistet, wenn das einzelne Programm nur mit dem Ausschnitt aus dem Gesamtdatenbestand operiert, den es zur Lösung seiner Aufgaben benötigt. Das Anwendungsprogramm hat dafin „seine" (logische Teil-)sicht auf den gesamten Datenbestand. Die Datenstrukturen der DB sind somit von Änderungen b2W. Erweiterungen in den Anwendungsprogrammen entkoppelt.

Für die Umsetzung der Datenunabhängigkeit auf den beiden Stufen hat sich eine Architektur von DBS etabliert, die auf drei Ebenen beruht: die Drei-EbenenArchitektur. Sie entspricht einem Vorschlag der Studiengruppe der ,ANSI/X3/SPARC Study Group on Database Management Systems" aus den 70er Jahren. Der Architekturvorschlag geht von folgendem aus: • • •

Die physischen Datenstrukturen der DB werden als eine Ebene betrachtet. Sie wird als interne oder physische Ebene bezeichnet. Die Beschreibung der Daten aus Sicht der Anwendungsprogramme wird als weitere Ebene betrachtet. Diese Ebene wird als externe Ebene bezeichnet. Da interne und externe Ebene voneinander unabhängig sein sollen, dürfen diese nicht unmittelbar miteinander arbeiten. Die Kommunikation zwischen beiden Ebenen erfolgt über eine weitere Ebene, die zwischen beiden aufgebaut wird. Sie hat die Aufgabe, zwischen den beiden (äußeren) Ebenen zu vermitteln und wird als konzeptionelle oder konzeptuelle Ebene bezeichnet.

Die Verbindung der Ebenen wird durch Schnittstellen realisiert, die das DBMS bereitstellt. •

Zur Realisierung der 3-Ebenen-Architektur müssen die Datenstrukturen der DB auch gewissermaßen dreifach beschrieben werden, jeweils aus Sicht der Ebene. Diese Aufgabe unterstützt das DBMS (1-6.2.1). Mit den Beschreibungen werden modellhafte Abbilder der datenseitigen Zusammenhänge der Realsphäre geschaffen. Mitunter wird deshalb hier von Modellen gesprochen. Da der Begriff des Datenmodells aber bereits in anderem Siime genutzt wird (vgl. 1-6.2.3), werden die Datenbeschreibungen der Ebenen als Schemata bezeichnet.

Den Ebenen entsprechen die folgenden Schemata (vgl. auch Abb. 1-6.2-3): •

Für die Beschreibung der Datenstrukturen der internen Ebene wird das interne Schema definiert. Es legt die physische Struktur der DB fest, wie z.B. die Zugriffspfade, Speicherungs- und Datensatzformate.

' ANSI steht hierbei für " i ^ e r i c a n National Standards Institute", die amerikanische Standardisierungsbehörde, und SPARC für das "Standards Flanning and Requirements Committee".

Teil I Informatik Grundlagen

199

Die Datenstrukturen der externen Ebene werden mit Hilfe von externen Schemata beschrieben. Ein externes Schema beschreibt die Daten so, wie sie von einem Nutzer, einer Nutzergruppe oder einem Anwendungsprogramm benötigt werden. Dies betrifft i.d.R. nur einen Teil des gesamten Datenbestandes. Da die DB vielen Anwendungen offensteht, existieren auf der externen Ebene viele externe Schemata. Ein externes Schema repräsentiert eine Benutzersicht und wird auch häufig nur als Sicht (View) bezeichnet. Für die Beschreibung der Datenstrukturen der konzeptuellen Ebene wird das konzeptuelle Schema verwendet. Es steht zwischen externen Schemata einerseits und dem internen Schema andererseits. Es beschreibt die Datenstrukturen nicht physisch, sondern logisch, d.h. nur die Inhahe sind interessant, nicht deren Realisierung. Es beschreibt nicht die Sicht eines Benutzers / eines Anwendungsprogrammes, sondern die Gesamtsicht aller Benutzer und Anwendungsprogramme der DB. Das konzeptuelle Schema legt somit die logische Gesamtsicht aller Anwendungen auf die Struktur der DB fest.

Abb. 1-6.2-3: 3-Ebenen-Schema-Architektur für Datenbanken Der Zusammenhang zwischen den Schemata wird durch das DBMS über Transformationsregeln hergestellt. Diese beschreiben, wie ein Element eines Schemas aus einem oder mehreren Elementen eines tieferliegenden Schemas zu bilden ist. Diese Regeln werden z.B. bei der Anfragebearbeitung eines Benutzers / eines Programmes an die DB und die anschließende Datenbereitstellung in folgender Weise genutzt:

200 • • • •

6 Datenorganisation Die Anfrage korrespondiert mit einem externen Schema der DB. Den Elementen des externen Schemas werden die Elemente des konzeptuellen, diesen die Elemente des internen Schemas zugeordnet. Die Datenselektion aus der DB erfolgt auf Basis der gefundenen Elemente des internen Schemas. Die Datenbereistellung erfolgt entsprechend auf umgekehrtem Wege, unter Nutzung der Transformationsregeln zwischen internem und konzeptuellem Schema einerseits sowie zwischen konzeptuellem und externem Schema andererseits.

Betrachtet man die Existenz der Datenbeschreibungen der drei Ebenen über einen Zeitabschnitt, so gelten folgende Anforderungen: •





Das konzeptuelle Schema bildet die Grundlage für die Schemata der beiden anderen Ebenen. Es sollte stabil sein und - im Idealfall - nur dann verändert werden, wenn sich die Realsphäre ändert, die in der DB abgebildet ist. Über einen Zeitraum sollte es also möglichst nur ein konzeptuelles Schema geben. Zu einem konzeptuellen Schema existieren immer viele externe Schemata. Da jedes externe Schema Benutzeranforderungen repräsentiert, die sich entwikkeln, sind externe Schemata einer Dynamik unterworfen. Über emen Zeitabschnitt sollten alle benötigten externen Schemata aus dem konzeptuellen Schema ableitbar sein. Zu einem konzeptuellen Schema existiert zu einem Zeitpunkt immer nur ein internes Schema. Über einen Zeitabschnitt können mehrere interne Schemata zugeordnet sein, da em internes Schema immer dann geändert werden muß, wenn sich die physischen Datenstrukturen verändern, wie dies z.T. bei Hardware- oder Betriebssystemwechsel der Fall ist.

Die Umsetzung dieser Anforderungen und Entwicklung der entsprechenden Schemata auf den drei Ebenen ist Aufgabe des Datenbankentwurfs (vgl. 1-6.2.5).

6.2.3 Datenmodelle von Datenbanksystemen 6.2.3.1 Überblick Für die Beschreibung der Datenbankschemata werden Datenmodelle benutzt. Datenmodelle stellen über Modellelemente Konzepte bereit, mit deren Hilfe die Beschreibung der Datenstrukturen erfolgt. Sie legen Syntax und Semantik der Datenbeschreibungen fest. Grundsätzlich bestehen Datenmodelle aus • •

einem Strukturteil, der die Festlegungen zur Datenstruktur des Modells enthält, und einem Operationenteil, der die Operationen beinhaltet, die auf den Datenstrukturen definiert sind.

Teil I Informatik Grundlagen

201

Historisch haben sich im Bereich der DBS unterschiedliche Arten von Datenmodellen durchgesetzt. Eine Klassifikationsgrundlage ist die Implementierungsnähe des Datenmodells: •



Eine Klasse von Datenmodellen unterstützt stärker den Datenbankentwurf und fuhrt nicht direkt zu implementierungsfähigen Datenstrukturen, da diese Datenmodelle nicht durch DBMS unterstützt werden. Hierzu gehören die Semantischen Datenmodelle. Oft werden Datenmodelle dieser Klasse als abstrakte Datenmodelle' bezeichnet. Eine Klasse von Dateimiodellen fuhrt zu implementierungsfahigen Datenstrukturen, die von DBMS unterstützt werden. Hierzu gehören die historisch älteren klassischen Datenmodelle und die jüngeren objektorientierten Datenmodelle. In Abgrenzung zur Klasse der abstrakten Datenmodelle werden diese als konkrete Datenmodelle bezeichnet.

Nachfolgend wird anhand eines Beispiels aus dem Bereich Bestellwesen überblicksartig in die folgenden Datenmodelle eingeführt: • • •

in das Entity-Relationship-Modell als bekanntester Vertreter der Semantischen Datenmodelle, in das Hierarchische Modell, das Netzwerkmodell und das Relationale Datenmodell als Vertreter der klassischen Datenmodelle, und in Objektorientierte Datenbankmodelle.

Dabei wird ausschließlich der Strukturteil der Modelle betrachtet. In Abschnitt I6.2.4 wird das Relationale Datenmodell als gegenwärtig dominierendes konkretes Datenmodell ausfuhrlicher behandelt.

6.2. S. 2 Entity-Relationship-Modell Das Entity-Relationship-Modell (ERM) wurde 1976 von Chen erstmals veröffentlicht (/Che76/). In der Folge gab es eine große Zahl von Erweiterungen, die z.T. in das Modell integriert wurden und den heutigen Quasi-Standard fiir die Datenmodellierung bilden (vgl. II-3.3) oder auch als eigenständige Modelle für die Datenmodellierung verwendet werden, wie z.B. das Strukturierte ERM (SERM) von Sinz (/Sin88/). Die grundlegende Idee des ERM besteht darin, die Realsphäre mit aussagekräftigen Modellelementen so zu beschreiben, daß die Bedeutung der Elemente der Realsphäre im Schema sichtbar bleibt. Die spätere Implementierung soll die Erstellung des Schemas möglichst nicht beeinflussen. Außerdem sollen auch die späteren Nutzer des DBS diese Schemata interpretieren und an ihrer Erstellung mitarbeiten können. Dazu existieren einfache grafische Repräsentanten für die Modellelemente.

' Vgl. hierzu /HS97/, S. 47ff.

202

6 Datenorganisation

Aus Sicht des ERM besteht eine Realsphäre grundsätzlich aus •



Objekten (Entities), dies können Personen (z.B. Lieferant a), Sachverhalte (z.B. Angebot b), Gegenstände (z.B. Artikel c) oder auch Vorgänge (Bestellung d) sein, und Beziehungen der Objekte (Relationships) zueinander (z.B. Lieferant a liefert Artikel c).

Objekte werden durch ihre Eigenschaften (Attribute) näher beschrieben: der Lieferant hat beispielsweise einen Firmennamen, eine Anschrift, eine Bankverbindung. Attribute repräsentieren Attributwerte, der Firmenname kaim beispielsweise die Werte „H. Schulze" und „Koch & Krug" annehmen. Auch Beziehungen können durch Eigenschaften beschrieben werden: z.B. wird die Lieferung u.a. durch die Lieferscheinnummer, den Liefertermin, die gelieferte Menge, den vereinbarten Preis gekennzeichnet. Objekte mit gleichen Eigenschaften werden zum Objekttyp (Entitytyp) zusammengefaßt und im Schema durch ein Rechteck repräsentiert (z.B. der Lieferant, der Artikel). Ähnliche Beziehungen werden zum Beziehungstyp (Relationshiptyp) zusammengefaßt und grafisch durch eine Raute symbolisiert (z.B. die Lieferung). Das Schema hat folgendes Aussehen (Abb. 1-6.2-4):

Abb. 1-6.2-4: Schema im Entity-Relationship-Modell Als Vor- und Nachteile zum ERM können genarmt werden: • •

Mit Hilfe des ERM kann nahezu jede Realsphäre effizient modelliert sowie deren datenseitige Zusammenhänge dokumentiert werden. Zur Umsetzung in Datenstrukturen eines DBMS ist das resultierende Schema nicht geeignet, sondern muß in ein Schema auf Basis eines konkreten Datenmodells transformiert werden. Dies ist Aufgabe des Datenbankentwurfs.

6.2.3.3 Klassische

Datenmodelle

Das Hierarchische

Datenmodell

Das Hierarchische Datenmodell ist das älteste der hier vorgestellten Datenmodelle. Es wurde 1969 von IBM mit dem DBMS IMS eingeführt und prägte in den folgenden 20 Jahren die Massendatenspeicherung. Es wurde mit dem Ziel entwikkelt, fiir Massendaten optimale Datenstrukturen zu finden. Dabei ging man davon

Teil I Informatik Grundlagen

203

aus, daß die Datenstrukturen recht stabil sind und häufig auf hierarchischen Beziehungen beruhen. Dieses Modell kennt grundsätzlich zwei Modellelemente, den Recordtyp und den Beziehungs- oder Settyp. Der Recordtyp entspricht dem Entitytyp des ERM und wird auch ähnlich grafisch repräsentiert (Knoten). Er hat einen Namen und ist aus Feldern aufgebaut. Die Felder nehmen die Attributwerte auf Zu jedem Recordtyp gehören n Records (Datensätze). Vorgänger-Nachfolger-Beziehimgen zwischen Recordtypen werden über Settypen realisiert, die grafisch über eine Kante zwischen den JCnoten repräsentiert werden. Dabei gilt die Emschränkung: es können nur hierarchische, also 1:1- und 1 :n-Beziehungen abgebildet werden. Liegen vernetzte Strukturen vor (m:n-Beziehungen), so müssen diese in hierarchische Beziehungen aufgelöst werden. Ein Schema besteht aus einer Vielzahl von Hierarchien. Im Beispiel (vgl. Abb. 1-6.2-5) werden Lieferant und Artikel als Recordtypen modelliert. Zwischen ihnen karm nur eine 1 :n-Beziehimg definiert werden. Für den Fall, daß also immer ein Artikel genau von einem Lieferanten bezogen wird, sind damit optimale Datenstrukturen gefunden. Die Attribute der Beziehimg „liefert" können dann dem gelieferten Artikel-Datensatz zugeordnet werden, wie hier über den Recordtyp „Lieferung" erfolgt. Problematisch wird diese Lösung, sobald ein Artikel von mehreren Lieferanten bezogen wird. Dann muß entweder noch eine zweite Hierarchie aufgebaut werden, um die Zuordnung „Artikel wird von Lieferant geliefert" treffen zu können, oder es muß mehrfach der Artikel-Datensatz gespeichert und zugeordnet werden - wie hier im Beispiel erfolgt - oder man fuhrt sogenarmte „Virtual records" in Form von Zeigern' ein. Vor- und Nachteile des Hierarchischen Datenmodells sind demzufolge: • • •

Massendaten mit stabilen, möglichst hierarchischen Strukturen sind optimal Speicher- und zugreifbar. Vernetzte Datenstrukturen sind problematisch - meist nur redundant - zu realisieren. Der Zugriff auf die Daten ist inflexibel. Zum Zugriff auf einen Datensatz muß immer die Hierarchie durchlaufen werden, indem beim ersten Record (Wurzel) der Hierarchie begonnen wird. Der Nutzer muß den jeweiligen Pfad (den Weg zum gewünschten Datensatz) kennen.

Vgl. dazu/HS97/,S. 109f.

204

6 Datenorganisation Struktur der Datensäue: Vorgänger

Lieferant Fittnemume

Anschrift

Bankverbindung |

Aiükel Nachfolger / Vorgänger

Bezeichnung Beschreibung Lieferung

Nachfolger

Menge

Tennin

Preis

BeispielD«tensiit;fe:

Abb. 1-6.2-5: Schema im Hierarchischen Datenmodell

Das

Netzwerkmodell

Das Netzwerkmodell wurde in den Jahren 1971 imd 1973 durch die Database Task Group der CODASYL-Vereinigung entwickelt und wird auch als CODASYLDatenmodell bezeichnet. Wie das Hierarchische Datemnodell sollte es die Massendatenverarbeitung unterstützen imd weitergehend die Probleme des Hierarchischen Datenmodells überwinden. Als Modellelemente keimt das Netzwerkmodell den Recordtyp, der dem Recordtyp des Hierarchischen Modells entspricht, sowie den Beziehungs- oder Settyp. Ein Settyp beschreibt eine 1 :n-Beziehung zwischen einem Owner-Recordtyp (Vorgänger) und zugeordneten Member-Recordtypen (Nachfolger). Grafisch wird der Settyp über eine gerichtete Kante repräsentiert, die vom Member- zum OwnerRecordtyp verläuft'. Im Gegensatz zum Hierarchischen Modell kann ein OwnerRecordtyp - über mehrere Settypen - mit mehreren Member-Recordtypen in Beziehung stehen (mehrere Vorgänger), woraus m:n-Beziehungen resultieren. Im Beispiel (vgl. Abb. 1-6.2-6) wurden die Recordtypen „Lieferant" und „Artikel" zu Ownem in jeweils einem Settyp, bei dem die Daten der Lieferung als MemberRecordtypen angelegt wurden. Damit ist die im Hierarchischen Modell nur über Redundanzen abbildbare m:n-Beziehung hier auf recht einfache Weise gelöst.

' Es wird von einigen Autoren aber auch die umgekehrte Richtung angegeben.

Teil I Informatik Grundlagen Struktur der Datensätze: Ownertyp I

205

Lieferant

Ownertypn

Membertyp Abb. 1-6.2-6: Schema im Netzwerkmodell Neben den Daten werden im Netzwerkmodell auch die Zugriffspfade definiert, über die eine gewünschte Folge von Datensätzen bereitgestellt werden kann. Dadurch wird ein schneller Zugriff möglich, allerdings ist man an die definierten Zugriffspfade gebunden imd muß diese auch kennen. Als Vor- imd Nachteile zirni Netzwerkmodell werden genannt: • • •

Das Netzwerkmodell ertaubt es, alle denkbaren Beziehungen zwischen Objekten auszudrücken, insofern ist es universell einsetzbar. Durch die Zugriffspfaddefinition imterstützt es Anwendungen mit beständigen Beziehungen und wiederkehrenden Datenzugriffen. Nachteilig wirkt die Komplexität des Modells imd die Notwendigkeit, die Zugriffspfade für die Navigation in den Datenbeständen kennen zu müssen.

Das Relationale

Datenmodell

Das Relationale Datenmodell entstammt einer Arbeit von Codd aus den Jahren 1968 bis 1973 (vgl. u.a. /Cod70/). Obwohl dieses Modell eine Zeitlang nur ein abstraktes Modell blieb und zum Datenbankentwurf eingesetzt wurde, ist es inzwischen das dominierende Datenmodell bei DBMS und alle „großen" DBMS beruhen darauf: ORACLE, SYBASE, INFORMIX, INGRES, DB/2. Im Gegensatz zu den z.T. kompliziert verketteten Datenstrukturen der Vorgängermodelle wird hier die Datenstruktur einer zweidimensionalen Tabelle, die Relation, genutzt. Über diese werden die Objekte imd Beziehungen der Realsphäre mit ihren Attributen abgebildet. Es sind alle Beziehungen darstellbar, komplexe Beziehungen z.T. mit Einschränkungen. Beziehungen zwischen den Tabellen werden über wechselseitige Übernahme spezieller Attribute, der Primärschlüsselattribute, realisiert. Dafür existiert ein etabliertes Werk von Regeln zur Definition von redundanzarmen Datenstrukturen und Integritätsbedingungen (vgl. I6.2.4). Im Beispiel (vgl. Abb. 1-6.2-7) entsprechen den Objekttypen ,J.ieferant" und „Artikel" und dem Beziehungstyp „Lieferung" je eine Tabelle. Zur Verbindung der Tabellen wurden als Primärschlüsselattribute für den Lieferanten die Lieferanten-

6 Datenorganisation

206

nummer und für den Artikel die Artikelnummer definiert und gezielt in die Tabelle ,J^ieferung" übernommen. Lieferant Firmenname

Lieferantcnnummer

Anschrift

Bankvcibindung

Artikel Artikelnummer i Bezeichnung

Lieferung

Lieferanteimummer Artikelnummo'

Beschreibung

Termin Menge | Prds

Abb. 1-6.2-7: Schema im Relationalen Datenmodell Die Beispieldatensätze haben den folgenden Aufbau (Abb. 1-6.2-8):

Artikel

Lieferant J9f.-Nr. Firmenname

Anschrift

Bank

Art-Nr.

bezeichn«.

Beschreibg.

Berlin

Neue Bank

AI

HtoUandrad

Fahrrad...

A2

Fahnadcomp Zubehör...

LI

H. Schulze

12

Coch&Knig K ö b

Sparkasse

Lieferung U«f-Nr

Art-Nr,

Menge

Termin

Preis

LI

AI

20

5. KW

286,-

LI

A2

100

10. KW

25,10

L2

AI

5

12. KW

291,50

L2

AI

12

43. KW

291,50

Abb. I-6.2-8:Schemaausprägung im Relationalen Datenmodell Als Vor- und Nachteile des Relationalen Datenmodells können genannt werden: • •



Alle Beziehungen sind über die Struktur der Tabelle definiert und redundanzarm abbildbar. Die Notwendigkeit der Definition und Kenntnis von Zugriffspfaden zum Zugriff auf zusammengehörende Datensätze entfällt. Eine flexible Auswertung der Datenbestände ist möglich. Dafür existiert u.a. eine standardisierte, ausgereifte Sprache: SQL (1-6.2.6). Zur Abbildung komplexer Datenstrukturen ist eine Vielzahl von Tabellen erforderlich, die anschließend zur Auswertung der Datenbestände wieder zusammengeführt werden müssen. Insofern gibt es hier gewisse Einschränkungen.

6.2.3.4 Obiektorientierte

Datenbankmodelle

Die Objektorientierten Datenbankmodelle sind die jüngsten der hier vorgestellten Datenmodelle. Und im Gegensatz zu den bereits behandelten Modellen gibt es ei-

Teil I Informatik Grundlagen

207

gentlich gar nicht das Objektorientierte Datenbankmodell (00DM), sondern eine Vielzahl von z.T. stark differierenden Ansätzen sowie einen Standard' der Object Data Management Group (ODMG), in der die Mehrheit der Herstellerfirmen objektorientierter DBMS (OODBMS) repräsentiert ist. Die ersten DBMS, die auf objektorientierten Konzepten beruhten, kamen 1987 auf den Markt. Die ersten 0 0 D M wurden 1989 veröffentlicht. Entwicklungsimpulse zu OODM und OODBMS kamen • •

einerseits von den objektorientierten Programmiersprachen, die um Konzepte zur dauerhaften Datenhaltimg in DBS ergänzt wurden, und andererseits von den Relationalen DBS, die um objektorientierte Konzepte erweitert wurden.

Entsprechend unterschiedlich sind die jeweils resultierenden OODM und OODBMS. OODM basieren sowohl auf den semantischen als auch auf den klassischen Datenmodellen. Sie überwinden in erster Linie deren Mängel bzgl. der Darstellung komplexer, dynamisch veränderlicher Datenstrukturen, wie sie als Anforderungen in neueren Einsatzbereichen von DBS wie z.B. in Geografischen Informationssystemen, Multimedialen Systemen, CAD-Anwendungen und Büro-Anwendungen auftreten. Das grundlegende Modellelement, auf dem alle OODM beruhen, ist das Objekt. Ein Objekt verfugt - ähnlich den Objekten beim ERM - über • • •

Eigenschaften (den bereits bekannten Attributen), geht Beziehungen zu anderen Objekten ein und wird mit ähnlichen Objekten zur Klasse (vergleichbar dem Objekttyp) zusammengefaßt.

Das OODM erweitert die bisher behandelten Datenmodelle, in Zusammenhang mit dem Modellelement Objekt bzw. Klasse, um •





neue Konzepte zur Darstellung der Struktur von Objekten, wie komplexe, benutzerdefinierte Attributwerte, von Attributwerten unabhängige Objektidentität, Vererbung von Attributen zwischen Objekten, die Möglichkeit der Darstellung von objektspezifischen Operationen, über die festgelegt werden kann, wie auf die Attributwerte (und damit die Anwendungsdaten) zugegriffen werden kann bzw. wie sie manipuliert werden können sowie vielfaltige Möglichkeiten der Vererbung, Überschreibung und Variantenbildung von Operationen.

Diese Konzepte existieren, neben den OODM, natürlich in ähnlicher Form auch bei objektorientierten Programmiersprachen (1-7.2) und objektorientierten Model-

' Dieser liegt seit 1997 in der aktuellen Version 2 vor und wird mit ODMG-97 oder O D M G 2.0 bezeichnet.

208

6 Datenorganisation

lierungsmethoden (II-3.6). Im Rahmen des Datenbankentwurfs wird häufig die Verwendung objektorientierter Modellierungsmethoden vorgeschlagen, deren Konzepte unter Nutzung von 0 0 D M implementiert werden. Im Beispiel (Abb. 1-6.2-9) wurde ,Jl,ieferant" als Klasse dargestellt. Diese verfugt über die Attribute ,J..iefNr", ,J*Iame", ,Anschrift" und ,3ankverbindung" sowie über die Operation ,3estellungBestätigen". Die Attribute ,Anschrift" und ,3ankverbindung" sind aus verschiedenen Werten zusammengesetzt und stellen komplexe, benutzerdefinierte Attributwerte dar. Eine derartige Datenstruktur wäre in den bisher vorgestellten Datenmodellen in dieser Form geschlossen nicht darstellbar, sondern müßte in Teile zerlegt und bei Datenzugriffen wieder zur Einheit zusammengesetzt werden.

nschrift Lieferant

Straße : String

LiefNr: Integer

PLZ : String

x und rechts der Mitte, bis ein Schlüssel S2 mit S2 < x gefunden wird.

254

7 Einfuhrung in die Programmierung

b) c)

Vertausche S1 und S2 Wiederhole dies so lange, bis die Datenmenge bezüglich dieser Mitte „grob geordnet" ist, also links von x nur kleinere Schlüssel stehen (die aber noch nicht in sich geordnet sind) und rechts nur größere. Damit hat man die Aufgabe auf zwei gleich strukturierte, aber ,4cleinere" Probleme zurückgeführt, aus deren Lösung, den sortierten Teilmengen, man einfach die Gesamtlösung durch Aneinanderfügen aufbauen kann. d) (rekursiver Aufruf) e) Man wendet die Schritte 1) bis 3) jetzt nacheinander unabhängig auf die beiden Teilmengen an, und wiederhoh dies, bis jeder Teil nur noch ein Element enthält. Der ,Jcleinere Maßstab" im Aufruf wird wieder durch den Umfang der Teilmengen realisiert und das Abbrechen durch die Länge 1. Wegen seiner Effizienz ist Quicksort in den Programmiersprachen neueren Datums bereits in der Systembibliothek vorhanden.

7.1.2 Strukturelemente von Algorithmen 7.1.2.1 Prinzip der strukturierten Programmierung Schlechte Erfahnmgen mit zu liberalen Programmiermethoden haben zu schwer wartbaren Programmen gefuhrt. Dijkstra et. al.[Dij76] wiesen nach, daß Programmierdisziplin, nämlich a) b)

Verzicht auf Sprungbefehle Nutzung einer überschaubaren Zahl von Strukturen zur Ablaufsteuerung eines Programms

diese Situation erheblich verbessert und mehr noch, daß alle bekannten Aufgabenstellungen sich unter Einhaltung von a), b) realisieren lassen. Dieses Grundprinzip der strukturierten Programmierung, verbunden mit bewußtem Verzicht auf undurchsichtige Programmkonstruktionen und bewußtem Einsatz von einfachen Elementen in einfachen Zusammenhängen, steht für den neuen Ansatz der Sofhvaretechnologie. Programmieren weg von individualistischer, nicht nachvollziehbarer Tätigkeit in eine „offene" Tätigkeit zu verwandeln, in der es anderen leicht gemacht wird, Programme zu verstehen und, was eigentlich mehr wiegt, zu warten und zu pflegen. 7.1.2.2 Elemente einer Programmiersprache Man muß Daten in Abhängigkeit von Bedingungen einlesen, verarbeiten, speichern und wieder ausgeben können.

Teil I Informatik Grundlagen

255

Ablaufsteuerung

einlesen (read)

speichern

verändern X = 2*y-l^

z = X

ausgeben (printf...)

Abb. 1-7.1-2: Grundlegende Operationen bei der Verarbeitung von Daten

Jede Programmiersprache muß daher Ausdrucksmöglichkeiten für folgende Kategorien haben: Variablen:

zur Darstellung von veränderlichen Objekten

Datentypen:

zur Beschreibung der Eigenschaften der Objekte (Wertebereiche, maschineninteme Darstellung)

Operatoren:

Kontrollstrukturen:

zur Ausfuhrung zulässiger Operationen wie Eingabe, Verarbeitung (Veränderung), Speicherung, Ausgabe zum Darstellen der Aufeinanderfolge einzelner Schritte und Blöcke

Die einzelnen Programmiersprachen (vgl. I 3.2) unterscheiden sich im wesentlichen in den verfügbaren Datentypen und in Vielfalt und Abstraktionsgrad der Operatoren (3 GL vs. 4 GL, vgl. I 3.2). 7.1.2.3 Kontrollstrukturen

(Steuerkonstrukte)

Zusammengehörige Programmzeilen werden gedanklich in Blöcke zusammengefaßt. Gliederungsgesichtspunkte können sein

256 • • • •

7 Einführung in die Programmierang inhaltliche Zusammengehörigkeit (z. B. alle Befehle, die bei einer bestimmten Ausgangssituation erforderlich sind) logische Zusammengehörigkeit (z. B. alle Ein- und Ausgabeoperationen) kommunikative Zusammengehörigkeit (z. B. Benutzung derselben Daten) ausfuhrungsorientiert (z. B. alle Befehle unter einer Schleife).

Blöcke können geschachtelt sein und im Extremfall auch nur aus einer Anweisung bestehen. Sie haben genau einen Eingang und einen Ausgang. Die Logik in der Verarbeitung der Daten kann durch verschiedene Abarbeitungsreihenfolgen dargestellt werden. Aus Sicht der Aufeinanderfolge können Blöcke verarbeitet werden als 1.

Sequenz

(lineare Folge)

2.

Iteration

(Wiederholung der Ausfuhrung, solange eine Bedingung erfüllt ist; Rekursion ist als Spezialfall eingeschlossen)

3.

Alternative

(Verzweigung in Abhängigkeit vom Ausgang einer Bedingung Verarbeitung eines bestimmten von mehreren Blöcken)

Sehr anschauhch wird der Ablauf eines Programms durch Benutzung (graphischer) Darstellimgsmittel wie Programmablaufpläne und Struktogramme, (geregelt in DIN 66001 für: Programmablaufpläne bzw. basierend auf Arbeiten von Nassi/Schneiderman für Struktogramme) sowie Baumdiagramme nach Jackson imd Pseudocode. Im Straktogramm und Jackson-Diagramm werden Blöcke als Rechtecke dargestellt. Während die Kontrollstrukturen im Struktogramm eigene Darstellungen besitzen, werden sie in Jackson-Diagrammen nur in den Blöcken zusätzlich gekeimzeichnet mit ° für Verzweigung und * für Iteration. Pseudocode ist eine verbale Beschreibung des Algorithmus in extrem vereinfachtem Englisch, wobei benutzt werden für die Sequenz: Iteration: offen: geschlossen: Verzweigung: Mehrfachverzweigung:

BEGIN, END DO WHILE REPEAT UNTIL EF, THEN, ELSE, ENDIF GASE, ENDCASE

Er kann von Entwicklungswerkzeugen direkt ausgewertet und übersetzt werden. Beispiele:

Teil I Informatik Grundlagen

257

Darstellung einer Sequenz: Bsp.:

- Eingabe zweier Zahlen - Berechnung der Summe - Ausgabe Ergebnis

Struktogramm

ProgrammablauQjlan

BEGIN Emgabe 2 Zahlen Berechnimg Summe Ausgabe END

Eingabe 2 Zahlen

Bildung Summe

Ausgabe

Pseudocode

Jackson-Diagramm (Abarbeitung von links nach rechts) Abb. I-7.-3: Darstellungen einer Sequenz

Darstellung einer Iteration: Wir kennen zwei Typen von Wiederholungen, die sich in der Position der Bedingung der Wiederholung unterscheiden. Bei der abweisenden Schleife (auch kopfgesteuerte Schleife, geschlossene Iteration) wird zuerst die Bedingimg geprüft und danach ggf der entsprechende Block ausgeführt. Falls die Bedingung bereits beim ersten Mal nicht erfüllt ist, wird der Block niemals ausgeführt.

7 Einfuhrung in die Programmierung

258

Bsp:

Lesen aus einer Datei (Daten sollten stets in dieser Weise gelesen werden, um Arbeit mit einer leeren Datei zu vermeiden.)

1 0 0 Ausgabe Summe

Pseudocode Abb. 1-7.1-5: Darstellungen einer nichtabweisenden Schleife

7 Einführung in die Programmierung

260

Darstellung einer einfachen Alternative am Beispiel Ausführen Bestellung eines Artikels

Artikel vorhanden

^ ^

Artikel n-

^ ^

j

^r

r

Lieferung auslösen

n

j

Ersatzangebot machen

Lieferung auslösen

Ersatzangebot machen

1 ProgrammablauQ)lan

IF Artikel vorhanden Lieferung auslösen ELSE Ersatzangebot machen

Struktogramm

Bestellprüfung T Artikel vorhanden

O

Lieferung auslösen Pseudocode

Jackson-Diagramm

Abb. 1-7.1-6: Darstellungen einer einfachen Alternative

Artikel nicht vorhanden

Ersatzangebot machen

JZL

261

Teil I Informatik Grundlagen

Darstellung einer mehrfachen Alternative am Beispiel Zahlimgseingang prüfen, je nach Differenz D zum Rechnungsdatum Skonto gewähren, Bruttobetrag akzeptieren oder Verzugszinsen aufschlagen

Prüfe D

D/K«b«^•rV 1971 S«telliten-TV 1954 Farntshan 19S0 Tonbandgwil 1920 Rundhink ,

M« dia nz uw ac h*

1400

1500

1600

1700

1800

1900

2000

Abb. 1-8.1-1: Evolution der Medien [Mat94]

8.2 Multimediasysteme 8.2.1 Definition und Inhalt Ein Medium ist ein vermittelndes Element. Es dient der Übertragung, Weitergabe bzw. Verbreitung von Informationen in einer Form, die dem menschlichen Wahrnehmungsvermögen dient. Das sind zum Beispiel Sprache, Gestik, Mimik, Geräusch, Bild, etc. Nach [ISO..] werden Medien klassifiziert. (Abb. 1-8.2-1) Charakteristik

Gegenstand

Beispiele

Perzeptionsmedium

Aufiiahme durch die menschlichen Sirme

Wie erfolgt die Informationsaufiiahme durch den Menschen?

visuell akustisch

Repräsentationsmedium

Rechnerinteme Darstellung von Informationen

Wie erfolgt die Codierung der Information im

Textformat Grafikformat

Medienform

8 Multimediasysteme

278

Computer? Präsentationsmedium

Formen der Emund Ausgabe von Informationen

Wie werden Informationen am Computer einoder ausgegeben?

Tastatur Lautsprecher

Speichermedium

Formen der Speicherung von Informationen

Wie werden Informationen abgelegt / gespeichert?

Papier Festplatte

Ubertragungsmedium

Formen der Ubertragung von Informationen

Wie erfolgt die Übertragung von Informationen?

Glasfaser Atmosphäre

Informationsaustauschmedium

Formen für den Austausch von Informationen

Wie erfolgt der Austausch von Informationen?

CD-ROM Dokument

Abb. 1-8.2-1: Klassifizierung von Medien nach Kriterien Medien werden mittels Darstellungswerten (z.B. Buchstaben, Pixel) in Darstellungsräumen (z.B. Leinwand, Hologramm) repräsentiert. Es gibt zeitunabhängige (z.B. Text, Bild) und zeitabhängige Medien (z.B. Audio, Video). Multimedia ist variierenden Auslegungen unterworfen. Multimedia ist beispielsweise: • • • •

synchronisiertes Aufeinandertreffen von unterschiedlichen Medien zum Zwecke der Kommunikation unabhängige Informationen, die in mindesten einem kontinuierlichen und einem diskreten Medium kodiert sind Integration unterschiedlicher Informationstypen zu komplexen Informationseinheiten sowie deren computergestützte Verarbeitung und Verbreitung system consisting of hardware, Software, and such other devices as television, Video monitors, optical disk systems, or stereo systems intended to produce a füll audio and video presentation

Problematisch sind Versuche, den Begriff orientiert am heutigen Stand der Technik auf bestimmte Methoden, Techniken, etc. einzugrenzen, da im Umgang mit Multimedia vielfältige Entwicklimgen möglich sind. Deshalb soll eine abstrahierte Definition Grundlage der Erörterungen zum Thema sein. Multimedia ist eine elektronisch unterstützte Informations- und Kommunikationstechnologie, die auf mindestens zwei miteinander synchronisierten Medien basiert. Medium ist ein Mittel, das Träger von Informationen sein kann. Multimediale Systeme können prinzipiell alle menschlichen Sinne zur Wahrnehmung von Informationen ansprechen. Gegenwärtig werden sie jedoch durch akustische und visuelle Medien dominiert. Dabei konzentriert sich die Akustik auf Geräusche, Musik und Sprache, während visuelle Darstellungen in textuelle, bild-

Teil I Informatik Grundlagen

279

hafte und graphische unterteilt werden. Bilder können in Einzel- und Bewegtbilder differenziert werden. (Abb. 1-8.2-2)

Multimedia - Medien Akustisch

Visuell

C

Geräusche Musik Sprache

Text Bild Graphik

Dynamische Darstel ung Statische Darstellung

Abb. 1-8.2-2: Klassifikation von heutigen Multimedia-Medien Alle akustischen Medien sind an Schallwellen gebunden. Trotzdem ist es sinnvoll eine weitere Unterteilung vorzunehmen, da für Sprache und Musik definierte Bildungs- und Beschreibungsvorschriften existieren, die es gestatten, an der Schnittstelle zwischen Mensch und Computer entweder: • •

aus Akustik digitale und analoge Daten zu erzeugen, die später wieder in Musik bzw. Sprache gewandelt werden können oder generativ aus digitalen imd analogen Daten Sprache bzw. Musik zu erzeugen.

Auf dieser Basis kann beispielsweise auch Sprache in Text und Musik in Noten oder umgekehrt gewandelt werden. Durch diese Besonderheit unterscheiden sich Sprache und Musik von den Geräuschen. Geräusche können jedoch auch Informationen vermitteln. Zum Beispiel ist ein Wamton weder Sprache noch Musik. Er hat aber als Geräusch eine Relevanz. Akustische Medien sind auf Grund ihrer physikalischen Bindung an Schallwellen generell zeitabhängig. Im visuellen Medienbereich ist Text eine spezielle Art von Abbild der Sprache. Text als Informationsmittel nimmt bei der Informationsaufiiahme und dem Informationsaustausch eine wichtige Position ein. Graphiken stammen aus dem Bereich der generativen Computergraphik, d.h. der künstlichen Erzeugung von Darstellungen mittels definierter mathematischer Beschreibungsmittel. Im Gegensatz dazu reflektieren Bilder visuelle Erscheinungsformen von realen Objekten. Visuelle

8 Multimediasysteme

280

Medien köraien zeitabhängig (z.B. Video, Animation) oder zeitunabhängig (z.B. Standbild, Druckbild) sein. Wandlungsmöglichkeiten zwischen den verschiedenen Medien werden als Medientranslationen [Mey91] bezeichnet. Sie sind beim Übergang von einem in ein anderes Medium, an einem Medienbruch, notwendig. Wandlungen sind in einer (z.B. visuell: Transformation eines Textes in ein Pixelbild) oder zwischen unterschiedlichen Gruppen von Medien (z.B. akustisch - visuell: Transformation von Sprache in Text) möglich. Die Transformationen werden in Media-TranslationsKetten dargestellt. (Abb. 1-8.2-3)

Text

Bild

• i

gi

Fax

Tracing

N 1 ^ V

1 Bildschirm

Sprache

1 1

Lautsprecher

Abb. 1-8.2-3: Beispiel einer Media-Translations-Kette Im Rahmen von Multimedia werden mehrere voneinander relativ unabhängige Informationsflüsse, die von unterschiedlichen Medien getragen werden, zeitlich synchronisiert und bei Bedarf transformiert. Das Ergebnis ist ein multimediales Produkt, das als Muhimediaapplikation bezeichnet wird. Da eine Multimediaapplikation theoretisch zeitlich nicht begrenzt ist, kann sie in einzelne Blöcke, sogenannte Informationseinheiten, strukturiert werden. Eine Informationseinheit enthält verschiedene Komponenten. Damit eine Nutzersteuerung einer Multimediaapplikation überhaupt möglich wird, werden die Informationskomponenten mit Interaktionskomponenten verbunden. Über die Interaktionskomponenten kann der Nutzer zeitlichen und inhaltlichen Einfluß auf den Ablauf der Multimediaapplikation nehmen. Das logisch/physische Abbild einer Multimediaapplikation wird in Multimediadatenstrukturen abgelegt, die auch als Multimediadokumente bezeichnet werden. Im Zuge der Ergänzung und Verdrängimg manueller Datenträger durch elektronische erscheint die Begriffswahl,^Dokument" gerechtfertigt, da sie dem komplexen Charakter von Multimedia entspricht. Multimediale Daten haben spezifische Eigenschaften, die bei ihrer Speicherung, Verarbeitung und Übertragung zu beachten sind. Sie zeichnen sich durch große Datenmengen und zeitliche Abhängigkeiten aus. Grundlage für das Erstellen, Speichern, Wiederfinden, Übertragen und Darstellen von Multimediaapplikationen imter Verwendung von Multimediadokumenten sind

Teil I Informatik Grundlagen

281

Multimediasysteme. Multimediasysteme sind komplexe Hard- und Softwarelösungen zur Behandlung von Multimediadokimienten. [Mei94] Sie sind durch Kombination und Unabhängigkeit der Medien sowie Rechnerunterstützung und Kommunikationsfahigkeit der Systeme charakterisiert. [Ste93]

8.2.2 Bedarf und Einsatzfelder Der Bedarf nach Multimedia leitet sich aus dem Zwang zu Kommunikation imd zur Beherrschung der damit verbundenen Informationsflut ab. Auch aus wirtschaftswissenschaftlicher Sicht ist Multimedia wegen wachsender Kommimikations- und Informationsanforderungen in den Unternehmen zu forcieren. Als ein Beispiel seien Videokonferenzen erwähnt. Durch die Möglichkeit der Durchfiihrung von Arbeitsberatungen mittels Videoübertragung, d.h. ohne Ortsveränderung der beteiligten Personen, können beispielsweise: • • • • •

Arbeitszeit in Form von Reisezeit eingespart Verfügbarkeit von Entscheidungsträgem im Stammhaus gesichert Reisekosten reduziert Reaktionszeiten in veränderten Situationen reduziert Zugriffe auf Stammhausinformationen durch den einzelnen Teilnehmer verkürzt und vereinfacht

werden, ohne daß der persönliche, visuelle Kontakt als eine wesentliche Komponente menschlicher Kommunikation verloren geht. Die Ansprüche an Multimedia werden im Anforderungsprofil zusammengefaßt, das verschieden Anforderungskomplexe umfaßt. (Abb. 1-8.2-4) Dabei sind zwei Sichten zu unterscheiden: 1.

2.

Der Nutzer fertiger Multimediaprodukte stellt seine Anwenderforderungen an die Multimediaapplikation, die auf einem System basieren muß, das wiederum den Ansprüchen der Applikation gerecht wird. Der Multimediaentwickler hat Forderungen an das Multimediasystem selbst.

Die Anforderungskomplexe beider Sichten sind im Prinzip kongruent, da es sich um generelle Anforderungen an Informationssysteme handelt. Funktionalität ist auf die Erfüllung der vom Nutzer benötigten Funktionen, wie optimale Kommunikation, realitätsnahe Präsentation, effiziente Speicherung usw., gerichtet. Wirtschaftlichkeit beinhaltet Fragen wie Preis-ZLeistungsverhältnis, laufende Kosten, Amortisationszeit usw. Entwicklungsfähigkeit erfordert Flexibilität der Applikation bzw. des Systems, d.h. Erweiterbarkeit, Anpassungs - und Lernfähigkeit etc.

8 Multimediasysteme

282

Abb. 1-8.2-4: Anforderungsprofil für Multimedia Vorhandene Multimedialösungen sind auf Einsatzfelder konzentriert und bieten dem Nutzer die Möglichkeit für spezifische Problemkreise seine Anforderungen zu erfüllen. Multimediaapplikationen aus informeller Sicht können wie folgt gegliedert werden: [Mei94] • • • • •

multimediale multimediale multimediale multimediale multimediale

Informationssysteme (Point of Information) Präsentationssysteme Lern- und Schulungssysteme Unterhaltungssysteme Kommunikationssysteme.

Applikationen aus den verschiedenen Wirtschaftssektoren, d.h. aus privaten Haushalten, Unternehmen, staatlichen Einrichtimgen und Banken, zeigen Anwendungen wie: • • • • • • • • • • •

Multimediale Multimediale Multimediale Multimediale Multimediale Multimediale Multimediale Multimediale Multimediale Multimediale Multimediale

CBT-Systeme Teleleaming-Systeme Verkaufssysteme Dienstleistungssysteme Teleworking-Systeme Verlagssysteme Produktkataloge Konferenzsysteme Consuhingsysteme Planungssysteme Marketingsysteme.

Teil I Informatik Grundlagen

283

Die Reihe ließe sich beliebig fortsetzen. Muhimedia durchdringt wegen seiner kommunikationsunterstützenden Wirkung mit Hilfe der Telekommunikation alle Bereiche des täglichen Lebens. In [Sil] wird zum Beispiel das Spektrum von Inhalten für Multimedia im Marketing beschrieben. Einsatzfelder sind: [Sil] • • • • •





Absatzmarketing inklusive: Präferenz- und Einstellungsforschung, Reaktionsmessungen Produktentwicklung inklusive: Virtual Prototyping, Kommunikation der Produktentwickler Produktgestaltung inklusive: Produktbestandteil, Produktinformation, Service Produktpräsentation inklusive: Produktdarstellungen, Produktinformation Verkauf inklusive: Automatenverkauf, Schaufensterverkauf, Teleselling, Buchungen, Home Banking Nachkauf-Service inklusive: Bedienanleitung, Fehler- und Verschleißdiagnose, Produktprüfung, Schadensregulierung, Reparaturunterstützung, Dokumentation inklusive: Erstellung, Verwaltung, Archivierung

Multimediale Anwendungen sind komplex. Sie durchdringen horizontal und vertikal einzelne betriebliche Prozesse und Funktionen ebenso wie betriebliche Informationssysteme in ihrer Gesamtheit.

8.2.3 Basistechnik und -technologien Muhimedia basiert als komplexe Befahigungs- und Integrationstechnik auf mehreren Basistechniken und -technologien. Es wurde erst möglich, nachdem eine Reihe von Einzeltechniken und -technologien in ihrer Entwicklung soweit fortgeschritten waren, daß eine Integration sinnvoll und effizient wurde, d.h. sogenannte Synergieeffekte entstanden. Vor allem wurden Voraussetzungen für Multimedia durch leistungsfähigere Rechner und Netzwerke, neue Standards (z.B. Massenspeicher), graphische Benutzeroberflächen und anwenderfreundliche Wiedergabetechnik geschaffen. Da Muhimedia auf komplexen Hardware- und Softwaresystemen basiert, sind natürlich aus beiden Bereichen Schwerpunkte als Basis für Multimedia zu nennen, die auch in Zukunft die Multimediaentwicklung mitbestimmen werden. Auf dem Gebiete der Technik (Hardware) sind besonders relevant: [Mei94] [Ste93]

284

8 Multimediasysteme Audiotechnik inklusive Spracheingabe, Sprachübertragung und Sprachausgabe Videotechnik mit der Verbindung von digitaler Rechnentechnik und Femsehen Speichermedien auf optischer Basis wie CD-ROM, DVD, WORM- und MOPlatten Rechentechnik mit neuen Prozessoren, Speichersystemen, Busarchitekturen etc. sowohl im Internen als auch in der Peripherie Kommunikationstechnik vor allem Hochgeschwindigkeits- bzw. Breitbandnetze Unterhaltungselektronik wie Lautsprecher, Kameras, Mikrophone, usw.

Fnamegrabber/MLitimada-Vkleoltate

Abb. 1-8.2-5: Multimedia-Videokarte / Anschlußmöglichkeiten [PCP92] Zwei grundlegende Trends für Hardware sind ersichtlich, einerseits steigende Leistung der Geräte an sich und andererseits die Entwicklung leistungsfähiger Peripherie inklusive entsprechender Übertragungstechnik gerichtet auf Multimedia. Darauf aufbauend werden spezielle Multimedia-Arbeitsplatzrechner als Portable, Personalcomputer oder Workstation konfiguriert. Zu imterscheiden ist zwischen Anwendungssystemen und Entwicklungssystemen sowie zwischen hybriden und digitalen Systemen. (Abb. 1-8.2-5) Hybride Systeme umfassen analoge und digitale Komponenten, ein digitales nur digitale.[StH91] Mit dem wachsenden Angebot preiswerter und leistungsfähiger Digitaltechnik verdrängen die digitalen Systeme sowohl im Business- als auch im Home-Bereich die hybriden Systeme.

Teil I Informatik Grundlagen

285 SEQUB'CERSOFIWVFE

TONMSCHPaT

eeeol

to MCKTONMOOULE ® eoe üill • 000 «asn II^EBSSI SOUNDKARTE IM MDI

MO^MTBANSCHUUSSBOX OUf®IN

«a

MOdNIBEfiCaSÄIBE

Maour



Skf TEMXU.

Ma-4lanpower" usw), Wirtschaftlichkeitsnachweis, Verifikation (Simulation, Demonstration), Auswahlentscheidung für Hardware und System- und Anwendersoftware, Realisierungsplan 4) Entwurfsphase Detailentwurf mit Spezifikation (Fachinhaltsbeschreibung, Pflichtenheft), Ablauforganisation einschließlich vor- und nachgelagerter Arbeiten, Benummerung, Datenorganisation, Datenschutz und Datensicherung, Programmorganisatiom, Programmiervorgaben, Verfeinerung des Realisierungsplanes für die weiteren Phasen 5) Realisierungsphase Programmierung bzw. Anpassung von Standardsoftware, Programm- und Systemtest,

Teil II Betriebliche Informationssysteme

6)

339

• Schulung / Einweisung der Mitarbeiter, • Stammdatenübemahme, • Probeläufe Implementierungsphase • Übernahme der Bestandsdaten, • Einfuhrung des Systems, Umstellung, • Prüfimg und Verbesserung des Betriebsverhahens.

3.1.3 Software Lebenszyklus Der Software Lebenszyklus (Life Cycle) umfaßt Planung (Definition), Entwicklung (Development) und Wartung (Maintainance) des Software-Produkts. Er stellt eine umfassendere Betrachtung dar als das Phasenmodell, das die Wartung nicht oder nur am Rande berücksichtigt, und somit dessen Erweiterung. Wartung umfaßt • • •

Stabilisierung (Beseitigung von Fehlem, Verbesserung der Zuverlässigkeit usw.), Optimierung (Verbesserung von Effizienz und Funktionen) und Anpassung an neue Erfordernisse.

Ihr unterliegen nicht nur Programme, sondern auch Konzept und Entwurf Der Tatbestand, daß die Wartung von Software-Produkten im Gegensatz zur Entwicklung oft stiefmütterlich behandeU wird, darf als bekannt gelten. Die Lebenszyklus-Betrachtung trägt auch dem bereits skizzierten Umstände Rechnung, daß 60 bis 80% der personellen Kapazität und der Sofhvare-Kosten für die Wartung bestehender Software-Produkte anfallen. Sie berücksichtigt auch die Tatsache, daß Wartung bestehender Produkte und Projekte zur Entwicklung neuer Produkte nicht immer ohne weiteres abgrenzbar sind. Innerhalb des Software Lebenszyklus wird das Phasenmodell mehrfach durchlaufen, zunächst vollständig im Zuge der Entwicklung, danach mehrfach und mehr oder weniger unvollständig im Zuge der Wartung. Setzt man zum Ende des Phasenmodells (nach der Implementierung) die Frage, ob das ursprünglich gesetzte Ziel erreicht wurde bzw. ob noch Fragen offen sind, so wird man im Regelfalle früher oder später, in manchen Fällen sogar vor der vollen Einfuhrung, ein neues Projekt initiieren oder im Sinne des Software Lebenszyklus in die erste Phase zurückspringen, was letztlich eine Frage der Betrachtungsweise ist. Geeignet erscheint daher der Ansatz, die Software-Entwicklung als Schleife zu definieren, die mehrfach durchlaufen wird, in der aber jede Phase und auch einzelne Schritte innerhalb der Phase übergangen werden können. Nach der Implementierung erfolgt der Rücksprung zum Beginn. Die Schleife wird erst mit dem Ende des Einsatzes des Software-Produktes verlassen (Abb.II-3.1.1).

340

3 Software Engineering

Projektanfang wiederhole bis Ende des Lebenszyklus Nein

Nein

Nein

Nein

Nein

Nein

J a n d l u n g s b e d a r f d. Phase? 1 Aktivitäten der Vorschlaesohase ^Handlungsbedarf d. Phase?. 1 Aktivitäten der Definitionsohase ^ Handlungsbedarf d. Phase? 1 Aktivitäten der KonzeDtohase ^Handlungsbedarf d. Phase? 1 Aktivitäten der Entwurfsohase ^ Handlungsbedarf d. Phase? 1 Aktivitäten der RealisierunestJhase ^Handlungsbedarf d. Phase?

Ja

Ja

Ja

Ja

Ja

Ja

Aktivitäten der ImplementierunesDhase Ende des Einsatzes des Software-Produkts Abb. II-3.1.1: Struktogrammm Software-Lebenszyklus

3.1.4 Prototyping Prototyping wird oft als Antithese zum klassischen Phasenmodell betrachtet, was aber zumindest nicht voll zutrifft. Sinnvoll ist die Synthese dieser Ansätze, d.h. die Einbindung des Prototyping in das Phasenmodell für die Entwicklung individueller Software. Auch bei konventionellem Vorgehen versucht man, den künftigen Benutzer des Software-Produkts in die Systementwicklimg einzubeziehen. Insbesondere soll er bei der Erarbeitung des fachlichen Entwurfs federführend sein. Mit Vorliegen des Entwairfs soll das System abstrakt und schematisch, wie es der Aufgabenstellung entspricht, so weitgehend und exakt beschrieben sein, daß es durch Programmierer unmittelbar in lauffahige Programme umgesetzt werden kann. In der Realität bestehen aber häufig erhebliche Kommunikationsschwierigkeiten zwischen den künftigen Anwendern und den Informatikern: Der künftige Anwender ist nicht in der Lage - oder nicht bereit -, das abstrakt/schematisch dargestellte Modell des Software-Produkts zu verstehen oder bei der Erarbeitung desselben wesentlich mitzuwirken, was Voraussetzung für den Erfolg des Vorgehens nach dem Phasenmodell wäre. Grundlage der Programmierung bilden somit nicht korrekte Vorgaben.

Teil II Betriebliche Informationssysteme

341

Erst zu einem späten Zeitpunkt - etwa beim Testen der Programme - erkennt der künftige Anwender unter Umständen, daß die Lösung wenig nützlich ist bzw. daß es sich nicht um die Lösung des eigentlichen Anwenderproblems handelt, was zu aufwendigen Änderungen oder zu einer weitgehenden Wiederholung vorhergegangener Schritte fuhrt. Nach der ,J'hilosophie" des Prototyping versucht man, dem Anwender zu einem möglichst frühen Zeitpunkt nicht nur ein abstraktes, sondern ein anschauliches Modell (Prototyp) des künftigen Systems zu zeigen. Ein Prototyp wird in der Konzept-, häufiger in der Entwurfsphase angeboten. Neben der Veranschaulichung des im übrigen abstrakten Konzepts benutzt man das Prototyping bewußt zur Ermittlung der konkreten und präzisen Anforderungen des Anwenders. Der Prototyp zeigt Benutzeroberfläche und allgemeine Handhabung, ihm liegen im wesentlichen die Datenstukturen des Konzepts zugrunde, es sind aber i. d. R. nicht alle Funktionen realisiert. Er wird auf einem Computer vorgeführt und soll dem künftigen Anwender das System verdeutlichen. Effizienz, Sicherheit und Zuveriässigkeit werden vernachlässigt, nicht realisierte Funktionen ersetzt man durch ,4Dummies". Von „Rapid Prototyping" spricht man dann, wenn der Prototyp rasch entwickeh wurde, nach Genehmigung durch den künftigen Anwender nicht mehr weiterentwickelt wird und somit im wesentlichen eine anschauliche Ergänzung des Entwurfs bildet. Dieser Prototyp wird gewöhnlich in einer anderen Systemwelt, insbesondere auf PC realisiert. Danach beginnt die Entwicklung des „echten" Systems, wofür nun gute Voraussetzungen bestehen. Für derartige Prototypen können integrierte Produkte oder PC-Datenbanken eingesetzt werden (beispielsweise MS Access). Arbeitet man mit einfachen Maskengeneratoren in der Zielweh des Systems (etwa auf einem Unix- oder einem Großrechner), so kann man rasch Prototypen bauen, die inhahlich weniger aussagen, die man aber bis zum fertigen Produkt weiterentwickeln kann (evolutionäres Prototyping). Höhere Produktivität bei der Entwicklung bringen erweiterte Generatoren, durch die auch Datendefinitionen und Algorithmen in das „echte" System übernommen werden können. Leistungsfähige Datenbanksysteme (beispielsweise Oracle oder Informix) oder Programmiersprachen der vierten Generation in Verbindung mit Datenbanken (beispielsweise Natural und Adabas) führen zu einer weiteren Produktivitätssteigerung.

3.1.5 Ein modiflziertes Vorgehensmodell Die Aussagen zum Phasenmodell oben in Abschnitt 3.1.2 sind wohl grundsätzlich zutreffend, sie entsprechen aber nicht immer voll der Realität. Probleme liegen vor allem in der Mitwirkung des Anwenders bei Konzept/Entwurf und in der Philosophie des phasenmäßigen Vorgehens im Sinne eines Wasserfallmodells, das nach

342

3 Software Engineering

Abschluß des Projekts zu einem beständigen und „stillen" Wasser, nämlich geeigneten und korrekten Programmen fuhrt, die längere Zeit unverändert eingesetzt werden. Lösungsansätze wurden bereits in Form des Life CycleZ-Ansatzes und des Prototyping diskutiert. Besonders interessant ist das Rapid Application Development (RAD): Im Sinne des RAD bekommt der Anwender zu einem frühen Zeitpunkt ein noch nicht fertiges, aber für ihn bereits nützliches Produkt gewöhnlich für Teilbereiche, das laufend nach seinen erst dann präzisierten Wünschen verbessert wird. Der Anwender arbeitet schon mit den ersten Teilsystemen produktiv. Ein Entwicklungszyklus im Sinne von RAD dauert maximal sechs Monate, Verbesserung (Maintainance) und Weiterentwicklimg (neuer Teilprojekte) erfolgen in weiteren Zyklen. Man plant gewissermaßen die Wartung von vornherein ein. Bei ansonsten üblichen Zyklen von einem bis zwei Jahren paßt häufig ein entwickeltes SW-Produkt nicht mehr zum Realsystem bzw. das SW-Produkt entspricht nicht den Anforderungen. RAD setzt die entsprechenden Werkzeuge (Tools) voraus. Wir reduzieren - einem heute vielfach praktiziertem Vorgehen entsprechend und auch in Anlehnung an CASE-Werkzeuge, insbesondere das Produkt lEW/ADW von Knowledgeware - die Elemente des Vorgehensmodells auf die Phasen I. II. III. IV.

Analyse (Analysis), Entwicklung (Design), Realisierung (Construction) und Implementierung.

Als Phase Null ist eine Planungsphase (Planning) als Gegenstand des Informationsmanagements zu ergänzen, die wir aber nicht hier, sondern unten in Kapitel 5 betrachten. In tabellarischer Form stellen wir nun das auf Phasen mit ganz konkreten Ergebnissen reduzierte und komprimierte Phasenmodell gemäß Abb. II-3.1.2 dar. Unter Objekten wird dabei das der Betrachtung unterzogene System verstanden. Das reale System, für das das Software-System zu entwickeln ist, bildet Ausgangsund Zielpunkt des Vorgehens. Die Aktivitäten der Phase I sind mehr intuitiv und semantisch strukturiert, die der Phasen II und III mehr formal und abstrakt mit der Gefahr der Entfernung vom Realsystem. Man strebt Minderung der Abstraktion durch geeignete Methoden, insbesondere durch Prototyping an. Die Darstellung bringt deutlich zum Ausdruck, daß Systemplanimg eine Folge von Modellierungsschritten ist. Neben dem realen System spielen abstrakte Systeme (die Modelle I, II und III) eine große Rolle. Dies ist zwingend erforderlich, muß jedoch als Gefahr für den Praxis- und Realitätsbezug gesehen werden. Ausgehend vom Realsystem wird aufgrund der Analyse (Phase I) das Modell I des Informationssystems entwickelt. Modell I bildet die Eingangsgröße der zweiten

Teil II Betriebliche Informationssysteme

343

Phase (Entwicklung), woraus Modell II resultiert, das wiederum Eingangsgröße für Phase III ist usw. Die Phasen bzw. ihre Ergebnisse Modell I (Konzept), Modell II (Entwurf) und Modell III (Software-Produkt) entsprechen weitgehend dem Fachkonzept, dem DV-Konzept und der Implementierung nach dem ARIS-Konzept (Sce92). Jedes der Modelle ist innerlich strukturiert gemäß Abb. II-2.2-3.

SE-Phasen

Aktivitäten

Objekte

Phasenergenissse

Realsystem Requirement Analysis, Preliminary Design, IST-Analyse und fach- Modell 1 des Informa- Funktions-, Datenliche Entwicklung und tionssystems und Prozeßmodell, Gestaltung Feasibility Study, Wirtschaftlichkeit, SyII Entwicklung (De- Detailed Design, Fein- (Konzept) sign) konzept stementscheidung 1 Analyse

III Konstruktion

IV Implementierung

systemtechnische Ent- Modell 11 des Informa- physische Datenorgawicklung tionssystems nisation, Modulgliederung und -struktur, Realisierung, Aufbau (Entwurf) Data Base, Software der Datenbank, ProBase grammierung, Test Modell III laufTähige und getestete Programme Rückführung des ent- (Software-Produkt) Datenbank wickelten SoftwareProdukts in das Real- Realsystem system

Abb. II-3.1.2: SE-Phasen (reduziert) Abbildung II-3.1.3 bringt diese Gedanken in realitätsgerechter zyklischer Darstellung zum Ausdruck. Von Seiten der Umwelt, des Marktes und der Untemehmensplanung, aber auch von der Entwicklung der modernen Informationstechnologie, geht ein dauernder Wandel aus, der zu Maßnahmen der Systemplanung zwingt. Die zyklische Anordnung der Phasen und Phasenergebnisse (Modelle) zeigt deutlich - und auch dies der Realität entsprechend -, daß man sich in den Phasen I und II vom Realsystem entfernt und daher in den Phasen III und IV gezwungen ist, sich (mühsam) wieder dem Realsystem zu nähern, um schließlich dort einzumünden. Wegen der Dynamik der Umwelt, des Marktes, der Untemehmensplanung und der modernen Informationstechnologie, aber auch wegen der Notwendigkeit einer raschen Rückkoppelung zum Realsystem müssen die Zyklen kurz sein, nach Möglichkleit im Umfange von drei bis sechs Monaten.

344

3 Software Engineering

Fachliches Konzept/ Entscheidung Umweltanforderungen

I

Reales System

Informationssystem

EDV-Welt

Ergebnisse Aktivitäten

Abb. II-3.1.2: Zyklisches Modell der SE-Phasen

3.1.6 Projektorganisation EDV-Projekte dürfen hinsichtlich ihres Umfanges und ihrer Bedeutung für das Unternehmen nicht unterschätzt werden. Planung und Realisierung des EDV-Einsatzes verursachen erhebliche und zum Teil nicht ohne weiteres sichtbare Kosten, binden in erheblichem Maße Kräfte, vor allem aber wird der Betrieb selbst durch das eingesetzte EDV-System erheblich verändert. Ein gut flmktionierendes EDVSystem kann einem Betrieb positive Impulse verleihen, ein schlecht geplantes System kann Aktivitäten behindern, ja sogar blockieren. Sorgfältige Planung unter Mitwirkung der Geschäftsführung erscheint daher geboten, was aber natürlich nicht dazu fuhren darf, daß das Projekt in der Phase der Planung steckenbleibt und nicht zur Realisierung kommt. Man wird zu einem bestimmten Zeitpunkt zu akzeptieren haben, daß man weder die künftige Entwicklung des Betriebes (mit EDV) noch die des EDV-Marktes voll übersieht, imd trotzdem das Projekt weiter vorantreiben. Eine Projektgruppe wird am Ende der Vorschlagsphase - bei grundsätzlicher Entscheidung für das Projekt - eingerichtet. In der Projektgruppe (Team) müssen die folgenden Funktionen wahrgenommen werden, wobei nicht immer eine Funktion einer „fiill-time"- Position entspricht:

Teil II Betriebliche Informationssysteme • • • • • • • •

345

Projektleiter-l, Projektleiter-2, Organisator, Datenbankadministrator, Systemanalytiker, Programmierer, Operator, Projektsekretär und Kontaktpersonen der Fachabteilungen.

Projektleiter-l ist der Manager mit Verantwortlichkeit und Kompetenz hinsichtlich Personaleinsatz, Kosten, Zeit. Projektleiter-2 ist der fachliche Leiter des Projekts, es karm sich dabei um einen externen Fachmann handeln. Im übrigen sind die Funktionen der folgenden Tabelle zu entnehmen. Die Kontaktperson der Fachabteilung bildet die Brücke zwischen den Informatikern und der Fachabteilimg, der sie angehört. Funktionen der Systemplanung werden heute zunehmend in die Fachabteilungen verlagert. Zu beachten sind aber Größe und Art des Projekts. So kaim in kleineren Projekten der fachliche Leiter zugleich Organisator und Systemanalytiker sein (dies vielleicht in mehreren Projekten), ebenso können die Funktionen des Systemanalytikers und die des Programmierers durch eine Person wahrgenommen werden u.a.m. Anderseits sind in großen Projekten beispielsweise mehrere Programmierer tätig. Aufgabe des Datenbankadministrators ist die funktionsübergreifende Definition der Daten innerhalb der Datenbank, d.h. die Umsetzung der konzeptionellen Datenorganisation in die „physische" mittels der Datenbank. Der Projektleitung obliegen Zeit- und Kostenplanung und -Überwachung. Den geplanten Einzelaufgaben ist der jeweilige Bedarf an personeller und Anlagenkapazität zuzuweisen, dies quantitativ und qualitativ. Darauf aufbauend, muß das Projekt mittels geeigneter Techniken (Netzpläne oder Balkendiagramme, wobei die letzteren in den meisten Fällen ausreichen) gesteuert werden. Bei der Zeitplanung ist auf gut meß- und prüfbare Kontrollpunkte (Meilensteine) zu achten. Aussagen wie die, eine Aufgabe sei zu 80 % erledigt, sind hier wertlos. Zum Gesamtplan kommen Pläne für umfangreichere Teilaufgaben. Die Zuordnung der Funktionen innerhalb des EDV-Projekts an Stellen ergibt sich aus der Tabelle Abb. II-3.1.4. Bei der Organisationsform des Chief Programmer Team sind Team und Aufgaben auf den Chief Programmer ausgerichtet, der ein erfahrener und qualifizierter Software-Spezialist ist und nicht nur Führungsaufgaben wahrnimmt, sondern auch fachlich anspruchsvolle Aufgaben löst (Realisierung schwieriger Aufgaben). Für größere Projekte erweist sich die Einrichtung eines Projektbeirats, dem Projektleiter-1 und Projektleiter-2 berichten, als zweckmäßig.

346

3 Software Engineering

Mitwirkende: Geschäftsführung Projektleiter-1 Projektleiter-2 Organisator Systemanalytiker Datenbankadministrator Programmierer Kontaktperson der Fachabteilung Fachabteilung Funktionen: Entscheidung zur Projekteinrichtung Gesamtplanung und -Überwachung Phase I: Voruntersuchung Grundsatzentscheidung IST-Analyse Entwicklung fachliches Konzept Entwicklung EDV-Konzept Rechtfertigung Realisierungsplan Systemauswahl Phase II: Entwicklung fachlicher Entwurf Entwicklung Systementwurf Entwicklung physische Datenorganisation Phase m : Gestaltung Ablauforganisation Programmierung Test Phase IV: Schulung/Einweisung Datenübemahme Probelauf Organisation der Umstellung Umstellung/Einfuhrung

X X

X X X

X

X

X X

X

X X X

X

X

X

X

X

X

X X

X X

X

X X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

Abb. II-3.1.4: Zuordnung Funktionen / Stellen Abbildung II-3.1.5 zeigt Gesichtspunkte des zyklischen Modells gemäß Abb. II3.1.4 und wichtige Mitwirkende in schematischer Darstellung. Dabei wird zwischen dem Organisations- und dem Informationssystem und den jeweils entsprechenden Modellen unterschieden: Das Informationssystem ist das Subsystem, das durch „Architekten", die in der Literatur [Gil91] auch als „Infotekt" bezeichnet werden, in das Organisationssystem einzugliedern ist. Hier kommt wieder der Vorrang der betriebswirtschaftlich-fachlichen Seite gegenüber dem Instrument Informationstechnologie zum Ausdruck.

Teil II Betriebliche Informationssysteme

347

Abb. II-3.1.5: Modellierung des Informationssystems

3.1.7 Personell/organisatorische Fragen Betroffene Mitarbeiter stehen häufig aus persönlich plausiblen Gründen neuen Systemen ablehnend gegenüber; geringe Akzeptanz kann zum Scheitern fuhren. Mitarbeiter, die durch neue Systeme den alten Arbeitsplatz, Mitarbeiter, Arbeitsmonopole (z.B. Informationen zu einem Thema nur über ihre Unterlagen) und damit Ansehen verlieren, werden auch einer sachlich guten Lösung negativ gegenüberstehen. Arbeitsbedingungen ändern sich oft so grundlegend, daß nur ein intensiver Umlemprozeß die Umstellung ermöglicht; vor allem ältere Mitarbeiter furchten, dem nicht mehr gewachsen zu sein. Zwischen den Spezialisten, die das System gestalten, und den Mitarbeitern, die mit dem ihnen aufgezwungenen System leben müssen, bestehen auch aus diesem Grunde Konflikte. Nicht nur wegen abzusehender Mehrarbeit während der Einfuhrungs- und Umstellimgsphase, wegen zu erwartender Fehler, die erst nach der Umstellung entdeckt und beseitigt werden und der damit verbundenen Unruhe, auch wegen irrationaler

348

3 Software Engineering

Ablehnung eines in allen Konsequenzen nicht zu überblickenden Systems stehen Menschen dem neuen skeptisch gegenüber. Die Technik der Organisations-Entwicklung ist hier nur in Grenzen einsetzbar, weil den Betroffenen gewöhnlich das Fachwissen fehlt, ihr System selbst zu gestalten. Zur Verbesserung der Akzeptanz können die folgenden Maßnahmen beitragen: • • • • • • • •

Verständliche Darstellung des Projekts, seiner Zielsetzung und seiner Bedeutung fiir das Unternehmen, Darstellung des Nutzens für die Mitarbeiter, Hervorheben des Projekts als Gemeinschaftsleistung von Spezialisten und Fachabteilung, das nur bei positivem Mitwirken aller gelingt, laufende Information über den Projektfortschritt, Begründung der Lösungen und Maßnahmen, Gelegenheit zur Mitwirkung, Vermittlung von Sicherheit (Arbeitsplatzgarantien, Umschulung), keine überstürzte Einfuhrung von Änderungen, insbesondere nicht ohne vorherige Ankündigung und Diskussion, Veränderungen soüten die Regel sein, positiv gesehen werden und laufend stattfinden (nicht nur selten große Projekte !).

3.1.8 Software Konfigurations Management Im Zuge des Lebenszyklus eines Software-Produkts ensteht eine Vielzahl von Dokumenten, Berichten, Protokollen, Auflistungen u.s.w. Diese Sammlung von Daten bzw. Unterlagen, die das Software-Produkt gewissermaßen darstellen, bezeichnet man als Software-Konfiguration. Aufgabe des Software Konfigurations Management ist die Verwaltung und Überwachung dieser Unterlagen. Jede Phase und jeder Schritt innerhalb des Lebenszyklus eines Software-Produkts fuhrt zu Ergebnissen, die zu dokumentieren sind. Gegenstand der Dokumentation sind • •

das Projekt und das herzustellende Produkt.

Die Dokumentation sollte grundsätzlich projektbegleitend erfolgen, dabei ist besonders darauf zu achten, daß die Dokumentation mit dem tatsächlichen Lösungsstand übereinstimmt, was bei häufigen ÄnderungenA^erbesserungen im Zuge der Entwicklung nicht selbstverständlich ist. Keine Dokumentation ist besser als eine Dokumentation, die nicht dem Produkt entspricht! Hinsichtlich des Projektes sind zu dokumentieren: • • •

Die Entwicklung, Entscheidungen und ihre Begründungen, Rechtfertigung des Systems, Gespräche/Besprechungen (Protokolle),

Teil II Betriebliche Informationssysteme • • •

349

Testveriäufe und -ergebnisse, Abnahmen (Protokolle), Zeit und Kosten SOLL und IST.

Das Produkt ist anhand der Phasen seiner Entwicklung zu dokumentieren: • • • • • • • • • • •

Ziele, fachliches Grobkonzept, EDV-Grobkonzept, Schnittstellen, Datenorganisation, Fachinhaltsbeschreibungen, Beschreibung der Programmfunktionen, der Ein- und Ausgaben, Programmdokumentation (in den Quellenprogrammen selbst), Bedienungsanleitungen, Operatoranweisungen, Anweisungen zur Implementierung.

Teilweise Überschneidungen zwischen Projekt- und Produktdokumentation sind nicht zu vermeiden. Man verlangt von modernen Softwareprodukten, daß die Dokumentation in das Softwareprodukt integriert ist und Online zur Verfügung steht.

3.1.9 Besonderheiten beim Einsatz von Standardsoftware Wegen der besonderen Bedeutung, die Standardsoftware heute hat und wohl in der Zukunft in noch höherem Maße haben wird, fassen wir wichtige Besonderheiten beim Einsatz von Standardsoftware hier noch einmal kurz zusammen und gehen unten in einem gesonderten Abschnitt detaillierter auf Konzepte modemer Standardsoftware ein (vgl. Kapitel 4.1). Das dargestellte phasenweise Vorgehen und die Betrachtungen zum Software Life Cycle gelten grundsätzlich auch für den Fall, daß Standardsoftware eingesetzt wird. Dafür spricht schon der Umstand, daß die Entscheidung für oder gegen Standardsoftware in der Konzeptphase getroffen wird. Kein Unterschied hinsichtlich des Vorgehens besteht in der Initial- und in der Defmitionsphase. Ein fachliches Konzept ist immer nötig, es enthält die an Standardsoftware zu stellenden Anforderungen imd damit Entscheidungskriterien für die Systemauswahl. Wir gehen auf diese Fragen unten in Kapitel 5 dieses Teils ein. Die Detaillierung des fachlichen Konzepts muß jedoch nur so weit gehen, daß die Auswahlentscheidung fundiert getroffen werden kann, daß gesichert ist, daß die ausgewählte Standardsoftware die Anforderungen erfüllt, nicht aber so weit, daß ausreichende Vorgaben ftir Entwurf und Realisierung bestehen. Anstelle der Entwicklung von Individualsoftware tritt die Modifikation von Standardsoftware. Entwurfs- und Realisierungsphase sind beim Einsatz von Standard-

350

3 Software Engineering

Software im Arbeitsumfang wesentlich reduziert. Darin liegt schließlich einer der Vorteile des Einsatzes von Standardsoftware. Hinsichtlich der Implementierung bietet der Einsatz von Standardsoftware den großen Vorteil, daß die Einftihrung nach den Erfordernissen des Betriebes erfolgen kann, nicht aber danach, inwieweit die entwickelte Software bereits fertig ist und zur Verfügung steht. Die Einfuhrung karm prozeßorientiert, d. h. nach den Erfordernissen der Unterstützung von Geschäftsprozessen, erfolgen. Die Entscheidung, ob schrittweise oder zu einem Stichtag - man spricht dann von einem Big Bang - umgestellt wird, ist nur durch die Gegebenheiten des Betriebes bestimmt. Schließlich bietet der Einsatz von Standardsoftware den Vorteil, daß von Anfang an der denkbar beste Prototyp zur Verfugung steht, nämlich das Produkt selbst.

3.2 Vorgangskettenanalyse Ausgangspunkt der Systementwicklung ist wie in Abschnitt 3.1.2.2 bereits beschrieben eine zusammenhängende Darstellung der betriebswirtschaftlichen Problemstellung, die möglichst viele Tatbestände über zu verarbeitende Daten, zu realisierende Funktionen, beteiligte Organisationseinheiten und die Abläufe der Geschäftsprozesse erfassen sollte. Desweiteren sollte es möglich sein anhand dieser Darstellung Schwachstellen in den IST-Abläufen und ihrer Computerunterstützung zu erkennen sowie davon ausgehend wesentliche Punkte eines SollKonzeptes für das zu entwickelnde Anwendungssystem zu beschreiben. Eine für diese Zielstellung geeignete Abbildung von Geschäftsprozessen wird mit dem von Scheer ([See 90, S. 39]) eingeführten Vorgangskettendiagramm (VKD) erreicht. Abb. II-3.2-1 zeigt als Beispiel eine solche Darstellung für den IST-Ablauf einer Kundenauftragsbearbeitung und Beschaffung. Dabei werden im Raster eines spaltenorientierten Diagramms der zeitlich-logische Ablauf der einzelnen auszuführenden Funktionen, die beteiligten Organisationseinheiten und die Datenversorgung bzw. Datenerzeugung der Funktionen dargestellt. Desweiteren gibt die Rasterung über die DV-Unterstützung der Funktionen Auskunft: Dialog-, Batch- bzw. manuelle Bearbeitung der ausgeführten Funktionen. Durch zusätzliche Spalten, z. B. für die in den Funktionen eingesetzten DVAnwendungssysteme ist, eine weitere Detaillierung der Beschreibung möglich. In einer Analyse von Vorgangsketten, die durch VKD beschrieben sind, können leicht • • •

Medienbrüche zwischen einer DV-unterstützten und manuellen Bearbeitung, Mehrfacherfassungen von Daten und Datenredundanzen im Gesamtablauf, Zeitverzögerungen zwischen Abarbeitungsschritten aufgrund des Wechsels der verantwortlichen Organisationseinheit

erkarmt werden (vgl.Abb. II-3.2-1).

Teil II Betriebliche Informationssysteme

351

Die Beseitigung dieser Schwachstellen in den IST-Abläufen des betrachteten Untemehmensbereichs, z. B. durch Erweiterung der DV-Unterstützimg, Einführung einer einheitlichen Datenbasis und Optimierung des Prozeßablaufs, wird dann mit den anderen festgelegten Zielen der Systementwicklung (vgl. Abschnitt 3.1.2.2) Grundlage des SOLL-Konzepts für das neue DV-System sein (vgl. Abschnitt 3.1.2.3). Neben der Darstellung der betriebswirtschaftlichen Ausgangssituation für eine Systementwicklung durch Vorgangskettendiagramme gibt es auch andere Möglichkeiten, die Definitionsphase eines DV-Projekts durch graphische Hilfsmittel zu unterstützen. Diese sind jedoch oft auf die Methodik der Modellierung in den nachfolgenden Phasen abgestimmt, z. B. Kontextdiagramme (vgl. Abschnitt 3.4.4.3), Objektschemata (vgl. Abschnitt 3.6).

3 Software Engineering

352

DV-UNTERSTÜTZT Vorgänge

•ATENEMS

MANUELL

BEAROATB^BASIS BBBATCH DIALOG 7UNG BEARBETRJNG

Abteilung

Auftragsklärung

i

Auftragsdalenarfassung (eva LohnbeaibeitungsaufIrag ausläsen) Autlragsarfassung

Kunde

1,1 Bestellung

0,n

Wareneingang

l,n




1,1

1,1 Bestellposition

0,n

1.1

Wareneingangsposition

Abb. II-3.3-24: ERD Bestellwesen mit Wareneingängen

Teil II Betriebliche Informationssysteme Entität

Beschreibung

Wareneingang

Enthält die Kopfdaten eines Wareneingangs (die also für den gesamten Wareneingang gelten), d. h. einer vollen, Teil- oder Restlieferung zu einer Bestellung PS: Wareneingangsnummer NSA: Datum des Wareneingangs, Lieferscheinnummer des Lieferanten (Die Bestellnummer wäre Fremdschlüssel im Sinne des relationalen Modells) Enthäh die Daten einer Wareneingangsposition, d. h. einer vollen, Teil- oder Restlieferung zu einer Bestellposition PS: Wareneingangsnummer + Wareneingangspositionsnummer NSA: gelieferte Menge

Wareneingangsposition

Beziehung 3

4

5

381

Beschreibung zu einer Bestellung gibt es eine variable Zahl von Wareneingängen, ein Wareneingang gehört zu genau einer Bestellung zu einer Bestellposition gibt es eine variable Zahl von Wareneingangspositionen, eine Wareneingangsposition gehört zu genau einer Bestellposition Ein Wareneingang hat ein variable Zahl von Wareneingangspositionen, eine Wareneingangsposition gehört zu genau einem Wareneingang

Gemäß der Forderung nach redundanzfreier Darstellung im Datenmodell dürfen ableitbare Daten nicht dargesteüt werden. Der Zyklus Bestellung - Bestellposition - Wareneingangsposition - Wareneingang erweckt den Eindruck, daß hier ableitbare Daten dargestelh sind. Dies ist aber nicht der Fall: Wenn zum Ausdruck gebracht werden soll, daß ein Wareneingang mit den zugehörigen Positionen immer zu genau einer Bestellung gehört (was wir unterstellen - wir lassen also keine Zusammenfassung der Lieferung auf mehrere Bestellungen in einem Wareneingang zu), ist keine der Beziehungen im Zyklus ableitbar bzw. redundant. Die letzte Erweiterung unseres Fallbeispiels im Interesse von Realitätsnähe bezieht sich auf die Bestandsführung. Im einfachsten Falle könnte man den Lagerbestand als Attribut des Artikels sehen, doch würden damit wesentliche Informationen verlorengehen, beispielsweise: • • •

Die Darstellimg der Chronologie der Bestandsentwicklung, die Erfassung der Bestandsführung mit verteiltem Lager, der Nachweis der Herkunft von Bestandspositionen von Produkten im Interesse der Qualitätssicherung (und zur Erleichterung der Bearbeitung von Reklamationen).

382

3 Software Engineering

Wir wollen nun die folgenden Forderungen als gegeben annehmen und ihnen durch das Datemnodell Rechnung tragen: •







Bestände eines Artikels setzen sich aus Lagerbestandspositionen zusammen. Lagerbestandspositionen eines Artikels können verteilt auf mehrere Lagerorte (Palettenstellplätze, Halle-Regal-Platz im Regal usw.) geführt werden. Lagerbestandspositionen resultieren aus • Lagerzugangspositionen, die aus Wareneingangspositionen stammen und deren Herkunft über die Kette Wareneingangsposition - Wareneingang Bestellung - Lieferant oder Wareneingangsposition - Bestellposition Bestellung - Lieferant nachgewiesen werden kann, und • Lagerabgangspositionen (Lagerentnahmen). Aus organisatorischen Gründen können Wareneingangspositionen auf mehere Lagerorte verteilt werden und so zu mehreren Lagerbestandspositionen führen. Lagerbestände werden nach Qualität klassifiziert (Reinheit, Farbton, Charge, Verwendimgsmögllichkeit usw).

Wir kommen für den nun diskutierten Teil des Datenmodells zum ERD gemäß Abbildung II-3.3-25. Artikel

0,n

o

1,1 Bestellposition

0,n

1,1

Wareneineanesposition 0,n

Lagerort

0,n

o

Lagerzugangsposition 1,1

Qualitätsklasse

0,n

0,n 1,1 Lagerabgangsposition

Abb. II-3.3-25: ERD Bestandsführung mit verteiltem Lager und Herkunftsnachweis

Teil II Betriebliche Informationssysteme

383

Entität

Beschreibung

Lagerzugangsposition

enthält die Daten eines Zugangs an einen Lagerort aus einer Wareneingangsposition PS: Wareneingangsnummer + Wareneingangspositionsnummer + laufende Nummer NSA: Zugangsmenge enthäh die Stamminformationen des Lagerorts PS: Lagerort-Schlüssel NSA: Lagerort-Bezeichnung, Lage/Koordinaten, Fassungsvermögen, Zugänglichkeit enthäk die Stamminformationen der Qualitätsklassifikation PS: Qualitätsklassen-Schlüssel NSA: Qualitätsklassen-Bezeichnung, Qualitätsmerkmale (Reinheit, Farbton, Charge, Verwendungsmögllichkeit usw) enthält die Daten eines Lagerabgangs PS: Beleg-Nr. des Lagerabgangs NSA: Menge (Bezug zum Verursacher der Entnahme wird hier nicht verfolgt)

Lagerort

Qualitätsklasse

Lagerabgangsposition

Beziehung 3

4

5

6

Beschreibung zu einer Wareneingangsposition gibt es eine variable Zahl von Lagerzugangspositionen (bedingt durch die Verteilung der Wareneingangsposition auf Lagerorte), eine Lagerzugangsposition stammt immer aus genau einer Wareneingangsposition eine Lagerzugangsposition lagert immer an genau einem Lagerort, ein Lagerort karm eine variable Zahl von Lagerzugangspositionen aufnehmen eine Lagerzugangsposition ist immer von genau einer definierten Qualitätsklasse, zu einer Qualitätsklasse kann es eine variable Zahl von Lagerzugangspositionen geben zu einer Lagerzugangsposition gibt es eine variable Zahl von Lagerabangspositionen , eine Lagerabangsposition gehört immer zu genau einer Lagerzugangsposition

Der „lange" Weg vom Artikel zu den Lagerbeständen des Artikels bedeutet für das physische Datenbankdesign, daß man die Relationen nicht 1:1 in Datenbanktabellen umsetzen wird, sondern daß man wohl in die Lagerzugangsposition auch die Artikelnummer als Fremdschlüssel übernehmen wird, um schneller die Verknüpftmg zwischen dem Artikel und seinen Beständen herstellen zu können. Eine

384

3 Software Engineering

Beziehung zwischen Artikel und Lagerzugangsposition im ERD wäre aber nicht korrekt, weil sie ableitbar wäre. Um das gesamte Fallbeispiel zusammenzufassen, zeigen wir als Abbildung II-3.326 das Gesamt-ERD ohne die Entität „Zeitachse". Es wurde mit dem CASE-Tool (vgl. unten Abschnitt 3.5) lEW/Analysis erstellt und bietet zugleich in Verbindung mit den vorhergehenden Abbildungen noch einmal die Gegenüberstellung der häufigsten Darstellungsweisen von ERD.