192 25 23MB
German Pages 628 Year 2000
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