04.03.2013 Aufrufe

PDF-Version - am Institut für Baustatik

PDF-Version - am Institut für Baustatik

PDF-Version - am Institut für Baustatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Karlsruher <strong>Institut</strong> <strong>für</strong> Technologie<br />

<strong>Institut</strong> <strong>für</strong> <strong>Baustatik</strong><br />

Grundlagen der<br />

Informationsverarbeitung<br />

im Bauwesen<br />

Grundlagen<br />

Computerorientierter Methoden<br />

BAUSTATIK


Vorbemerkungen<br />

• Das vorliegende Manuskript ist der unveränderte Nachdruck des Manuskriptes Informationsverarbeitung<br />

im Bauwesen I von Herrn Kollegen Prof. Dr.-Ing. K.-U.<br />

Bletzinger, dem hiermit herzlich <strong>für</strong> die Bereitstellung gedankt sei.<br />

• Die vorliegenden Arbeitsunterlagen sind lediglich als Hilfsmittel zur Lehrveranstaltung<br />

Grundlagen der Informationsverarbeitung im Bauwesen <strong>am</strong> Karlsruher <strong>Institut</strong><br />

<strong>für</strong> Technologie zu verstehen.<br />

• Die Arbeitsunterlagen können über das Internet von der Homepage des <strong>Institut</strong>s<br />

bezogen werden.<br />

• Ohne Genehmigung des Autors ist es nicht gestattet, dieses Heft ganz oder teilweise<br />

auf fotomechanischem Wege (Fotokopie, Mikrokopie) zu vervielfältigen.<br />

• c○ Prof. Dr.–Ing. W. Wagner<br />

<strong>Institut</strong> <strong>für</strong> <strong>Baustatik</strong><br />

Karlsruher <strong>Institut</strong> <strong>für</strong> Technologie<br />

Postfach 6980<br />

76128 Karlsruhe<br />

Telefon: (0721) 608–2280<br />

Telefax: (0721) 608–6015<br />

E–mail: bs@.uni-karlsruhe.de<br />

Internet: http://www.bs.uni-karlsruhe.de


1 Inhaltsverzeichnis<br />

1 INHALTSVERZEICHNIS 1<br />

2 EINLEITUNG 6<br />

3 GRUNDLAGEN DER DATENVERARBEITUNG 7<br />

3.1 Daten, Information, Nachricht 7<br />

3.2 Informationsverarbeitung, Codierung 7<br />

3.3 Informationsdarstellung im Computer 9<br />

3.4 Zahlensysteme 9<br />

3.5 Speicherung von Daten 10<br />

3.5.1 Darstellung ganzer Zahlen, Komplement 10<br />

3.5.2 Gleitkommazahlen 11<br />

3.5.3 weitere Datentypen 11<br />

3.6 Speicherorganisation 12<br />

3.6.1 Speicherung binärcodierter Daten 12<br />

3.6.2 Befehle und Progr<strong>am</strong>me im Speicher 13<br />

3.7 Datei 13<br />

3.8 Datenkompression 14<br />

3.9 Datenverschlüsselung 14<br />

4 AUFBAU UND BETRIEB VON COMPUTERN 16<br />

4.1 von-Neumann-Computer 16<br />

4.2 Funktion der Komponenten 16<br />

4.3 Der Mikroprozessor (CPU) 17<br />

4.3.1 das Steuerwerk 17<br />

4.3.2 das Rechenwerk 17<br />

4.3.3 CISC-Mikroprozessor 18<br />

4.3.4 RISC-Mikroprozessor 18<br />

4.3.5 Leistungsmaße 18<br />

4.3.6 Entwicklung der Mikroprozessor 18<br />

4.4 Speicher 19<br />

4.4.1 Flüchtige Speicher 19<br />

1


4.4.2 Nicht-flüchtige Speicher 20<br />

4.4.3 Arbeitsspeicher 20<br />

4.4.4 Massenspeicher 22<br />

4.5 Bussysteme 26<br />

4.6 Eingabe-Geräte 28<br />

4.7 Ausgabe-Geräte 29<br />

4.7.1 Monitor 29<br />

4.7.2 LC-Displays und LCD-Projektoren: 30<br />

4.7.3 Gafikstandards 30<br />

4.7.4 Drucker 30<br />

4.8 Weitere Ausgabe-Controller 31<br />

4.9 Multimedia 31<br />

5 BETRIEBSSYSTEME 32<br />

5.1 Betriebsarten 32<br />

5.2 Betriebssysteme 33<br />

5.3 Aufgaben eines Betriebssystems 34<br />

5.4 Befehlseingabe, Kommandointerpreter und grafische Bedienoberfläche 36<br />

6 DATEIEN UND DATEISYSTEME 39<br />

6.1 Das Dateisystem 39<br />

6.2 Datein<strong>am</strong>en 39<br />

6.3 Zugriffsrechte 40<br />

6.4 Organisieren von Dateien und Verzeichnissen 40<br />

7 RECHNERNETZE - ARBEITEN IM NETZ 42<br />

7.1 Rechnernetze 42<br />

7.1.1 Übertragungsmedien 43<br />

7.1.2 Topologie von Netzwerken 43<br />

7.1.3 Netzwerksysteme 45<br />

7.1.4 Netzprotokolle 46<br />

7.1.5 Netzwerk-Technologie 46<br />

7.1.6 Aktive Elemente im Netzwerk 48<br />

7.1.7 Datenübertragung mit Telefonleitungen 49<br />

7.1.8 Das kleine ISDN-Lexikon 50<br />

7.1.9 Netzwerk-Management 51<br />

2


7.2 Das Internet 52<br />

7.2.1 Zugang zum Internet 52<br />

7.2.2 Internet Adressen 53<br />

7.2.3 Netzwerkdienste 54<br />

7.3 WWW - das World Wide Web 57<br />

7.3.1 Die Sprachen des WWW: HTML und Java 58<br />

8 TEXTVERARBEITUNG UND DESKTOP-PUBLISHING 61<br />

8.1 Textverarbeitung 61<br />

8.1.1 Interaktive Systeme 61<br />

8.1.2 Textsatzsysteme 61<br />

8.1.3 Arbeitsregeln 63<br />

8.2 Desktop Publishing (DTP) 63<br />

8.3 Präsentationssoftware 64<br />

8.4 „Office“-Software 64<br />

9 TABELLENKALKULATION 65<br />

9.1 Grundlagen der Tabellenkalkulation 65<br />

9.2 Progr<strong>am</strong>mversion 65<br />

9.3 Excel starten und beenden 65<br />

9.4 EXCEL-Arbeitsbereich 66<br />

9.5 Wertzuweisungen 67<br />

9.6 Zellen kopieren, bewegen und löschen 68<br />

9.7 Zellbereichen N<strong>am</strong>en zuweisen 69<br />

9.8 Formeln 69<br />

9.8.1 Numerische Formeln 69<br />

9.8.2 Zellbezüge 70<br />

9.8.3 Texte in Formeln 71<br />

9.8.4 Funktionen verwenden 72<br />

9.8.5 Logische Operatoren 72<br />

9.8.6 Matrizen 74<br />

9.9 Diagr<strong>am</strong>me 76<br />

9.10 Beispielhafte Anwendungen im Bauwesen 81<br />

9.10.1 Bauphysik: Temperaturverlauf durch ein Bauteil 81<br />

9.10.2 Kommunale Haushaltsführung (Prof. Scholl) 88<br />

3


9.10.3 Prognose der Bevölkerungsentwicklung in Karlsruhe (Prof. Scholl) 90<br />

9.10.4 Berechnung von Querschnittskennwerten 91<br />

9.10.5 Berechnung von Durchschnitts- und Mittellohn 93<br />

10 DATENBANKSYSTEME 95<br />

10.1 Datenbankmodelle 95<br />

10.1.1 Das hierarchische Datenbankmodell 96<br />

10.1.2 Das Netzwerk-Datenbankmodell 96<br />

10.1.3 Das relationale Datenbankmodell 97<br />

10.2 Allgemeine Datenbank-Konzepte 98<br />

10.3 verbreitete Datenbanksysteme 98<br />

10.4 Datenbankanwendungen mit EXCEL 99<br />

10.4.1 Datenbank erstellen 99<br />

10.4.2 Datenbanken selektieren 100<br />

10.4.3 Beziehungen erstellen 101<br />

10.4.4 Beziehungen auswerten 101<br />

11 COMPUTER-ALGEBRA-SYSTEME 103<br />

11.1 Allgemeines 103<br />

11.2 Maple Grundlagen 103<br />

11.2.1 Introduction 103<br />

11.2.2 Comments and Echoing (Kommentar und Echo) 104<br />

11.2.3 Simple Arithmetic (einfache Arithmetik) 104<br />

11.2.4 Variables and Equations (Variablen und Gleichungen) 105<br />

11.2.5 Quotes, N<strong>am</strong>es, and Values (Anführungszeichen, N<strong>am</strong>en und Werte) 106<br />

11.2.6 Functions (Funktionen) 106<br />

11.2.7 Basic Types and Conversions (Grundtypen und Konversionen) 107<br />

11.2.8 Packages and Libraries (Zusatzpakete und Bibliotheken) 108<br />

11.2.9 Restoring and Saving Sessions (Sichern und Wiederherstellen) 108<br />

11.3 Arbeiten mit Maple 109<br />

11.3.1 Simplification 109<br />

11.3.2 Some Predefined Symbols (Vordefinierte Symbole) 109<br />

11.3.3 Summation 109<br />

11.3.4 Differentiation and Integration 110<br />

11.3.5 Series (Reihen) 110<br />

11.3.6 Limits (Grenzwerte) 111<br />

11.3.7 Solving Equations (Gleichungen lösen) 111<br />

11.3.8 Assignment and Substitution (Zuordnung und Substitution) 111<br />

11.3.9 Printing and Plotting Values (Drucken und Plotten) 112<br />

11.4 Maple Packages 114<br />

11.4.1 linalg; linear algebra; Rechnen mit Matrizen und Vektoren 115<br />

4


11.5 Advanced Maple 117<br />

11.5.1 Manipulating Expressions 117<br />

11.5.2 Sequences, Ranges and Sets(Folgen, Wertebereiche und Mengen) 118<br />

11.5.3 Tables and Arrays (Tabellen und Felder) 118<br />

11.5.4 Maple Initialization (UNIX) 119<br />

11.6 Progr<strong>am</strong>ming in Maple 119<br />

11.6.1 Control Structures 119<br />

11.6.2 Procedures 121<br />

11.7 Error Handling 123<br />

11.7.1 ERROR 123<br />

11.7.2 lasterror and traperror 124<br />

11.8 Plotting Functions You Have Created 124<br />

12. LITERATUR 126<br />

5


2 Einleitung<br />

Das moderne Ingenieurwesen ist von der elektronischen Datenverarbeitung geprägt. Diese Vorlesung<br />

gibt einen Überblick über Hilfsmittel und Methoden, die Grundwissen vermitteln sollen und von<br />

praktischem Nutzen sind. Andernorts wird da<strong>für</strong> der Begriff Bauinformatik verwendet. Im Zeitalter der<br />

Telekommunikation gewinnen dabei die weltweiten Computernetze als Informationsquelle und<br />

Übertragungsmedium an Bedeutung. Die Entwicklung der Branche ist derart stürmisch, daß dieses<br />

Manuskript mit der Drucklegung sicher schon veraltet sein wird.<br />

Rechnen und Schreiben sind Beispiele <strong>für</strong> Informationssysteme. Texte gleichen Inhalts können z.B. in<br />

deutsch, englisch, chinesisch oder einer anderen Sprache oder mit verschiedenen Schriftzeichen<br />

abgefaßt sein. In jedem Fall werden vereinbarte Textsymbole und Vorschriften <strong>für</strong> ihre Kombination<br />

verwendet. Diese Informationen mit Rechenautomaten zu speichern, zu verarbeiten und<br />

weiterzugeben, ist Gegenstand der Informatik. Die Informatik sieht typischerweise von Besonderheiten<br />

spezieller Informationssysteme ab, indem sie durch Abstraktion allgemeine Modelle bildet. Sie befaßt<br />

sich einerseits mit den Strukturen, den Eigenschaften und den Beschreibungsmöglichkeiten von<br />

Informationen und Informationsverarbeitung und andererseits mit dem Aufbau, der Arbeitsweise und<br />

den Konstruktionsprinzipien von Computersystemen. Dies beinhaltet auch die Entwicklung von<br />

Softwaresystemen.<br />

Wesentlicher Bestandteil der Informationsverarbeitung ist die Definition von Algorithmen. Ein<br />

Algorithmus ist ein Verfahren zur Lösung von Problemen („Kochrezept“). Er gibt die elementaren<br />

Schritte und die Reihenfolge an, in der sie zu erledigen sind. In der Informatik wird ein Algorithmus<br />

durch ein entsprechendes Progr<strong>am</strong>m (Software) in eine solche Form gebracht, daß eine Maschine<br />

(Hardware, Computer) die Anweisungen in der entsprechenden Reihenfolge abarbeiten kann. Dazu<br />

verwendet ein Progr<strong>am</strong>m (wie jede Sprache) entsprechende Daten- und Progr<strong>am</strong>mstrukturen. Es<br />

existieren die verschiedensten Werkzeuge und Methoden des Software-Engineering, um den<br />

Algorithmus effizient und korrekt progr<strong>am</strong>mieren zu können. Tabellenkalkulationsprogr<strong>am</strong>me sind<br />

einfache aber sehr gute Beispiele <strong>für</strong> die effektive Verknüpfung von Datenstrukturen mit der<br />

Progr<strong>am</strong>mierung von Algorithmen. Sie sind <strong>für</strong> die alltägliche Anwendung entwickelt worden und<br />

erlauben einen intuitiven Einstieg mit (fast) garantiertem Erfolg. Andererseits können anhand dieser<br />

Methoden in einer vertiefenden Betrachtung die Grundzüge der modernen Informatik studiert werden.<br />

Dies beginnt bei der interaktiven, grafischen Ein- und Ausgabe der Daten, geht über einfache<br />

Datenbankanwendungen und endet bei der objektorientierten Progr<strong>am</strong>mierung komplexer<br />

Algorithmen.<br />

Die Tabellenkalkulation nimmt eine zentrale Stellung in diesem Manuskript ein. Sie dient als Mittler der<br />

Theorien und Methoden der Informatik <strong>für</strong> die praktische Anwendung. Da auch die Anwendung<br />

vermittelt und - ganz wichtig - auch geübt werden soll, müssen wir uns auf ein verfügbares Produkt<br />

konzentrieren. Die Wahl fiel dabei (nicht ganz zufällig) auf Microsoft Excel 97, das in den CIP-Pools<br />

des Rechenzentrums und der Fakultät installiert ist und sicher auch sonst eine weite Verbreitung<br />

besitzt. Es ist nicht das Ziel, spezielle Kenntnisse und Fähigkeiten in Excel zu vermitteln, vielmehr<br />

sollen grundsätzliche Prinzipien der Progr<strong>am</strong>mierung erkannt und erworben werden. Diese Kenntnisse<br />

werden im zweiten Teil dieser Vorlesung mit Visual Basic for Applications (VBA) weiter vertieft, wobei<br />

es wiederum auf die Grundsätze der Progr<strong>am</strong>mierung ankommt. Diesem Ziel wird durch Vergleiche<br />

mit den bekannten Hochsprachen C und FORTRAN 77/90 Rechnung getragen. Ein kurzer Ausblick<br />

befaßt sich mit den Besonderheiten von JAVA.<br />

Karlsruhe, im Sommer 1998<br />

6


3 Grundlagen der Datenverarbeitung<br />

3.1 Daten, Information, Nachricht<br />

Man versteht unter Daten im weitesten Sinne Objekte, die zu verarbeiten sind. Typische Beispiele sind<br />

Zahlen und Texte. Der Begriff „Daten“ wird meist über die Grundbegriffe „Information“ und „Nachricht“<br />

definiert. Die Nachricht, z.B. eine Folge von Buchstaben „u“, „n“, „d“, „ ”, „t“, „s“, „c“, „h“, „ü“, „s“, „s“,<br />

wird erst durch die Anwendung von vereinbarten Interpretationsregeln zur Information. In unserem<br />

Beispiel ist deutsch eine Voraussetzung, um die von der Nachricht transportierte Information<br />

verstehen zu können. Die Nachricht ist ihrerseits aus „Symbolen“ zus<strong>am</strong>mengesetzt, hier aus<br />

Buchstaben und dem Leerzeichen „ ”. Ein Symbol ist ein „Zeichen“ mit einer bestimmten Bedeutung.<br />

Das Zeichen „a“ wird zum Symbol, wenn wir es dem lateinischen „Alphabet“ zuordnen. Ein Alphabet<br />

ist ein geordneter „Zeichenvorrat“. Die Menge der natürlichen Zahlen {1, 2, 3, ...} ist ebenfalls ein<br />

Alphabet. Das kleinste Alphabet besteht aus zwei Zeichen, die „Binärzeichen“ oder „Bits“.<br />

Üblicherweise werden sie mit {0, 1} dargestellt. Sie sind nicht mit Dezimalzahlen zu verwechseln. Da<br />

es nur auf die Definition zweier unterschiedlicher Zeichen ankommt, könnten auch das Alphabet {, }<br />

oder die Zustände eines Schalters {aus, an} verwendet werden. Im Computer wird jede Information mit<br />

Binärzeichen über Spannungspegel dargestellt, z.B. {0 Volt, 5 Volt}.<br />

3.2 Informationsverarbeitung, Codierung<br />

Bevor Daten bzw. Informationen von einem Computer verarbeitet werden können, müssen sie mit<br />

Binärzeichen dargestellt werden. Diesen Übersetzungsvorgang nennt man „Codierung“. Nach der<br />

Verarbeitung müssen sie wieder zurück transformiert „dekodiert“ werden. Jede Art von Daten bzw. von<br />

Information wird infolge dessen in einer Folge von Binärzeichen ausgedrückt. Um die Nachricht<br />

verstehen zu können, muß auch eine Interpretationsregel bzw. „Code“ vereinbart werden. Ein seit<br />

1968 international genormter 7-Bit-Code ist der ASCII-Code (American Standard Code for Information<br />

Interchange). Die Code-Tabelle ist in Tabelle 1 dargestellt. Zur Codierung der zehn Dezimalziffern<br />

reichen vier Bits aus:<br />

0000 0<br />

0001 1<br />

0010 2<br />

0011 3<br />

0100 4<br />

0101 5<br />

0110 6<br />

0111 7<br />

1000 8<br />

1001 9<br />

Für die Verschlüsselung größerer Zahlen müssen entsprechend mehr Bits verwendet werden.<br />

Üblicherweise werden Bits in Gruppen konstanter Länge zus<strong>am</strong>mengefaßt. 8 Bits ergeben ein „Byte“.<br />

Ein Byte repräsentiert d<strong>am</strong>it 2 8 = 256 verschiedene Zeichen. Der 7-Bit ASCII Code beruht ebenfalls<br />

auf diesem Schema. Das 8. Bit wird <strong>für</strong> Kontrollzwecke verwendet und so gesetzt, daß die<br />

Quersumme der gesetzten Bits immer geradzahlig ist.<br />

Das grundlegende Schema der Daten- bzw. Informationsverarbeitung besteht aus den Schritten:<br />

1. Kodierung<br />

2. Verarbeitung<br />

3. Dekodierung<br />

7


Binär Binär Binär Binär<br />

000 0000 NUL 010 0000 SP 100 0000 @ 110 0000 `<br />

000 0001 SOH 010 0001 ! 100 0001 A 110 0001 a<br />

000 0010 STX 010 0010 " 100 0010 B 110 0010 b<br />

000 0011 ETX 010 0011 # 100 0011 C 110 0011 c<br />

000 0100 EOT 010 0100 $ 100 0100 D 110 0100 d<br />

000 0101 ENQ 010 0101 % 100 0101 E 110 0101 e<br />

000 0110 ACK 010 0110 & 100 0110 F 110 0110 f<br />

000 0111 BEL 010 0111 ' 100 0111 G 110 0111 g<br />

000 1000 BS 010 1000 ( 100 1000 H 110 1000 h<br />

000 1001 HT 010 1001 ) 100 1001 I 110 1001 i<br />

000 1010 LF 010 1010 * 100 1010 J 110 1010 j<br />

000 1011 VT 010 1011 + 100 1011 K 110 1011 k<br />

000 1100 FF 010 1100 , 100 1100 L 110 1100 l<br />

000 1101 CR 010 1101 - 100 1101 M 110 1101 m<br />

000 1110 SO 010 1110 . 100 1110 N 110 1110 n<br />

000 1111 SI 010 1111 / 100 1111 O 110 1111 o<br />

001 0000 DLE 011 0000 0 101 0000 P 111 0000 p<br />

001 0001 DC1 011 0001 1 101 0001 Q 111 0001 q<br />

001 0010 DC2 011 0010 2 101 0010 R 111 0010 r<br />

001 0011 DC3 011 0011 3 101 0011 S 111 0011 s<br />

001 0100 DC4 011 0100 4 101 0100 T 111 0100 t<br />

001 0101 NAK 011 0101 5 101 0101 U 111 0101 u<br />

001 0110 SYN 011 0110 6 101 0110 V 111 0110 v<br />

001 0111 ETB 011 0111 7 101 0111 W 111 0111 w<br />

001 1000 CAN 011 1000 8 101 1000 X 111 1000 x<br />

001 1001 EM 011 1001 9 101 1001 Y 111 1001 y<br />

001 1010 SUB 011 1010 : 101 1010 Z 111 1010 z<br />

001 1011 ESC 011 1011 ; 101 1011 [ 111 1011 {<br />

001 1100 FS 011 1100 < 101 1100 \ 111 1100 |<br />

001 1101 GS 011 1101 = 101 1101 ] 111 1101 }<br />

001 1110 RS 011 1110 > 101 1110 ^ 111 1110 ~<br />

001 1111 US 011 1111 ? 101 1111 _ 111 1111 DEL<br />

Tabelle 1. ASCII Zeichensatz<br />

Steuer- Bedeutung Steuer- Bedeutung<br />

zeichen<br />

Zeichen<br />

NUL NULL value DLE Data Link Escape<br />

SOH Start Of Heading DC Device Control<br />

STX Start of TeXt NAK Negative AcKnowledge<br />

ETX End of TeXt SYN SYNchronous Idle<br />

EOT End Of Transmission ETB End Of Tranmission<br />

Block<br />

ENQ ENQuiry CAN CANcel<br />

ACK ACKnowledge EM End of Medium<br />

BEL BELL SUB SUBstitue Character<br />

BS BackSpace ESC ESCape<br />

HT Horizontal Tabulation FS File Separator<br />

8


LF Line Feed GS Group Separator<br />

VT Vertical Tabulation RS Record Separator<br />

FF Form Feed US Unit Separator<br />

CR Carriage Return SP Space<br />

SO Shift-Out DEL DELete (rub out)<br />

SI Shift-In<br />

Tabelle 2. ASCII Steuerzeichen<br />

3.3 Informationsdarstellung im Computer<br />

Mit einem Byte lassen sich die ganzen Zahlen von 0 bis 255 darstellen. Für übliche Anwendungen<br />

reicht dies nicht aus. Mehrere Bytes werden deshalb in einem „Wort“ zus<strong>am</strong>mengefaßt. Ein Wort<br />

besteht aus genau der Anzahl von Bits, die im Computer gleichzeitig bearbeitet werden können. Bei<br />

heutigen Mikrocomputer sind 32 Bit als Wortbreiten, das entspricht 4 Bytes, üblich. Größere Wörter<br />

müssen in entsprechend mehreren Schritten bearbeitet werden. Mit den 32 Bits eines 4 Byte Wortes<br />

können demzufolge die positiven ganzen Zahlen von 0 bis 2 32 -1 = 4.294.967.295 dargestellt werden.<br />

3.4 Zahlensysteme<br />

Zahlen werden wie alle anderen Datentypen als Bitfolge gespeichert. Dazu müssen sie aus dem uns<br />

üblicherweise geläufigen Dezimalsystem in das Dualsystem umgerechnet werden. Daneben werden<br />

häufig auch das Oktalsystem (Basis 8) und das Hexadezimalsystem (Basis 16) verwendet. Die <strong>für</strong> das<br />

Dezimalsystem entworfenen Ziffern 0 bis 9 reichen <strong>für</strong> das Hexidezimalsystem nicht aus und werden<br />

um die Buchstaben A bis F zur Darstellung der Zahlen 10 bis 15 erweitert.<br />

2 8 10 16<br />

0 0 0 0<br />

1 1 1 1<br />

10 2 2 2<br />

11 3 3 3<br />

100 4 4 4<br />

101 5 5 5<br />

110 6 6 6<br />

111 7 7 7<br />

1000 10 8 8<br />

1001 11 9 9<br />

1010 12 10 A<br />

1011 13 11 B<br />

1100 14 12 C<br />

1101 15 13 D<br />

1110 16 14 E<br />

1111 17 15 F<br />

10000 20 16 10<br />

10001 21 17 11<br />

10010 22 18 12<br />

10011 23 19 13<br />

10100 24 20 14<br />

Darstellung von Zahlen in verschiedenen Zahlensystemen<br />

9


Beispiel zur Umrechnung einer Dezimal- in eine Dualzahl und umgekehrt:<br />

Dual nach Dezimal:<br />

2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0<br />

011001012 = 0 1 1 0 0 1 0 1 = 2 6 +2 5 +2 2 +2 0 = 10110<br />

Dezimal nach Dual:<br />

10110 =<br />

= 11001012<br />

3.5 Speicherung von Daten<br />

101 : 2 = 50 Rest 1<br />

50 : 2 = 25 Rest 0<br />

25 : 2 = 12 Rest 1<br />

12 : 2 = 6 Rest 0<br />

6 : 2 = 3 Rest 0<br />

3 : 2 = 1 Rest 1<br />

1 : 2 = 0 Rest 1<br />

3.5.1 Darstellung ganzer Zahlen, Komplement<br />

Ganze Zahlen, auch ‘integer’ genannt, werden in ein entsprechendes duales Bitmuster übertragen.<br />

Negative ganze Zahlen werden dargestellt, indem ein Bit <strong>für</strong> das Vorzeichen verwendet wird. Wird 0<br />

als positive Zahl definiert, lassen sich mit einem 4 Byte Wort die Zahlen von - 2 31 = - 2.147.483.648 bis<br />

2 31 -1 = 2.147.483.647 beschreiben.<br />

Da das Rechenwerk eines Computer nur eine begrenzte Genauigkeit besitzt, kann die Subtraktion<br />

auch auf eine Addition zurückgeführt werden. Dies erfolgt durch die sogenannte Komplementbildung.<br />

Z. B. stehe einem Rechenwerk 4 Binärstellen zur Verfügung. Die größte darstellbare Zahl ist deshalb<br />

15, die vierstellige Dualzahl 1111. Die erste gerade nicht mehr darstellbare Zahl ist C = 2 4 = 16, d.h.<br />

bei n darstellbaren Ziffern C = 2 n .<br />

Die Addition 15 + 1 ergibt in unserem Beispiel deshalb Null, da nur vier Ziffern dargestellt werden<br />

können:<br />

1111<br />

+ 0001<br />

0000<br />

D.h., die Subtraktion 15 - 5 = 10:<br />

1111<br />

- 0101<br />

1010<br />

kann auch durch die Addition 15 + 11 dargestellt werden:<br />

1111<br />

+ 1011<br />

1010<br />

10


Die erste Ziffer des vollständigen Ergebnisses 11010 fällt der Darstellungsgenauigkeit des<br />

Rechenwerkes zum Opfer. Das Komplement von 5 ist <strong>für</strong> dieses Beispiel also 11 = 16 - 5 oder,<br />

allgemein,<br />

Komplement = C - Zahl<br />

Das Komplement wird dadurch bestimmt, daß alle Bits invertiert werden (0 zu 1 und 1 zu 0) und dann<br />

eine 1 dazugezählt wird. Beispiel mit einem Rechenwerk von 7 Bit Darstellungsgenauigkeit:<br />

Dezimalzahl Dualzahl<br />

(7 Bits Genauigkeit,<br />

das 1. Bit <strong>für</strong> das Vorzeichen)<br />

11 00001011<br />

Inversion 01110100<br />

Addition von 1 01110101<br />

Komplement -11 11110101<br />

Gespeichert werden negative Zahlen als ihr Komplement.<br />

3.5.2 Gleitkommazahlen<br />

Gleitkommazahlen, auch ‘float’, ‘real’, oder ‘double precision’ genannt, werden halblogarithmisch<br />

dargestellt:<br />

x = M B e , z.B.:<br />

0,00123 = 0,123 10 -2 = 0,123 E-3<br />

1230,0 = 0,123 10 4<br />

= 0,123 E 4<br />

mit der Mantisse M, der Basis B und dem Exponenten e. So können Rechenungenaugigkeiten bei der<br />

Darstellung betragsmäßig sehr großer oder sehr kleiner Zahlen vermieden werden. Mantisse und<br />

Exponent werden natürlich dual gespeichert, wobei jeweils ein Bit <strong>für</strong> das Vorzeichen verwendet wird.<br />

D<strong>am</strong>it genügend Stellen <strong>für</strong> Mantisse und Exponent abgebildet werden können, werden <strong>für</strong><br />

Gleitkommazahlen üblicherweise zwei Worte gekoppelt, das entspricht 8 Byte oder 64 Bit. Man spricht<br />

dann von doppelter Genauigkeit. Von den 64 Bit werden dabei xx <strong>für</strong> die Mantisse und yy <strong>für</strong> den<br />

Exponent verwendet. Jeweils inklusive Vorzeichen. Der Aufwand beim Rechnen mit<br />

Gleitkommazahlen (floating point) ist deutlich höher als bei ganzen Zahlen. Eine übliche<br />

Leistungsangabe <strong>für</strong> das Rechnen mit Gleitkommazahlen sind sogenannte „Mflops“ (millions of<br />

floating point operations per second). Diese Angabe sind <strong>für</strong> rechenintensive Anwendungen im<br />

Ingenieurwesen (Finite Elemente, Grafik, CAD) von Bedeutung.<br />

3.5.3 weitere Datentypen<br />

Auch alle anderen hier nicht erwähnten Datentypen (z.B. Text, komplexe Zahlen, Strukturen) und auch<br />

Progr<strong>am</strong>manweisungen werden in entsprechenden Bitmustern und Interpretationsregeln auf Worte<br />

abgebildet und im Speicher abgelegt. Beim Betrachten des Inhalts eines Wortes kann ohne die<br />

zutreffende Interpretationsvorschrift nicht erkannt werden, um welche Art von Information es sich<br />

handelt. Dasselbe Bitmuster wird von den verschiedenen Operationseinheiten eines Computers<br />

unterschiedlich interpretiert: im Steuerwerk als Befehl, im Rechenwerk eventuell als Zahl oder Text<br />

und im „Floating Point Processor“ als Gleitkommazahl. Bitfolgen können auch in Dateien<br />

zus<strong>am</strong>mengefaßt und auf entsprechenden Datenträgern gespeichert werden. Oft kann aus dem<br />

N<strong>am</strong>en einer Datei bzw. aus einer speziellen Endung auf bestimmte Dateientypen geschlossen<br />

werden; z.B. .txt <strong>für</strong> ASCII-Dateien, .bmp <strong>für</strong> Bit-Maps usw. Andererseits gibt der Kopf, d.h. die ersten<br />

Zeilen, einer Datei Auskunft über die richtige Interpretation der folgenden Bitinformation.<br />

11


Textzeichen: Kodierung der Zeichen als Zahlenwerte nach dem ASCII-Code, Tabelle 1. Je Zeichen<br />

wird 1 Byte verwendet, es sind also 256 verschiedene Textzeichen möglich.<br />

Maschinenbefehle: Maschinenbefehle werden in einer prozessorspezifischen Verschlüsselung in<br />

Speicherworten abgelegt.<br />

Bildschirminhalte, ‘Bit-Maps’:<br />

Beispiel <strong>für</strong> einen „Bildschirm“ mit 8 Spalten und 7 Zeilen:<br />

........ 00000000<br />

..****.. 00111100<br />

..*..*.. 00100100<br />

..****.. zeilenweise übersetzt in ein Bitmuster: 00111100<br />

..*..*.. 00100100<br />

..*..*.. 00100100<br />

........ 00000000<br />

3.6 Speicherorganisation<br />

3.6.1 Speicherung binärcodierter Daten<br />

Der Arbeitsspeicher ist ein Speicher im Computer, in dem sowohl Progr<strong>am</strong>me als auch die Daten<br />

gespeichert werden. Man kann sich darunter eine lineare Anordnung von binären Speicherelementen<br />

vorstellen. Jedes Speicherelement kann ein Bit speichern, d.h. kann die Werte 0 oder 1 annehmen<br />

(bzw. die Schalterstellungen an oder aus).<br />

Speicherelemente werden zu größeren Einheiten zus<strong>am</strong>mengefaßt. Die Position einer Speichereinheit<br />

im Arbeitsspeicher ist durch ihre Adresse eindeutig bestimmt. Bleibt man bei der Vorstellung einer<br />

linearen Speicheranordnung, wie z.B. Häuser entlang einer Straße, so entsprechen die Adressen den<br />

Hausnummern und sind entsprechend ebenfalls in aufsteigender Folge numeriert. Die kleinste<br />

adressierbare Einheit ist eine Speicherzelle. Sie besteht in der Regel aus acht Bits, die zus<strong>am</strong>men ein<br />

Byte darstellen. Eine Speicherzelle kann d<strong>am</strong>it ein Zeichen des ASCII-Codes oder bis zu acht<br />

boolesche Daten aufnehmen. Eine bestimmte Anzahl von Byte wird zu einem Wort zus<strong>am</strong>mengefaßt,<br />

z.B. besteht ein Wort aus 4 Bytes aus insges<strong>am</strong>t 4 x 8 = 32 Bits. Mit der Wortlänge werden Computer<br />

klassifiziert. Ein 32-Bit-Rechner verarbeitet demnach 4-Byte lange Wörter als eine Einheit. In einem<br />

Wort können beispielsweise eine ganze Zahl oder mehrere Zeichen gespeichert sein.<br />

Die Speicherkapazität bzw. die Menge an Daten, die ein Speicher aufnehmen kann, wird<br />

üblicherweise in Byte gemessen. Tatsächliche Speichergrößen sind meist Zweierpotenzen. Unter<br />

einem Kilobyte (KB) versteht man 2 10 = 1024 Byte, wobei 1024 die der Zahl 1000 nächste<br />

Zweierpotenz ist. Entsprechend versteht man unter einem Megabyte (MB) 2 20 = 1.048.576 Byte. Ein<br />

Gigabyte (GB) entspricht 1024 MB = 2 30 Byte.<br />

Das folgende Beispiel zeigt sechs aufeinander folgende 32-Bit-Worte mit je vier Byte. Byte 0 - 11<br />

enthält den ASCII-Text „und tschuess“, Byte 12 bis 23 die Zahlen 28, 2 und 1998 als<br />

Ganzzahldarstellung.<br />

Adresse Speicherinhalt Klartext<br />

0 01110101 0110111 0110010 00100000 und<br />

0 0<br />

4 01110100 0111001 0110001 01101000 tsch<br />

1 1<br />

12


8 01110101 0110010 0111001 01110011 uess<br />

1 1<br />

12 00000000 0000000 0000000 00011100 28<br />

0 0<br />

16 00000000 0000000 0000000 00000010 2<br />

0 0<br />

20 00000000 0000000 0000011 11001110 1998<br />

0 1<br />

24 ... ... ... ...<br />

Arbeitsspeicherausschnitt mit adressierbaren Zellen von 1 Byte Länge<br />

3.6.2 Befehle und Progr<strong>am</strong>me im Speicher<br />

Progr<strong>am</strong>me bestehen aus befehlen, die solange konsekutiv abgearbeitet werden, bis eine<br />

Progr<strong>am</strong>mverzweigung eingeleitet wird oder das Progr<strong>am</strong>m an einem Endbefehl angekommen ist.<br />

Befehle bestehen in ihrer Struktur aus einem Operationsteil und einem Adreßteil. Meist werden<br />

Befehle in einem Wort dargestellt. Der Operationsteil definiert, welche Operation auszuführen ist. Der<br />

Adreßteil gibt die Speicherzelle an, in welcher der Operand gespeichert ist. Das folgende Bild skizziert<br />

das Aufbauschema eines Befehls:<br />

8 Bit 24 Bit<br />

Operationsteil Adreßteil<br />

Das Beispiel zeigt drei Befehle mit ihrem Operationsteil in einer mnemotechnischen Form, einem<br />

beispielhaften Adreßteil und einer kurzen Beschreibung des jeweiligen Befehls.<br />

Befehl Bedeutung<br />

LOAD 40210 Lade den Inhalt der Speicherzelle 40210 ins Rechenwerk.<br />

ADD 47836 Addiere Inhalt von Zelle 47836 zu dem im Rechenwerk stehenden Wert.<br />

STORE 90026 Speichere den im Rechenwerk stehenden Wert in Zelle 90026.<br />

Der Operationsteil eines Befehls ist im Computer nicht als Zeichenkette, sondern in Form einer<br />

Binärzahl codiert (z.B. LOAD = 1, STORE = 10). Man kann sich diese Repräsentation als<br />

Befehlsnummer vorstellen. Es gibt auch Befehle, die sich über mehrere Maschinenworte erstrecken,<br />

insbesondere solche, die mehrere Operanden im Adreßteil referenzieren.<br />

3.7 Datei<br />

In einer Datei (engl. File) werden Daten zus<strong>am</strong>mengefaßt. Eine Datei kann z.B. Text enthalten. Eine<br />

Datei hat grundsätzlich einen N<strong>am</strong>en, mit dem sie angesprochen wird. Die Konvention, nach der der<br />

N<strong>am</strong>en gebildet wird, ist vom Betriebssystem abhängig. Meist erhalten Dateien eine kurze<br />

Erweiterung (Extension), anhand derer man auf die Art der Daten schließen kann. Die Datei<br />

„Manuskript.txt“ ist z.B. eine Textdatei. Alle Arten von Daten, die dauerhaft gespeichert werden sollen,<br />

werden in Dateien zus<strong>am</strong>mengefaßt.<br />

Dateien sind nach gewissen Regeln aufgebaut, die sich nach den gespeicherten Daten richtet. Die<br />

Daten können nur dann richtig interpretiert werden, wenn diese Regeln bekannt sind. Häufig sind<br />

Dateien aus einem Header und dem eigentlichen Datenbereich aufgebaut. Der Header steht immer<br />

<strong>am</strong> Anfang der Datei. Er hat eine festgelegte Struktur. Er gibt an, wie die Daten in der Datei geordnet<br />

sind, was sie darstellen und wie umfangreich sie sind.<br />

13


Gebräuchliche Extensions:<br />

Extension Bedeutung<br />

txt ASCII-Datei<br />

doc, rtf Textverarbeitung<br />

html Hyper Text Datei<br />

bmp, gif, tif, jpg Grafik Dateien<br />

wav, ai, mid Klangdateien<br />

exe ausführbares Progr<strong>am</strong>m<br />

xls Excel Datei<br />

3.8 Datenkompression<br />

Dateien können sehr umfangreich sein. Die Kapazitäten selbst großer Speichermedien sind dabei<br />

schnell erreicht, oder die Übertragung großer Dateien über Netzwerke oder auf Disketten erweist sich<br />

als zeit- und ressourcenaufwendig und teuer (z.B. Telefonkosten). Es wurden deshalb Verfahren<br />

entwickelt, mit denen man die langen Bitfolgen einer Datei in kürzere umwandeln kann. Man spricht<br />

dabei von Datenkompression oder zippen (ein gebräuchliches Kompressionsprogr<strong>am</strong>m ist z.B.<br />

WinZip). Die Datenkompression ist reversibel. Dagegen läßt sich die ursprüngliche Bitfolge nach einer<br />

Datenreduktion nicht wieder vollständig herstellen. Eine Datenreduktion kommt z.B. bei Bildern in<br />

Frage. Der Datenumfang kann hier bis auf 5-10% verringert werden, ohne daß ein Qualitätsverlust<br />

wahrgenommen wird. Gewöhnlicher Text kann durchschnittlich auf 40% seines Ausgangsvolumens<br />

komprimiert werden. Ausführbare Progr<strong>am</strong>me (exe-Dateien) auf etwa 50%. Dateien weisen<br />

typischerweise wiederkehrende Bitfolgen auf. Die Kompressionsmethoden machen sich diesen<br />

Umstand zu nutze und ersetzen diese Bitfolgen durch eine kürzere Information. Der Datenumfang wird<br />

geringer, um so mehr, wie sich Bitfolgen wiederholen. Eine Folge aus echten Zufallszahlen kann<br />

deshalb prinzipiell nicht komprimiert werden.<br />

3.9 Datenverschlüsselung<br />

Die Datenverschlüsselung gewinnt in der modernen Telekommunikation immer mehr an Bedeutung.<br />

Daten werden über öffentliche Computernetze an einen bestimmten Adressaten geschickt und sollen<br />

nicht von anderen gelesen werden können. Die Daten werden deshalb verschlüsselt.<br />

Unverschlüsselte Daten nennt man Klartext, verschlüsselte Chiffrat. Bei der Verschlüsselung werden<br />

der Klartext und der Schlüssel (ebenfalls eine Folge von Bits) mit mathematischen Operationen<br />

verknüpft und in eine neue Folge von Bits, dem Chiffrat, umgewandelt. Bei der Entschlüsselung<br />

verfährt man umgekehrt. Der Schlüssel muß Sender und Empfänger bekannt sein. Er besteht<br />

üblicherweise aus 56 bis 1.024 Bits und wird meist aus einer Folge von Buchstaben und Zahlen<br />

dargestellt. Wird derselbe Schlüssel <strong>für</strong> Ver- und Entschlüsselung verwendet, spricht man von einem<br />

symmetrischem Verschlüsselungsverfahren. Das Problem dieses Verfahrens ist, das der Schlüssel<br />

dem Partner zugestellt werden muß. Dabei kann er in falsche Hände geraten; das Verfahren ist<br />

unsicher. Werden dagegen verschiedene Schlüssel verwendet, bezeichnet man die Methode als ein<br />

asymmetrisches Verschlüsselungsverfahren (RSA-Verfahren, nach seinen Erfindern Rivest, Sh<strong>am</strong>ir<br />

und Adleman). Dabei übergibt der Empfänger einer chiffrierten Nachricht dem Absender einen<br />

Schlüssel, mit dem der Absender die Nachricht verschlüsselt. Dieser Schlüssel kann durchaus<br />

öffentlich bekannt sein (public key), da der Absender nicht in der Lage ist, mit seinem Schlüssel oder<br />

auf andere Weise das Chiffrat wieder zu entschlüsseln. Nur der Empfänger ist mit seinem geheimen<br />

Schlüssel dazu in der Lage. Da der geheime Schlüssel bei diesem Verfahren nicht übertragen werden<br />

muß, kann er auch nicht abgehört werden. Bekannte Methoden, die auf dem RSA-Verfahren beruhen<br />

sind z.B. Data Encryption Standard (DES) und der modernere International Data Encryption Algorithm<br />

(IDEA). Bei der Verwendung von Verschlüsselungsprogr<strong>am</strong>men muß man darauf vertrauen, daß nicht<br />

geheime Zugänge zur unqualifizierten Entschlüsselung eingebaut sind. Kontrollieren kann man dies<br />

nur, wenn man Einblick in den Quellcode des Progr<strong>am</strong>mes hat. Dies ist der Fall bei dem Progr<strong>am</strong>m<br />

PGP (Pretty Good Privacy), das kostenlos verfügbar ist.<br />

14


Das RSA-Verfahren wird in umgekehrter Richtung verwendet, um sicherzustellen, daß ein<br />

elektronisches Dokument auch tatsächlich von einer bestimmten Person st<strong>am</strong>mt. Hier verschlüsselt<br />

der Absender das Dokument mit seinem geheimen Schlüssel. Wer das Dokument auf seine Echtheit<br />

prüfen will, kann es mit dem bekannten öffentlichen Schlüssel entschlüsseln. Eine zusätzliche<br />

Sicherheit ist eine Quersumme über alle Bits des Dokuments, die sog. check sum oder Prüfsumme.<br />

Wenn an den Daten manipuliert wurde stimmt die Quersumme nicht mehr.<br />

15


4 Aufbau und Betrieb von Computern<br />

4.1 von-Neumann-Computer<br />

Der technische Aufbau eines Computers, die sogenannte Rechnerarchitektur, bestimmt maßgeblich<br />

Leistungsfähigkeit (absolute Rechenleistung), Effizienz (relative Rechenleistung bzgl. der<br />

Hardwarekosten), Ökonomie (z.B. direkter Speicherzugriff) und die Kosten <strong>für</strong> ein lauffähiges System.<br />

Grundsätzlich unterscheidet man zwei typische Rechnerarchitekturen: die von Neumann-Architektur<br />

und die Ein Rechner besteht aus Steuerwerk, Rechenwerk, Speicher, Ein- und Ausgabewerk<br />

(Schnittstellen);<br />

Eingabewerk Arbeitsspeicher Ausgabewerk<br />

Rechenwerk<br />

Steuerwerk<br />

Steuersignal<br />

Datensignal<br />

• das Rechensystem ist unabhängig vom Problem, das darauf abgearbeitet werden wird. Sollen<br />

verschiedene Aufgaben auf einem Rechensystem gelöst werden, so geschieht dies durch<br />

Austausch des Progr<strong>am</strong>ms;<br />

• Befehle (Rechneranweisungen) und Operanden (z.B. Konstante bzw. Variablen) sind im selben<br />

Speicher untergebracht;<br />

• die Progr<strong>am</strong>mausführung erfolgt durch das sequentielle Abarbeiten der Befehle im Speicher.<br />

Sprungbefehle zur Abweichung von der gespeicherten Reihenfolge der Befehle sind möglich.<br />

Die wesentliche Eigenschaft des von Neumann-Rechners ist, daß sich Befehle und Operanden<br />

denselben Speicherraum teilen. Zur Befehlsausführung sind in der Regel zwei Speicherzugriffe<br />

notwendig. Dagegen stellt die Harvard-Architektur <strong>für</strong> Befehle und Operanden getrennte Speicher und<br />

Busse zurVerfügung, Befehl und Operand können gleichzeitig geladen werden. Dadurch wird die<br />

Rechenleistung enorm gesteigert. Allerdings steigt der technische Aufwand stark an, weshalb die<br />

Harvard-Architektur nur selten eingesetzt wird.<br />

4.2 Funktion der Komponenten<br />

Der Arbeitsspeicher dient dem temporären Halten von Daten und Progr<strong>am</strong>men. Das Steuerwerk holt<br />

zur Ausführung eines Progr<strong>am</strong>mes Befehl <strong>für</strong> Befehl aus dem Speicher und stößt das Rechenwerk an.<br />

Weiter veranlaßt es den Speicher, je nach Befehl, Operanden dem Rechenwerk zuzuführen und<br />

ergebnisse in den Speicher zurückzuschreiben. Ein- und Ausgabewerk werden ebenfalls vom<br />

Steuerwerk gesteuert. Das Rechenwerk führt die konkreten Operationen aus, die zu einem Befehl<br />

gehören. Rechenwerk und Steuerwerk zus<strong>am</strong>men nennt man Prozessor oder auch CPU (Central<br />

Processing Unit).<br />

Die Komponenten Prozessor, Speicher und periphere Geräte eines Computers können über eine Art<br />

„S<strong>am</strong>melschiene“, genannt Systembus oder kurz Bus, gekoppelt werden:<br />

16


Arbeitsspeicher Prozessor E/A-Gerät E/A-Gerät<br />

Eine Busstruktur hat gegenüber einer netzwerkartigen Kopplung den Vorteil, daß Leitungen gespart<br />

werden. Beim Aufbau eines Computers mit Busstruktur muß sichergestellt werden, daß zu einem<br />

Zeitpunkt nur eine Übertragung stattfindet. Man unterscheidet bei einem Systembus aufgrund der<br />

verschiedenen Informationsarten zwischen den Busteilen Datenbus, Adreßbus und Steuerbus.<br />

Computer können auch als Mehrbussysteme aufgebaut sein.<br />

4.3 Der Mikroprozessor (CPU)<br />

Der Mikroprozessor (die CPU, Central Processing Unit) enthält das vollständige Steuer- und<br />

Rechenwerk. Er verfügt selbst über gewisse Speicherzellen, den sog. Registern, die <strong>für</strong> die<br />

Speicherung der Steuerbefehle und Operanden verwendet werden. Je nach Prozessorarchitektur<br />

haben Register Wortlängen von 8, 16, 32 oder 64 Bit. Nach Einsatzgebiet unterscheidet man:<br />

• Befehlsregister (Steuerwerk):<br />

enthält den nächsten ausführbaren Befehl. Es enthält einen Operationsteil und einen Adreßteil.<br />

Der Operationsteil überträgt die Operation zum Rechenwerk, der Adreßteil adressiert die zur<br />

Befehlsausführung benötigten Daten im Arbeitsspeicher.<br />

• Befehlszählregister (steuerwerk):<br />

ist an den Adreßbus angeschlossen und gibt die Adresse des nächsten Befehls im<br />

Arbeitsspeicher an.<br />

• Datenregister (Rechenwerk):<br />

dienen zur kurzzeitigen Speicherung von Daten im Rechenwerk zur Ausführung von<br />

arithmetischen und logischen Operationen.<br />

Man unterscheidet Mikroprozessoren hinsichtlich<br />

• Befehlsvorrat des Rechenwerks (CISC, RISC)<br />

• Registerbreite (8, 16, 32, 64 bit, auch <strong>für</strong> den Adreßraum entscheidend)<br />

• Arbeitsgeschwindigkeit (Taktfrequenz, Anzahl der Arbeitsschritte pro Zeiteinheit)<br />

• Busbreite (Anzahl der parallelen Datenleitungen zwischen Prozessor und Arbeitsspeicher)<br />

4.3.1 das Steuerwerk<br />

Das Steuerwerk steuert die Abfolge bei der Progr<strong>am</strong>mausführung. Es überträgt aus dem<br />

Arbeitsspeicher Befehle und Daten an das Rechenwerk und umgekehrt, bzw. steuert es die Ein- und<br />

Ausgabeeinheiten an. Die Progr<strong>am</strong>mausführung ist ein zyklischer Vorgang mit den Phasen<br />

(Prozeßsequenz):<br />

1.) nächsten Befehl holen<br />

2.) Befehl ausführen<br />

Systembus<br />

Man unterscheidet Transportbefehle, Arithmetische Befehle und Sprungbefehle. Jeder Schritt der<br />

Progr<strong>am</strong>mausführung wird in Maschinenbefehle umgesetzt. Komplexere Befehle können mehrere<br />

Maschinenbefehle benötigen.<br />

4.3.2 das Rechenwerk<br />

Das Rechenwerk verfügt über einen definierten Befehlssatz, der auf die zugeführten Daten<br />

angewendet wird. Man unterscheidet Integer- und Floating-Point Rechenwerke. Komplexe Befehle<br />

können oft nur in mehreren, zeitintensiven Arbeitsschritten abgearbeitet werden. Moderne<br />

Prozessoren verfügen deshalb nur über einen relativ kleinen Satz von Befehlen, die jeweils in einem<br />

Arbeitsschritt bzw. Takt abgearbeitet werden können.<br />

17


4.3.3 CISC-Mikroprozessor<br />

Diese Mikroprozessoren verfügen über einen sehr großen und komplexen Befehlssatz mit in der<br />

Regel mehr als 200 Maschinenbefehlen (CISC, Complex Instruction Set Computer). Da jeder Befehl<br />

auf dem Chip durch entsprechende Hardware-Schaltungen verwirklicht werden muß, ist diese<br />

Technologie entsprechend aufwendig und teuer. Darüberhinaus ist die Abarbeitung komplexer<br />

Befehle in mehreren Arbeitsschritten relativ langs<strong>am</strong>. Deshalb gilt diese Technologie inzwischen als<br />

überholt.<br />

4.3.4 RISC-Mikroprozessor<br />

Analysen von Progr<strong>am</strong>mabläufen zeigten, daß viele der speziellen Befehle eines CISC-Prozessors<br />

nur relativ selten ausgeführt werden. Die RISC-Technologie (Reduced Instruction Set Computerk) hält<br />

dagegen nur die Befehle vor, die häufig vorkommen und in einem Arbeitsschritt abgearbeitet werden<br />

können. Komplexe Befehle müssen in diesem Fall softwareseitig als eine Folge der verfügbaren<br />

Grundbefehle umgesetzt werden. Dadurch jedoch, daß auf einem Prozessor-Chip gegenüber dem<br />

CISC-Chip weniger Befehle implementiert werden müssen, ist man in der Lage, den reduzierten<br />

Befehlssatz hinsichtlich der Ausführungsgeschwindigkeit zu optimieren. Insges<strong>am</strong>t beweist sich<br />

deshalb die RISC- als der CISC-Technik weit überlegen.<br />

4.3.5 Leistungsmaße<br />

Folgende Leistungsmaße <strong>für</strong> Mikroprozessoren sind gebräuchlich<br />

• MIPS (Million Instructions Per Second):<br />

Anzahl der bearbeiteten Maschinenbefehle pro Sekunde. In der Regel wird bei der Angabe der<br />

Rechenleistung in MIPS die Dauer des kürzesten Befehls genommen und auf eine Sekunde<br />

hochgerechnet. Man erhält so die maximal mögliche Rechenleistung des Prozessors, die in<br />

Wirklichkeit nur in Ausnahmefällen erreicht werden kann. Eine nicht unbedingt realistische<br />

Maßzahl.<br />

• MFLOP (Million Floating Point Operations Per Second):<br />

Anzahl der Gleitkommazahloperationen, die pro Sekunde durchgeführt werden können. Eine<br />

Angabe, die <strong>für</strong> rechenintensive Ingenieuranwendungen bedeuts<strong>am</strong> ist und i.d.R. den MIPS<br />

vorzuziehen ist.<br />

• SPEC<br />

• DHRYSTONE:<br />

Ein sogenannter Benchmark Test zur realistischen Beurteilung der Rechenleistung durch kleine<br />

charakteristische Progr<strong>am</strong>me aus einem Befehlsmix aus 51% Zuweisungen, 33%<br />

Steueranweisungen und 16% Funktionsaufrufen. Benchmarks testen bis auf wenige<br />

Ausnahmen nicht den Mikroprozessor alleine, sondern die ges<strong>am</strong>te Hardwarestruktur. Es gibt<br />

eine ganze Reihe von Benchmarks <strong>für</strong> die verschiedensten Anforderungen. Vorsicht: die so<br />

ermittelten Leistungswerte verschiedener Rechner sind nur dann vergleichbar, wenn sämtliche<br />

Voraussetzungen übereinstimmen. Kritisch ist dabei z.B.. der verwendete Compiler.<br />

4.3.6 Entwicklung der Mikroprozessor<br />

Entwicklung der Mikroprozessoren <strong>am</strong> Beispiel von INTEL und MOTOROLA<br />

INTEL MOTOROLA<br />

1974 8080 Register: 8 Bit<br />

Bus: 8/16<br />

(Daten/Adresse)<br />

3 MHz<br />

1979 8086/87 Register: 16 Bit<br />

Bus: 16/20<br />

1979 M68000 Register: 32 Bit<br />

Bus: 16/24<br />

10 MHz<br />

8(-19) MHz<br />

1983 80286/287 Register: 16 Bit 1983 M68010 Reguster: 32 Bit<br />

18


1986 80386/387<br />

Bus: 16/24<br />

12 MHz<br />

Register: 32 Bit<br />

Bus: 32/32 Bit<br />

20 (-50) MHz<br />

1989 i486 Register: 32 Bit<br />

Bus: 32/32 Bit<br />

33 (-100) MHz<br />

1992 i586 (P5) Register: 32 Bit<br />

(Pentium) Bus: 32/32 Bit<br />

60 (-200) MHz<br />

1995 P6 (Ppro) Register: 32 Bit<br />

Pentium Pro Bus: 64/36<br />

133 (-200) MHz<br />

200er: 6,8 SPECfp95<br />

1997 Pentium-<br />

Prozessoren mit<br />

MMXT (Multi-Media-<br />

eXtension)<br />

0,25 µm-Technologie<br />

300-333 MHz<br />

1998 64 Bit, Gemein-<br />

schaftsprojekt mit HP<br />

1985 M68020<br />

Bus: 18/24<br />

12,5 MHz<br />

Register: 32 Bit<br />

Bus: 32/32<br />

15 (-25) MHz<br />

1987 M68030 Register: 32 Bit<br />

Bus: 32/32 Bit<br />

20 (-33) MHz<br />

1990 M68040<br />

POWERPC<br />

PPC-601<br />

Register: 32 Bit<br />

Bus: 32/32 Bit<br />

40 MHz<br />

PPC-603e 166-200 MHz<br />

0,35 µm-Technologie<br />

PPC-604e 180 MHz<br />

5,0 SPECfp95<br />

225 MHz<br />

1997 PPC-G3 30 Mio. Transistoren<br />

300-400 MHz<br />

1999 PPC-G4 50 Mio. Transistoren<br />

0,18 µm-Technologie<br />

500 MHz<br />

4.4 Speicher<br />

Es gibt zwei unterschiedliche Anforderungsprofile <strong>für</strong> Speicher in einem Computer: (i) Speicher <strong>für</strong> die<br />

schnelle und direkte Verfügbarkeit von Daten und Progr<strong>am</strong>men in Kommunikation mit Steuer- und<br />

Rechenwerk bei der Abarbeitung von Progr<strong>am</strong>men, die Arbeitspeicher, und (ii) die dauerhafte<br />

Archivierung von meist großen Datenmengen mit einer weniger bedeuts<strong>am</strong>en Zugriffszeit, die<br />

Massenspeicher. Arbeitsspeicher sind typischerweise aus Halbleiterelementen (Transistoren)<br />

aufgebaut. Man unterscheidet dabei flüchtige und nicht-flüchtige Speicher.<br />

4.4.1 Flüchtige Speicher<br />

Flüchtige Speicher werden aus RAM-Bausteinen (RAM, Random Access Memory) aufgebaut. Sie<br />

erlauben einen wahlfreien Zugriff (random access), d.h. der Zugriff auf jede Speicherzelle erfordert<br />

dieselbe Zeit. In RAM-Speichern können Daten eingeschrieben und ausgelesen werden. Weiter<br />

unterscheidet man statische und dyn<strong>am</strong>ische RAM-Speicher.<br />

4.4.1.1 Statische RAM-Speicher<br />

Die Speicherelemente der statischen RAM-Speicher (SRAM, Static Random Access Memory) sind<br />

sog. Flip-Flop-Speicherzellen, welche die beiden Zustände 0 und 1 in Abhängigkeit einer<br />

Steuerleitung einnehmen können. Der jeweilige Zustand bleibt solange erhalten, bis eine andere<br />

Information eingeschrieben, oder die Versorgungsspannung abgeschaltet wird. Solange dies nicht<br />

geschieht, bleibt der Speicherzustand unbegrenzt, d.h. statisch, erhalten. Der Vorteil dieser<br />

Speicherzellen ist, daß sie sehr schnell sind, d.h. daß sie sehr kurze Zugriffszeiten besitzen. Darunter<br />

versteht man die Zeit, die das Bauteil nach dem Anlegen der Adressen <strong>für</strong> die Bereitstellung der<br />

Information benötigt. Statische RAM sind dagegen relativ größer als dyn<strong>am</strong>ische, obwohl heute<br />

bereits mehr als Millionen solcher Speicherzellen auf einem Chip integriert sind. Das entspricht<br />

ungefähr 24 Millionen Transistorfunktionen. Der Einsatzbereich <strong>für</strong> statische RAM-Speicher ist<br />

19


gegeben, wenn eine hohe Geschwindigkeit und kein allzu großer Speicherbedarf erforderlich sind, wie<br />

z.B. bei den Cache-Speichern.<br />

4.4.1.2 Dyn<strong>am</strong>ische RAM-Speicher<br />

Dyn<strong>am</strong>ische RAM-Speicher (DRAM, Dyn<strong>am</strong>ic Random Access Memory) sind aus<br />

Substratkondensatoren aufgebaut. Diese können in äußerst kleinen Abmessungen hergestellt werden.<br />

Dabei läßt sich jedoch ein Ladungsabfluß nicht vermeiden. Dyn<strong>am</strong>ische RAM-Speicher müssen<br />

deshalb regelmäßig, d.h. etwa all 10 ms aufgefrischt werden. In dieser Zeit kann nicht auf die<br />

gespeicherte Information zugegriffen werden, weshalb diese Speicher verhältnismäßig langs<strong>am</strong> sind.<br />

Infolge des geringen Platzbedarfs einer Speicherzelle sind jedoch höchste Packungsdichten möglich.<br />

Zur Zeit können mehr als 256 Millionen dieser Speicherzellen auf einem Chip untergebracht werden.<br />

Sie werden deshalb vor allem in Hauptspeichern eingesetzt, da sie trotz der zusätzlichen<br />

Ansteuerlogik (Aufrischen der Speicherzellen), den besten Kompromiß aus Schnelligkeit, Platz- und<br />

Energiebedarf sowie Kosten darstellen.<br />

4.4.1.3 Physikalische Realisierung der Speicherinhalte<br />

Daten jeder Art werden als Bitmuster der Werte „0“ und „1“ dargestellt. Dies wird in den Halbleitern<br />

durch elektrische Spannung dargestellt. Keine Spannung bedeutet „0“, eine Spannung von 2, 3 oder 5<br />

Volt bedeutet „1“. Da beim Umschalten von „0“ nach „1“ oder umgekehrt sich der neue<br />

Spannungszustand erst einpendeln muß, kann der Speicherzustand erst nach einer gewissen Zeit<br />

nach dem Umschalten abgefragt werden. Die Dauer dieser Umschaltvorgänge werden durch eine<br />

innere Uhr erzeugt. Die Anzahl der Umschaltvorgänge pro Sekunde ergeben die Taktfrequenz des<br />

Computers. Die Taktfrequenz ist wesentlich <strong>für</strong> die Beurteilung der Arbeitsgeschwindigkeit des<br />

Computers. Moderne PC’s erreichen ein Taktfrequenz von bis zu 200 MHz. Die aktuellsten Zahlen<br />

entnimmt man <strong>am</strong> besten den Werbebeilagen der Tagespresse.<br />

4.4.2 Nicht-flüchtige Speicher<br />

Nicht-flüchtige Speicher behalten ihre Information, auch wenn die Versorgungsspannung abgeschaltet<br />

ist. Der Speicherinhalt wird von einem von der Betriebsspannung unabhängigen Prozeß in den Chip<br />

geschrieben. Dies bedeutet andererseits, daß die Information während des Betriebs i.d.R. nur<br />

ausgelesen werden kann. Wird die Information bei der Herstellung irreversibel in den Speicher<br />

geschrieben, spricht man deshalb von einem ROM-Speicher (Read Only Memory). PROM’s<br />

(Progr<strong>am</strong>mable Read Only Memory) können nach der Herstellung, jedoch nur einmal progr<strong>am</strong>miert<br />

werden. Dagegen kann bei EPROM’s (Erasable Progr<strong>am</strong>mable Read Only Memory) und EEPROM’s<br />

(Electrically Erasable Progr<strong>am</strong>mable Read Only Memory) der Speicherinhalt auch wieder gelöscht und<br />

der Speicher neu belegt werden. Der Vorgang ist jedoch i.d.R: nicht beliebig oft wiederholbar. Bei<br />

EEPROM’s werden bis zu 100.000 Löschzyklen erreicht. Eingesetzt werden EPROM’s und<br />

EEPROM’s dort, wo anlagenspezifische Daten gehalten werden müssen, z.B. Sendereinstellungen bei<br />

Autoradios.<br />

4.4.3 Arbeitsspeicher<br />

Arbeitsspeicher sind die Speicher, mit denen der Prozessor unmittelbar kommuniziert. D.h.,<br />

Arbeitsspeicher sind entsprechend schnelle Speicher, da ihre Zugriffszeiten die<br />

Ges<strong>am</strong>tgeschwindigkeit des Computers wesentlich beeinflussen.<br />

4.4.3.1 Hauptspeicher<br />

Der Hauptspeicher ist der wichtigste Speicherteil des Computers. Hier werden alle Daten zwischenund<br />

alle Progr<strong>am</strong>me bzw. Progr<strong>am</strong>mteile ablauffähig gespeichert. Der Hauptspeicher ist i.d.R. aus<br />

DRAM-Speicherbauteilen aufgebaut. Übliche Kapazitäten der Hauptspeicher werden von den ständig<br />

steigenden Anforderungen der Betriebssysteme und der Anwendungssoftware bestimmt. Z. B.<br />

20


empfiehlt es sich, einen mit Windows 95 betriebenen Rechner mit 32 MB Arbeitsspeicher oder sogar<br />

mehr auszustatten. Für spezielle Aufgaben ausgestattete PC´s können über weit mehr Hauptspeicher<br />

verfügen, sogenannte „Number Cruncher“ über 256 MB oder noch mehr. Die Hauptspeicher moderner<br />

„Workstation“ Computer sind den Anfoderungen an einen leistungsstarken Arbeitsplatzrechner<br />

entsprechend bis in den Gigabyte-Bereich ausgestattet, Großrechner entsprechend mehr. Absolute<br />

Größen anzugeben fällt zunehmend schwer, da die Innovationszyklen der Computertechnologie<br />

immer kürzer werden und Zahlen von heute morgen schon als völlig überholt sind. Die maximale<br />

Größe des Hauptspeichers wird durch den zur Verfügung stehenden Adreßraum bestimmt. Ein 32-Bit-<br />

Prozessor mit 32 Adressleitungen (s. Bussysteme) kommt auf einen Adreßraum von 4 GB, d.h. immer<br />

noch ein vielfaches der heute üblichen Speichergrößen. Wichtig ist, daß die Zugriffszeit zu allen<br />

Speicherzellen gleich ist.<br />

4.4.3.2 Cache-Speicher<br />

Der Zeitaufwand <strong>für</strong> einen Zugriff auf den Arbeitsspeicher ist <strong>für</strong> die Geschwindigkeit der<br />

Befehlsbearbeitung von signifikanter Bedeutung. Deshalb werden Zwischenspeicher <strong>für</strong> Befehle und<br />

Daten mit schnelleren Zugriffszeiten, sog. Cache-Speicher (Cache, engl. Versteck), zwischen<br />

Arbeitsspeicher und Steuerwerk angeordnet. Der Geschwindigkeitszuwachs resultiert daraus, daß das<br />

Laden des Cache von der Arbeitsweise des Steuerwerks entkoppelt werden kann. Dies macht sich<br />

insbesondere dann bemerkbar, wenn ganze Datenblöcke auf einmal transferiert werden, sog.<br />

Blocktransfer. Dies ist erheblich effizienter als das separate Ansprechen einzelner Zellinhalte.<br />

Andererseits müssen Datentransfer und Progr<strong>am</strong>mablauf nicht zeitlich synchron ablaufen. Nach den<br />

Registern des Mikroprozessors ist der Cache der schnellste Speicher. Er wird typischerweise deutlich<br />

kleiner als der Arbeitsspeicher gewählt und als SRAM realisiert. Üblich sind z.Zt. Cache-Speicher in<br />

der Größe von 256 KB bei einer Zugriffszeit weniger als 15 ns.<br />

4.4.3.3 virtueller Speicher<br />

Trotz seiner beachtlichen Größe reicht der Arbeitsspeicher nicht aus, um größere Datenmengen zu<br />

speichern oder ein bzw. mehrere Progr<strong>am</strong>me gleichzeitig abzuarbeiten. Das führt dazu, daß die<br />

Anwenderprogr<strong>am</strong>mme auf einen größeren Adreßbereich zugreifen als physikalisch vorhanden ist und<br />

dekodiert werden kann. Die Zuordnung dieser sogenannten virtuellen Adressen zu physikalischen<br />

Adressen übernimmt in der Hardware die Memory Management Unit (MMU). Es befindet sich immer<br />

nur ein Teil des Progr<strong>am</strong>ms im Arbeitsspeicher, der Rest ist auf den Sekundärspeicher (Festplatte)<br />

ausgelagert und befindet sich im virtuellen Speicher. Grundsätzlich werden dabei die virtuellen und<br />

physikalischen Speicher in Blöcke jeweils gleicher Größe unterteilt, den sogenannten Seiten. Die<br />

Seiten (pages) werden vom Sekundärspeicher (Festplatte) in die einzelnen Blöcke des<br />

Arbeitsspeichers, den Page Fr<strong>am</strong>es, übertragen. Den Vorgang nennt man paging oder swapping. Er<br />

ist sehr zeitaufwendig, da Speicherinhalt vom Arbeitsspeicher auf Festplatte und umgekehrt<br />

transferiert werden muß. Das Verhältnis der Größe des Arbeitsspeichers zur Größe der<br />

Anwenderprogr<strong>am</strong>me und der dabei typischerweise verarbeiteten Datenmengen aber auch die<br />

Speicherzugriffstechniken der Algorithmen wirken sich direkt auf das paging-Verhalten des Rechners<br />

aus und beeinflussen die notwendige Auslegung des Arbeitsspeichers. Ein Rechner, auf dem z.B.<br />

häufig große Finite Element Berechnungen durchgeführt werden, sollte deshalb auch zur<br />

Verringerung des Paging mit einem entsprechend großen Arbeitsspeicher ausgestattet sein. Die<br />

Paging-Technik wirkt sich auch auf die erforderliche Größe der Festplatte aus. Es sollte stets<br />

genügend Platz <strong>für</strong>s Paging vorhanden sein, üblicherweise ein mehrfaches des Arbeitsspeichers. D.h.,<br />

ein Rechner mit großem Arbeitsspeicher muß allein aus dieser Überlegung heraus über<br />

entsprechende Festplattenkapazitäten verfügen. Auch hier ist es schwierig, konkrete Zahlen<br />

anzugeben. Es empfiehlt sich im Einzelfall die spezifischen Anforderungen mit den Hard- und<br />

Software-Herstellern bzw. Lieferanten zu besprechen und den Rechner entsprechend zu<br />

konfigurieren.<br />

21


4.4.3.4 Weitere Begriffe<br />

SIMM: Single Inline Memory Module ( SIMM ), SIMMs haben auf beiden Seiten des<br />

Boards Kontakte welche miteinander verbunden sind. Demnach hat ein 72-Pin-<br />

SIMM 144 Kontaktflächen von denen jedoch nur 72 elektrisch relevant sind.<br />

DIMM: Ein Dual Inline Memory Modul ( DIMM ) hat auf beiden Seiten des Boards je 84<br />

einzelne Kontakte. Durch die insges<strong>am</strong>t 168 Pins kann gegenüber 72-Pin-SIM-<br />

Modulen ein grösserer Adressbereich adressiert werden (64 bit anstatt 32 bit<br />

ohne Parity bzw. 72 bit anstatt 36 bit mit Parity). Module dieser Bauart werden<br />

in Zukunft an Popularität gewinnen und bald als Standard im Bereich PC und<br />

Server eingesetzt werden.<br />

Flash Memory: Ein "Blitz"-Speicher ist ein nichtflüchtiger Speicher, der Daten über einen langen<br />

Zeitraum, auch ohne Stromversorgung, speichern kann. Diese Eigenschaft<br />

unterscheidet Flash-RAM von DRAM die einen Refresh benötigen. Die<br />

Lesedaten- Zugriffsgeschwindigkeit gleicht der von DRAMs. Die Schreib- und<br />

Löschgeschwindigkeiten sind erheblich langs<strong>am</strong>er als die von DRAMs. Flash<br />

Memory ist als SIMM, PC-Card (PCMCIA), Compact Flash (CF) Card, Miniature<br />

Card (MC), Solid State Floppy Disc Card (SSFDC) und anderen Modulen<br />

erhältlich. Flash-Module werden in Notebooks, Network-Routern, Druckern,<br />

PDAs und Digitalk<strong>am</strong>eras meist als Massenspeicher verwendet.<br />

FPM DRAM: Fast Page Mode (FPM) Dyn<strong>am</strong>ic Random Access Memory (DRAM). Dieser<br />

Speicher kann Datenblöcke (Pages) ohne das zeitraubende ständige Neuladen<br />

der kompletten Adresse schneller als herkömmliche DRAMs ausgeben. Dieser<br />

Chip hat die Standard DRAMs nahezu komplett verdrängt.<br />

EDO DRAM: Extended Data Output, vergleichbar mit dem FPM DRAM. Extended Data Out<br />

bedeutet, daß im Gegensatz zum Fast-Page Speicher die Daten an den<br />

Ausgängen auch dann noch gehalten werden während eine neue Adresse<br />

geladen wird. Daher können die Zykluszeiten verkürzt werden.<br />

Level 0 Cache: Entkoppelt den Datenstrom der unterschiedlichen Recheneinheiten in der CPU.<br />

Grösse 1 Byte bis 128 Byte<br />

Level 2 Cache: Entkoppelt den Datenstrom von der CPU vom Memory Bus, Grösse von 256<br />

KBytes bis zu mehreren MBytes.<br />

Level 3 Cache: Entkoppelt ggf. bei Mehrprozessorsystemen den separaten Systembus vom<br />

Memory Bus.<br />

Parity / Non-Parity: Parity-Module hingegen speichern Daten- und Parity-Informationen. Durch<br />

äussere Einflüsse (el.-mag. Felder, Spannungsschwankungen, radioaktive<br />

Strahlung, etc.) können die gespeicherten Daten verändert werden. Mit Hilfe der<br />

Parity Technik wird ein Fehler erkannt. Normalerweise wird 1 Parity bit pro Byte<br />

(8 bit) Daten gespeichert. Parity stellt Fehler nur fest, wenn sich eine ungerade<br />

Zahl bits verändert hat.<br />

ECC / EDC: Error Checking and Correcting, bzw. Error Detection and Correction. Weiter<br />

entwickelte Methode zur Feststellung und Korrektur von Speicherfehlern. Mit<br />

Hilfe entsprechender Algorithmen werden Blockweise Prüfsummen gebildet und<br />

in eigenen Speicherbereichen abgelegt. Dies kann im Parity bit sein, manche<br />

Systeme benutzen da<strong>für</strong> eine eigene Speicherbank. Anhand dieser<br />

Prüfsummen können einzelne Bitfehler erkannt und korrigiert werden.<br />

4.4.4 Massenspeicher<br />

Massenspeicher dienen der dauerhaften Speicherung bzw. Archivierung von Daten. Sie sind nichtflüchtige<br />

Speicher und basieren üblicherweise auf magnetomechanischen und optischen Verfahren.<br />

Der Zugriff ist i.a. langs<strong>am</strong>er als auf die flüchtigen (Arbeits-)Speicher auf der Basis der<br />

Halbleitertechnologie.<br />

22


Massenspeicher lassen sich in Primär-, Sekundär- und Backup-Datenspeicher einteilen. Bei der Wahl<br />

des Massenspeichers und des dazu passenden Hostadapters müssen unter anderem berücksichtigt<br />

werden: die Auswahl der geeigneten Laufwerkstechnologie, Einbau, Hardwareanschluss,<br />

Softwareeinbindung, Performance und Kapazität<br />

Primär-Datenspeicher: Darunter versteht man Massenspeicher, die auf Daten im Random<br />

Access zugreifen. Zu dieser Gruppe zählen magnetische<br />

Festplattenlaufwerke und RAM-Drives.<br />

Sekundär-Datenspeicher: wechselbare Massenspeicher, die Daten ähnlich wie Primär-<br />

Datenspeicher speichern. Zu dieser Gruppe zählen magnetische und<br />

magneto-optische Wechselplattenlaufwerke, Diskettenlaufwerke und<br />

Memory-Card-Drives, CD- und DVD-Laufwerke.<br />

Backup-Datenspeicher: Dazu zählt man in der Regel Massenspeicher, die sequentiell arbeiten,<br />

z.B. Bandlaufwerke, Stre<strong>am</strong>er. Der wahlfreie Zugriff auf Dateien und<br />

Progr<strong>am</strong>me ist nicht möglich, da die Suche nach Informationsblöcken in<br />

der Reihenfolge stattfindet, in der sie auf dem Datenträger stehen.<br />

4.4.4.1 Datensicherung – Backup<br />

Daten können verloren gehen durch:<br />

• Hardwarefehler, d.h. das technische Versagen des primären Massenspeichers (Plattencrash).<br />

Typische MTBF-Zeiten ( MTBF = Mean Time Between Failure = durchschnittliche Zeit zwischen<br />

zwei Ausfällen) von Laufwerken liegen heute bei über 500.000 Stunden. Bei 100 Laufwerken muß<br />

man mit einem Ausfall pro Halbjahr rechnen.<br />

• Versehentliches Löschen: kommt leider ständig vor und passiert jedem einmal. Garantiert.<br />

• Mutwillige Zerstörung durch Viren, Würmer, trojanische Pferde, Bomben und was sonst noch<br />

durch leichtfertiges Daten Kopieren übertragen werden kann.<br />

Daten sollten deshalb zusätzlich gesichert werden. Unter verschiedenen Technologien unterscheidet<br />

man hauptsächlich:<br />

• Datenspiegelung, Mirroring: Kopien von Daten werden auf einem weiteren primären<br />

Massenspeicher ständig aktualisiert. Vorteil: die Arbeit kann auch bei Plattenausfällen fortgesetzt<br />

werden. Nachteile: kein Schutz vor Datenlöschen, teure Technologie.<br />

• Backup: längerfristige Datenarchivierung auf sekundären Speichermedien oder speziellen<br />

Backup-Datenspeichern. Vorteile: gelöschte Daten können in einer älteren <strong>Version</strong><br />

wiederhergestellt werden, preiswerte Technologie. Nachteil: umständliche Bedienung und<br />

langwierige Prozeduren. Auch Backup bietet keinen Schutz vor Viren etc., wenn sie auf das<br />

Backup-Medium gelangt sind. Außerdem ist zu beachten, daß infolge der Alterung der<br />

Speichermedien oder einer nicht mehr gebräuchliche Speichertechnik alte Aufzeichungen<br />

unbrauchbar werden können.<br />

Für die routinemäßige Datensicherung größerer Systeme, insbesondere bei Computernetzen und<br />

Mehrbenutzersystemen, die auch in kleineren Büros zur Regel werden, empfiehlt sich der Einsatz von<br />

HSM –Software (Hierarchical Storage Management) zur Administration des Backup-Vorganges.<br />

4.4.4.2 Festplatten (Hard Disks)<br />

Festplatten (auch Winchesterplatten oder Magnetplatten genannt) sind die <strong>für</strong> alle<br />

Standardanwendungen üblicherweise eingesetzten Massenspeicher. Sie arbeiten mit einem<br />

magnetischen Aufzeichnungsverfahren und lassen sich beliebig oft beschreiben und lesen.<br />

Der Formfaktor bezeichnet den Durchmesser des Datenträgers, also der Plattenscheibe(n) im Inneren<br />

der Laufwerksbox. Neben diesen Plattenscheiben enthält die Box die Schreib-/Leseköpfe, die<br />

23


Mechanik zum Bewegen der Köpfe (den Aktuator), den Spindelmotor und die Logik (Elektronik).<br />

Derzeit werden Festplatten mit 2.5 Zoll (insbesondere <strong>für</strong> Notebooks), 3.5 Zoll und 5.25 Zoll<br />

Formfaktor angeboten. Kleinere Platten mit 1.8 bzw. 1.3 Zoll Formfaktor sind ebenfalls entwickelt<br />

worden.<br />

Die Festplatten werden als full height (82 mm), half height (41 mm), Low Profile (25.4 mm = 1 Zoll)<br />

und in Höhen von 19 und 12.5 mm angeboten. Die 3.5-Zoll-<strong>Version</strong>en sind die z.Zt. <strong>am</strong> weitesten<br />

verbreitet und erreichen Kapazitäten bis ca. 18 GByte netto. Die größeren 5.25-Zoll-Laufwerke sind<br />

hauptsächlich als Bauform in voller Höhe verbreitet. Hier sind derzeit Nettokapazitäten bis ca. 46<br />

GByte möglich.<br />

Die Kapazität von Massenspeichern wird in MByte gemessen. Man unterscheidet Brutto- und<br />

Nettokapazität. Die Bruttokapazität entspricht der theoretischen maximalen Kapazität des Laufwerks,<br />

die sich aus der Multiplikation von Bitdichte in der Spur mit Spurlänge, Spurenzahl und Zahl der<br />

Plattenoberflächen ergibt. Die Nettokapazität gibt an, wieviel Platz tatsächlich auf einem Laufwerk<br />

nutzbar ist<br />

Die von den Herstellern angegebene Nettokapazität unterscheidet sich erheblich von der tatsächlich<br />

<strong>für</strong> den Anwender nutzbaren Nettokapazität. Dies liegt zum einen darin begründet, daß zwischen den<br />

Blöcken etwa 10 bis 20 Prozent der Kapazität <strong>für</strong> Fehlerkorrektur- und Adressinformationen belegt<br />

sind. Zum anderen ist die Definition eines Megabytes nicht eindeutig: Plattenhersteller rechnen mit<br />

1000 x 1000 Byte = 1 MByte (= 1.000.000 Bytes), während die meisten Betriebssysteme von 1024 x<br />

1024 Byte = 1 MByte (1.048.576 Bytes oder Zeichen) ausgehen. Weiterhin benötigt das Filesystem<br />

Platz <strong>für</strong> Verwaltungsdaten.<br />

Die Nettokapazität ist auch von Formatierung und Konfiguration der Platten abhängig. Z. B. kann unter<br />

DOS, Win3.1, Win3.11 und Windows95 jeweils nur eine primäre Partition auf einer Platte konfiguriert<br />

werden, wobei im Ges<strong>am</strong>tsystem nur eine Partition aktiv sein darf, die aktive Partition ist normal die<br />

Bootpartition. Die max. Partitionsgrösse liegt leider immer noch bei 2 GByte, die max. Plattengrösse<br />

bei 8 GByte. Zu beachten ist, dass bei einer 2 GByte grossen Partition die Blockgrösse 32 KByte<br />

beträgt, d.h. wenn eine Datei von 250 Byte abgelegt wird, belegt sie trotzdem einen Block von 32<br />

KByte. Dies ist nur zu umgehen wenn eine Blockgrösse von 8 KByte konfiguriert wird was bei einer<br />

Partitionsgrösse von 500 MByte automatisch der Fall ist. Bei Windows NT beträgt die maximale<br />

Filesystemgrösse 16 Exabyte (16 Millionen Terabyte) die maximale Plattengrösse ist also nur vom<br />

entsprechenden SCSI Controller abhängig. Die Partitionsgrösse kann ohne Probleme bei 20 GByte<br />

liegen.<br />

4.4.4.3 Disk Array - RAID<br />

Die Effektivität eines Computersystems wird wesentlich von der zuverlässigen I/O-Leistung (Schreibund<br />

Lesezugriffe) der Plattensysteme beeinflußt. Eine Möglichkeit der Steigerung der Zuverlässigkeit<br />

ist dabei der Zus<strong>am</strong>menschluß mehrerer Platten zu einem Disk Array (Plattenstapel). Unter dem<br />

Oberbegriff RAID (Redundant Array of Independent Disks) faßt man Technologien zus<strong>am</strong>men, die<br />

mehrere Laufwerke zu größeren, ggf. schnelleren und vor allem ausfallsicheren Ges<strong>am</strong>tsystemen<br />

zus<strong>am</strong>menpacken.<br />

Ausfallsicher bedeutet, dass der Ausfall eines Einzellaufwerks weder zu einem Ausfall des<br />

Ges<strong>am</strong>tsystems noch zu Betriebsunterbrechung oder gar zu Datenverlust führt. RAID schließt oft<br />

verwendete Technologien wie Mirroring (d.h. Spiegelung von zwei oder mehreren Laufwerken an<br />

einem Controller), Duplexing (dito, aber mit zwei getrennten Controllern) und Striping<br />

(Zus<strong>am</strong>menfassen von mehreren Laufwerken als logische Einheit und blockweises Verteilen der<br />

Daten auf diese Laufwerke) ein. Unterschiedliche Level von RAID werden in der Literatur diskutiert.<br />

Die Bezeichnung Level in der RAID-Bezeichnung ist eigentlich missverständlich, denn RAID Level 3<br />

baut keinesfalls auf RAID Level 2 auf. Statt Level sollte man eigentlich besser Typ sagen.<br />

24


RAID Level 0: Striping. Bei diesem Verfahren werden mehrere kleinere Laufwerke zu<br />

einem großen logischen Laufwerk zus<strong>am</strong>mengefaßt.<br />

RAID Level 1: Mirroring, Spiegeln. Alle Daten einer Platte (oder auch eines RAID-0-<br />

Sets) werden auf eine zweite (bzw. ein zweites RAID-Set) geschrieben.<br />

Vorteil: bei Ausfall einer Platte bleiben die Daten weiter verfügbar. Die<br />

Leistung beim Schreiben ist mit der einer Einzelplatte bzw. RAID-0<br />

vergleichbar.<br />

RAID Level 2: der Plattenstapel wird um Fehlerkorrektur-Laufwerke mit ECC-<br />

Speicher-Technologie ergänzt. Vorteil: auch bei gleichzeitigem Ausfall<br />

von zwei Laufwerken gehen Daten nicht verloren. Nachteil: relativ<br />

langs<strong>am</strong>e Zugriffsgeschwindigkeit.<br />

RAID Level 3-5 und weitere nichtnormierte Stufen: weiter verbesserte Fehlerkorrekturmethoden.<br />

4.4.4.4 Disketten (Floppy Disks)<br />

Wechselbare, rotierende, magnetisierbare Scheiben mit einer Zugriffszeit von etwa 150-250 ms.<br />

Disketten haben den Vorteil der weiten Verbreitung <strong>für</strong> den Austausch mit anderen Systemen. Übliche<br />

Kapazität von 360 KB bis 2.88 MB, in speziellen Bauformen auch bis 120 MB.<br />

Größen:<br />

3½ Zoll; 1,44 MB, High Density Diskette<br />

spezielle Bauformen: 100 bis 120 MB (ZIP Disketten, geeignetes Backup-Medium <strong>für</strong> übliche<br />

private Anwendungen auf dem PC)<br />

4.4.4.5 Wechselplatten-Laufwerke<br />

Größere Datenmengen lassen sich mit Wechselplatten verwalten, ohne daß durch Umkopieren Zeit<br />

verloren geht Es gibt unterschiedliche Technologien, u.a. Wechselrahmen, in die normale Festplatten<br />

eingesetzt werden. Die Speicherkapazitäten entsprechen stationären Festplatten.<br />

4.4.4.6 Optische Datenträger<br />

CD-ROM: Compact Disk Read Only Memory; 650 MB<br />

Vorteile: hohe Lebensdauer, preiswert (z.Zt. nicht mehr als 0,01 bis 0,02 DM<br />

pro MByte). Nachteile: Nichtwiederbeschreibbarkeit, langs<strong>am</strong>e Zugriffszeit<br />

(derzeit etwa 85-120 ms)<br />

CAV-Technologie: Constant Angular Velocity; variierende Datentransferrate bei gleichbleibender<br />

Umdrehungsgeschwindigkeit der CD<br />

CLV-Technologie: Constant Linear Velocity; variierende Umdrehungsgeschwindigkeit bei<br />

konstanter Transferrate.<br />

CD-R: Mit CD-Recordern (CD-R) können CD-Rohlinge (Write-once CD) einmalig<br />

beschrieben werden. Sehr gut zur Langzeitarchivierung geeignt Die Datenträger<br />

sind sehr sicher, eine nachträgliche Änderung der Daten ist nicht möglich.<br />

CD-RW: CD-Rewritable, bis zu 3000 mal wiederbeschreibbare CD. CD-RW Disks<br />

können nicht von allen CD-ROM Laufwerken gelesen werden.<br />

DVD: Digital Versatile Disk, ursprünglich: Digital Video Disk, 2-schichtig, 2-seitig, bis<br />

zu 16 GB Speicherkapazität. Die DVD-Laufwerke können alle herkömmlichen<br />

CD-Formate lesen<br />

DVD-R (Recorder) und DVD-RAM (wiederbeschreibbar):<br />

seit Ende 1997, Speicherkapazität von 2.6 GByte/Seite. D<strong>am</strong>it übertrifft DVD<br />

alle derzeit verfügbaren, mehrfach beschreibbaren Wechselmedien. Derzeit gibt<br />

es allerdings noch Probleme bei der Definition eines gemeins<strong>am</strong>en Standards.<br />

25


4.4.4.7 Magnetooptische Datenspeicher<br />

3½ Zoll und 5¼ Zoll MO-Disks, wiederbeschreibbar, 2-seitig; 200 MB bis 1,2 GB<br />

Lesen auf der Basis des magnetooptischen Kerr-Effekts.<br />

Kleine und leichte Datenträger, peiswerte Alternative zu Winchester-Wechselplatten. Nachteil:<br />

vergleichsweise lange Zugriffszeiten. Die Laufwerke können vom Rechner wie ein normales<br />

Plattenlaufwerk genutzt werden. Einsatzgebiete: Wechselplatten (Datentransfer, sicherhetskritische<br />

Anwendungen), Backup mit schnellem direktem Zugriff. Zukünftig werden MO-Platten gegenüber den<br />

CD-RW Systemen an Bedeutung verlieren.<br />

4.4.4.8 Magnetbänder<br />

Geeignetes und preiswertes Medium <strong>für</strong> längerfristige Archivierung bzw. Backup mit Speicherkapazität<br />

bis zu 70 GB pro Band. Verschiedene Speichertechnologien.<br />

Cartridges in den verschiedensten Größen; 80 MB bis 2 GB<br />

DDS-Stre<strong>am</strong>er: Digital Data Storage ; Schreib- und Lesegerät <strong>für</strong> 4mm- DAT-Bänder;<br />

2 GB bis 16 GB Speicherkapazität bei vorheriger Datenkompression<br />

(Reduzierung der Datenmenge durch Software), weit verbreiteter<br />

Standard; sequentielle Datenaufzeichnung, lange Zugriffszeiten (z.B.<br />

bis Daten <strong>am</strong> Ende des Bandes erreicht werden können)<br />

Schreiben nur von Beginn des Bandes oder nach den letzten<br />

aufgezeichneten Daten möglich<br />

DAT-Technologie: ging aus dem Einsatz von digitalen Aufzeichnungsverfahren im<br />

Audiobereich hervor, 4mm breites Magnetband, Helical-Scan-<br />

Aufzeichnungsverfahren<br />

DLT –Technologie: Digital Linear Tape, 1/2-Zoll-Magnetbänder in Kassetten. 40-70 GB<br />

Speicherkapazitäte auf einer Kassette, geringe Belastung der Bänder<br />

AIT-Technologie: Advanced Intelligent Tape, 8 mm Helical Scan Technologie,<br />

komprimiert bis 50 GB. Ein in der Kassette integrierter Memory Chip<br />

(MIC = Memory in Cassette) erlaubt eine Halbierung der<br />

durchschnittlichen Suchzeit auf einem Band.<br />

Exabyte: aus der Video8-Technik hervorgegangen, maximal 40 GB beim<br />

Exabyte M<strong>am</strong>moth mit 170 m Band. Die Hersteller (Exabyte, Sony)<br />

garantieren eine Archivierungszeit von 10 Jahren<br />

Stacker/Jukebox: automatischer Kassettenwechsler mit 6 bis 100 Kasetten. Ein grosser<br />

Exabyte-Stacker mit 80 Kassetten und M<strong>am</strong>moth-Laufwerk kann mit<br />

Kompression bis zu 3,2 Terabyte (3200 GByte) speichern.<br />

1/4-Zoll-Magnetbandkassetten: standardisiertes QIC-Format (Quarter Inch Cartridge). Das<br />

Magnetband wird ohne Lücken beschrieben (stre<strong>am</strong>ing) und voll<br />

ausgenutzt. Im Vergleich zum Helical-Scan-Verfahren werden die<br />

Bänder wesentlich weniger beansprucht und halten entsprechend<br />

länger.<br />

1/2-Zoll-Magnetband: klassisches, inzwischen veraltetes Backup-Medium insbesondere <strong>für</strong><br />

Großrechner, Kapazität eines 730m Bandes nur bis zu 180 MB.<br />

4.5 Bussysteme<br />

Bussysteme dienen dem Transport von Speicheradressen und Speicherinhalten. Zur Beschleunigung<br />

der Datenübertragung werden mehrere Datenleitungen zu einem Bündel, dem sog. Bus,<br />

zus<strong>am</strong>mengefaßt. Über einen Bus können Datenbits parallel, d.h. gleichzeitig von der sendenden zur<br />

empfangenden Einheit des Rechners übertragen werden. Unter der Breite eines Buses versteht man<br />

die Anzahl der parallelen Leitungen. Bei einer seriellen Übertragung werden Datenbits nacheinander,<br />

26


entsprechend langs<strong>am</strong>, gesendet. Die Ansprüche an serielle Datenübertragungskabel sind jedoch<br />

sehr viel geringer.<br />

Bussysteme werden bezüglich der Transportwege unterschieden:<br />

• Zwischen Prozessor und Arbeitsspeicher (Hostbus oder Speicherbus)<br />

− Datenbus: Bündel von Leitungen zur parallen Übertragung von Bits. Die Busbreite<br />

entspricht meist der Wortlänge des Prozessors. Falls die Anzahl der Bits einer Dateneinheit<br />

größer als die Busbreite ist, muß diese Dateneinheit durch mehrere Speicherzugriffe<br />

übertragen werden.<br />

− Adressbus: Zur Adressierung der Speicherzellen. Die Anzahl ist entscheidend <strong>für</strong> den<br />

maximal adressierbaren Speicherbereich (Adressraum):<br />

−<br />

Busbreite Adressrau<br />

m<br />

16 Bit 64 KB<br />

20 Bit 1 MB<br />

32 Bit 4 GB<br />

− Steuerbus: Zur Übertragung von Steuerbefehlen<br />

• Zwischen Prozessor bzw. Hauptspeicher und den Ein- und Ausgabeeinheiten (Systembus oder<br />

Peripheriebus)<br />

Verschiedene Systembusse:<br />

ISA-Bus: Industrial Standard Architecture, eines der ersten und ältesten PC-Bussysteme;<br />

Busbreite maximal 16 Bit, Bustakt 8 MHz. D<strong>am</strong>it sind theoretisch<br />

Datenübertragungsraten von 5 MByte/s möglich<br />

PCI–Bus: Busbreite 32 und 64 Bit, Transferrate 133 MB/s bis max 267 MB/s, 33 MHz Bustakt.<br />

Der PCI-Bus wird von fast alle bedeutenden Hersteller aus den Bereichen<br />

Prozessoren, Systemplatinen, Festplatten, Controller und Grafikkarten unterstützt.<br />

IDE: Integrated Drive Electronics auch AT-Bus oder ATA (AT-Attachment) genannt; im<br />

PC-Bereich sehr weit verbreitet, ausschließlich <strong>für</strong> Festplattenlaufwerke, maximal<br />

zwei Festplatten pro IDE-Schnittstelle. Sollen zwei IDE-Festplatten betrieben<br />

werden, wird eine Festplatte als Master, die andere als Slave konfiguriert.<br />

Ursprünglich konnten theoretisch maximal etwa 4.3 MB/s übertragen werden. In der<br />

Praxis werden jedoch nur circa 2 MB/s erreicht.<br />

Fast ATA, UltraATA, Enhanced IDE:<br />

Weiterentwicklungen mit gesteigerten Transferraten bis zu 33 MB/s.<br />

SCSI: Small Computer Systems Interface,; in seiner ursprünglichen Form 8 bit breiter,<br />

paralleler (SCSI 1 und 2), später auch seriell (SCSI 3) definierter, I/O-Bus, der sich<br />

<strong>für</strong> den Anschluss von Massenspeicherlaufwerken aller Art aber gelegentlich auch<br />

von Scannern und anderen Peripheriegeräten an verschiedenen Rechnersystemen<br />

sehr weit verbreitet hat. Die Vorteile: eine relativ hohe maximale Übertragungsrate,<br />

flexible und einfache Konfiguration. Bei SCSI ist viel Intelligenz im Laufwerk selbst<br />

vorhanden, denn die SCSI-Schnittstelle ist keine Schnittstelle im klassischen Sinne,<br />

sondern ein Peripheriebus, über den Laufwerke und Hostadapter miteinander<br />

kommunizieren. SCSI-Signale können entweder auf 8 bit (Narrow) oder 16 bit<br />

(Wide-SCSI) breiten Bussen übertragen werden. Bis zu 7 Laufwerke können <strong>am</strong> 8bit-Bus<br />

angeschlossen werden, bis zu 15 Laufwerke <strong>am</strong> 16-bit-Bus. Beide<br />

Busbreiten verfügen wiederum über die Verkabelungsarten Single-Ended (SE) oder<br />

Differential (D). Bei SE-SCSI wird jedes Signal nur auf einer, bei D-SCSI dagegen<br />

auf zwei untereinander verdrillten Leitungen übertragen, die daher gegen<br />

magnetische Einflüsse unempfindlicher sind. Die Vorteile von D-SCSI sind daher<br />

27


essere Störsicherheit und, daraus resultierend, grössere Kabellängen . Nachteilig<br />

sind lediglich die - im Vergleich zu SE-SCSI - höheren Kosten <strong>für</strong> Laufwerke und<br />

Hostadapter.<br />

SCSI 1: parallel, Transferraten bis 5 MB/s. Wird seit ca. 1990 nicht mehr verwendet.<br />

SCSI 2: parallel, Transferraten bis 10MB/s (Fast SCSI), Busbreite 16 Bit (Wide SCSI),<br />

Transferrate bei Fast/Wide Kombination bis 20MB/s.<br />

UltraSCSI: parallel, Weiterentwicklung mit Transferraten bis zu 80 MB/s bei 16 Bit Busbreite.<br />

SCSI 3: serieller Peripheriebus.<br />

Fibre Channel: serielles SCSI, Transferraten von 12.5 MByte/s bis hin zu etwas 100 MByte/s<br />

Synchroner und asynchroner Datentransfer:<br />

beim asynchronen Datentransfer wird jedes Byte separat gesendet und bestätigt,<br />

während beim synchronen Transfer mehrere Bytes auf einmal gesendet und dann<br />

gemeins<strong>am</strong> bestätigt werden. Der Overhead beim synchronen Übertragungsmodus<br />

kleiner und die Transferrate höher. Grundsätzlich können alle Peripheriegeräte<br />

asynchron arbeiten. Synchronlaufwerke bzw. -Controller stellen vor dem<br />

Datenaustausch beim sogenannten handshaking fest, ob der andere<br />

Kommunikationspartner auch synchronen Transfer beherrscht, und benutzen dann<br />

automatisch die entsprechende Datentransferart. Heutige SCSI-Laufwerke und<br />

Hostadapter unterstützen in der Regel die Synchronübertragung<br />

4.6 Eingabe-Geräte<br />

Tastatur: In jeder Tastatur befindet sich ein Microcontroller, der feststellt, welche Taste<br />

gedrückt wird und den Tastatur-Code dieser Taste seriell zum Rechner überträgt.<br />

Im Tastaturtreiber des Betriebssystems erfolgt dann die Umsetzung des<br />

Tastaturcodes in das eigentliche ASCII-Zeichen.<br />

Maus: Im wesentlichen besteht eine Maus aus einer Rollkugel und einer Sensor-<br />

Mechanik/Elektronik, welche die Drehbewegungen der Kugel erfaßt, in einen<br />

Datenstrom umwandelt und zum Rechner überträgt. Auf der Oberseite befinden<br />

sich bis zu vier Funktionstasten.<br />

Scanner: Zum Digitalisieren und Einlesen von gedruckten Texten, handschriftlichen<br />

Vorlagen, Fotos oder Zeichnungen. Funktionsprinzip: Ein lichtempfindliches CCD-<br />

Element (Charge Coupled Device) fährt, angetrieben von einem Schrittmotor, die<br />

von einer L<strong>am</strong>pe beleuchtete Vorlage ab. Das CCD-Element erkennt <strong>für</strong> die<br />

jeweiligen Farben die Helligkeitsunterschiede und wandelt diese in<br />

Spannungswerte um. Die analogen Spannungen werden dann von einem<br />

Analog/Digital-Konverter in digitale Informationen umgesetzt und an den Rechner<br />

übermittelt.<br />

One Pass Verfahren: einmaliges Überfahren; Three Pass: dreifaches Überfahren<br />

<strong>für</strong> jede der drei Grundfarben Rot, Grün, Blau.<br />

Die Auflösung eines Scanners wird in dpi (dots per inch) gemessen. Je höher die<br />

Auflösung, desto besser die Wiedergabe der Vorlage beim erneuten Ausdruck.<br />

Die dpi-Angabe bezeichnet die Anzahl der Pixel pro Zoll (1 Zoll = 2.54 cm), die<br />

von den Sensoren erfaßt werden. Wird ein Bild z.B. mit 100 dpi erfaßt, bedeutet<br />

dies, daß jedes Zoll in 100 Pixel zerlegt wird. Auf die Fläche gesehen liefert der<br />

Scanner also 100x100 = 10.000 Pixel pro Quadratzoll, bei 200 dpi sind es bereits<br />

40.000 Pixel. Eine Verdopplung der Auflösung vervierfacht die Datenmenge. Die<br />

meisten Standard-Scanner arbeiten mit 400 dpi. Bessere Geräte arbeiten mit<br />

mehr.<br />

Die Farb- bzw. Bittiefe legt die Anzahl der erfaßten Graustufen bzw. Farben fest.<br />

Ein 1-bit-Scanner kann nur schwarz und weiß unterscheiden. Ein Scanner mit 8bit-Farbtiefe<br />

kann dagegen bereits 256 Graustufen bzw. Farben (2 hoch 8)<br />

28


erkennen. Bei 24-bit-Scannern erhöht sich diese Zahl auf 16.7 Millionen<br />

Farbmöglichkeiten. Die derzeitige Grenze liegt bei einer Farbtiefe von 36-bit.<br />

USB Schnittstelle: Universal Serial Bus; ein neuer Schnittstellenstandard <strong>für</strong> den Anschluss externer<br />

Geräte (z.B. Drucker, Modems, Tastaturen, Monitore, digitale K<strong>am</strong>eras etc.) über<br />

ein Bussystem an PCs. Der Vorteil der USB-Schnittstelle ist die unproblematische<br />

Integration von zusätzlicher Peripherie. Der USB-Controller erkennt, ob weitere<br />

Peripherie angeschlossen wurde, installiert automatisch die benötigten Treiber<br />

und stellt die Betriebsbereitschaft her. Bis zu 127 externe Geräte können<br />

theoretisch an die USB-Schnittstelle angeschlossen werden. USB wurde von<br />

Intel, Compaq, IBM und weiteren Computerherstellern entwickelt und soll sich als<br />

Standard etablieren.<br />

Weitere Eingabegeräte bzw. Eingabehilfen:<br />

Trackball: „umgekehrte Maus“, drehbarer Ball, meist bei Lap Tops<br />

Touchpad: berührungsempfindliche Fläche, Mausersatz, meist bei Lap Tops<br />

Digitalisierbrett: direkte Eingabe von X-, Y-Koordinaten<br />

Strichcode- bzw. Barcodeleser<br />

Digitale K<strong>am</strong>era<br />

Spracheingabe: von zunehmender Bedeutung,<br />

Handschriftliche Eingabe: insbesondere bei elektronischen Notizbüchern<br />

4.7 Ausgabe-Geräte<br />

4.7.1 Monitor<br />

4.7.1.1 Kathodenstrahlbildschirm<br />

Für den Bildaufbau wird im Monitor ein Elektronenstrahl erzeugt, der mit einer festgelegten Frequenz<br />

horizontal und vertikal über die Bildfläche abgelenkt wird. Für die Synchronisation der beiden<br />

Frequenzen sendet die Grafikkarte entsprechende Impulse an den Monitor. Da die meisten<br />

Grafikkarten jedoch nur bestimmte Vertikal- und Horizontalfrequenzen unterstützen, kann nicht jede<br />

Grafikkarte mit jedem Monitor kombiniert werden. Die heute angebotenen Monitore sind sogenannte<br />

Multifrequenz-Monitore, bei denen die Zeilenfrequenz nicht fest vorgegeben ist, sondern sich in<br />

gewissen Grenzen nach dem jeweiligen Eingangssignal richtet. Daher ist man beim Einsatz eines<br />

solchen Monitors in der Auswahl einer Grafikkarte weniger eingeschränkt als bei<br />

Festfrequenzmonitoren. Die Entscheidung <strong>für</strong> eine bestimmte Grafikkarte sollte immer im<br />

Zus<strong>am</strong>menhang mit der <strong>für</strong> einen Monitor getroffen werden. Hierbei sind Kriterien wie Auflösung,<br />

Bildwiederhol- und Zeilenfrequenz sowie Anschlußart zu beachten.<br />

Die Auflösung eines Monitors steht <strong>für</strong> die Anzahl der Bildpunkte, die auf dem Monitor dargestellt<br />

werden. Ein Bildpunkt, auch Pixel genannt, entspricht der kleinsten adressierbaren Einheit.<br />

Die Bildwiederholfrequenz gibt an, wie oft das ges<strong>am</strong>te Bild pro Sekunde aufgebaut wird. Je höher sie<br />

ist, desto ruhiger erscheint das Bild. Optimal sind Werte ab etwa 73 Hz, bei denen das Auge kein<br />

Flimmern mehr erkennen kann und d<strong>am</strong>it bei längerem Aufenthalt <strong>am</strong> Bildschirm ein ermüdungsfreies<br />

Arbeiten möglich ist.<br />

Die Zeilenfrequenz steht <strong>für</strong> die Zeit, die <strong>für</strong> den Aufbau einer Bildschirmzeile benötigt wird. Sie<br />

errechnet sich aus der Bildwiederholfrequenz und der Zeilenzahl des dargestellten Videomodus und<br />

wird in kHz angegeben. Sie ist abhängig von der Auflösung und der Bildwiederholfrequenz des<br />

Monitors.<br />

29


4.7.1.2 LCD-Bildschirm<br />

Neben den klassischen Kathodenstrahlbildschirmen werden die LCD-Bildschirme (Liquid Crystal<br />

Display) immer interessanter. Vorteile: geringer Stromverbrauch (ca. 8 W), geringer Platzbedarf<br />

(vorteilhaft <strong>für</strong> Notebook bzw. Lap Top), absolut flimmerfreie Darstellung, fast strahlungsfrei.<br />

4.7.2 LC-Displays und LCD-Projektoren:<br />

<strong>für</strong> die Projektion von Daten; in Kombination mit Overhead-Projektoren (LC;Displays, Vorteil:<br />

preisgünstig; Nachteil: rel. Geringe Auflösung, Lichtstärke von Overhead abhängig) oder als<br />

eigenständiges Gerät (LCD-Projektor, Vorteil: höhere Auflösung, lichtstark; Nachteil: noch recht teuer)<br />

4.7.3 Gafikstandards<br />

Grafikstandards stellen sicher, daß Grafikkarten, Monitore und Anwendungsprogr<strong>am</strong>me untereinander<br />

kompatibel sind. Für PC’s sind der Video Graphics Array Standard (VGA-Standard) und der Super-<br />

VGA-Standard <strong>am</strong> wichtigsten. Die Auflösung beim VGA -Standard beträgt 640 x 480 Punkte, wobei<br />

aus einer Palette von 256 Farben 16 gleichzeitig dargestellt werden. In einem zusätzlichen Modus<br />

können 256 Farben gezeigt werden, jedoch nur bei 320 x 200 Bildpunkten. Super-VGA ( SVGA ) steht<br />

<strong>für</strong> höhere Auflösungen von bis zu 1024 x 768 Bildpunkten. Für die Darstellung von 16 aus 256<br />

Farben wird ein Bildschirmspeicher von 512 KByte benötigt. Bei 1 MByte Speicherausbau können<br />

insges<strong>am</strong>t 256 Farben aus einer Palette von 16.7 Millionen Farben dargestellt werden.<br />

Für Workstations sind die Grafikstandards aus dem PC-Bereich nur von geringer Bedeutung. So<br />

ermöglichen die im Digital-, HP-, IBM- und SGI-Umfeld einsetzbaren Grafikkarten Auflösungen von<br />

1024 x 768 und 1280 x 1024 bis zu maximal 1600 x 1280 Pixel bei unterschiedlichen<br />

Bildwiederholfrequenzen.<br />

Viele Grafikkarten besitzt eigene Grafik-Coprozessoren. Sie erhalten nur wenige Befehle von der<br />

Rechner-CPU und sprechen ihrerseits direkt den adressierbaren Bildwiederholspeicher der<br />

Grafikkarte an. Sie entlasten d<strong>am</strong>it die Rechner-CPU.<br />

4.7.4 Drucker<br />

Kategorie Technologie Vorteile Nachteile<br />

Matrixdrucker Nadeln und Farbband • Geringe Anschaffungs- • Laut<br />

und Betriebskosten • Langs<strong>am</strong><br />

• Geeignet <strong>für</strong> • Geringe Qualität bei<br />

Durchschläge<br />

Endlospapier<br />

und wenigen Nadeln<br />

Tintenstrahl- Bubble-Jet Verfahren • Preisgünstige • Verschleißempfindlich<br />

drucker<br />

Anschaffung<br />

• Papierqualität beeinflußt<br />

• Preisgünstiger Betrieb Druckqualität<br />

<strong>für</strong> kleine und mittlere • Nicht lichtecht<br />

Druckaufkommen • Nicht wasserfest<br />

• Hohe Schriftqualität • Teure Spezialfolien<br />

• Grafikfähigkeit • Abfall: Leere<br />

• leise<br />

Farbpatronen<br />

recyclebar)<br />

(evtl.<br />

Laserdrucker<br />

Drop-on-Demand<br />

Elektrofotografisches • Hohe Druck- und • bei älteren Geräten<br />

Verfahren<br />

grafikqualität<br />

starke Ozonentwicklung<br />

• Preisgünstiger Betrieb • Abfall: leere<br />

bei höheren Tonerkartuschen (evtl.<br />

Druckaufkommen recyclebar)<br />

30


Thermotransf-<br />

erdrucker<br />

Thermosub-<br />

limations-drucker<br />

Phase-Change-<br />

Drucker<br />

Abschmelzen<br />

einzelner<br />

Druckpunkte von<br />

einer mit<br />

Wachsfarbstoff<br />

beschichteten<br />

Polyesterfolie<br />

Abschmelzen von<br />

Trägerfolie, Erhitzen<br />

bis zum Verd<strong>am</strong>pfen<br />

der Farbe<br />

Abschmelzen der<br />

Farbe von vier<br />

Farbstiften<br />

• leise<br />

• Brilliante,<br />

Farben<br />

deckende<br />

• Lichtecht, wasserfest<br />

• Brilliante, deckende<br />

Farben<br />

• Lichtecht, wasserfest<br />

• Hohe Druck- und<br />

Grafikqualität<br />

• Kein Spezialpapier<br />

• Bedarfsgerechter<br />

Farbverbrauch<br />

• Kein vollständiger<br />

Verbrauch der Farbfolie<br />

• Spezialpapier<br />

• Hohe Verbrauchskosten<br />

• Kein vollständiger<br />

•<br />

Verbrauch der Farbfolie<br />

Spezialpapier<br />

• Hohe Verbrauchskosten<br />

• Druckergebnis nicht<br />

abriebfest, nicht<br />

•<br />

beständig gegen hohe<br />

Hitze<br />

Verminderte Transluzenz<br />

der Farben<br />

• Relativ<br />

Verbrauchskosten<br />

hohe<br />

Druckerprotokolle: HP-PCL (Printer Communication Language), PostScript, HP-GL (Hewlett Packard<br />

Graphics Language<br />

4.8 Weitere Ausgabe-Controller<br />

Festplatten- und Floppy-Disk-Controller<br />

Multi I/O-Karte (Serielle Schnittstelle, Parallele Schnittstelle, G<strong>am</strong>e-Port)<br />

Netzwerkkarte<br />

Soundkarte<br />

4.9 Multimedia<br />

Allgemein wird unter Multimedia die Kombination von verschiedenen Medienformen wie Standbilder,<br />

Audio, Bewegtbilder, Texte und Grafiken bezeichnet. Viele Rechner erledigen weitere Aufgaben. Es<br />

können normale Musik-CD`s abgehört, E-Mails mit Toninformationen können verschickt werden oder<br />

der PC dient als Telefonanlage. Videokonferenzsysteme bekommen eine immer größere Bedeutung,<br />

da nicht nur ein normales Videobild übermittelt werden kann. Es ist möglich Konferenzen mit<br />

mehreren angeschlossenen Partnern abzuhalten und Dokumente über große Entfernungen schnell<br />

und kostengünstig auszutausche.<br />

31


5 Betriebssysteme<br />

Im Ingenieuralltag ist der Computer Mittel zum Zweck. Eigentlich ist man an den Progr<strong>am</strong>men<br />

interessiert und will d<strong>am</strong>it arbeiten. Dabei ist das Betriebssystem (engl. operating system) von<br />

besonderer Bedeutung. Es setzt die Befehle, die beim Ablauf von Anwenderprogr<strong>am</strong>men oder<br />

interaktiv anfallen, in Steuersignale an die Hardware um. Ein modernes Betriebssystem besteht<br />

demnach aus zwei Teilen, dem hardwarespezifischen Teil, der genau auf den jeweiligen Rechner<br />

abgestimmt ist und dem darauf aufbauenden hardwareunabhängigen Teil, der mit der Anwendung<br />

kommuniziert. Anwendungen sollten keinen direkten Kontakt mit der Hardware haben. Diese<br />

Trennung erleichtert die Übertragung von Betriebssystemen und Anwendungen auf andere<br />

Rechnerarchitekturen wesentlich. Bei UNIX spricht man von der Kapselung der Hardware durch den<br />

Kern (Kernel) des Betriebssystems. Darüber liegen die hardwareunabhängigen Schalen (shells) des<br />

Betriebssystems und aller weiteren Anwendungsprogr<strong>am</strong>me.<br />

5.1 Betriebsarten<br />

Die verschiedenen Rechner vom PC bis zum Großrechner werden unterschiedlich betrieben:<br />

Betrebsart Eigenschaften<br />

Einprogr<strong>am</strong>mbetrieb<br />

Single Tasking<br />

Mehrprogr<strong>am</strong>mbetrieb<br />

Multi Tasking<br />

Auf dem Rechner kann gleichzeitig nur ein Progr<strong>am</strong>m betrieben werden.<br />

Typische Eigenschaft von MS DOS. Inzwischen veraltetes Konzept.<br />

Der Rechner verarbeitet scheinbar gleichzeitig mehrere Progr<strong>am</strong>me. Die<br />

Rechenresourcen werden den Progr<strong>am</strong>men nach einer Prioritätsreihenfolge<br />

"scheibchenweise" zugeteilt (Zeitscheibe). Die meisten Multi Tasking<br />

Systeme haben jederzeit Kontrolle über das System (echtes oder<br />

preemptives Multi Tasking). Windows 3.1 und Windows95 jedoch geben die<br />

Kontrolle zeitweise an die Anwendungsprogr<strong>am</strong>me ab. Es entsteht der<br />

Eindruck eines echten Multitasking, wenn diese die Kontrolle in<br />

Sekundenbruchteilen wieder an das Betriebssystem zurückgeben<br />

(kooperatives Multi Tasking). Problem: bleibt ein Anwendungsprogr<strong>am</strong>m<br />

"hängen", kann das Betriebssystem keine Kontrolle über den Rechner mehr<br />

erlangen. Man muß man den Rechner neu starten<br />

Multithreading Gleichzeitiges Abarbeiten von Teilen ein und desselben Progr<strong>am</strong>mes.<br />

Mehrbenutzerbetrieb<br />

Multi User-Betrieb<br />

Stapelverarbeitung<br />

Batch-Betrieb<br />

Interaktiver Betrieb<br />

Dialogbetrieb<br />

Der Rechner wird gleichzeitig von mehreren Anwendern genutzt, z.B. an<br />

Großrechnern über Terminals oder über das Netz. Zusätzlich zum Multi<br />

Tasking muß das Betriebssystem die Zugriffsrechte der Anwender<br />

kontrollieren. Die Anwender arbeiten nur scheinbar gleichzeitig. Die<br />

Rechenzeit wird ebenfalls sequentiell zugeteilt (time sharing). Wchtigster<br />

Vertreter: UNIX.<br />

Kann das Betriebssystem nur einen Benutzer bedienen, spricht man von<br />

Single User Betrieb. Wird diese ausschließliche Nutzungsart von einem Multi<br />

User System vorgespiegelt, spricht man von einer virtual machine.<br />

Der vollständig definierte Auftrag wird dem rechner zus<strong>am</strong>menhängend<br />

übergeben. Vom Augenblick der Übergabe kann der Anwender nicht mehr<br />

auf den Ablauf des Auftrags einwirken. Aufwendige Berechnungen werden<br />

vorzugsweise nachts oder <strong>am</strong> Wochenende im Batch-Betrieb durchgeführt.<br />

Der Anwender ist direkt mit dem Rechner verbunden (mit Bildschirm und<br />

Tastatur, auch übers Netz) und arbeitet interaktiv mit den Progr<strong>am</strong>men.<br />

32


5.2 Betriebssysteme<br />

Die <strong>für</strong> PC's wesentlichen Betriebssysteme sind:<br />

N<strong>am</strong>e Eigenschaften<br />

UNIX In verschiedenen <strong>Version</strong>en (z.B.: PC: LINUX, Hewlett-Packard: HP-UX,<br />

IBM: AIX, SGI: IRIX) weit verbreitetes, leistungsstarkes Betriebssystem.<br />

Erste <strong>Version</strong> war 1969 verfügbar. UNIX setzt die Kapselung der Hardware<br />

konsequent um. UNIX ist deshalb weitgehend vom Rechnertyp<br />

unabhängig. Die wesentlichen Eigenschaften sind:<br />

32-bit System<br />

Multi-User<br />

Multi Tasking<br />

Modularer Aufbau, sehr anpassungsfähig<br />

Firmenunabhängiger, offener Standard<br />

Netzwerkfähig<br />

Viele Dienstprogr<strong>am</strong>me<br />

Leistungsfähige Benutzerschnittstellen<br />

Portabilität (über 90% in C geschrieben)<br />

Zuverlässig<br />

MS DOS mit<br />

Windows 3.11<br />

Firmenspezische Dateisysteme<br />

Weit verbreitetes Betriebssystem <strong>für</strong> PC's mit Windows als grafische<br />

Bedienoberfläche. Inzwischen veraltet.<br />

16-Bit System<br />

Single-User<br />

Single Tasking, mit Windows 3.11 eingeschrämkt Multi Tasking<br />

FAT-Dateisystem: Beschränkte Länge von Datein<strong>am</strong>en und Extensions<br />

MS Windows95 Integration von DOS und Windows. DOS weiter als Trägersystem<br />

vorhanden, jedoch verborgen. Kein vollständiges 32-Bit System, Teile<br />

basieren noch auf 16-Bit Code. Aktueller Standard <strong>für</strong> viele Anwendungen.<br />

32(16)-Bit System<br />

Single-User<br />

Kooperatives Multi Tasking, Steuerung über Taskleiste<br />

Desktop Oberfläche, persönliche Gestaltungsmöglichkeiten<br />

kontextsensitive Menüs, Verknüpfungen<br />

Lange Datein<strong>am</strong>en<br />

Plug&Play (selbständiges Erkennen von Peripheriegeräten)<br />

Integrierte Netzwerkfähigkeit<br />

MS Windows98 auch unter dem Coden<strong>am</strong>en "Memphis" bekannt, beinhaltet zahllose<br />

Detailverbesserungen sowie eine neue. Neue Assistenten und<br />

Dienstprogr<strong>am</strong>me. FAT32 als Standarddateisystem. FAT32 ist eine<br />

verbesserte <strong>Version</strong> des Dateisystems FAT, mit dem Festplatten mit mehr<br />

MS Windows NT<br />

4.0<br />

als 2 GByte Kapazität als ein einziges Laufwerk formatiert werden können<br />

Für High-End PC's, Netzwerk Server und Workstations. Völlig neu<br />

konzipiert, keine Weiterentwicklung von DOS oder Windows. Trotz<br />

gleichem Erscheinungsbild der Oberfläche nicht mit Windows95 zu<br />

verwechseln. Getrennte <strong>Version</strong>en <strong>für</strong> Netzwerk-Server und<br />

Arbeitzplatzrechner.<br />

32-Bit System<br />

Single-User<br />

Echtes Multitasking<br />

Desktop Oberfläche<br />

NTFS-Dateisystem, lange Datein<strong>am</strong>en<br />

Integrierte Netzwerkfähigkeit<br />

Benötigt leistungsstarke Rechner<br />

MS Windows NT Weiterentwicklung.<br />

5.0<br />

32/64-Bit-System<br />

IBM OS/2, Warp Modernes, objektorientiertes Betriebssystem mit integrierter Oberfläche.<br />

OS/2 <strong>Version</strong> 3, auch "Warp", ist von der Bedienung vergleichbar mit<br />

Windows 95/NT. Geringere Verbreitung als Microsoft Produkte. Relativ<br />

33


wenig Anwendungsprogr<strong>am</strong>me.<br />

32-Bit System<br />

Single-User<br />

Echtes Multi Tasking<br />

Multi Thread<br />

Interprozeßkommunikation<br />

Desktop Oberfläche<br />

Apple System 7 Modernes, objektorientiertes System mit ausgezeichneter, grafischer<br />

Bedienoberfläche.<br />

32-Bit System<br />

Single User<br />

Kooperatives Multi Tasking<br />

Netzunterstützung und Kommunikationsfunktionen (Appletalk)<br />

Desktop Oberfläche<br />

Schwerpunkt bei Grafik-Anwendungen (Desktop Publishing,<br />

Bildbearbeitung)<br />

Darüber hinaus gibt es weitere, im wesentlichen auf besondere Rechnertypen spezialisierte<br />

Betreibssysteme.<br />

5.3 Aufgaben eines Betriebssystems<br />

● Starten und Beenden des Rechnerbetriebs<br />

0Ein Rechner ist ohne Progr<strong>am</strong>m grundsätzlich nicht lauffähig. Deshalb müssen zunächst Progr<strong>am</strong>me<br />

geladen werden, die die Enzelkomponenten des Rechners steuern und das eigentliche<br />

Betriebssystem laden. Diese Progr<strong>am</strong>me sind im BIOS (Basic Input/Output System) in einem<br />

nichtflüchtigen Speicherbaustein abgelegt. Nach dem Einschalten arbeitet der Computer die<br />

Anweisungen des BIOS in folgenden Schritten ab:<br />

Selbsttest: überprüfen der Funktionsfähigkeit des Computers (Monitor, Arbeitsspeicher,<br />

Laufwerke, etc.<br />

Setup: überprüfen der vorhandenen Hardwarekonfiguration mit dem gespeicherten<br />

Einstellungen; evtl. neue Eingaben notwendig<br />

Betriebssystem laden: Teile des Betriebssystems werden von einem externen Datenträger<br />

(Festplatte, Floppy Disk, etc.) in den Arbeitsspeicher geladen. Dabei werden<br />

in der Regel spezielle Dateien abgearbeitet, in denen der Benutzer das<br />

System weiter konfigurieren kann (MS DOS: config.sys und autoexec.bat).<br />

Das Betriebssystem übernimmt die Kontrolle. Es organisiert den<br />

Arbeitsspeicher und den Bildschirm, kopiert weitere Teile des<br />

Betriebssystems in den Arbeitsspeicher. Der Rechner ist betriebsbereit.<br />

Diesen Ablauf nennt man auch booten.<br />

34


Einschalten<br />

Selbsttest<br />

Betriebssystem laden<br />

Konfigurationsdatei ausführen<br />

Kommandointerpreter oder<br />

Benutzeroberfläche aktivieren<br />

Progr<strong>am</strong>me aufrufen, die<br />

beim Start aktiv sein sollen<br />

betriebsbereit<br />

der Boot-Vorgang<br />

Im Falle eines Fehlers: Abbruch<br />

DOS: io.sys und msdos.sys<br />

DOS: config.sys<br />

DOS: comand.com<br />

DOS: autoexe.bat<br />

Vor dem Abschalten der Stromzufuhr <strong>am</strong> Ende des Betriebs müssen moderne Betriebssysteme<br />

kontrolliert beendet, man sagt heruntergefahren (engl. shut down), werden, um keine Daten zu<br />

verlieren. Gründe sind z.B: im Hintergrund ausgeführte Progr<strong>am</strong>me, Speicherung von Einstellungen,<br />

permanente Speicherung von gepufferten Platten. Am besten ist, man gewöhnt sich an, vor dem shut<br />

down alle laufenden Anwendungsprogr<strong>am</strong>me zu beenden und offene Bearbeitungsfenster zu<br />

schließen.<br />

Organisation und Verwaltung des Arbeitsspeichers<br />

Steuerung der Hardwarekomponenten<br />

Das Betriebssystem steuert die Hardware (z.B. Festplatte, CD-Laufwerk, Soundkarte, usw.) mit einer<br />

speziellen Steuersoftware, dem sog. Treiber (engl. Driver).<br />

Organisation und Verwaltung der Speichermedien<br />

Numerierung der Speichersektoren, Anlegen von Dateitabellen, Zuordnen von Dateien und<br />

Speicheradressen, Dateien löschen<br />

Organisation der Bildschirmanzeige<br />

Laden und Kontrollieren der Anwenderprogr<strong>am</strong>me, Weitergabe von<br />

Benutzereingaben, Behandlung von Fehlern, Verwalten von Benutzerrechten<br />

Verwaltung und Bedienung mehrerer Nutzer mit eigenen Zugriffsrechten und<br />

Nutzungsprofilen<br />

Dienstfunktionen<br />

Neben den Aufgaben, die ein Betriebssystem automatisch und vom Anwender unbemerkt ausführt,<br />

stellt es eine Reihe von Diensten zur Verfügung, die nur auf Anforderung ausgeführt werden, z.B.:<br />

Laufwerke verwalten (partitionieren, formatieren, ...)<br />

Partitionieren: Aufteilen einer Festplatte in mehrere logische Laufwerke (bei<br />

35


Microsoft und IBM mit Buchstaben gekennzeichnet; vorteilhaft <strong>für</strong><br />

Übersicht und Datensicherheit; notwendig, wenn Betriebsystem nicht<br />

die ges<strong>am</strong>te Platte adressieren kann, z.B. kann Windows95 max.<br />

2GB adressieren<br />

Formatieren: Vorbereiten neuer Platten; Markieren von Spuren und Sektoren;<br />

Erstellen von Adresstabellen<br />

Verzeichnisse und Dateien verwalten (erstellen, löschen, kopieren, umbenennen, ...)<br />

Benutzer verwalten<br />

Systemeinstellungen ändern<br />

Drucker verwalten und einstellen<br />

Text- und Grafikeditoren<br />

Suchfunktionen (Dateien suchen, Zeichen suchen in Dateien)<br />

Schreibtischutensilien (Taschenrechner, Kalender, Uhr, ...)<br />

Standard-Anwenderprogr<strong>am</strong>me (Datenbank, Tabellenkalkulation, Kommunikation, ...)<br />

5.4 Befehlseingabe, Kommandointerpreter und grafische Bedienoberfläche<br />

Kommandointerpreter<br />

Die klassische, insbesondere <strong>für</strong> PC's inzwischen veraltete Methode. Ein Kommando wird über die<br />

Tastatur mit N<strong>am</strong>en und Par<strong>am</strong>etern eingegeben und mit der "↵"- oder Enter-Taste zur Bearbeitung<br />

abgeschickt. Der Kommandointerpreter meldet die Bereitschaft zur Eingabe mit einem Prompt in<br />

einem eigenen Kommando-Fenster, der shell, <strong>am</strong> Bildschirm. Ausgabe wird gewöhnlich wieder in der<br />

shell ausgegeben. Ist der Befehl ausgeführt, erscheint wieder das Prompt. Bei Multi Tasking<br />

Systemen können mehrere shells gleichzeitig betrieben werden.<br />

Für eine Übersicht über die gebräuchlichen DOS-Befehle siehe die Hilfe-Funktion des<br />

Betriebssystems<br />

Grafische Bedienoberfläche (GUI, Graphical User Interface)<br />

Moderne Betriebssystem stellen alle Objekte, mit denen sich der Anwender befassen soll, grafisch<br />

dar. Mit den Tasten der Maus werden Objekte ausgewählt (klicken) und bearbeitet. Meist wählt man<br />

mit der linken Maus das Objekt aus und öffnet mit der rechten einen Dialog, das sog.<br />

kontextspezifische Menü, mit dem die Eigenschaften des ausgewählten Objekts bearbeitet werden<br />

können. Der Hintergrund einer GUI wird als Desktop bezeichnet. Man soll ihn sich als eine Art<br />

Schreibtisch vorstellen. Auch der Hintergrund hat Eigenschaften, deren Kontextmenü mit der rechten<br />

Maustaste geöffnet werden kann.<br />

36


.<br />

Prompt<br />

Wechsle ein Verzeichnis höher<br />

liste Verzeichnis<br />

Eingabefenster unter MS Windows NT mit DOS Befehlen<br />

Windows 95/NT-Desktop mit Word97-Bearbeitungsfenster<br />

37


Ausgewähltes Objekt mit Kontextmenü<br />

38


6 Dateien und Dateisysteme<br />

6.1 Das Dateisystem<br />

Das wichtigste Ordnungsprinzip auf einem Rechner ist die Zus<strong>am</strong>menfassung von Daten und<br />

Progr<strong>am</strong>men in Dateien (engl. file). Man unterscheidet Dateien nach ihrem Inhalt, z.B. ASCII- oder<br />

Binär-Dateien. Dateien werden vom Betriebssystem in Dateisystemen (file systems) verwaltet. Zur<br />

besseren Übersichtlichkeit sind Dateisysteme in Verzeichnissen (directories) strukturiert.<br />

Verzeichnisse und Dateien sind in Dateisystemen baumartig angeordnet. Die "Wurzel" ist das sog.<br />

root directory oder Basisverzeichnis. Ein Dateisystem erstreckt sich typischerweise auf ein Laufwerk.<br />

Microsoft Betriebssysteme erlauben die Definition verschiedener mit einem Buchstaben bezeichneter<br />

Laufwerke auf einem Datenträger. Nach dem login befindet sich jeder Anwender in der <strong>für</strong> ihn<br />

definierten home directory. Als working directory wird dasjenige Verzeichnis bezeichnet, in dem man<br />

sich soeben befindet. Unter Windows NT befindet sich das Betriebssystem im wesentlichen unter dem<br />

Pfad C:\winnt. Die Laufwerkbezeichnung kann installationsbedingt wechseln. Links sind Verweise auf<br />

Dateien oder Verzeichnisse. Sie erlauben die Definition von Querverbindung im streng hierarchisch<br />

geordneten Dateibaum.<br />

...<br />

Vorlesungen<br />

H:<br />

FTW Nili I EDV<br />

kub<br />

Word Excel<br />

Root Verzeichnis<br />

Manuskript<br />

Verzeichnis<br />

Datei<br />

Einleitung.doc Betriebssystem.doc Dateisystem.doc<br />

Windows NT: Teile des Dateibaums auf Laufwerk H<br />

Dateibäume sollten logisch geordnet werden. Die logische Struktur eines in verschiedenen Dateien<br />

gespeicherten Projektes sollte im Dateibaum abgebildet werden, das erleichtert die Übersicht und das<br />

Wiederfinden von Dateien. Tatsächlich existiert der Dateibaum nur logisch, physikalisch sind die<br />

Dateien und Verzeichnisse nach anderen Gesichtspunkten auf dem Datenträger verteilt. Als Pfad<br />

bezeichnet man den Weg vom Root Verzeichnis bis zur betrachteten Datei bzw. Verzeichnis, z.B. <strong>für</strong><br />

den dargestellten Baum ist der Pfad zu "Dateisystem.doc" (Microsoft Syntax):<br />

H:\kub\Word\Vorlesungen\EDV\Manuskript\Dateisystem.doc<br />

Die Struktur von Dateisystemen ist in allen Betriebssystemen im Prinzip gleich. Es gibt jedoch<br />

Unterschiede in der Syntax. UNIX verwendet z.B. als Trennzechen im Pfad den Schrägstrich "/" im<br />

Gegensatz zum back slash "\" bei Microsoft. UNIX definiert keine Laufwerke mit Buchstaben, sondern<br />

arbeitet mit sog. mount points. Diese erscheinen wie Verzeichnisse mit beliebiger Bezeichnung.<br />

6.2 Datein<strong>am</strong>en<br />

Folgende Konventionen gelten:<br />

System Konvention<br />

MS DOS FAT-Dateisystem<br />

8.3-Konvention: N<strong>am</strong>e max. 8 Zeichen, kein Leerzeichen<br />

39


optional Endung (Suffix) mit max. 3 Zeichen, getrennt mit einem Punkt<br />

Groß-/Kleinschreibung nicht signifikant (case insensitive)<br />

Windows NTFS-Dateisystem (NT File System)<br />

95/NT<br />

Max. 256 Zeichen, einschl. Leerzeichen, beliebige Endung<br />

Groß-/Kleinschreibung nicht signifikant (case insensitive)<br />

UNIX Max. 256 Zeichen, Groß-/Kleinschreibung ist signifikant (case sensitive)<br />

Die Datei-Endungen spielen insbesondere <strong>für</strong> Microsoft Betriebssystemen eine große Rolle. Dabei<br />

hält man sich meist an die 3-Buchstaben-Regel., obwohl dies <strong>für</strong> die neueren Windows-Systeme<br />

nicht mehr zwingend ist. Die Systeme nutzen die Endung, um auf den Datei-Inhalt zu schließen<br />

und ihnen in der grafischen Oberfläche ein spezielles Symbol, das sog. Icon, zuzuweisen.<br />

Einige gebräuchliche Endungen:<br />

Endung Inhalt Endung Inhalt<br />

.exe,<br />

Binäre, ausführbare<br />

.ppt Power Point-Datei<br />

.com<br />

Progr<strong>am</strong>me<br />

.bat Batch-Progr<strong>am</strong>me .ps Post Script Datei<br />

.asc ASCII-Text .bmp Bitmap Grafik Datei<br />

.txt Nodepad-Text .gif,<br />

.jpg, tif<br />

Weitere Grafik Formate<br />

.doc Word-Dokument .html HTML Datei (4<br />

Buchstaben)<br />

.xls Excel-Tabelle .zip Komprimierte Datei<br />

.hlp Hife-Datei .sys Gerätetreiber<br />

6.3 Zugriffsrechte<br />

Unter Multi User Systemen ist die sorgfältige Definition der Zugriffsrechte von besonderer Bedeutung.<br />

Viele Benutzer teilen sich denselben Datenspeicher und sollen dennoch voneinander getrennt sein.<br />

Benutzer sind in Gruppen eingeteilt. Man kann jedem einzelnen Benutzer, aber auch jeder Gruppe<br />

und natürlich jedermann bestimmte Zugriffsrechte <strong>am</strong> File einräumen. Man sollte regelmäßig die<br />

Benutzerrechte der eigenen Dateien und Verzeichnisse überprüfen, um einen ungewollten Zugriff<br />

anderer zu verhindern. Bei grafisch orientierten Betriebssystemen können die Zugriffsrechte über das<br />

Kontextmenü des jeweiligen Objektes vergeben werden.<br />

6.4 Organisieren von Dateien und Verzeichnissen<br />

Organisieren mit Interpreter-Kommandos<br />

Kommando UNIX MS-DOS<br />

Aktuelles Verzeichnis anzeigen pwd cd<br />

Wechsel in das übergeordnete Verzeichnis cd .. cd ..<br />

Wechsel in ein Verzeichnis cd cd <br />

Erzeugen eines Verzeichnisses mkdir mkdir <br />

Löschen einer Datei rm del <br />

Lösche leeres Verzeichnis rmdir rmdir <br />

Lösche Verzeichnis mit Inhalt rm -r del <br />

Anzeigen des Inhalts des aktuellen ls oder ls -l dir<br />

Verzeichnisses<br />

Kopiere Datei cp copy <br />

Umbenennen von Dateien mv move <br />

Interaktiv-grafische Organisation<br />

Grafisch orientierte Betriebssysteme stellen interaktive Werkzeuge (Windows: Explorer; Apple: Finder;<br />

HP-UX: HP-Vue) <strong>für</strong> die Organisation von Dateien und Verzeichnissen zur Verfügung. In der Regel<br />

fällt die Bedienung sehr leicht und ist intuitiv erlernbar. Z.B., wird ein File von einem Verzeichnis in ein<br />

40


anderes verschoben, indem man ihn auswählt und bei gedrückter Maustaste in das andere<br />

Verzeichnis verschiebt oder in Papierkorb, wenn man löschen will (Drag and Drop). Drückt man z.B.<br />

beim Explorer zusätzlich die Strg-Taste alleine oder zus<strong>am</strong>men mit der shift-Taste, wird eine Kopie<br />

bzw. ein Verweis erstellt. Weitere Möglichkeiten ergeben sich durch den Gebrauch des Kontextmenüs<br />

auf der rechten Maustaste. Eine besondere, ursprünglich von Apple eingeführte, Eigenschaft dieser<br />

Systeme ist implizite Verknüpfung eines Objektes mit einem Anwendungsprogr<strong>am</strong>m, welches durch<br />

ein Doppelklick auf das entsprechende Objekt-Symbol gestartet wird. Zum Beispiel ist unter Windows<br />

mit einer Word-Datei das Symbol verknüpft. Ein Doppelklick mit der linken Maustaste startet<br />

sofort Word zur Bearbeitung der entsprechenden Datei.<br />

Microsoft Explorer mit Symbolen <strong>für</strong> Verzeichnisse und Dateien<br />

41


7 Rechnernetze - Arbeiten im Netz<br />

7.1 Rechnernetze<br />

Über Leitungen verbundene Rechner werden auch Rechnernetze oder Netzwerk genannt, der<br />

einzelne Rechner in einem Netzwerk auch Knoten. Direkte Nachbarn sind solche Rechner, zwischen<br />

denen eine direkte Leitungsverbindung existiert. Mittelbare Nachbarn sind indirekt über andere<br />

Rechner verbunden. Kommunizieren mittelbare Nachbarn miteinander, so muß die Information über<br />

die Zwischenrechner weitergereicht werden, die davon ihrerseits belastet werden.<br />

Rechner werden aus verschiedenen Gründen vernetzt. Je nach Zweck unterscheidet man:<br />

• Datenverbund: gemeins<strong>am</strong>e Nutzung von Daten. Grundlage der Rechnernetze als<br />

Informations- und Kommunikationsmedium z.B. im Internet. Austausch von<br />

Datensätzen, z.B. von CAD- oder FEM-Modellen. Administrative Aspekte, wie<br />

z.B. Backup oder Netzwerkinstallation.<br />

• Funktionsverbund: Zugriff auf spezielle Funktionen in einem Netzwerk, z.B. starke Rechner <strong>für</strong><br />

die Berechnung („number cruncher“), besondere Drucker, usw.<br />

• Lastverbund: gleichmäßige Auslastung aller Rechner im Netz. Stark belastete Rechner<br />

geben Arbeit an weniger ausgelastete ab. Beschleunigung zeitaufwendiger<br />

Prozesse durch paralleles Rechnen.<br />

Netze werden nach ihrer Größe klassifiziert:<br />

LAN: bezeichnet kleine Netze (Local Area Network), die typischerweise ein Büro, ein <strong>Institut</strong>, ein<br />

oder mehrere Gebäude bei Rechnerabständen von wenigen hundert Metern vernetzen.<br />

Typische Übertragungsraten von 1 bis 100 Mbit/Sekunde.<br />

MAN: Metropolitan Area Network. Ein spezielles WAN, das sich typischerweise auf eine Stadt,<br />

ein Stadtteil oder eine größere Firma beschränkt. Unterscheidet sich vom traditionellen<br />

WAN durch eine vergleichsweise hohe Datenübertragungsrate: 100MBit/s bis 1GBit/s.<br />

WAN: Wide Area Network, verbindet Rechner über größere Entfernungen innerhalb eines oder<br />

mehrerer Länder über öffentliche Datenübertragungseinrichtungen. Die<br />

Übertragungsraten liegen z.Zt. zwischen 64 kBit/s und 2MBit/s, werden aber schon in<br />

naher Zukunft deutlich bis über 600 MBit/s ansteigen.<br />

GAN Global Area Network, verbindet Rechner weltweit. Ein globales Netz ist die logische<br />

Zus<strong>am</strong>menfassung verschiedener LANs, MANs usw. Beispiele sind globale Netze<br />

internationaler Firmen oder öffentliche Netze, wie z.B. das Internet.<br />

Die Übergänge zwischen den einzelnen Kategorien sind fließend: Ist das C<strong>am</strong>pus-Netz ein großes<br />

LAN, ein MAN oder schon ein kleines WAN?<br />

Die <strong>am</strong> Netzwerk beteiligten Systeme sind durch ein Übertragungsmedium, in der Regel ein Kabel,<br />

miteinander verbunden. Netze sind in Netzwerksegmente gegliedert. In Netzwerkprotokollen ist<br />

festgelegt, wie die Rechner miteinander kommunizieren. Beispielsweise welche elektrische Spannung<br />

<strong>am</strong> Kabel welchem Signal entspricht, wie Daten zu Paketen zus<strong>am</strong>mengefaßt werden, wie<br />

sichergestellt wird, daß alle Pakete richtig beim Empfänger ankommen oder im Fehlerfall neu<br />

gesendet werden, wie auf Basis dieser Pakete Files transferiert werden oder wie die Anwendungen<br />

auf anderen Rechnern genutzt werden können.<br />

Werden die Bits einer Botschaft nacheinander übertragen, handelt es sich um eine serielle<br />

Übertragung. Besteht die Leitung aus mehreren Kanälen (bzw. Drähten) können die Bits parallel<br />

42


gesendet werden. Die Leitungslänge paralleler Übertragungen ist begrenzt, auf größeren<br />

Entfernungen wird deshalb in der Regel seriell übertragen.<br />

Der Empfänger muß aus dem Strom der zugesandten Bits die Anfänge bzw. Enden von<br />

zus<strong>am</strong>mengehörenden Sequenzen (typischerweise 8 Bit = 1 Byte) erkennen können, um die<br />

Nachricht richtig zu entschlüsseln. Im Start/Stop-Verfahren werden deshalb jedem Byte ein Startbit<br />

voran- und ein Stopbit nachgestellt (Asynchronverfahren). Beim schnelleren Synchronverfahren sorgt<br />

ein Taktgeber der Übertragungseinrichtung da<strong>für</strong>, daß Sender und Empfänger im gleich Takt sind. Die<br />

Daten werden dabei ohne Pause blockweise übertragen.<br />

Das Maß der Übertragungsrate ist: 1 Baud = 1Bit/Sekunde.<br />

Eine Telefonverbindung besteht während des Gesprächs fest zwischen den beiden<br />

Gesprächsteilnehmern (Leitungsvermittlung). Dies ist bei einer elektronischen Datenübertragung<br />

zwischen Computern nicht notwendig. Die Daten werden in Blöcke (Pakete) variabler Größe aufgeteilt,<br />

denen Angaben über ihren Bestimmungsort angefügt werden. Bei den heute üblichen<br />

Netztechnologien ist der Weg jedoch nicht festgelegt und bestimmt sich während der Übertragung aus<br />

Verfügbarkeit und Belastung des Netzes (Paketübermittlung). Die Redundanz eines größeren<br />

Netzwerkes wird dabei im Sinne einer ausgewogenen Netzauslastung ausgenutzt.<br />

7.1.1 Übertragungsmedien<br />

Folgende Medien sind gebräuchlich:<br />

Verdrillte Kupferkabel Grundlage des herkömmlichen Telefonnetzes. Mit digitaler Vermittlungs- und<br />

Übertragungstechnik (ISDN) sind im Telefonnetz Übertragungsraten bis 150<br />

kBit/s möglich. Höhere Übertragungsraten bis zu 100 MBit/s <strong>für</strong> den Einsatz in<br />

LANs sind mit speziellen abgeschirmten Kabeln möglich (z.B. Fast Ethernet).<br />

Koaxialkabel Sehr gut abgeschirmte Kabel mit Übertragungsraten bis zu 300 MBit/s.<br />

Grundlage des traditionellen Ethernet. Wird jedoch zunehmend von verdrillten<br />

Kabeln im wesentlichen aus Kostengründen verdrängt.<br />

Glasfaserkabel Übertragung durch Lichtsignale, z.Zt. mit einer Rate bis zu 1 Gbit/s. Höhere<br />

Raten werden in Zukunft möglich sein. Weitere Vorteile: Abhörsicherheit,<br />

Unempfindlichkeit gegenüber elektronischen Störeinflüssen, erzeugt selbst<br />

keine Strahlung. Grundlage von z.B. FDDI.<br />

Richtfunk Für die internationale Datenübertragung über Satelliten (mehrere Gbit/s) oder<br />

auch auf kurzen Strecken (~ 4 MBit/s), z.B. im dicht bebauten Stadtgebiet, wo<br />

Kabel schlecht verlegt werden können.<br />

Infrarot Übertragung innerhalb geschlossener Räume, z.B. zur Datenübertragung an<br />

einen Drucker (vergleiche Fernbedienung von elektronischen<br />

Unterhaltungsgeräten). Reichweite ~ 1m; Übertragungsrate bis zu 115 kBit/s.<br />

7.1.2 Topologie von Netzwerken<br />

Die Topologie von Rechnernetzen wird nach der Anordnung der Rechnerhardware unterschieden. Die<br />

Topologie beschreibt die physikalische Hierarchie der Rechner im Netz. Sie ist nicht mit der Hierarchie<br />

der Rechner bei m Betrieb, dem sog. Netzwerksystem, zu verwechseln.<br />

43


7.1.2.1 Stern-Topologie<br />

Sternverteiler<br />

Vorteile: bei Ausfall einer Kabelverbindung oder eines Rechners können alle anderen Rechner,<br />

Knoten oder Stationen weiterarbeiten<br />

die Sternstruktur kann leicht erweitert werden<br />

Nachteile: Störungen im Sternverteiler verursachen einen totalen Netzausfall<br />

viele Kabel<br />

Standard: IEEE 802.4 (Arcnet)<br />

7.1.2.2 Bustopologie<br />

Vorteile: die Bus-Topologie kann leicht verändert und erweitert werden<br />

die Anzahl der Kabel ist minimal<br />

Nachteile: Ausfall einer Kabelverbindung führt zu einem Netzwerkausfall<br />

Hardwarefehler sind schwierig zu lokalisieren<br />

Standard: IEEE 802.3 (Ethernet)<br />

7.1.2.3 Ring-Topologie<br />

Vorteil: keine Datenkollisionen bei der Übertragung<br />

44


Nachteil: Ausfall einer Kabelverbindung führt zu einem totalen Netzwerkausfall<br />

Standard: IEE 802.5 (Token)<br />

7.1.2.4 Baum-Topologie<br />

Eine in sich wiederholte Sterntopologie<br />

7.1.3 Netzwerksysteme<br />

Mit allen Netztopologien können folgende Netzwerk-Systeme betrieben werden. Ein Netzwerk-System<br />

regelt die logische Hierarchie der Rechner in einem Netz.<br />

0System 0Merkmale<br />

1Host-System • Das Netzwerk wird vom zentralen Rechner (Host) dominiert; dezentral<br />

befinden sich Terminals ohne eigene Rechenleistung, sie dienen nur der<br />

Datenein- und ausgabe<br />

• Alle Daten und Progr<strong>am</strong>me liegen auf dem Host und werden dort<br />

ausgeführt<br />

2Client-Server-<br />

System<br />

3Peer-to-Peer-<br />

System<br />

• Main Fr<strong>am</strong>e oder Großrechner-Konzept, eigentlich veraltet<br />

• Ein Server bietet Dienstleistung im Netz an, der Client nimmt sie in<br />

Anspruch,<br />

z.B: Fileserver (Datenablage), Rechenserver, Backupserver, Druckserver,<br />

usw.<br />

• Ein Rechner kann sogleich Client wie Server sein<br />

• Modernes Konzept, das auf die spezifischen Leistungs- und<br />

•<br />

Kostenmerkmale der Rechner im Netz abgestimmt ist<br />

Beispiel: WindowsNT Server, NetWare (NOVELL)<br />

• Alle Rechner sind gleichberechtigt<br />

• Daten und Progr<strong>am</strong>me können auf beliebigen Rechnern im Netz liegen<br />

• Progr<strong>am</strong>me werden auf dem lokalen Rechner ausgeführt<br />

• Beispiel: Windows95, WindowsNT<br />

45


7.1.4 Netzprotokolle<br />

Der Inhalt der Daten ist bei der elektronischen Datenübertragung von untergeordneter Bedeutung, im<br />

Gegensatz zur nachfolgenden Anwendung. Zunächst kommt es darauf an, daß der Empfänger sowohl<br />

die Daten vollständig erhält als auch die Information, wie die Daten zu interpretieren sind. Der<br />

Empfänger muß aus einem scheinbar unstrukturierten Strom von Bits die Bedeutung erkennen. Die<br />

gemeins<strong>am</strong>e Sprache, die Sender und Empfänger beherrschen müssen, nennt man Protokoll.<br />

Das ISO/OSI (International Standardization Organization/ Open Systems Interconnection) 7-<br />

Schichten-Modell, mit dem die OSI-Protokolle beschrieben werden, wird sehr häufig herangezogen<br />

um die gebräuchlichen Netzwerkprotokolle und die darauf aufbauenden Netzwerkbetriebssysteme zu<br />

beschreiben. Das Modell definiert in sieben Schichten das Protokoll, wobei Dienste höherer Schichten<br />

auf die nächstniedrigere zurückgreifen. Die Funktionen der Schichten sind in folgender Tabelle<br />

dargestellt:<br />

Schicht Funktion<br />

7 Anwendung (Application) network progr<strong>am</strong>s<br />

6 Darstellung (Presentation) data interpretation<br />

5 Sitzung (Session) connection control<br />

4 Transport end-to-end transfer<br />

3 Netzwerk (Network) routing and switching<br />

2 Leitung (Data Link) data packaging and error detection<br />

1 Bitübertragung (Physical) physical connection<br />

Tabelle: ISO-7-Schichten-Modell<br />

Aufbauend auf dem ISO-Modell wurden verschiedene Netzwerkprotokolle entwickelt. Das vom<br />

<strong>am</strong>erikanischen Verteidigungsministerium definierte TCP/IP (Transmission Control Protocol/ Internet<br />

Protocol) ist <strong>am</strong> meisten verbreitet und auf jeder wichtigen Rechnerplattform verfügbar. Es wurde <strong>für</strong><br />

den Einsatz auf unterschiedlichen Medien und Rechnern zur Vernetzung heterogener Systeme<br />

konzipiert. Es lassen sich d<strong>am</strong>it Rechner unterschiedlichster Betriebssysteme vernetzen. Auf das<br />

TCP/IP-Protokoll setzen eine Reihe von Applikationen auf, die normalerweise unter dem Obertitel des<br />

Protokolls gemeint werden: z.B. ftp <strong>für</strong> den Filetransfer, telnet und rlogin <strong>für</strong> Remote Control bzw.<br />

Remote Login, electronic Mail, http zum Betrieb von WWW-Diensten etc. TCP/IP ist auf den OSI-<br />

Schichten 3 und 4 einzuordnen.<br />

Als systemübergreifende Alternative zu TCP/IP gibt es z.B. das OSI-Protokoll oder das SNA-Protokoll<br />

(Systems Network Architecture), die von HP unterstützt werden, oder verschiedene<br />

herstellerabhängige Protokolle, wie z.B. Apollo Protokoll, DECnet oder AppleTalk.<br />

7.1.5 Netzwerk-Technologie<br />

Unter Netzwerk-Technologie versteht man die Einheit von Netzprotokoll und seiner Umsetzung in<br />

Hardware-Komponenten. Die Abgrenzungen sind nicht besonders scharf, was u.a. daran sichtbar<br />

wird, daß Ethernet wesentlich über die Hardware definiert wird, während es sich bei ATM im Grunde<br />

um ein Basisprotokoll auf der ersten Schicht des OSI-Modells handelt.<br />

7.1.5.1 Ethernet<br />

Die <strong>am</strong> weitesten verbreitete Netzerk-Technologie ist das Ethernet. Das Ethernet (IEEE 802.3)<br />

unterstützt die Bustopologie. Es besteht aus einem Backbone-Kabel und Verbindungshardware<br />

(Transceiver), die die Controller der einzelnen Stationen mit dem Backbonekabel verbindet. Ethernet-<br />

Stationen sind z.B.: Alle Arten von Rechnern mit einem Ethernet Interface, X-Terminals, Bridges,<br />

Router, Netzwerkdrucker usw.. Ethernet-Interfaces sind mit weltweit eindeutigen Seriennummern<br />

versehen.<br />

46


Transceiver<br />

Controller<br />

Transceiverkabel<br />

Station<br />

Ethernet<br />

Ethernet gibt es in verschiedenen Kabelvarianten, die sich im wesentlichen in Kabelwiderstand,<br />

zulässigen Kabelsegmentlängen und Anschaffungspreis unterscheiden. Die erreichbare<br />

Übertragungsrate von 10 Mbit/sec ist in allen Fällen gleich.<br />

Wegen der zunehmenden Netzbelastung hat Ethernet inzwischen seine Leistungsgrenze erreicht.<br />

Neben den schnellen aber teuren bzw. noch nicht stabilen Protokollen FDDI und ATM wurde das Fast<br />

Ethernet entwickelt. Es basiert auf der Twisted Pair Hardware, leistet 100 Mbit/sec und repräsentiert<br />

den aktuellen Standard der Vernetzung.<br />

7.1.5.2 Token Ring<br />

Ein Ringnetz, das von IBM entwickelt wurde. Im Ring wird zwischen den Rechnern ständig ein<br />

bestimmtes Signal, das sog. Token, weitergereicht ("Taler, Taler, Du mußt wandern ..."). Will ein<br />

Rechner eine Nachricht senden, besetzt er das Token und hängt seine Nachricht sowie die<br />

Zieladresse an. Die anderen Rechner können d<strong>am</strong>it nicht mehr senden. Der Zielrechner hängt eine<br />

weitere Kontrollmarkierung an und schickt das modifizierte Token weiter, bis es wieder den Sender<br />

erreicht. Der Sender setzt den Token und d<strong>am</strong>it das Senderecht wieder frei. Die Übertragungsrate (4-<br />

16 MBit/s) des ges<strong>am</strong>ten Netzes wird vom langs<strong>am</strong>sten Netzadapter der angeschlossenen Rechner<br />

bestimmt) An einer Ringleitung können bis zu 255 Stationen angeschlossen werden.<br />

7.1.5.3 FDDI - Fiber Distributed Interface<br />

Ein Doppelringsystem mit einem Token-Passing-System wie beim Token Ring. Allerdings können<br />

mehrere Token in einem Doppelring versendet werden. Die beiden Ringe sind gegenläufig<br />

ausgerichtet, der Ausfall einer Station beeinträchtigt deshalb den Netzbetrieb nicht. Übertragungsraten<br />

bis zu 100 MBit/s.<br />

7.1.5.4 ATM - Asynchronous Transfer Mode<br />

ATM unterscheidet sich von anderen Technologien dadurch, daß (i) kleine Pakete konstanter Größe<br />

verschickt werden, sog. Zellen und (ii) der Übertragungsweg der Pakete vorher festgelegt wird. Es<br />

handelt sich dabei um eine logische Leitungsvermittlung, auch Signalisierung genannt. Die Adressen<br />

der Zellen sind deshalb sehr kurz und die Daten können sehr schnell weitergereicht werden. Im<br />

Gegensatz zur Telefonleitung besteht die Verbindung jedoch nur im Moment der Datenübertragung,<br />

die Übertragungskosten richten sich deshalb nach den Datenmengen und nicht nach der<br />

Verbindungsdauer. ATM ist speziell <strong>für</strong> multimediale Anwendung konzipiert und unterscheidet deshalb<br />

verschiedene Arten von Datenquellen mit unterschiedlichen Anforderungen an Grundbelastung und<br />

max. Intensität der Datenübertragung (Telefonat, Video, Fileübertragung, verteiltes Rechnen etc.), die<br />

bei der Übertragung berücksichtigt werden. Zur Zeit ist ATM noch nicht völlig ausgereift, gilt aber als<br />

Technologie der Zukunft.<br />

7.1.5.5 Überblick über Netzwerk-Technologien<br />

Hardware Merkmale<br />

47


Ethernet 10Base2<br />

ThinWire,<br />

CheaperNet<br />

Ethernet 10Base5<br />

ThickWire<br />

Ethernet 10Base-T<br />

TwistedPair<br />

Ethernet 10Base-F<br />

Lichtleiter<br />

Ethernet 100Base-T<br />

FastEthernet<br />

FDDI<br />

Fiber Distributed Data<br />

Interface<br />

ATM<br />

Asynchrone Transfer Mode<br />

Coax-Kupferkabel, Transferrate 10Mbit/s<br />

max. Kabellänge eines Netzsegmentes: 185m<br />

max. Anzahl Stationen im Segment: 30<br />

min. Abstand zwischen 2 Stationen: 0,5 m<br />

die Urform de Ethernet, Coax-Kupferkabel, Transferrate 10Mbit/s<br />

max. Kabellänge eines Netzsegmentes: 500m<br />

max. Anzahl Stationen im Segment: 100<br />

min. Abstand zwischen 2 Transceivern: 2,5 m<br />

max. Länge de Tranceiver Kabels: 50m<br />

paarweise verdrilltes Kabel (<strong>am</strong>erikanisches Telefonkabel)<br />

Transferrate 10Mbit/s<br />

jede Station wird direkt an einen Repeater angeschlossen, max.<br />

Länge des Anschlußkabels: 100m; keine direkte Verbindung<br />

zwischen den Stationen; Sterntopologie, intern als Bustopologie<br />

geschaltet<br />

Glasfaserleitung, Transferrate 10Mbit/s<br />

Zur Überbrückung großer Entfernungen zwischen zwei<br />

Tranceivern<br />

wie 10Base-T, jedoch<br />

Transferrate 100 Mbit/s<br />

Heutige Standard Technologie <strong>für</strong> kleinere LANs<br />

Glasfaserleitungen, aber auch Coax-Kupferkabel<br />

Speziell <strong>für</strong> schnelle Backbone Verbindungen entwickelt<br />

Transferrate 100 Mbit/s<br />

Max. Kabellänge: 60 km<br />

Max. 1000 Stationen<br />

Basiert auf einer Doppel-Ring Topologie<br />

Noch nicht vollständig ausgereift<br />

gilt aber als Technologie der Zukunft<br />

Transferrate bis 2,4 Gbit/s bei paralleler Übertragung<br />

7.1.6 Aktive Elemente im Netzwerk<br />

Mehrere Netz-Segmente lassen sich mit Repeatern und Bridges zus<strong>am</strong>menschalten. D<strong>am</strong>it lassen<br />

sich Limitierungen, die <strong>für</strong> die Einzelsegmente weiterhin gelten, umgehen. Mit Repeatern und Bridges<br />

sind auch z.B. Ethernet-Netze mit größeren Entfernungen als 185 bzw. 500m möglich. Man<br />

unterscheidet :<br />

Repeater: ein Signalverstärker zur Netzverlängerung, der mehrere (mindestens zwei)<br />

Netzwerkanschlüsse hat. Der Anschluß eines Repeaters zählt als eine Station und<br />

muß bei der max. zulässigen Zahl berücksichtigt werden. Im Pfad zwischen zwei<br />

beliebigen Stationen dürfen üblicherweise nicht mehr als zwei Repeater sein.<br />

Hub: ist ein Multiport Repeater speziell <strong>für</strong> Twisted Pair. Ein Hub verfügt meist über acht, 16<br />

oder mehr Ports (RJ45) <strong>für</strong> den direkten Anschluß der Stationen sowie über<br />

mindestens einen zusätzlichen Port zum Anschluß eines weiteren Netzsegmentes.<br />

Bridge: Neben der Erweiterung des Netzwerkes erhöht die Bridge die Ausfallsicherheit, da<br />

Störungen auf der einen Seite einer Bridge nicht auf die andere Seite gelangen. Sie<br />

verbessert die Datensicherheit, da Informationen, die zwischen zwei Stationen auf<br />

einer Seite der Bridge ausgetauscht werden, nicht auf der anderen Seite abgehört<br />

werden können.. Die intelligente Bridge lernt selbst und ist die heute übliche “Plug and<br />

Play”-Lösung.<br />

Switches: sind im Grunde Multiport Bridges. Sie brechen die serielle Ethernet-Busstruktur in eine<br />

48


Bus-/Sternstruktur auf. Teilsegmente mit Busstruktur werden sternförmig über je einen<br />

Port des Switches gekoppelt. Im Gegensatz zu Bridges transportieren Switches auch<br />

fehlerhafte Pakete weiter.<br />

Router: verbinden auch Netze unterschiedlicher Topologien. Sie sind nicht protokolltransparent,<br />

sondern müssen in der Lage sein, alle verwendeten Protokolle zu<br />

erkennen, da sie Informationsblöcke protokollspezifisch umsetzen. Die logischen<br />

Internet-Adressen in einem Netzwerk können von Routern ausgewertet werden, um<br />

mit Hilfe von internen Routing Tabellen den optimalen Weg vom Sender zum<br />

Empfänger zu finden. Mit Routern kann die Netzwerk-Datensicherheit nocheinmal<br />

wesentlich gesteigert werden. Router verlangs<strong>am</strong>en in der Regel den Datentransfer,<br />

sind jedoch in verzweigten WANs effizienter. Router sind deutlich teurer als Bridges.<br />

Router werden ihrer Funktion als Verbindungseinheit zweier Netze auch “Gateway”<br />

genannt.<br />

Gateways: decken alle sieben Schichten des OSI-Modells ab und bewirken eine Umsetzung aller<br />

Schichten zwischen zwei unterschiedlichen Systemen. Sie sind notwendig <strong>für</strong> die<br />

Anpassung bzw. den Übergang von einem Netztyp auf einen anderen, wenn Netze<br />

mit unterschiedlichen Protokollen gekoppelt werden.<br />

Konzentrator: intelligenter Hub zum Anschluss von FDDI Stationen der Doppelring-Topologie<br />

entspricht dem Tranceiver des Ethernets<br />

7.1.7 Datenübertragung mit Telefonleitungen<br />

Zur Datenfernübertragung zwischen Rechnern kann das Telefonnetz verwendet werden. Man<br />

unterscheidet dabei das klassische analoge Telefonnetz und das digitale Telefonsystem ISDN<br />

(Integrated Services Digital Network). Beim analogen Verfahren werden die digitalen Daten mit einem<br />

Modem (Modulator und Demodulator) in analoge Signale umgewandelt. Die Leistungsfähigkeit des<br />

Verfahrens ist jedoch begrenzt. Durch spezielle Kodierungs- und Kompressionsverfahren erreichen<br />

moderne Modems Übertragungsraten bis zu ca. 56 kBit/s. Man kann diese Raten nur nutzen, wenn<br />

beide Modems bei Sender und Empfänger dasselbe Übertragungsverfahren verwenden.<br />

Eine weitere Steigerung der Geschwindigkeit auf 64 kBit/s wird mit der digitalen ISDN-Technik<br />

erreicht. ISDN bietet neben einem Signalisierungskanal mit 16 kBit/s, zwei Nutzungskanäle mit je 64<br />

kBit/s zur Datenübertragung. ISDN baut eine durchgehende digitale Verbindung zwischen den<br />

Endgeräten auf und kann als paketvermittelndes System eingesetzt werden. Anstelle eines Modems<br />

muß der beteiligte Rechner über einen direkten ISDN-Anschluß (ISDN-Karte) verfügen.<br />

Übersicht über die Übertragungszeiten <strong>für</strong> typische Datenmengen:<br />

Datei Größe Übertragungszeit [s]<br />

1-seitiger Brief mit<br />

Formatierungen<br />

1 Seite e-mail<br />

(ASCII-Zeichen)<br />

Pixel-Grafik (15x8 cm)<br />

BMP-Format<br />

DIN A0<br />

CAD-Plan<br />

[KByte] [Bit]<br />

Ethernet<br />

10 MBit/s<br />

ISDN<br />

64 kBit/s<br />

Analog<br />

24 kBit/s<br />

ca. 20 163.840 0,016 s 2,500 s 6,667 s<br />

ca. 4 32.768 0,003 s 0,500 s 1,333 s<br />

ca. 300 2.457.600 0,234 s 37,500 s 100,000 s<br />

ca. 1.024 8.388.608 0,800 s 128,000 s 341,333 s<br />

Beispielhafte Berechnung der Kosten einer Datenübermittlung mit ISDN bei der Deutschen Telekom<br />

(Stand 9.98; Kosten pro Einheit: 12 Pf).<br />

49


1-seitiger Brief mit<br />

Formatierungen<br />

1 Seite e-mail<br />

(ASCII-Zeichen)<br />

Pixel-Grafik (15x8 cm)<br />

BMP-Format<br />

DIN A0<br />

CAD-Plan<br />

240 90<br />

Taktzeiten [s]<br />

60 36 26 13<br />

CityCall CityCall RegioCall GermanCall RegioCall GermanCall<br />

Mondschein 9.00-12.00 Mondschein Mondschein 9.00-12.00 9.00-12.00<br />

0,12 DM 0,12 DM 0,12 DM 0,12 DM 0,12 DM 0,12 DM<br />

0,12 DM 0,12 DM 0,12 DM 0,12 DM 0,12 DM 0,12 DM<br />

0,12 DM 0,12 DM 0,12 DM 0,24 DM 0,24 DM 0,36 DM<br />

0,12 DM 0,24 DM 0,36 DM 0,48 DM 0,60 DM 1,20 DM<br />

7.1.8 Das kleine ISDN-Lexikon<br />

Die folgende Zus<strong>am</strong>menstellung von "ISDN-Begriffen" entst<strong>am</strong>mt der Internet-Seite der Firma AVM:<br />

http://www.avm.de/deutsch/wegweis/lexicon.htm.<br />

a/b Schnittstelle Anschlußstelle <strong>für</strong> analoge Endgeräte wie z.B. herkömmliche Telefone oder<br />

Faxgeräte<br />

a/d-Wandler Gerät, das analoge Signale in digitale Signale umwandelt<br />

Anlagenanschluß Anschluß <strong>für</strong> eine Telekommunikationsanlage (TK-Anlage) als ISDN-<br />

Endeinrichtung - alle weiteren Endgeräte werden an diese Anlage<br />

angeschlossen. Sie erhalten einen Rufnummernblock (RNB) mit mehreren<br />

Durchwahlnummern.<br />

Anklopfen Bei belegtem Anschluß wird dem Empfänger ein neu eingehender Anruf<br />

angezeigt und kann bei Bedarf innerhalb von 30 Sekunden angenommen<br />

werden, ohne das aktuelle Gespräch vorher zu beenden.<br />

Anrufweiterschaltung Anrufe, die an Ihrem ISDN-Anschluß ankommen, lassen sich zu einer<br />

anderen Zielrufnummer umleiten. Da<strong>für</strong> gibt es drei<br />

Progr<strong>am</strong>mierungsmöglichkeiten: direkte Anrufweiterschaltung, bei<br />

"Nichtmeldung" erst nach 15 Sekunden und bei "Besetzt".<br />

B-Kanal ISDN-Nutzkanal <strong>für</strong> die Übertragung von Daten aller Art wie Sprache,<br />

Schrift, Bilder und Dateien mit einer Übertragungsgeschwindigkeit von 64<br />

KBit/s<br />

Bandbreite Übertragungsleistung: Das ISDN bringt 64 KBit/s auf jeden B-Kanal; durch<br />

Kanalbündelung und Kompression kann eine maximale<br />

Übertragungsleistung von 500 KBit/s erzielt werden.<br />

Basisanschluß Der ISDN-Basisanschluß umfaßt zwei B-Kanäle (Nutzkanäle <strong>für</strong> Telefon,<br />

Daten, Fax, usw.) mit einer Übertragungsleistung von je 64 KBit/s und einen<br />

D-Kanal <strong>für</strong> die Steuerung der Datenübertragung. Den Basisanschluß gibt<br />

es als Mehrgeräte- oder Anlagenanschluß. Er wird als Standard- oder<br />

Komfortanschluß, je nach freigeschalteten Diensten, eingerichtet.<br />

CAPI Common ISDN Application Progr<strong>am</strong> Interface: genormte,<br />

herstellerübergreifende Schnittstelle zwischen ISDN-Controllern und<br />

Kommunikationssoftware<br />

DSS 1 Digital Subscriber Signalizing System 1: Protokoll <strong>für</strong> ISDN-<br />

Verbindungsaufbau und -Verbindungssteuerung über den D-Kanal<br />

Euro-ISDN Europaweit standardisiertes ISDN-Protokoll auf Basis von DSS 1<br />

Gruppe-3-Fax Technischer Standard <strong>für</strong> analoge Faxgeräte<br />

Gruppe-4-Fax Technischer Standard <strong>für</strong> ISDN-Faxgeräte<br />

IAE-Dose Norm der ISDN-Anschlußdose <strong>für</strong> den Anschluß von ISDN-Endgeräten<br />

ISDN Integrated Services Digital Network: digitales Netz <strong>für</strong> die Übertragung von<br />

Sprache, Daten, Bild und Text<br />

ISDN-Controller ISDN-PC-Karte zur Verbindung eines Personal Computers mit ISDN <strong>für</strong> die<br />

Übertragung von Daten, Faxen oder E-Mails. Man unterscheidet passive<br />

und aktive ISDN-Controller. Die aktiven verfügen im Gegensatz zu den<br />

50


passiven über einen eigenen Prozessor, so daß die Datenkommunikation<br />

den Arbeitsspeicher des PCs nicht beansprucht.<br />

Kanalbündelung Software-Feature <strong>für</strong> die Zus<strong>am</strong>menfassung der B-Kanäle, um die<br />

Übertragungsleistung zu erhöhen<br />

Komfortanschluß Bietet alle Leistungsmerkmale des Standardanschlusses und darüber<br />

hinaus die Anrufweiterschaltung und die Tarifinformationen nach<br />

Verbindungsende<br />

Makeln Hin- und Herschalten zwischen unterschiedlichen Gesprächen<br />

Mehrgeräteanschluß An einen Mehrgeräteanschluß können bis zu acht ISDN-Endgeräte über<br />

einen S0-Bus angeschlossen werden. Jeweils zwei dieser Geräte können<br />

gleichzeitig betrieben werden.<br />

MSN Mehrfachrufnummer: Bei einem Mehrgeräteanschluß erhalten Sie<br />

automatisch drei Mehrfachrufnummern; auf Wunsch sind bis zu zwölf MSNs<br />

erhältlich.<br />

Netzanschluß (NT) Anschlußeinrichtung mit zwei ISDN-Steckdosen (IAE), so daß die<br />

Anschlußmöglichkeit <strong>für</strong> zwei Endgeräte wie z.B. eine TK-Anlage und einen<br />

ISDN-PC-Controller bestehen<br />

Primärmultiplexanschluß ISDN-Anschluß mit 30 B-Kanälen und einem D-Kanal. Diese<br />

Anschlußvariante ist nur als Anlagenanschluß erhältlich.<br />

Remote Access Zugriff mit Stand-alone-PCs auf zentrale Netzwerke über das ISDN<br />

Rückfragen Ein Gespräch wird in der Leitung gehalten, während mit einem anderen<br />

Teilnehmer gesprochen wird.<br />

Rufnummernübermittlung Die Rufnummer des Anrufers wird dem Angerufenen schon vor Annahme<br />

des Gespräches im Telefondisplay angezeigt, sofern auch der Anrufer<br />

ISDN einsetzt. Dieser Dienst kann auf Wunsch gesperrt werden.<br />

S0-Bus Intelligentes Verkabelungssystem, das an einem Mehrgeräteanschluß den<br />

Transport von Daten zu den jeweiligen, über die Rufnummernvergabe direkt<br />

angewählten Endgeräten (Fax, Telefon, PC) ermöglicht<br />

Standardanschluß ISDN-Anschluß mit folgenden Standardleistungen: zwei parallel nutzbare<br />

Leitungen (B-Kanäle), drei Rufnummern, Rückfragen, Makeln, Anklopfen<br />

und Rufnummernübermittlung<br />

Terminaladapter Adapter <strong>für</strong> analoge Endgeräte, um diese ISDN-fähig zu machen<br />

7.1.9 Netzwerk-Management<br />

7.1.9.1 Netzwerkbetriebssysteme<br />

Als Netzwerkbetriebssysteme werden Applikationen bezeichnet, die dem Anwender die<br />

verschiedensten Server-Dienste wie File-, Disk- und Druckdienste meistens unter einer einheitlichen<br />

Oberfläche zur Verfügung stellen. Die Netzwerkbetriebssysteme selbst bauen auf den<br />

Netzwerkprotokollen auf; eine klare Abgrenzung zwischen Netzwerkprotokollen und -<br />

betriebssystemen ist deshalb nicht immer möglich. Auch die Abgrenzung zu<br />

Rechnerbetriebssystemen ist nicht immer eindeutig möglich, da manche Netzbetriebssysteme (z.B.<br />

LAN Manager, PATHWORKS) auf vorhandene Rechnerbetriebssysteme aufsetzen oder, wie im Falle<br />

von Windows NT, Netzwerkfunktionen im Betriebssystem bereits integriert sind. Die meisten<br />

Netzwerkbetriebssysteme unterstützen mehrere Hardware-Plattformen.<br />

Als Netzwerkbetriebssysteme werden z.B. NFS (Network File System) oder NetWare von NOVELL<br />

(“NOVELL”-Netz <strong>für</strong> PC’s) bezeichnet.<br />

System Merkmale<br />

NFS (Network File System) Transparent, Zugriff auf verteilte Dateiesysteme wie auf<br />

lokale<br />

betriebssystemunabhängiger Netzwerkdienst<br />

NetWare, IntraNetWare Hersteller: NOVELL (Novell-Netz)<br />

Schwerpunkt auf Intel basierte PC’s<br />

51


Client-Server-Modell<br />

Windows NT, Windows95 Integrierte Netzfähigkeit auf Basis eines Peer-to-Peer-<br />

Modells<br />

Für kleine Netze (z.B. Büro) ausreichend<br />

Windows NT Server Für große Netze mit vielen Anwendern (Zugriffsrechte!)<br />

Client-Server-Modell<br />

Windows for Workgroups Auf DOS basierender Aufsatz, inzwischen veraltet<br />

Peer-to-Peer Modell<br />

7.1.9.2 gemeins<strong>am</strong>e Nutzung eines Netzwerkes, Login und Password<br />

Die Benutzung von Rechnernetzen ist nur mit einer Genehmigung, dem login oder account (deutsch:<br />

Benutzerkennung), möglich. Das login wird vom zuständigen zuständigen Systemverwalter vergeben<br />

und ist öffentlich bekannt. Der Zugriff von Unbefugten wird durch die Abfrage eines Password<br />

verhindert. Mit dem login werden eine Reihe von Festlegungen getroffen:<br />

- Welche Progr<strong>am</strong>me darf der Anwender nutzen<br />

- Wieviel Speicherkapazität steht dem Anwender zur Verfügung<br />

- Zu welchen Zeiten darf der Anwender das Netzwerk nutzen.<br />

- Welche Peripheriegeräte stehen zur Verfügung<br />

Von großer Bedeutung <strong>für</strong> die Datensicherheit sind die Daten-Zugriffsrechte. Üblicherweise vergibt der<br />

Systemverwalter ausschließliche Zugriffsrechte an jedes login, d.h. außer dem jeweiligen Anwender<br />

hat niemand sonst Zugriff auf seine Daten. Eine Ausnahme ist der Systemverwalter, auch<br />

Administrator oder super user, genannt. Er hat grundsätzlich immer alle Rechte im Netzwerk. Man<br />

unterscheidet: Lese- Schreib- und Ausführungsrechte. Jeder Anwender kann die Rechte an seinem<br />

Datenbestand verändern, um anderen entsprechende Rechte einzuräumen. z.B. müssen Dateien<br />

einer WWW-Homepage mindestens mit Leserechten <strong>für</strong> jedermann versehen werden, d<strong>am</strong>it andere<br />

über das Netz Zugriff auf die Information erhalten können. Man sollte regelmäßig die Zugriffsrechte an<br />

den eigenen Dateien überprüfen, um Mißbrauch auszuschließen.<br />

7.2 Das Internet<br />

Das Internet ist ein weltweiter Netzverbund. Das Konzept wurde vom <strong>am</strong>erikanischen<br />

Verteidigungsministerium entwickelt, mit dem Ziel, ein robustes Kommunikationsnetz aufzubauen.<br />

Grundlage ist das Übertragungsprotokoll TCP/IP. Später wurde es von Universitäten und<br />

Forschungseinrichtungen weiterentwickelt und jahrelang von der Öffentlichkeit weitgehend unbemerkt<br />

intensiv genutzt. Inzwischen haben auch weltweit Millionen von Privatanwendern und die Wirtschaft<br />

Zugang zum Internet, was sich andererseits an den dr<strong>am</strong>atisch gestiegenen Zugriffs- und<br />

Übermittlungszeiten ablesen läßt.<br />

Abgesehen vom Network Information Center (NIC), das hauptsächlich <strong>für</strong> die Vergabe der<br />

Bereichsadressen verantwortlich ist und einer "Internet Society", die Einhaltung und Weiterentwicklung<br />

der Standards überwacht, gibt es keine zentrale Verwaltung des Netzes oder gar einen Eigentümer.<br />

Das Internet gehört den Benutzern. Jeder Teilnehmer ist zugleich Konsument wie Anbieter und trägt<br />

seinen Teil der Verantwortung <strong>für</strong> das Funktionieren einer freien und nicht kontrollierten<br />

Kommunikation. Daß die sich so ergebenden Freiräume auch kriminell genutzt werden, ist, wie die<br />

Verbreitung von Pornographie oder politischer Propaganda zeigt, kaum zu verhindern. Der beste<br />

Schutz ist der stets kritische Gebrauch der Angebote im Internet. Dies setzt allerdings ein hohes Maß<br />

an Selbstverantwortung und Urteilsfähigkeit voraus.<br />

7.2.1 Zugang zum Internet<br />

Voraussetzung <strong>für</strong> den Zugang zum Internet ist eine Verbindung zu einem Rechner, der im Internet<br />

weltweit als Station bekannt und ständig erreichbar ist. An den Universität trifft dies auf fast alle UNIX-<br />

52


Rechner zu. Für Privatanwender besteht die Möglichkeit, Zugang über einen Online-Dienst oder einen<br />

Internet Service Provider (ISP) zu erlangen. Er wählt sich von Zuhause mit Modem oder ISDN beim<br />

nächstgelegenen Rechner (POP, Point of Presence) seines Dienstes ein. Als Protokoll wird dabei<br />

meistens PPP (Point to Point Protokoll) verwendet. Die Kosten sind von Anbieter zu Anbieter sehr<br />

unterschiedlich und setzen sich aus Grundgebühren und Nutzungsgebühren pro Zeittakt zus<strong>am</strong>men.<br />

Das Rechenzentrum der Universität Karlsruhe bietet z.B. den Universitätsangehörigen Modem- und<br />

ISDN-Zugänge an (Info: http://www.rz.uni-karlsruhe.de/Uni/RZ/Netze/).<br />

Die Dienstleistungen der Provider umfassen üblicherweise:<br />

- Bereitstellung einer Benutzerkennung (login und password) an einem Internet-Rechner<br />

- E-mail<br />

- Speicherplatz auf einer Festplatte zum Ablegen von Daten<br />

- Möglichkeiten zur Erstellung einer eigenen WWW-Seite<br />

7.2.2 Internet Adressen<br />

Eine Internet bzw. IP Adresse besteht aus zwei Teilen: die Netzwerk Adresse (network address) und<br />

die Rechner Adresse (host address). Beide Teile sind zu einem aus insges<strong>am</strong>t vier Zahlengruppen<br />

bestehenden Schlüssel zus<strong>am</strong>mengefaßt, mit dem einzelne Rechner weltweit eindeutig indentifiziert<br />

sind. Die Adressen werden vom NIC (Network Information Center) der Government Systems in<br />

Chantilly, Virginia, zugeteilt. Unterhalb einer zugeteilten Netzwerk Adresse können i.d.R.<br />

Rechnernummern selbständig vergeben werden.<br />

Man unterscheidet drei Internet Adressklassen, die jeweils eine unterschiedliche Zahl von Netzen und<br />

Rechnern zulassen. In jedem Fall ist eine Adresse durch 32 Bits definiert. Typischerweise werden die<br />

Adressen durch vier Dezimalzahlen dargestellt, die jeweils aus der Konvertierung von je 8 Bits<br />

entstehen. Die Zahlen werden durch einen Punkt getrennt, z.B. 129.69.117.9 , maximal darstellbar ist<br />

demnach 255.255.255.255. Die unterschiedlichen Adressklassen umfassen verschiedene<br />

Adressbereiche von Netz- bzw. Rechneradressen:<br />

Klasse Netzwerke Rechner Adressbereiche<br />

A 127 16’777’215 1.0.0.1 - 126.255.255.254<br />

B 16’383 65’535 128.1.0.1 - 191.255.255.254<br />

C 2’097’151 255 192.0.1.1 - 223.255.255.254<br />

reserviert - - 224.0.0.0 - 255.255.255.254<br />

Wie man der Tabelle entnehmen kann, sind z.B. die Adressen 129.69.111.9 und 129.69.117.10 aus<br />

der Klasse B.<br />

Die Rechneradresse wird aus der Internet Adresse durch die sogenannte subnet mask herausgefiltert.<br />

Die in der Subnet Mask belegten Bits werden aus der Internet Adresse entfernt. Mit der Subnet Mask<br />

255.255.255.0 werden demnach von den Adressen 129.69.111.9 und 129.69.117.10 die jeweils<br />

letzten Zahlen, d.h. 9 bzw. 10, als Rechneradresse interpretiert.<br />

Jedes logische Netz hat eine eigene Adresse. Logische Netze können auch von Repeatern und<br />

Bridges zus<strong>am</strong>mengesetzt sein. Ein Gateway, das in zwei unterschiedlichen logischen Netze<br />

eingebunden ist, hat demnach zwei Internet Adressen, je nachdem aus welchem Netz es<br />

angesprochen wird. Die stat11 als Gateway zwischen den beiden <strong>Institut</strong>snetzen hat die Adressen<br />

129.69.111.11 und 129.69.117.11.<br />

Die Netzwerkadressen 0, 127 bzw. 255 (Klasse A), 0.0 bzw. 255.255 (Klasse B) oder 0.0.0 bzw.<br />

255.255.255 (Klasse C) sind reserviert und dürfen nicht vergeben werden. Ebenso sind die<br />

53


Rechneradressen 0.0.0 , 255.255.255 (Klasse A), 0.0 , 255.255 (Klasse B) und 0 bzw. 255 (Klasse C)<br />

reserviert.<br />

Den Internet Adressen entsprechen die DNS domain n<strong>am</strong>es (Domain N<strong>am</strong>e System), die von N<strong>am</strong>e<br />

Servern verwaltet werden. Das Internet ist weltweit in sogenannte Nomains aufgeteilt, die im Grunde<br />

Synonyme <strong>für</strong> die Netzwerkadressen darstellen. Die Fakultät <strong>für</strong> Bauingenieurwesen der Universität<br />

Karlsruhe ist in der Subdomain bau-verm.uni-karlsruhe.de. Die Domain N<strong>am</strong>en an deutschen<br />

Universitäten sind koordiniert; eine Änderung des unangenehm langen Subdomain N<strong>am</strong>ens ist<br />

deshalb leider nicht möglich.<br />

7.2.3 Netzwerkdienste<br />

7.2.3.1 electronic mail, E-mail<br />

Versenden und Empfangen von elektronischer Post. Einer der ältesten Internet-Dienste.<br />

E-mail Adresse des Netzteilnehmers:<br />

login@Rechneradresse<br />

z.B.: kub@129.13.121.201<br />

bzw., wenn login und Rechneradresse von einem N<strong>am</strong>eserver mit einem alias oder domain n<strong>am</strong>es<br />

versehen sind:<br />

Kai-Uwe.Bletzinger@bau-verm.uni-karlsruhe.de<br />

Nachrichten werden im (7 Bit-) ASCII-Code verschickt und sind d<strong>am</strong>it unabhängig von Netz- und<br />

Rechnertyp. Daten in anderen Formaten (z.B. Grafiken) müssen vor dem Versenden in ein 7-Bit-<br />

Format um- und nach dem Empfang wieder zurückgewandelt werden. Unter UNIX gibt es dazu die<br />

Befehle uuencode und uudecode zum Ver- bzw. Entschlüsseln. Unter Windows verwendet WinZip<br />

diese Befehle um Archive komprimierter Dateien entsprechend zu ver- bzw. entschlüsseln.<br />

Verschlüsselte Dateien haben die Endung ".uue". Eine neuere Methode ist MIME (Multipurpose<br />

Internet Mail Extensions), das von nahezu allen Mailprogr<strong>am</strong>men unterstützt wird und meist <strong>für</strong> den<br />

Anwender unsichtbar automatisch ausgeführt wird.<br />

E-Mail kann heute mit geeigneten Werkzeugen erzeugt und verschickt werden, wie z.B. der Maildienst<br />

in Netscape:<br />

54


Angegeben werden:<br />

Mail to: die Adresse<br />

Cc: die Adressen, an die Durchschläge gesandt werden sollen<br />

Subject: entspricht dem "Betrifft" im deutschen Schriftverkehr<br />

Attachment: hiermit können Dateien beliebigen Formats angefügt werden<br />

7.2.3.2 FTP - File Transfer Protokoll<br />

Mit FTP (File Transfer Protokoll) werden Dateien (Files) zwischen Rechnern ausgetauscht.<br />

Voraussetzung ist der Besitz einer Benutzerkennung <strong>am</strong> Remote Host (remote = fern; host =<br />

Rechner). Ablauf des eines Datentransfers:<br />

Verbindung aufbauen: ftp Rechneradresse bzw.<br />

ftp Rechnern<strong>am</strong>e.domain<br />

Einwählen: user: Benutzer login<br />

password: Benutzer password<br />

Datenaustauschen: get Datein<strong>am</strong>e<br />

(kopiere Datei vom fremden Rechner)<br />

Put Datein<strong>am</strong>e<br />

(kopiere Datei zum fremden Rechner)<br />

Dateien listen: ls (auf dem fremden Rechner)<br />

Verzeichnis wechseln: cd Verzeichnis (auf dem fremden Rechner)<br />

Dateityp festlegen: ascii (kopiere ASCII-Dateien)<br />

bin (kopiere Binär-Dateien, z.B.<br />

Grafik)<br />

Die meisten FTP-Progr<strong>am</strong>me erkennen<br />

den Typ automatisch.<br />

Verbindung beenden: quit<br />

Ein anonymer ftp-Server ist ein Rechner, auf dem man sich ohne eine Benutzerkennung, quasi<br />

anonym, einwählen kann. Als Benutzer login verwendet man anonymous, als Paßwort die E-Mail-<br />

Adresse. Anonyme ftp-Server dienen z.B. zur Verteilung von free- oder share ware.<br />

Auch <strong>für</strong> ftp gibt es bequeme Oberflächen, mit denen der Filetransfer durch drag and drop sehr<br />

einfach abläuft.<br />

55


7.2.3.3 Telnet<br />

Mit Telnet (Teletype Network) kann man sich auf einem fremden Rechner über das Netz einwählen.<br />

Man arbeitet dann auf diesem Rechner ohne direkt davor zu sitzen. Der fremde Rechner wird mit IP-<br />

Adresse oder N<strong>am</strong>en angesprochen:<br />

telnet 129.13.121.5 bzw.<br />

telnet Rechner.domain<br />

Zum Beispiel, in einem Netzwerk mit einem Compute Server, d.h. einem Rechner der speziell zur<br />

Durchführung großer Berechnungen mit wenig interaktiver Steuerung ausgelegt ist, wird telnet<br />

vorteilhaft eingesetzt, um dort zu rechnen und die Ergebnisse lokal vor- und nachzubearbeiten. Der<br />

notwendige Datentransfer kann z.B. mit ftp erfolgen. Voraussetzung <strong>für</strong> telnet ist eine<br />

benutzerkennung (login und password) auf dem fremden Rechner.<br />

7.2.3.4 News<br />

Elektronisches Informations- und Diskussionsforum auf der Basis von E-mail. Um teilnehmen zu<br />

können müssen entsprechende Progr<strong>am</strong>me auf dem Rechner installiert sind. Die Informationen sind in<br />

sog. Newsgroups nach Kennern gegliedert. Folgende Gruppen sind weltweit verfügbar:<br />

comp Computer, Hardware, Software<br />

sci Forschung und Wissenschaften<br />

soc Kultur und Gesellschaft<br />

talk langwierige Diskussionen<br />

news alles was das Usenet betrifft<br />

rec Hobby und Freizeit<br />

misc sonstiges<br />

Beispiel: sci.engr.civil News Group <strong>für</strong> Bauingenieure<br />

56


Auch News kann vorteilhaft mit bequemen Oberflächen gesteuert werden. Beispiel <strong>für</strong><br />

Diskussionsbeiträge in der Bauingenieur-Gruppe (English spoken!):<br />

7.3 WWW - das World Wide Web<br />

Das World Wide Web ist neben E-mail, ftp und telnet der wichtigste Dienst im Internet. Es stellt ein<br />

riesiges Informationssystem dar mit Hundertern Millionen von Seiten, die weltweit auf den im Internet<br />

vernetzten Rechnern (WWW-Server) abgelegt sind. WWW baut also auf dem Internet, seinem Basis-<br />

Protokoll TCP/IP sowie den höheren Diensten E-mail und ftp auf. WWW ist die derzeit komplexeste<br />

Informationsquelle im Internet und bietet als solche Zugriffe auf Informationen aller Art. Das Problem<br />

ist nur, den Überblick zu bewahren. WWW wurde <strong>am</strong> Europäischen Labor <strong>für</strong> Teilchenphysik, CERN,<br />

in Genf entwickelt. Der Standard wird vom W3C (World Wide Web Consortium) verwaltet.<br />

Der wesentliche Unterschied von WWW im Vergleich zu seinen einfacheren Vorgängern, wie z.B.<br />

Gopher, ist einerseits die Verbindung von Text, Bild und Ton und andererseits als wesentliche<br />

Weiterentwicklung das Prinzip der Dokumentverweise (Links). Daraus entsteht der sog. Hypertext.<br />

WWW wird deshalb auch als ein "verteiltes Hypermediasystem" bezeichnet. Das Springen entlang der<br />

Links von Text zu Text (bzw. von WWW-Server zu Server) wird als Surfen bezeichnet. Hypertexte<br />

werden mit HTML (HyperText Markup Language) erstellt. Zum Betrieb von WWW ist ein weiteres<br />

Transferprotokoll notwendig, das http (Hypertext Transfer Protocol). JAVA ist eine konsequente<br />

Weiterentwicklung hin zu netzwerkfähigen Progr<strong>am</strong>miersprachen. Sog. JAVA-applets sind z.B.<br />

Bestandteil eines Hypertext und werden u.a. zur Animation verwendet. Mit JAVA sind allerdings (noch)<br />

Sicherheitsrisiken verbunden. Man sollte entsprechend vorsichtig mit fremden Applets umgehen, um<br />

im Zweifel deren automatische Ausführung unterbinden. Das Konzept von WWW besteht aus<br />

folgenden Komponenten:<br />

Client-Server-Architektur: WWW-Server stellen Informationen zur Verfügung; WWW-Clients rufen<br />

sie ab und zeigen sie an.<br />

HTML: die Hypertext Markup Language <strong>für</strong> strukturierten Hypertext<br />

HTTP: das Hypertext Transfer Protocol als Kommunikationsprotokoll zwischen<br />

WWW-Client und WWW-Server<br />

Multimedia: die Integration von Bild, Ton, Video und beliebigen weiteren<br />

Dokumentarten.<br />

57


URL: Uniform Resource Locator , weiltweit einheitliches Adressierungsschema<br />

jeder Web-Seite, z.B. http://www.uni-klsruhe.de/~baustatik/home/lehre/<br />

vorlesungen/ivb/ivbau1.pdf <strong>für</strong> diesen Text.<br />

Die Bearbeitung eines Hypertextes mit der Einbindung von Text, Bild und Ton erfordert ein spezielles<br />

Progr<strong>am</strong>m, einen sog. Browser. Die Heterogenität des Internets bedingt, daß ein Hypertext auf dem<br />

jeweiligen Rechner unterschiedlich dargestellt werden muß. Ein Hypertext enthält deshalb nur<br />

Anweisungen <strong>für</strong> die Darstellung und kein vollständiges Layout. Dies muß der Browser <strong>für</strong> die<br />

jeweilige Hardware erst erstellen. Dies erklärt die Tatsache, daß eine liebevoll aufgebaute Web-Seite,<br />

auf anderen Rechnern total daneben erscheint. Eine weitere Ursache sind Softwareunterschiede der<br />

verschiedenen verfügbaren Browsern und ihrer <strong>Version</strong>en. Weitverbreitet sind Netscape von Netscape<br />

Communication Corp. und der Internet Explorer von Microsoft.<br />

Um den Überblick über die im WWW vorhandenen Informationen zu bewahren, wurden verschiedene<br />

Datenbanken angelegt. Sie stellen einen Volltextindex zur Verfügung. Zu jedem Eintrag existiert eine<br />

Liste der WWW-Adressen (Links, URLs). Einen Rechner, auf dem ein derartiger Index verwaltet wird,<br />

bezeichnet man als Suchmaschine. Angesichts der riesigen Datenmengen verfügen diese über sehr<br />

große Hardwareleistungen. Z.B. verfügte AltaVista, eine der größten Suchmaschinen von DEC (Digital<br />

Equipmant Corp.), 1997 über 8 GB Arbeitsspeicher und 210 GB Festplattenspeicher. Die Suchdienste<br />

werden zunehmend über Werbung finanziert.<br />

Link zum W3C: http://www.w3.org<br />

Verschiedene Suchmaschinen<br />

N<strong>am</strong>e URL<br />

Alta Vista http://www.altavista.digital.com<br />

Lycos http://www.lycos.de<br />

Infoseek http://www.infoseek.com<br />

Open Text http://www.opentext.com<br />

HotBot http://www.hotbot.com<br />

NetGuide http://netguide.de<br />

Yahoo http://www.yahoo.com oder http://www.yahoo.de<br />

Dino http://www.dino-online.de<br />

Metasuchmaschinen (durchsuchen mehrere Suchmaschinen gleichzeitig)<br />

N<strong>am</strong>e URL Provider<br />

Metacrawler http://www.metacrawler.com kommerziell<br />

Savvy Search http://guaraldi.cs.colostate.edu:2000 Colorado State University<br />

MetaGer http://meta.rrzn.uni-hannover.de Universität Hannover<br />

Serverübersichten<br />

Inhalt URL<br />

deutsche Server http://www.entry.de/index.html<br />

Weltliste http://www.w3.org/pub/DataSources/WWW/Servers.html<br />

7.3.1 Die Sprachen des WWW: HTML und Java<br />

7.3.1.1 HTML<br />

HTML, die Hypertext Markup Language, ist das "natürliche" Dokumentenformat im WWW; es wurde<br />

speziell da<strong>für</strong> entwickelt. Insbesondere lassen sich darin Hypertext-Verweise formulieren. HTML ist<br />

eine SGML-konforme Sprache und entspricht der von C.F. Goldfarb entwickelten Standard<br />

Generalized Markup Language nach ISO-Norm 8879. SGML beschreibt die logische Struktur eines<br />

Dokuments, z.B. die Hierarchie: Buch, Kapitel, Absatz, Text.<br />

58


HTML ist eine Dokumentbeschreibungssprache. HTML-Dateien bestehen aus reinem ASCII-Text; sie<br />

sind deshalb plattformunabhängig und können von allen Browsern gelesen werden. Die logische<br />

Struktur eines Dokumentes wird im Text selbst durch sog. Tags beschrieben. Tags beginnen mit <<br />

und enden mit >. Dazwischen stehen HTML-Befehle, die von den Browsern interpretiert werden. Die<br />

meisten Tags haben Schalterfunktion, z.B. (Unterstreichen an) bzw. (Unterstreichen aus).<br />

"Aus" wird mit dem Schrägstrich "/" markiert.<br />

Das Grundgerüst einer HTML-Datei:<br />

HTML-Datei Kommentar<br />

<br />

Beginn der HTML-Datei<br />

<br />

<br />

Informationsverarbeitung im Bauwesen<br />

<br />

<br />

<br />

Das eigentliche Dokument.<br />

Es besteht aus:<br />

Überschriften<br />

Kapitel<br />

Listen:<br />

<br />

Text,<br />

Grafikverweisen, z.B.<br />

<br />

<br />

Textverweisen, z.B.<br />

<br />

Home Page der Uni<br />

Ka,<br />

<br />

<br />

<br />

usw.<br />

<br />

<br />

allg. Angaben zur Datei<br />

z.B. Titel der Datei<br />

Ende der allg. Angaben<br />

Beginn des Dokuments<br />

Dokument mit weiteren<br />

Tags<br />

...<br />

...<br />

Ende des Dokuments<br />

Ende der HTML-Datei<br />

HTML-Dateien können mit jedem ASCII-Editor erstellt werden. Die Gestaltung der Seiten erfolgt dann<br />

"von Hand" mit den entsprechenden Tags. Daneben gibt es auch Gestaltungshilfen, die es erleichtern,<br />

interaktiv Seiten zu erstellen. Man unterscheidet dabei ASCII- und WYSIWYG-Editoren. Die ersteren<br />

sind im Grunde gewöhnliche ASCII-Editoren mit Hilfen, um die richtigen Tags zu finden und<br />

einzufügen. WYSIWYG-Editoren (What You See Is What You Get) zeigen dagegen den Text bereits<br />

so formatiert an, wie er später erscheinen soll; die Tags bleiben unsichtbar. In jedem Fall ist das<br />

Ergebnis <strong>am</strong> Ende eine HTML-Datei im ASCII-Format. Verschiedene Textsysteme, wie z.B. MS<br />

Word97, sind in der Lage, Dokumente ins HTML-Format umzusetzen.<br />

Für Details und weitere Hinweise wird auf die Literatur und auf folgende URLs verwiesen. Sehr gut<br />

läßt sich aus Beispielen lernen: mit den Browsern können fremde HTML-Quellen angeschaut, kopiert<br />

und als Vorlage <strong>für</strong> eigene Seiten verwendet werden.<br />

59


HTML im WWW Link<br />

HTML-Übersicht,<br />

Karlsruhe<br />

Uni http://www.uni-karlsruhe.de/Betrieb/HTML/<br />

Eigene Seite an der Uni<br />

Ka.<br />

http://www.uni-karlsruhe.de/Betrieb/Benutzerseiten.html<br />

HTML-Einführung http://www.boku.ac.at/htmleinf/<br />

Grafiken in HTML-Seiten http://ourworld.compuserve.com/homepages/Birgit_Bachmann/<br />

HyperText<br />

Language<br />

Markup http://www.w3.org/MarkUp/<br />

A Beginner's Guide to http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.<br />

HTML<br />

html<br />

Weitere Verweise http://tecfa.unige.ch/guides/www/info-www.html<br />

7.3.1.2 JAVA<br />

Java ist eine von Sun Microsystems entwickelte, vollkommen plattformunabhängige<br />

Progr<strong>am</strong>miersprache mit spezieller Ausrichtung auf den Einsatz im World Wide Web. Die Sprache<br />

lehnt sich in Aufbau und Syntax an C/C++ an.<br />

Java ist dazu geeignet, um Animationen, Simulationen, Echtzeitanwendungen, sowie interaktive<br />

Anwendungen wie Guided Tours, Spiele oder Kalkulationsanwendungen zu realisieren. All diese<br />

Dinge laufen im Anzeigefenster des Java-fähigen WWW-Browsers ab.<br />

Java-Progr<strong>am</strong>me, die <strong>für</strong> den Einsatz im Internet gedacht sind, heißen Applets. Man kann Java-<br />

Applets in HTML-Dateien referenzieren oder als Objekt einbinden. Die Bildschirmausgaben bzw. die<br />

Interaktionen zwischen Anwender und Progr<strong>am</strong>m finden im Anzeigefenster des WWW-Browsers statt.<br />

Der ausführbare Java-Progr<strong>am</strong>m-Code wird in den Arbeitsspeicher des aufrufenden Rechners<br />

(WWW-Client) geladen und dort vom Java-Interpreter des WWW-Browsers ausgeführt. Aus<br />

Sicherheitsgründen gibt es daher bislang keine Datei-Schreiboperationen.<br />

JAVA zeichnet sich u.a. durch folgende Eigenschaften aus:<br />

• Objekt-Orientierung: JAVA ist durchgängig objektorientiert und stellt dem Progr<strong>am</strong>mierer eine<br />

Fülle elementarer und komplexer Objekte bereit.<br />

• Sichere<br />

Speicherverwaltung:<br />

• Plattformunabhängige<br />

Progr<strong>am</strong>mdateien:<br />

Unter JAVA ist die Arbeitsspeicherverwaltung aus Progr<strong>am</strong>mierersicht<br />

wesentlich unkritischer als beispielsweise unter C. Es gibt keine durch<br />

Zeiger adressierten Speicherbereiche von unbestimmter Größe, sondern nur<br />

Speichervektoren von fest definierter Länge. Die fehlerarme<br />

Speicherverwaltung ist besonders wichtig, da JAVA-Progr<strong>am</strong>me ohne<br />

Portierungsaufwand in verschiedenen CPU-Umgebungen ablaufen sollen.<br />

JAVA-Progr<strong>am</strong>me werden wie herkömmliche Progr<strong>am</strong>me zu Objektcode<br />

compiliert, jedoch nicht in eine bestimmte Prozessor- oder Betriebssystem-<br />

Umgebung eingebunden, also nicht "gelinkt". Java-Progr<strong>am</strong>me laufen daher<br />

auf allen Plattformen, wenn ein JAVA-Objektcode-Interpreter installiert ist<br />

(bei WWW-Browsern wie Netscape ab V2.0 ist dies die sog. "Java-<br />

Schnittstelle").<br />

60


8 Textverarbeitung und Desktop-Publishing<br />

8.1 Textverarbeitung<br />

Die absolut herausragende Anwendung insbesondere auf PC's ist die Textverarbeitung. Man versteht<br />

darunter das Erstellen, Bearbeiten und Formatieren von Texten. Die heute verwendeten<br />

Textverarbeitungsprogr<strong>am</strong>me sind i.d.R. Weiterentwicklungen der in den 70er und 80er Jahren<br />

verwendeten Texteditoren, die z.B. zur Progr<strong>am</strong>mentwicklung verwendet wurden. Aus diesen<br />

bescheidenen Anfängen haben sich die Progr<strong>am</strong>me zu leistungsfähigen Werkzeugen entwickelt, die<br />

neben dem eigentlichen Texte schreiben auch druckfertige Vorlagen produzieren können, meist mit<br />

Unterstützung zur Rechtschreibprüfung, Silbentrennung, Fußnoten- und Hyperlinkverwaltung sowie<br />

Voransicht <strong>am</strong> Bildschirm. In dieser Komplexität spricht man von Desktop Publishing, DTP.<br />

Folgende Gruppen von Funktionen können unterschieden werden:<br />

Dateimanagement, Dateien speichern, laden, suchen, automatische Erstellung von Sicherungskopien<br />

Dateneingabe, -änderung, -korrektur<br />

Textformatierung (Schriftarten, Abstände, Spalten, Randausgleich, Einzüge, Tabulatoren)<br />

Seitenlayout (Seitennumerierung, Kopf- und Fußzeile, Inhaltsverzeichnis, Schlagwortverzeichnis)<br />

Listen, Querverweise, Fußnoten<br />

Tabellen, auch mit Rechenfunktionen<br />

Mathematische Formeln<br />

Einbinden von Grafiken und anderen Objekten im Text, OLE (Object Linking and Embedding)<br />

Drucken, Voransicht (Preview), Serienbriefe´<br />

Rechtschreibkontrolle, Thesaurus (Vorschlag von Synonymen und Antonymen)<br />

<strong>Version</strong>skontrolle<br />

Makros (Aufzeichnung und wiederholte automatische Abfolge von Eingabefolgen)<br />

Bekannte Textverarbeitungsprogr<strong>am</strong>me sind:<br />

Word<br />

WordPerfect<br />

AmiPro<br />

Staroffice<br />

Corel<br />

Informationen über die vom Rechenzentrum der Universität Karlsruhe unterstützten<br />

Textverarbeitungssysteme findet man unter http://www.rz.uni-karlsruhe.de/~DTP/.<br />

8.1.1 Interaktive Systeme<br />

Interaktive Systeme beruhen auf dem WYSIWYG-Prinzip (What You See Is What You Get). Das<br />

Textbild, das der Benutzer auf dem Bildschirm sieht ist im wesentlichen identisch mit dem gedruckten<br />

Dokument. Nach diesem Prinzip sind heute alle "State of the art" Systeme aufgebaut, wie z.B. die<br />

oben genannten Progr<strong>am</strong>me. Im Zeitalter des Multimedia ist das Einbinden von z.B. Grafik-, Ton- und<br />

Videoobjekten in den Text von zunehmender Bedeutung. In die Microsoft Produkten ist dies<br />

besonders elegant mit der OLE-Technik (Object Linking and Embedding) gelöst.<br />

8.1.2 Textsatzsysteme<br />

Im Gegensatz zu den interaktiven Systemen stellen Textsatzsysteme Nachbearbeitungsprogr<strong>am</strong>me<br />

dar. Beispiele <strong>für</strong> Textsatzsysteme sind TeX und LaTeX, aber auch HTML ist ein Textsatzsystem<br />

(siehe Kapitel 7). Die Public-Domain-Progr<strong>am</strong>me TeX und vor allem das darauf aufbauende LaTeX,<br />

sind im Universitätsbereich weit verbreitet. Viele technisch-wissenschaftliche Zeitschriften erbitten von<br />

ihren Autoren in LaTeX geschriebene Aufsätze. Textsatzsysteme sind eine Art Progr<strong>am</strong>miersprache,<br />

61


Formatvorlagenanzeige<br />

in Normalansicht<br />

d.h. der eigentliche Text ist mit Steuerzeichen durchsetzt, die das Layout des Dokumentes<br />

bestimmen. Zur Eingabe genügt deshalb ein simpler ASCII-Editor. Wesentlich ist allerdings ein<br />

Preview-Tool um noch <strong>am</strong> Bildschirm das spätere Produkt beurteilen zu können. Komplizierte Layout-<br />

Aufgaben könne deshalb etwas aufwendiger werden, ein Grund die nachfolgend genannten<br />

Arbeitsregeln strikt zu beachten.<br />

Beispiel <strong>für</strong> die Struktur eines TeX-Dokuments.<br />

Benutzeroberfläche von Word97 in Normalansicht<br />

Lineal<br />

Hinweise: % bedeutet eine Kommentarzeile)<br />

Die Datei ist <strong>für</strong> die Anwendung unter DOS vorbereitet. Unter Windows ist die 3. Zeile<br />

anstelle der 2. zu verwenden.<br />

\documentclass[12pt]{article} % Voreinstellung: Schriftgroesse 12pt<br />

\usepackage[cp850]{inputenc} % Umlaute und sz werden erkannt (DOS)<br />

%\usepackage[ansinew]{inputenc} % Umlaute und sz werden erkannt (WINDOWS)<br />

\usepackage{german}<br />

%<br />

%........................... Anpassung an deutsches Blattformat (DIN A4)<br />

%........................... ->>> Hochformat


%<br />

\begin{document}<br />

\section{Erstes Kapitel}<br />

\subsection{Erstes Unterkapitel}<br />

%<br />

Hier k"onnten die ersten Zeilen einer Diplomarbeit stehen.<br />

Die Zeilenl"ange im Quelltext ist beliebig, das Progr<strong>am</strong>m<br />

erzeugt automatisch b"undige R"ander (Blocksatz).<br />

Einzelne Abs"atze werden einfach durch eine Leerzeile getrennt.<br />

So zum Beispiel.<br />

\subsection{N"achstes Unterkapitel}<br />

Die "Uberschriften werden mit dem {\em section}--Befehl zugewiesen<br />

und automatisch numeriert. Die Schriftgr"o"senanpassung erfolgt ebenfalls<br />

automatisch.<br />

Ein neues Kapitel ist so kein gro"ses Problem.<br />

\section{Zweites Kapitel}<br />

Das Dokument wird mit dem Befehl \verb|\end{document}| abgeschlossen.<br />

\end{document}<br />

Weitere Informationen zu TeX findet man unter:<br />

http://www.rz.uni-karlsruhe.de/~rz32/tex.html<br />

http://www.dante.de<br />

8.1.3 Arbeitsregeln<br />

Insbesondere interaktive Systeme verleiten dazu, sofort mit dem Schreiben "loszulegen" und die<br />

Textgestaltung auf später zu verschieben. Die Progr<strong>am</strong>mhersteller werben auch mit diesem Argument<br />

<strong>für</strong> ihre Produkte. Man erspart sich allerdings viel unnötige Arbeit, wenn man die Gestaltung des<br />

Dokumentes bereits vorher sorgfältig überdenkt. Vor dem Schreiben sollte man,<br />

- die Rand- und die Zeilenabstände festlegen<br />

- die Hierarchie der Überschriften bestimmen (Schriftart, -größe, -gestaltung)<br />

- die Abstände vor und nach Absätzen insbesondere vor Überschriften, Bildern, Tafeln und<br />

Formeln festlegen<br />

- den Inhalt von Kopf- und Fußzeile überdenken und berücksichtigen, daß die erste Seite<br />

anders gestaltet sein könnte<br />

- Position und Umfang von Inhaltsverzeichnis und Schlagwortverzeichnis abschätzen<br />

- die Gestaltung von Verweisen und Fußnoten bestimmen.<br />

Bei Berücksichtigung der genannten Punkte, entspricht der geschriebene Text von vornherein<br />

weitgehend dem gewünschten Resultat und man erhält bereits beim Schreiben einen Eindruck von<br />

Seiteneinteilung und -umbruch. Besonders hilfreich ist es, Formatvorlagen <strong>für</strong> verschiedene Arten von<br />

Absätzen zu definieren, z.B. <strong>für</strong> Überschriften, eingerückte Absätze oder Absätze mit modifizierten<br />

Abständen oder Schriftarten sowie Absätze, die Bilder und Formeln enthalten sollen. Im oben<br />

dargestellten Bild der Oberfläche von Word97 sind in der in der Formatvorlagenanzeige die<br />

Absatzarten "Überschrift_1", "Überschrift_2", "Absatz" und "Absatz_2" zu erkennen. Sie unterscheiden<br />

sich in Schriftgröße, und -art sowie den Absatzabständen. Die Absatzeigenschaften können nach<br />

einem Doppelklick auf die Formatvorlage bearbeitet und ggf. neu definiert werden.<br />

8.2 Desktop Publishing (DTP)<br />

Progr<strong>am</strong>me zum Desktop Publishing, kurz DTP, werden dazu verwendet, anspruchsvolle<br />

Mischdokumente, die sowohl Text als auch Graphik enthalten, zu erstelln. Solche Dokumente sind<br />

z.B. Broschüren, Werbeprospekte, Kataloge, Zeitschriften und Tageszeitungen.<br />

Textverarbeitungsprogr<strong>am</strong>me sind dazu kaum in der Lage. DTP-Progr<strong>am</strong>me sind im wesentlichen <strong>für</strong><br />

Profis (vor allem was den Schriftsatz betrifft) konzipiert und können i.d.R. nicht ohne einen erheblichen<br />

Einarbeitungsaufwand in ihrem ganzen Umfang genutzt werden. Weitere Voraussetzung ist ein starker<br />

PC oder eine Workstation.<br />

Verbreitete Systeme sind:<br />

63


Fr<strong>am</strong>emaker (an der Uni: http://www.rz.uni-karlsruhe.de/~FRAMEMAKER/)<br />

Interleaf (http://www.interleaf.com/europe)<br />

Corel Ventura (http://www.corelnet.com/products/graphicsandpublishing/)<br />

8.3 Präsentationssoftware<br />

8.4 „Office“-Software<br />

64


9 Tabellenkalkulation<br />

9.1 Grundlagen der Tabellenkalkulation<br />

Die Tabellenkalkulation ist eine Methode <strong>für</strong> das tabellarische Rechnen und Progr<strong>am</strong>mieren. Sie<br />

eignet sich besonders <strong>für</strong> das schnelle Erstellen von einfacheren Vorgängen der Datenverarbeitung<br />

und hat sich im alltäglichen Gebrauch durchgesetzt. Kenntnisse der Tabellenkalkulation gehören<br />

inzwischen fast schon zur Allgemeinbildung. Im Bauingenieurwesen ergeben sich<br />

Anwendungsmöglichkeiten in allen Bereichen des Berufsbildes von der Kalkulation über die<br />

Konstruktion bis zur Abrechnung und der Buchführung. Als konkretes Progr<strong>am</strong>m wird im folgenden<br />

Microsoft EXCEL ® verwendet. Lernziel ist dabei nicht die Vermittlung spezifischer Fähigkeiten beim<br />

Umgang mit EXCEL. Dieses Progr<strong>am</strong>m steht vielmehr stellvertretend <strong>für</strong> andere Produkte dieser Art,<br />

z.B. LOTUS 1-2-3, Xspread, Multiplan oder Works. Obwohl alle diese Progr<strong>am</strong>me nach demselben<br />

Prinzip funktionieren, wird es ist im weiteren dennoch notwendig sein, auf spezielle EXCELspezifische<br />

Methoden näher einzugehen.<br />

In Verbindung mit Microsoft Visual Basic for Applications ® , kurz VBA, eignet sich EXCEL darüber<br />

hinaus zur Einführung in die Prinzipien der Progr<strong>am</strong>mierung.<br />

9.2 Progr<strong>am</strong>mversion<br />

Die verschiedenen <strong>Version</strong>en von EXCEL unterscheiden sich hinsichtlich Funktionalität wie<br />

Oberfläche mit jedem <strong>Version</strong>swechsel teilweise erheblich. Im folgenden beziehen wir uns deshalb im<br />

wesentlichen auf Excel 97 <strong>für</strong> Windows 95. Darüber hinaus jedoch kann und soll dieses Manuskript<br />

ein spezifisches Handbuch nicht ersetzen. Für weitergehende Anwendungsfragen wird deshalb auf<br />

die Online-Hilfe bzw. auf den Buchhandel verwiesen.<br />

9.3 Excel starten und beenden<br />

Excel wird durch Doppelklick auf das entsprechende Symbol in der Task-Leiste gestartet:<br />

65


Eine bereits existierende Arbeitsmappe wird mit Doppelklick auf ihr Symbol gestartet.<br />

Nach der Bearbeitung Arbeitsmappe speichern und Progr<strong>am</strong>m beenden:<br />

Speichern und Pfad angeben<br />

9.4 EXCEL-Arbeitsbereich<br />

Ein Excel-Datei wird auch als Arbeitsmappe. Eine Arbeitsmappe setzt sich aus mehreren<br />

Tabellenblättern zus<strong>am</strong>men. Wird eine neue Arbeitsmappe geöffnet, weist sie bereits mehrere<br />

Tabellen auf. Die Anzahl richtet sich nach der Progr<strong>am</strong>mversion bzw. nach den Voreinstellungen der<br />

Installation. Am unteren Rand des Arbeitsmappenfensters befindet sich das Tabellenregistern, mit<br />

dem man durch die einzelnen Tabellen blättern kann.<br />

Jedes Tabellenblatt ist in 256 Spalten (A-IV) und 16.384 Zeilen (1 bis 16.384) unterteilt. Ein<br />

Tabellenblatt entspricht einer 2D Matrix. Jede Zelle einer Tabelle kann als ein Element der Matrix<br />

interpretiert werden. Zellen werden mit ihrer Adresse, d.h. der Angabe von Zeile und Spalte, oder<br />

einem N<strong>am</strong>en angesprochen. N<strong>am</strong>en und Adressen sind eindeutig. Die aktive Zelle im folgenden Bild<br />

hat die Adresse „A1“. Eine Arbeitsmappe als ein Stapel von Tabellen kann deshalb auch als eine 3D<br />

Matrix verstanden werden.<br />

Eine Arbeitsmappe enthält über Tabellenblätter hinaus Diagr<strong>am</strong>mblätter, Visual-Basic-Module,<br />

Dialogblätter bzw. „User-Forms“ und Makrovorlagen. Die Organisation unterscheidet sich zwischen<br />

den einzelnen Progr<strong>am</strong>mversionen.<br />

66


Der Bildschirm ist folgendermaßen aufgebaut:<br />

9.5 Wertzuweisungen<br />

Jeder Zelle können Werte zugewiesen werden. Werte können Konstanten, Formeln oder Funktionen<br />

sein. Eine Vielzahl von Funktionen werden von Excel bereitgestellt, sog. intrinsic functions. Funktionen<br />

können auch selbst progr<strong>am</strong>miert werden.<br />

Werte in Zellen eintragen:<br />

1. Zelle anklicken und losschreiben<br />

2. Zelle anklicken, Bearbeitungszeile anklicken und Wert in die Bearbeitungszeile im Kopf der<br />

Bildschirmdarstellung eintragen. Dieses Vorgehen empfiehlt sich bei längeren Ausdrücken.<br />

Werte in Zellen modifizieren:<br />

1. Zelle doppelt anklicken, Werte in der Zelle bearbeiten<br />

2. Zelle doppelt anklicken, Werte in der Bearbeitungszeile bearbeiten<br />

Excel unterscheidet folgende Konstanten: numerische Werte (z.B. ganze und reelle Zahlen, Integer<br />

bzw. Float) und Textwerte. Excel unterscheidet nicht explizit zwischen Integer- und Float-Zahlen, d.h.<br />

<strong>für</strong> die interne Darstellung werden dieselbe Anzahl an Bytes verwendet (vgl. Absatz ). Es ist zu<br />

beachten, daß in der deutschen <strong>Version</strong> von Excel Fließkommazahlen mit einem Komma dargestellt<br />

werden (z.B. 1,23), in der englischen <strong>Version</strong> dagegen mit einem Punkt (1.23).<br />

67


Beispiele <strong>für</strong> Konstanten:<br />

Numerische Werte Textwerte<br />

123 <strong>Baustatik</strong><br />

123,45 Universität Karlsruhe<br />

1,2345E+12 Kaiserstr. 12<br />

DM1234,50 D-76131 Karlsruhe<br />

9.6 Zellen kopieren, bewegen und löschen<br />

Zellen und ganze Zellbereiche können bearbeitet werden. Das Vorgehen ist grundsätzlich immer<br />

dasselbe:<br />

(i) Zellbereich markieren: mit gedrückter linker Maustaste den Zellbereich auswählen; markierter<br />

Bereich wird schwarz hinterlegt<br />

(ii) Mit dem Cursor in den markierten Bereich zeigen und rechte Maustaste drücken: das<br />

Kontextmenü wird angezeigt; Aktion auswählen (z.B. ausschneiden, einfügen, löschen etc.).<br />

Oder entsprechenden Punkt der Menüleiste unter „Bearbeiten“ auswählen.<br />

(iii) Alternativ : mit Cursor auf den Rahmen des markierten Bereichs zeigen und Bereich mit<br />

gedrückter linker Maustaste an neue Position bewegen; zusätzlich Taste „Strg“ drücken:<br />

Zellbereich wird kopiert.<br />

68


9.7 Zellbereichen N<strong>am</strong>en zuweisen<br />

Einzelnen Zellen und ganzen Zellbereichen können N<strong>am</strong>en zugewiesen werden. Der Zugriff auf<br />

benannte Felder ist im Zus<strong>am</strong>menhang mit Formeln mnemotechnisch einfacher. Vorgehen:<br />

(i) Zelle bzw. Zellbereich markieren<br />

(ii) N<strong>am</strong>en in N<strong>am</strong>enfeld eintragen<br />

(iii) Eintrag mit der Return-Taste abschließen<br />

9.8 Formeln<br />

Einer Zelle können Formeln zugewiesen werden. Formeln beginnen mit einem Gleichheitszeichen „=“.<br />

Fehlt das Gleichheitszeichen, wird die Formel als Text interpretiert.<br />

9.8.1 Numerische Formeln<br />

Es gelten die üblichen Regeln <strong>für</strong> die mathematischen Operatoren (+ - * /), d.h. „Punkt vor Strich“ und<br />

der Kl<strong>am</strong>mersetzung. Längere Formeln werden vorteilhaft im Bearbeitungsfeld eingegeben. Vorgehen:<br />

(i) Zelle markieren<br />

(ii) Eingabe, z.B. =10+5<br />

(iii) Eingabe mit ↵ bestätigen<br />

(iv) In der Zelle erscheint das Ergebnis 15<br />

(v) Ansicht zwischen Formel und Ergebnis hin- und herschalten mit ^Strg ′ (das Apostroph über #<br />

auf der Tastatur).<br />

69


9.8.2 Zellbezüge<br />

In einer Formel können die Werte verschiedener Zellen miteinander verknüpft werden. Zellbezüge<br />

spielen dabei die Rolle der Variablen oder Platzhalter. Zellbezüge können relativ oder absolut sein,<br />

bzw. können Zellen mit ihren N<strong>am</strong>en angegeben werden. Beispiel:<br />

(i) Zellzuweisungen: Zelle $A$2 -> 10; Zelle A3 -> 5<br />

(ii) Numerische Formel in Zelle B5: =$A$2+A3 (absoluter Bezug auf Spalte A und Zeile 2,<br />

relativer Bezug auf Zelle A3)<br />

(iii) Ergibt nach Bestätigung ↵ das Ergebnis 15<br />

Das Eintippen der Zellbezüge kann man sich sparen, indem man statt dessen mit der Maus die<br />

betreffende Zelle anklickt. Wiederholtes Drücken der F4-Taste schaltet zwischen relativen und<br />

absoluten Bezügen um.<br />

70


Relative Bezüge ändern sich entsprechend, wenn Zellen mit Formeleinträgen verschoben werden.<br />

Wenn z.B. der Bereich A3:B5 mit der Formel in B5 markiert und nach B6:C8 verschoben wird, werden<br />

die relativen Zellbezüge automatisch angepaßt (B6 anstelle von A3), die absoluten ($A$2) bleiben<br />

erhalten. Gemischte Bezüge wie in Zelle B5 bzw. Zelle C8 werden vorteilhaft eingesetzt, wenn<br />

Zellenkollonen mit Formelzuweisungen wie im Beispiel bewegt bzw. kopiert werden und dabei<br />

einzelne Bezüge unverändert bleiben sollen. Beispiel: Normierung von Werten, indem jeder Wert<br />

durch die Summe aller Werte dividiert wird.<br />

9.8.3 Texte in Formeln<br />

Texte können mit Formeln erzeugt werden. Das Ampersand „&“ dient als Verkettungsoperator:<br />

71


9.8.4 Funktionen verwenden<br />

In Formeln können integrierte oder selbst erstellte Formeln verwendet werden. Integrierte Formeln<br />

kann über den Formelassistenten auswählen. Beispiel: Die Summe der Werte in den Zellen A2, A3<br />

und A4 kann mit der Funktion SUMME(A2:A4)vorteilhaft ermittelt werden. Die Funktion SUMME wird<br />

aus der Kategorie „Mathematik und Trigonometrie“ ausgewählt. Es stehen unzählige Funktionen aus<br />

den unterschiedlichsten Kategorien zur Verfügung.<br />

Kategorie Beispiele<br />

Finanzmathematik ZINS (...) Zinssatz<br />

Datum & Zeit JETZT () Aktuelles Datum und Uhrzeit<br />

Mathematik & Trigonometrie SIN (...)<br />

Sinus (Argument im Bogenmaß!)<br />

WURZEL (Zahl) Wurzel einer Zahl<br />

Statistik STABWN(...) Standardabweichung<br />

VARIANZEN (...) Varianz<br />

Matrix MTRANS (...) Transponierte<br />

Datenbank DBMITTELWERT (...) Mittelwert von Dateneinträgen<br />

Text WECHSELN ( ) Ersetzt Textfolge durch andere Folge<br />

Logik FALSCH () Wahrheitswert FALSCH<br />

Information ISTTEXT (...) Ist WAHR, wenn Argument ein Text ist<br />

9.8.5 Logische Operatoren<br />

Bedingungsprüfungen in Zellen vergleichen Ausdrücke, z.B:<br />

=A1>A2<br />

72


=5-3 Größer als<br />

< Kleiner als<br />

>= Größer als<br />


9.8.6 Matrizen<br />

Mit Excel können auch Matrizenoperationen durch geführt werden. In diesem Zus<strong>am</strong>menhang<br />

bedeuten die arithmetischen Operatoren + und – Matrixaddition und –subtraktion. Dagegen bedeuten<br />

* und / die Multiplikation bzw. Division entsprechender Matrizenkomponenten! Zur Multiplikation im<br />

Sinne des Matrizenkalküls muß die integrierte Funktion MMULT(matrix1;matrix2) verwendet werden.<br />

Vorgehen bei der Eingabe von Formeln mit Matrizenoperationen:<br />

(i) Matrixkomponenten einem Zellbereich zuweisen, übliche Eingabe<br />

(ii) Bereich markieren, in dem das Ergebnis stehen soll. Zum Beispiel ist das Ergebnis der<br />

Multiplikation einer 3x3 Matrix mit einem 3x1 Vektor ebenfalls ein 3x1 Vektor: es muß ein<br />

Zellbereich mit 3 Zeilen und einer Spalte markiert werden. Oder, die Inverse einer 4x4<br />

Matrix ist ebenfalls eine 4x4 Matrix. Jetzt muß ein Bereich mit je 4 Zeilen und Spalten<br />

markiert werden<br />

(iii) Formel eingeben, dabei evtl. Matrixfunktionen verwenden. Mit „=“ beginnen!<br />

(iv) Wichtig: die Tasten ^Strg ^Shift und ↵ gleichzeitig zur Eingabebestätigung drücken!!!<br />

Ansonsten wird die Matrixformel nicht als solche erkannt.<br />

Tip: Sollte sich Excel weigern, einen Zellbereich mit einer Matrixformel zu bearbeiten und findet dabei<br />

nicht mehr aus seinen Fehlermeldungen heraus, hilft ^Esc weiter.<br />

Hinweis: Die meisten wichtigen arithmetischen Matrixfunktionen findet man im Funktionenassistent<br />

unter der Kategorie „Mathematik und Trigonometrie“. Folgende Matrixfunktionen stehen u.a. zur<br />

Verfügung:<br />

Funktion Bedeutung Kategorie<br />

MDET Determinante Mathematik<br />

74


MTRANS Transponieren Matrix<br />

MMULT Matrizenmultiplikation Mathematik<br />

MINV Inverse Mathematik<br />

SUMMENPRODUKT Skalarprodukt Mathematik<br />

Beispiel <strong>für</strong> die Matrixoperationen + und *<br />

75


9.9 Diagr<strong>am</strong>me<br />

Diagr<strong>am</strong>me können in ein Tabellenblatt eingefügt oder in einem eigenen Blatt erstellt werden. Mit den<br />

Diagr<strong>am</strong>mfunktionen können Datenreihen grafisch z.B. als x-y-, Balken- oder Kuchendiagr<strong>am</strong>me ggf.<br />

auch mit 3D-Effekt dargestellt werden. Die Daten werden in einer Tabelle in Spalten und Zeilen nach<br />

x- und y-Werten geordnet. Bei der Ausführung der Diagr<strong>am</strong>mfunktionen werden die<br />

Datenzuordnungen angegeben.<br />

76


Beispiel:<br />

Darstellung des Lagerbestandes als Säulendiagr<strong>am</strong>m. Dateneingabe im Zellbereich A3 bis B7. Der<br />

Bezug wird angegeben, indem der Datenbereich mit dem Gummiband (bei gedrückter linker Maus erst<br />

linke obere, dann rechte untere Ecke angeben; das Gummiband ist eine gestrichelte Linie) markiert<br />

wird.<br />

Markieren des Datenbereichs und Voransicht des Diagr<strong>am</strong>ms<br />

77


Endgültiges Diagr<strong>am</strong>m:<br />

78


Beispiel 2:<br />

Darstellung der Funktionen:<br />

x = ϕ cosϕ<br />

und y = ϕ sinϕ<br />

a) X und y als Punktfunktionen von ϕ<br />

b) y als Punktfunktion von x<br />

Darstellung einer Funktion als Punktdiagr<strong>am</strong>m<br />

79


Generieren der Funktionswerte mit den Kopierfunktionen von Excel:<br />

80


9.10 Beispielhafte Anwendungen im Bauwesen<br />

9.10.1 Bauphysik: Temperaturverlauf durch ein Bauteil<br />

Dieses Beispiel ist dem Manuskript von Prof. Rank, TU München, entnommen.<br />

Der Wärmetransport q durch ein Bauteil ist proportional zur Temperaturdifferenz an den Oberflächen.<br />

Dies gilt <strong>für</strong> das ganze Bauteil, sowie bei einem geschichteten Teil, <strong>für</strong> jedes seiner Schichten:<br />

q= k ⋅ ΔT;<br />

q=<br />

k ⋅ ΔT<br />

Der Wärmedurchgangskoeffizient ki jeder Schicht berechnet sich aus:<br />

sowie <strong>für</strong> die Oberflächen-Grenzschichten:<br />

λ i<br />

k i =<br />

s<br />

k i =<br />

αi<br />

Da der Wärmetransport durch alle Schichten gleich ist, ergibt sich <strong>für</strong> den<br />

Wärmedurchgangskoeffizient k des ges<strong>am</strong>ten Bauteils:<br />

Es bedeuten:<br />

k =<br />

q Wärmestromdichte [W/m 2 k Wärmedurchgangskoeffizient<br />

des ges<strong>am</strong>ten Bauteils<br />

]<br />

[W/(m 2 K)]<br />

0ki Wärmedurchgangskoeffizient<br />

der Schicht i<br />

[W/(m 2 K)]<br />

ΔT Temperaturdifferenz <strong>am</strong><br />

ges<strong>am</strong>ten Bauteil<br />

[K]<br />

ΔTi Temperaturdifferenz an<br />

Schicht i<br />

[K]<br />

λi Wärmeleitfähigkeit der Schicht i [W/(m K)]<br />

si Schichtdicke [m]<br />

1/<br />

αi<br />

Wärmeübergangswiderstand [m 2 K / W]<br />

∑<br />

i<br />

i<br />

1<br />

1<br />

1<br />

k i<br />

i<br />

i<br />

81


9.10.1.1 Berechnung des Temperaturverlaufs durch ein Bauteil<br />

Gegeben sind der Schichtaufbau einer Außenwand sowie die Außen- und Innentemperaturen. Zu<br />

berechnen ist der Temperaturverlauf durch die Wand.<br />

Zunächst wird der Wärmedurchgangskoeffizient k des ges<strong>am</strong>ten Wandaufbaus bestimmt:<br />

Formelansicht:<br />

Mit der Außentemperatur TA = -10°C und der Innentemperatur TI = 20°C lassen sich<br />

Wärmedurchgangskoeffizient und Wärmestromdichte berechnen:<br />

82


Formelansicht:<br />

Die Berechnung des Temperaturverlaufs schließt sich an:<br />

83


Formelansicht:<br />

Mit einem "Punktdiagr<strong>am</strong>m" läßt sich der Temperaturverlauf grafisch darstellen:<br />

84


Dort liegt die Beispiel-Datei Wärmedurchgang_1.xls:<br />

http://www.uni-karlsruhe.de/~baustatik/Lehre/Bauinfo/ExcelBsp/waerme.zip<br />

85


9.10.1.2 Arbeiten mit einer Datenbank<br />

Bei der Zus<strong>am</strong>menstellung des Schichtenaufbaus läßt sich eine Datenbank der verschiedenen<br />

Materialien und ihrer Eigenschaften vorteilhaft einsetzen. Als Schlüssel dient die Positionsnummer.<br />

Der Verweis erfolgt mit der Excel Funktion SVERWEIS(). Die Anwendung dieser Funktion wird im<br />

Kapitel Datenbanken ausführlich erläutert.<br />

Aufgabe:<br />

Modifizieren Sie das Beispiel, indem Sie folgende Datenbank verwenden.<br />

Sie finden die Datei Komponenten.xls ebenfalls im Archiv:<br />

http://www.uni-karlsruhe.de/~baustatik/Lehre/Bauinfo/ExcelBsp/waerme.zip<br />

86


9.10.1.3 Modifikation der Schichtdicke, "Zielwertsuche"<br />

Um gewissen Vorgaben der Wärmeschutzverordnung gerecht zu werden, soll die Rohmauerdicke<br />

(Kalksandstein) verändert werden. Angestrebt wird eine Wärmestromdichte von 7,0. Diese Aufgabe<br />

wird vorteilhaft mit der Excel-Funktionalität Zielwertsuche gelöst.<br />

Vorgehen: 1.) Menü Extras -> Zielwertsuche<br />

2.) Dialogblatt ausfüllen:<br />

Zielzelle<br />

Zielwert<br />

Veränderbare Zelle<br />

Als Ergebnis erhält man s = 52 cm:<br />

87


9.10.2 Kommunale Haushaltsführung (Prof. Scholl)<br />

Ein typischer Einsatzbereich <strong>für</strong> Tabellenkalkulation ist die Haushaltsführung. Tabellen eignen sich <strong>für</strong><br />

Übersichten über Ein- und Ausgaben und die statistische und grafische Auswertung.<br />

Beispiele:<br />

88


Aufgabe: Ergänzen Sie in den Tabellen der Excel-Dateien<br />

http://www.uni-karlsruhe.de/~baustatik/Lehre/Bauinfo/ExcelBsp/kommunaler_haushalt.zip<br />

die fehlenden Spalten und statistischen sowie grafischen Auswertungen.<br />

89


9.10.3 Prognose der Bevölkerungsentwicklung in Karlsruhe (Prof. Scholl)<br />

90


9.10.4 Berechnung von Querschnittskennwerten<br />

Die Querschnittskennwerte polygonal berandeter Querschnitte können nach der Gaus´schen<br />

Flächenformel berechnet werden. Die Eckpunkte müssen in mathematisch positiver Richtung<br />

numeriert werden.<br />

y<br />

(xi+1,yi+1)<br />

Es gelten folgende Beziehungen <strong>für</strong><br />

(xn,yn)<br />

(xi,yi)<br />

(x2,y2)<br />

(x1,y1)<br />

(x3,y3)<br />

Querschnittsfläche ∑ ∑(<br />

+ + ) −<br />

= =<br />

1<br />

A Ai<br />

xiy<br />

i 1 xi<br />

1yi<br />

i<br />

n<br />

∑<br />

i=<br />

1<br />

2<br />

n<br />

i=<br />

1<br />

1<br />

Statische Momente S = A ( y + y )<br />

Schwerpunkt<br />

Trägheitsmomente<br />

x<br />

3<br />

x s y<br />

I<br />

i<br />

i<br />

i+<br />

1<br />

x<br />

n<br />

∑<br />

i=<br />

1<br />

ys = x<br />

1<br />

Sy<br />

=<br />

3<br />

= S A<br />

A S<br />

1<br />

n<br />

xx = ∑ 6 i=<br />

1<br />

I<br />

1<br />

n<br />

yy = ∑ 6 i=<br />

1<br />

n<br />

xy = ∑ 6 i=<br />

1<br />

I<br />

1<br />

A<br />

A<br />

i<br />

i<br />

2<br />

2<br />

2<br />

( y + y y + y ) − A y<br />

i<br />

i i+<br />

1<br />

i+<br />

1<br />

2<br />

2<br />

2<br />

( x + x x + x ) − A x<br />

i<br />

⎛<br />

Ai<br />

⎜x<br />

iyi<br />

+<br />

⎝<br />

i i+<br />

1<br />

1<br />

2<br />

i+<br />

1<br />

s<br />

s<br />

A<br />

i<br />

( x + x )<br />

i<br />

i+<br />

1<br />

( x y + x y ) + x y ⎟ − A x s ys<br />

i i+<br />

1<br />

Beispiel: T-Querschnitt mit 8 Ecken; Tabellenausschnitt in Formelansicht<br />

i+<br />

1<br />

i<br />

⎞<br />

i+<br />

1 i+<br />

1<br />

⎠<br />

91


Vollständige Tabelle mit grafischer Auswertung. Der erste Knoten muß <strong>am</strong> Ende nochmal angegeben<br />

werden, um den Polygon zu schließen.<br />

92


9.10.5 Berechnung von Durchschnitts- und Mittellohn<br />

93


10 Datenbanksysteme<br />

Datenbanksysteme verwalten große Mengen von strukturierten Daten. Mit Hilfe besonderer<br />

Anfragemethoden und -sprachen können Informationen aufgefunden, verändert oder mit dem Inhalt<br />

anderer Datenbanken verknüpft werden. Große Datenbanken, wie z.B. Buchungssysteme, operieren<br />

weltweit.<br />

Man unterscheidet folgende Begriffe:<br />

Datenbank: die gespeicherten Daten, der Datenbestand<br />

Datenbank-Management-System (DBMS): Progr<strong>am</strong>m zur Verwaltung der Datenbank<br />

Datenbanksystem: Datenbank und DBMS zus<strong>am</strong>men<br />

10.1 Datenbankmodelle<br />

Man unterscheidet physische und logische Datenorganisation. Die physische Organisation, d.h. die<br />

Anordnung der Daten als Bitfolgen auf einem Datenträger (Festplatte, Magnetband, etc.), ist dem<br />

Anwender von Datenbanksystemen in der Regel unsichtbar und spielt <strong>für</strong> die Anwendung auch keine<br />

Rolle. Entscheidend sind die logischen, auf den Anwendungsfall ausgerichteten Strukturen seiner<br />

Daten und deren inneren Bezüge und Abhängigkeiten. Ein Datenbanksystem sollte ihn bei der<br />

logischen Organisation unterstützen und dazu über folgende Funktionen verfügen:<br />

Daten in Form von Tabellen und Datensätzen eingeben, löschen, kopieren, ...<br />

Formulare zur Dateneingabe erstellen und verwalten<br />

Daten auswerten und Berichte erstellen<br />

Abfragen erstellen, bearbeiten und ausführen<br />

Daten aus anderen Dateiformaten bzw. Datenbanksystemen importieren bzw. exportieren<br />

Zugriffsrechte <strong>für</strong> verschiedene Anwender auf verschiedene Objekte der Datenbank kontrollieren<br />

Ein Datenbanksystem muß die physische wie logische Datenorganisation in Einklang bringen. Die<br />

Beschreibung der Daten erfolgt dabei unter verschiedenen Gesichtspunkten. Man unterscheidet drei<br />

Ebenen, die man als Schemata bezeichnet:<br />

Das konzeptionelle Schema: die logische Struktur der Daten und ihre Beziehungen<br />

untereinander<br />

Das interne Schema: die Abbildung der logischen Struktur auf die Hardware<br />

Das externe Schema: die Sichtweise, die jeder Anwender von den Daten hat;<br />

jeder Anwender kann dabei seine eigene Ansicht definieren<br />

95


Anwender 1<br />

Externes Schema 1<br />

Auf konzeptioneller Ebene wurden verschiedene Modelle entwickelt. Die wichtigsten<br />

Datenbankmodelle sind nachfolgend beschrieben. Sie unterscheiden sich vor allem in der Anordnung<br />

und Verknüpfung der Daten.<br />

10.1.1 Das hierarchische Datenbankmodell<br />

Baumartige Anordnung der Daten. Bei der Abfrage muß der Baumstruktur gefolgt werden. Schnelles<br />

und effizientes Modell aber wenig flexibel.<br />

Firma<br />

Abteilung 1 Abteilung 2<br />

Gruppe 1 Gruppe 2 Gruppe 3<br />

Mitarbeiter 1 Mitarbeiter 2 Mitarbeiter 3 Mitarbeiter 4 Mitarbeiter 5<br />

10.1.2 Das Netzwerk-Datenbankmodell<br />

Anwender 2<br />

Externes Schema 2<br />

Konzeptionelles Schema<br />

Hierarchisches Datenbankmodell<br />

Anwender 3<br />

Externes Schema 3<br />

Datenbanksystem<br />

Internes Schema 1 Internes Schema 2 Internes Schema 3<br />

Hardware<br />

Sichtweisen<br />

Schema Konzept der Datenbanksysteme<br />

Erlaubt komplizierte Beziehungen der Daten untereinander. D<strong>am</strong>it soll vor allem eine Doppelsicherung<br />

von Daten vermieden werden, wenn z.B. im dargestellten Beispiel ein Mitarbeiter Mitglied mehrerer<br />

Arbeitsgruppen ist. Gut geeignet <strong>für</strong> komplexe Datenbanken, die über lange Zeit geführt werden.<br />

96


Firma<br />

Abteilung 1 Abteilung 2<br />

Gruppe 1 Gruppe 2 Gruppe 3<br />

Mitarbeiter 1 Mitarbeiter 2 Mitarbeiter 3 Mitarbeiter 4 Mitarbeiter 5<br />

10.1.3 Das relationale Datenbankmodell<br />

Netzwerk-Datenbankmodell<br />

Die zugrundeliegende Struktur ist die Tabelle. Eine Tabelle beschreibt eine Relation, d.h.<br />

zus<strong>am</strong>menhängende Daten (z.B. Adressen) werden in elementare Beziehungen (z.B. N<strong>am</strong>e, Straße,<br />

Hausnummer, PLZ, Ort) aufgelöst. Es ergeben sich einfache Tabellen, die über Schlüsselelemente<br />

miteinander verbunden werden, z.B.:<br />

Feldn<strong>am</strong>e (Schlüssel) Wert<br />

Kunden Nr. 1<br />

Nachn<strong>am</strong>e Mustermann<br />

Vorn<strong>am</strong>e Thomas<br />

Straße Kaiserstr. 12<br />

PLZ 76131<br />

Telefon (0721) 608 0<br />

Das relationale Modell ist sehr flexibel, kann jedoch sehr rechenintensiv sein. Es hat in der Praxis die<br />

größte Bedeutung.<br />

Es bestehen über die Relation "Bestellung" Beziehungen zwischen den Relationen "Kunden" und<br />

"Artikel":<br />

Relation "Kunden"<br />

Relation "Artikel"<br />

KdNr N<strong>am</strong>e ArtikelNr Bezeich. Preis<br />

8003 Vogel 302 Ordner 8,00<br />

8007 Löwe 306 Locher 15,00<br />

8039 Kalinski 630 Bleistift -,70<br />

8044 Seidl<br />

710 Spitzer 1,50<br />

Relation "Bestellung"<br />

KdNr ArtikelNr Anzahl<br />

1003 710 8<br />

1003 630 1<br />

1087 710 39<br />

1054 302 12<br />

Relationales Datenbankmodell<br />

Aus Gründen der Effektivität und der Unabhängigkeit kann eine Tabelle mit vielen Feldern in<br />

verschiedene kleinere Tabellen aufgeteilt werden. Es macht z.B. keinen Sinn, bei einer Bestellung<br />

97


neben jedem bestellten Artikel den N<strong>am</strong>en des Kunden und seine ges<strong>am</strong>te Anschrift aufzuführen.<br />

Deshalb legt man eine Tabelle "Kunden" an und ordnet jedem Kunden eine Nummer zu. Die Tabelle<br />

mit den Bestellungen umfaßt neben den Artikel lediglich die Kundennummer. Die Kundennummer hat<br />

hier die Funktion eines Schlüssels. Sie stellt die Beziehung zwischen den Tabellen "Kunden" und<br />

"Artikel" her. Neben der Ersparnis an Speicherplatz hat man den Vorteil, daß ggf. die Adresse eines<br />

Kunden nur an einer Stelle geändert werden muß (Vermeidung von redundanten Daten).<br />

Wichtige Operationen auf relationale Datenbanken sind z.B.:<br />

Selektion: Aussortieren aller Tupel in einer Relation (entspr. Zeilen einer Tabelle), die eine<br />

vorgegebene Auswahlbedingung erfüllen.<br />

Projektion: Ausblenden gewisser Spalten aus einer Relation. Die verbleibenden Spalten dürfen<br />

umgeordnet werden.<br />

Join: Verbinden von Tupeln aus zwei Relationen aufgrund gemeins<strong>am</strong>er Attributwerten.<br />

10.2 Allgemeine Datenbank-Konzepte<br />

Redundanz: Daten sollten in einer Datenbank nur einmal vorliegen (s.o.). Sind Daten mehrfach<br />

gespeichert, spricht man von Redundanz.<br />

Konsistenz: die Vermeidung von widersprüchlichen Inhalten einer Datenbank<br />

Integrität: Einhaltung von Rahmenbedingungen, denen Daten genügen müssen, <strong>für</strong><br />

- Attribut-Ausprägung (erlaubter Wertebereich)<br />

- Schlüssel-Ausprägung (eindeutiger Wert innerhalb der Datenbank)<br />

- Beziehungen (referentielle Integrität)<br />

Mehr-Benutzer-Betrieb: Verarbeitung paralleler und konkurrierender Zugriffe<br />

Rollback: Mechanismus, um Änderungen rückgängig machen zu können<br />

Datensicherheit: Wiederherstellen konsistenter Daten nach einem Systemabsturz (Recovery)<br />

Datenschutz: dezimierte Zugriffsrechte<br />

SQL: (Structured Query Language) eine übergreifender Standard zur Datenbankabfrage<br />

OBDC: (Open Database Connectivity) gemeins<strong>am</strong>er Standard <strong>für</strong> die Kommunikation<br />

unterschiedlicher Datenbanken<br />

10.3 verbreitete Datenbanksysteme<br />

PC's<br />

dBase<br />

Microsoft FoxPro<br />

Microsoft Access<br />

Paradox<br />

SQL Server<br />

Workstations und High-End-PC's<br />

Adabas<br />

Ingres<br />

Informix<br />

Oracle<br />

Großrechner<br />

DB2<br />

98


10.4 Datenbankanwendungen mit EXCEL<br />

Tabellenkalkulationsprogr<strong>am</strong>me sind von Natur aus geeignet, um als relationale Datenbank verwendet<br />

zu werden. Die einzelnen Progr<strong>am</strong>me, wie z.B. Excel, verfügen über weitere eingebaute<br />

Datenbankfunktionen bzw. gibt es Schnittstellen zu den speziellen Datenbanksystemen. Im weiteren<br />

wird mit einfachen Grundfunktionen von Excel eine relationale Datenbankanwendung <strong>am</strong> oben<br />

angeführten Beispiel umgesetzt. Die Excel-Dateien können unter<br />

ftp://www.uni-karlsruhe.de/~baustatik/Lehre/Bauinfo/ExcelBsp/datenbank.zip<br />

gefunden werden.<br />

10.4.1 Datenbank erstellen<br />

Ein Schreibwarenhandel führt Datenbanken über seine Kunden und die Artikel. In einer weiteren<br />

Tabelle werden die Bestellungen geführt. Die Kundendatenbank enthält Informationen über:<br />

Kundennummer, Kundennach- und Vorn<strong>am</strong>en sowie die Adresse. Die Daten werden in der<br />

Arbeitsmappe "Kunden" tabellarisch geführt.<br />

Der Datenmatrix wird der N<strong>am</strong>e "Datenbank" zugewiesen. Dieser N<strong>am</strong>e hat <strong>für</strong> Excel eine besondere<br />

Bedeutung, wird nämlich eine Zeile hinzugefügt, wird automatisch der Definitionsbereich von<br />

"Datenbank" um diese Zeile erweitert. Mit den Artikeln verfährt man ebenso:<br />

99


10.4.2 Datenbanken selektieren<br />

Zum Beispiel sollen alle Artikel, die mehr als DM 5,- und weniger als DM 20,- kosten aus dem<br />

Ges<strong>am</strong>tbestand angezeigt werden. Vorgehen:<br />

1. Eine Zelle in der Datenmatrix markieren<br />

2. Menüauswahl: Daten → Filter → Autofilter,<br />

die Spaltenköpfe erhalten Scroll-Down-Menüs<br />

3. Das Scroll-Down-Menü der Spalte "Preis" öffnen und "benutzerdefiniert" auswählen<br />

4. Das sich öffnende Eigenschaftsblatt ausfüllen:<br />

100


10.4.3 Beziehungen erstellen<br />

Eine weitere Tabelle führt die Bestellungen der Kunden auf:<br />

In den Spalten E bis I sind bereits die Beziehungen der Spalten A bis C zu den Kunden- bzw.<br />

Artikeldateien aufgelöst. Dazu wird die Innere Funktion SVERWEIS verwendet. Die hinterlegten<br />

Formel sind:<br />

Zum Beispiel bedeutet SVERWEIS(B2;Artikel!Datenbank;2;FALSCH): suche in der ersten Spalte der<br />

Matrix "Artikel!Datenbank" nach dem Eintrag der Zelle "B2", d.h. 630, und gib in der entsprechenden<br />

Zeile den Wert der zweiten Spalte, zurück. Dies entspricht der Artikelbezeichnung, in diesem Fall<br />

"Bleistift". Der Flag FALSCH steuert das Suchverhalten von SVERWEIS und bedeutet, daß das<br />

Suchkriterium genau getroffen werden muß.<br />

10.4.4 Beziehungen auswerten<br />

Im weiteren interessiert, was Herr Vogel gekauft hat. Mit dem Autofilter werden zunächst aus der<br />

rechten Tabelle von "Bestellungen.xls" die Bestellungen von Herrn Vogel herausgefiltert. In einem<br />

zweiten Schritt wird dann die Rechnung erstellt. Dazu im Menü "Daten → Teilergebnisse" auswählen<br />

und folgende Einträge vornehmen:<br />

101


D.h., gruppiert nach N<strong>am</strong>en (hier nur Herr Vogel) wird Summe aller seiner Bestellungen ermittelt. Das<br />

Ergebnis sieht folgendermaßen aus:<br />

Die Auswertung der verschiedenen Datenbanken und ihrer Beziehung ergibt, daß Herr Vogel <strong>für</strong><br />

insges<strong>am</strong>t DM 12,90 Bleistifte und Spitzer gekauft hat.<br />

102


11 Computer-Algebra-Systeme<br />

11.1 Allgemeines<br />

Mit diesen Progr<strong>am</strong>men kann man mathematische Fragen jeglicher Art mit symbolischen Methoden im<br />

mathematischen Sinne exakt lösen. Dies ist im Gegensatz zu numerischen Methoden, bei denen nur<br />

Näherungen ermittelt werden. Als Ergebnis liefern Computer-Algebra-Systeme i.d.R. wieder einen<br />

algebraischen Ausdruck, z.B. eine Formel. Eine Stärke dieser Progr<strong>am</strong>me ist die grafische Darstellung<br />

von Funktionen in 2- und 3D. Die bekanntesten Systeme sind Maple, Mathematica, MuPad und<br />

Macsyma. Im weiteren wird der Umgang mit diesen Progr<strong>am</strong>men exemplarisch <strong>am</strong> Beispiel von Maple<br />

näher beschrieben. Maple ist als C<strong>am</strong>puslizenz an der Universität Karlsruhe vorhanden und unter<br />

UNIX und Windows an vielen Computer-Arbeitsplätzen installiert.<br />

Zu den wesentlichsten Leistungsmerkmalen von Computer-Algebra-Systemen gehören:<br />

Symbolische Algebra<br />

Integral- und Differentialrechnung<br />

Leistungsfähige Numerik auch <strong>für</strong> komplexe Zahlen mit sehr hoher Genauigkeit<br />

Große Funktionsbibliothek<br />

Matrizenbearbeitung<br />

Grafik<br />

Schnittstellen zu anderen Datenformaten<br />

Progr<strong>am</strong>mierbarkeit<br />

Weitere Hinweise und On-Line-Einführungen findet man z.B. unter:<br />

Uni Karlsruhe http://www.rz.unikarlsruhe.de/Uni/RZ/Software/Anwendungen/MATH/CA/MAPLE<br />

Uni Hannover http://www.rrzn.uni-hannover.de/Software/CA/Maplekurs/index.htm<br />

Massachusetts <strong>Institut</strong>e of Technology, http://web.mit.edu/olh/Maple/Maple.html<br />

C<strong>am</strong>bridge,MA,USA<br />

ETH Zürich http://www.inf.ethz.ch/research/wr/education/index.html<br />

Waterloo Maple Software, Waterloo, http://www.maplesoft.com/<br />

Kanada, der Hersteller von Maple<br />

11.2 Maple Grundlagen<br />

Die folgende Einführung ist ein Auszug des oben genannten Online MIT-Tutoriums. Obwohl in<br />

Englisch sollte es dennoch verständlich sein. Die Übersetzung der wichtigsten Begriffe ins Deutsche<br />

ist angefügt.<br />

Folgende Konvention wird verwendet:<br />

Interaktive Maple Eingabe: > Eingabe;<br />

Maple Echo: Eingabe<br />

11.2.1 Introduction<br />

The key format for your interaction with Maple is the statement (Anweisung). You type in statements<br />

for Maple; it evaluates them and gives you the results. To let you know that it is waiting for input,<br />

Maple prints a prompt:<br />

><br />

For Maple to understand what you type, your commands must conform to Maple's expectations for<br />

statements. In particular, your statement must be terminated by a semicolon (;) or a colon (:) for Maple<br />

to realize that you have completed it. The semicolon tells Maple to print out the result of evaluating the<br />

103


statement, while the colon tells it not to print the result. The terminator does not need to be typed on<br />

the s<strong>am</strong>e line as the rest of the statement, so if you forget it on one line you can type it on the next<br />

line. For ex<strong>am</strong>ple:<br />

> 4+5:<br />

is a statement to add 4 and 5 but not to print the result. An equivalent statement is:<br />

> 4+5<br />

> :<br />

In this case, after the first line Maple will assume that you have not finished your statement. On seeing<br />

the colon on the next line, Maple will realize the statement is finished and evaluate 4+5. If you are<br />

using X Windows, it will give you the statement "Warning, premature end of input". You can avoid this<br />

by typing Shift-Return instead of Return.<br />

You can put more than one statement on a line, just as you can break a statement across multiple<br />

lines. The requirement is that statements be terminated, not that they fit on a line.<br />

There are two Maple statements that do not have to be terminated in this way: quit and the ? form of<br />

the help request:<br />

> quit<br />

> ?help<br />

[a help window appears]<br />

Maple has a number of pre-defined global variables. When you choose n<strong>am</strong>es for your own variables,<br />

you should avoid the predefined ones. They are there to help you control how Maple works. This is<br />

discussed further in the section.<br />

11.2.2 Comments and Echoing (Kommentar und Echo)<br />

Any line or portion of a line beginning with a # is treated as a comment. Comments are ignored in<br />

processing. For ex<strong>am</strong>ple:<br />

> 4+5;#This is an ex<strong>am</strong>ple of a comment<br />

gives the output:<br />

9<br />

Since a comment is not a statement, it does not need to be terminated. It only causes the remaining<br />

input on the line to be ignored.<br />

It is possible to control how much information is echoed in Maple. The echo level can be set with the<br />

interface function. An echo level of four causes comments and statements to be echoed. For more<br />

information on how to control various user-interface settings, type:<br />

> ?interface<br />

11.2.3 Simple Arithmetic (einfache Arithmetik)<br />

As you may have determined from some of the ex<strong>am</strong>ples above, you can use Maple to evaluate<br />

arithmetic expressions in the intuitively obvious way:<br />

0+ for addition<br />

1- for subtraction<br />

2* for multiplication<br />

3/ for division<br />

Arithmetic expressions are evaluated according to typical precedence rules (Rechenregeln, "Punkt vor<br />

Strich"), so:<br />

> 4+2*3;<br />

10<br />

because 2*3 is evaluated before the addition. Other useful operators are:<br />

104


4^ or ** for exponentiation (2^3 evaluates to 8)<br />

5abs(...) for absolute value (abs(-4) evaluates to 4)<br />

6! for factorial (3! evaluates to 6)<br />

One useful aspect of Maple is that it distinguishes rational values from floating-point (pseudo-real)<br />

values. Compare these statements:<br />

> 2/3;<br />

> 2.0/3.0;<br />

2/3<br />

.6666666667<br />

This gives you the flexibility to choose between approximate or exact answers to many mathematical<br />

questions.<br />

11.2.4 Variables and Equations (Variablen und Gleichungen)<br />

Maple variables are n<strong>am</strong>es that generally begin with a letter and are followed by up to 498<br />

alphanumeric or underscore characters; case is significant (eg: x is different from X in Maple). Maple<br />

distinguishes between two kinds of variables. A Maple progr<strong>am</strong>ming variable (Progr<strong>am</strong>mvariable) is a<br />

variable that you have assigned a result to, generally with an assignment statement<br />

(Zuordnungsanweisung):<br />

> x := 2 + 5;<br />

x := 7<br />

> x;<br />

7<br />

The progr<strong>am</strong>ming variable x now is a label for the result of 2+5.<br />

To clear a variable, you can type:<br />

> unassign('x');<br />

> x;<br />

x<br />

or:<br />

> x := 'x';<br />

> x;<br />

x<br />

The other kind of Maple variable is a mathematical variable or an unassigned variable (Platzhalter).<br />

These exist in the sense of algebraic unknowns, as in the case of:<br />

> z := 2+y;<br />

z := 2 + y<br />

Here, y is a mathematical variable, and z is a progr<strong>am</strong>ming variable because an expression has been<br />

assigned to it. If we now assign a value to y, y becomes a progr<strong>am</strong>ming variable, and is no longer an<br />

algebraic unknown:<br />

> y := 5;<br />

y := 5<br />

> z;<br />

7<br />

An equation (Gleichung) is different from an assignment statement (Zuordnungsanweisung). Consider<br />

the difference between:<br />

> a := 2;<br />

a := 2;<br />

105


= 2;<br />

b = 2<br />

In the first case we are assigning the value 2 to the variable a (Zuordnung). In the second case, we<br />

are making the assertion that b is in fact already equal to 2 (Gleichung).<br />

11.2.5 Quotes, N<strong>am</strong>es, and Values (Anführungszeichen, N<strong>am</strong>en und Werte)<br />

There are three types of quotes used in Maple: double-quotes ("); backquotes (`); and apostrophes or<br />

single quotes (').<br />

Double quotes are used to construct strings (Zeichenfolgen), as in:<br />

> a := "This is a string";<br />

a := This is a string<br />

> a;<br />

This is a string<br />

Single quotes are used to delay evaluation (verzögerte Ausführung), as in:<br />

> a := 1; x := 'a' + b;<br />

a := 1<br />

x := a + b<br />

Backquotes are used to form symbols or n<strong>am</strong>es (Definition von Symbolen und N<strong>am</strong>en):<br />

> `This is a n<strong>am</strong>e!` := 1;<br />

This is a n<strong>am</strong>e! := 1<br />

In the previous section, a mathematical variable was also described as an unassigned variable<br />

(Platzhalter). Unassigned variables have their own n<strong>am</strong>e as their value. This is the default condition<br />

for a variable until you assign it a value. To turn an assigned variable (i.e., a progr<strong>am</strong>ming variable)<br />

back into an unassigned variable (i.e., a mathematical variable), you must assign it its own n<strong>am</strong>e. As<br />

an ex<strong>am</strong>ple:<br />

> # r hasn't been used, so its an unassigned variable:<br />

> r;<br />

r<br />

> # Now make r an assigned variable:<br />

> r := 2;<br />

r := 2<br />

> r;<br />

2<br />

> # Now make r an unassigned variable again:<br />

> r := 'r';<br />

r := r<br />

Maple generally performs what is called "full evaluation" (d.h. die Variable wird in allen Ausdrücken<br />

substituiert).<br />

11.2.6 Functions (Funktionen)<br />

Maple has a large library of functions for you to use. Syntactically, functions are a type of expression.<br />

They have a n<strong>am</strong>e, a sequence of zero or more arguments, and they return a value as a result of<br />

calling the function. For ex<strong>am</strong>ple:<br />

> a := -2;<br />

a := -2<br />

> abs(a);<br />

2<br />

> a;<br />

106


-2<br />

The result of taking the absolute value of "a" is returned as the result of the function abs(...). The<br />

variable "a" itself is not modified as a side effect. If you wanted to change the value of the variable, you<br />

would use:<br />

> a := abs(a);<br />

a := 2<br />

Functions are a special case of procedures. Later in this document you will learn how to construct your<br />

own functions and procedures.<br />

11.2.7 Basic Types and Conversions (Grundtypen und Konversionen)<br />

Maple has a large number of object types. Typical types of numeric values are integer (ganze Zahl),<br />

float (floating-point or pseudo-real, reelle Zahl), fraction (Bruch), rational (Bruch), and boolean<br />

(logischer Wert). Some of the more complex object types include string, polynom (polynomial<br />

expression), series, matrix, vector, set (Menge), list (Liste), and procedure (Prozedur).<br />

Integers are expressed as a string of one or more digits with an optional sign, like "-2" or "3870".<br />

Rational numbers are a signed ratio of unsigned integers, like "2/3" or "-8/30", and will be simplified by<br />

Maple:<br />

> -8/30;<br />

-4/15<br />

Floating point numbers contain an explicit decimal point, and any integer or rational expression that<br />

contains such a decimal point will be evaluated as floating point:<br />

> 2/3;<br />

2/3<br />

> 2.0/3.0;<br />

.6666666667<br />

Maple has a global variable n<strong>am</strong>ed "Digits" that you use to control the accuracy of floating-point<br />

operations. The initial setting for Digits is 10 but you can change it by assigning it some other value:<br />

> Digits:=5;<br />

Digits := 5<br />

> 2.0/3.0;<br />

.66667<br />

> Digits:=10;<br />

Digits := 10<br />

> %%;<br />

.66667<br />

> 2.0/3.0;<br />

.6666666667<br />

Notice that the value of Digits does not control the display of floating point values, it controls their<br />

calculation. If you calculate something with one value for Digits, then change Digits to a new value,<br />

then only future floating-point operations will reflect the change.<br />

You can perform conversions between various Maple datatypes. For ex<strong>am</strong>ple:<br />

> convert (2/3, float);<br />

.6666666667<br />

Another way is to force evaluation of expressions in the type you want. For ex<strong>am</strong>ple to convert a<br />

rational expression to floating point, you could use the evalf function:<br />

> evalf(2/3);<br />

.6666666667<br />

> evalf(2/3, 5);<br />

.66667<br />

107


11.2.8 Packages and Libraries (Zusatzpakete und Bibliotheken)<br />

A Maple "package" is a collection of related functions. An ex<strong>am</strong>ple of a package is linalg, the Maple<br />

linear algebra package. To use a package, you initially read it into memory using the with command:<br />

> with(linalg):<br />

Warning: new definition for norm<br />

Warning: new definition for trace<br />

It will also give a bracketed list of functions. When Maple loads a package, it checks to see whether<br />

any of the new function n<strong>am</strong>es will replace an existing function. If so, it gives you a warning. For<br />

instance, since linalg has a function to compute the trace of a matrix that is called "trace", which is the<br />

s<strong>am</strong>e n<strong>am</strong>e as the debugging command "trace", a warning was generated. The new function is<br />

available for use, but the previous function of the s<strong>am</strong>e n<strong>am</strong>e is no longer accessible.<br />

There is a way to avoid this problem if you want access to both functions. The technique will allow you<br />

to use a single function of a package without loading the entire package into memory. To specify the<br />

function, you use the "long form": libn<strong>am</strong>e[funcn<strong>am</strong>e](...) where funcn<strong>am</strong>e is the function you wish to<br />

use, libn<strong>am</strong>e is the package it is contained in, and (...) is the argument list.<br />

A Maple "library" is a collection of packages. The standard Maple library consists of some internallydefined<br />

functions, but most of them reside externally on the file system. When you use the readlib<br />

command, Maple reads in the definition for the specified function in much the s<strong>am</strong>e way that with<br />

works for packages. readlib is particularly useful in situations where you have redefined a standard<br />

library function.<br />

For ex<strong>am</strong>ple, when the linalg package was loaded in, the standard trace function bec<strong>am</strong>e<br />

unavailable. To get it back, use:<br />

> readlib('trace');<br />

proc(fn<strong>am</strong>e) ... end<br />

11.2.9 Restoring and Saving Sessions (Sichern und Wiederherstellen)<br />

During the course of a Maple session, you may have entered in a number of useful expressions and<br />

routines that you would like to re-use in future. To avoid retyping them the next time you use Maple,<br />

you can save that work in a file by using the save command.<br />

For ex<strong>am</strong>ple, the following command saves everything you created during the session in a file n<strong>am</strong>ed<br />

"filen<strong>am</strong>e.m":<br />

> save "filen<strong>am</strong>e.m";<br />

or:<br />

> save a,b,c,"filen<strong>am</strong>e.m"<br />

if you only want to save variables a, b, and c.<br />

When you specify a filen<strong>am</strong>e with the extension ".m", Maple saves your work in "Maple internal<br />

format". This format can be read in more quickly by Maple when you restore your work later on, but is<br />

not human-readable. You restore the information with the command:<br />

> read "filen<strong>am</strong>e.m";<br />

To save information in a human-readable format (Maple language format), you can type:<br />

> save a,b,c,"filen<strong>am</strong>e"<br />

This saves the specified items as a series of assignment statements. To save the entire worksheet,<br />

select File, followed by Save As. For more information on formats, consult Maple's online help.<br />

108


11.3 Arbeiten mit Maple<br />

11.3.1 Simplification<br />

For the most part, Maple leaves expressions the way you entered them or the way they were created<br />

from some computation. However, there are some obvious simplifications that it automatically<br />

performs. An ex<strong>am</strong>ple of this would be turning 0 * x into the simpler 0.<br />

The simplify command provides typical expression simplifications. By using simplify(expr, property)<br />

you can control what simplifications are performed:<br />

> 4^(1/2) + 3;<br />

1/2<br />

4 + 3<br />

> simplify (%); (Anmerkung: das % ist ein Platzhalter <strong>für</strong> den zuletzt berechneten Wert;<br />

5 in Maple <strong>Version</strong> 4 ist es statt dessen ein " )<br />

The expand command forces distribution of multiplication over addition. For instance:<br />

> f := (x + y) * (x - y);<br />

f := (x + y) (x - y)<br />

> expand(f);<br />

2 2<br />

x - y<br />

Since expand turns f into x^2 + y * x - x * y - y^2, the automatic simplifications turn the expression into<br />

x^2 - y^2.<br />

For more information on simplification, see ?simplify, ?expand, ?factor, ?normal.<br />

11.3.2 Some Predefined Symbols (Vordefinierte Symbole)<br />

There are four kinds of symbols that have some form of predefined meaning within Maple:<br />

Syntactic parts of the Maple command and progr<strong>am</strong>ming language. The meanings of these cannot be<br />

redefined. ("if" and "quit" are typical ex<strong>am</strong>ples.)<br />

System-supplied functions. These may be redefined, but you will lose the functionality of the systemsupplied<br />

function. ("solve" and "trace" are typical ex<strong>am</strong>ples.)<br />

Predefined constants and n<strong>am</strong>es. Library functions assume that these symbols exist with no assigned<br />

value, so errors or incorrect results will usually result if they are redefined. ("I", the complex square<br />

root of -1, and "true" are typical ex<strong>am</strong>ples. See ?constants for the complete list.)<br />

System progr<strong>am</strong>ming variables. These are used to control computational effects, so they can<br />

(cautiously!) be assigned new values. ("Digits" and "printlevel" are typical ex<strong>am</strong>ples.)<br />

The global variable "printlevel" is a particularly handy one to know. By setting "printlevel := 0;" you turn<br />

off the automatic printing of your commands; setting "printlevel := 1;" is the default behaviour. See<br />

?printlevel for the effect of other settings.<br />

11.3.3 Summation<br />

Maple allows you to specify both definite and indefinite symbolic summations using the sum<br />

command:<br />

> # Be sure that the index variable is a mathematical variable.<br />

> # If i had a value (say, 3), it would be meaningless to say<br />

> # something like "sum 3 squared for 3 from 1 to n" when you<br />

> # meant to say "sum i squared for i from 1 to n":<br />

> i;<br />

i<br />

> # This is an ex<strong>am</strong>ple of a sum over an indefinite (non-negative)<br />

> # index range:<br />

> x; # Just to be sure, we want to see if x is a mathematical variable.<br />

x<br />

> sum(x^i, i);<br />

109


i<br />

x<br />

-----<br />

x - 1<br />

> # These are ex<strong>am</strong>ples of definite sums:<br />

> sum(i, i = -2 .. 5);<br />

12<br />

> sum(x**i, i = 0 .. 3);<br />

2 3<br />

1 + x + x + x<br />

11.3.4 Differentiation and Integration<br />

Differentiation is performed using the diff command:<br />

> # Take the first-order derivative of an expression w.r.t. x:<br />

> diff(3*x^2, x);<br />

6 x<br />

> # Take higher-order partial derivatives by specifying a sequence<br />

> # of variables. Derivatives are taken in the s<strong>am</strong>e order as the<br />

> # variable sequence:<br />

> diff(y * x^2 + y, x, y);<br />

2 x<br />

Definite and indefinite integration are performed using the int command, in the s<strong>am</strong>e way as described<br />

for the sum command:<br />

> # An ex<strong>am</strong>ple of indefinite integration:<br />

> int( cos(x), x );<br />

sin(x)<br />

> # An ex<strong>am</strong>ple of definite integration:<br />

> int( x^2, x=0..2 );<br />

8/3<br />

When Maple is unable to find the solution to a problem, it returns a "prettyprinted" version of the<br />

original command expression. Sometimes this will be because Maple doesn't know how to solve the<br />

problem, but more often it will be because either no solution exists or the original command/query was<br />

not posed properly.<br />

11.3.5 Series (Reihen)<br />

Maple knows how to generate any finite number of terms of either a Taylor (Laurent) series or an<br />

asymptotic series expansion of some expression. The Maple functions are taylor and asympt<br />

respectively. You specify the number of terms by specifying the "order of truncation". If the terms up to<br />

the x^(n-1) do not make the complete expression, and order term of O(x^n) is added to the end. In the<br />

case of the Taylor series, you can specify the point of expansion for the series.<br />

> # Compute some terms of the Taylor series for cos(z) at z=0:<br />

> taylor(cos(z),z=0);<br />

2 4 6<br />

1 - 1/2 z + 1/24 z + O(z )<br />

> # The default number of terms in the expansion is controlled by<br />

> # the global variable Order, which is initially set to 6:<br />

> Order := 9;<br />

Order := 9<br />

> taylor(cos(z),z=0);<br />

2 4 6 8 9<br />

1 - 1/2 z + 1/24 z - 1/720 z + 1/40320 z + O(z )<br />

> # You can also specify the expansion order to taylor(..):<br />

> taylor(cos(z),z=0,4);<br />

110


2 4<br />

1 - 1/2 z + O(z )<br />

There is also a series function for a more general method of series expansion. See ?series, ?taylor,<br />

and ?asympt for more information on series-expansion facilities.<br />

11.3.6 Limits (Grenzwerte)<br />

Maple can compute limits of a limited (no pun intended) range of expressions. The expression in<br />

question must be an expression in one variable, and any other symbolic unknowns must be real and<br />

nonzero. As with integration, Maple may not be able to find the solution. In this case, the command<br />

expression is returned in the s<strong>am</strong>e fashion as what happens with integration. Maple will return<br />

"undefined" (if the limit doesn't exist) or a range (if the limit solution has a range of values).<br />

> limit(cos(x+Pi/2)/x,x=0);<br />

-1<br />

> limit(sin(1/y^2),y=0);<br />

-1 .. 1<br />

> limit(a*cos(x+Pi)/x,x=0);<br />

undefined<br />

11.3.7 Solving Equations (Gleichungen lösen)<br />

There are many Maple functions for solving systems of different kinds of equations. The simplest and<br />

most commonly used of these is solve, which solves algebraic systems of equations:<br />

> # Solve a single equation with one unknown and one solution:<br />

> solve(exp(x) = 1);<br />

0<br />

> # Solve a single equation with a constant, an unknown, and two<br />

solutions:<br />

a , - a<br />

> # An expression like "x+y" is implicitly assumed to be equal to 0:<br />

> solve ({x + y});<br />

{x = -y, y = y}<br />

> # Solve a system of equations simultaneously:<br />

> solve ( {x+2*y=3, y+1/x=1}, {x,y});<br />

{x = -1, y = 2}, {x = 2, y = 1/2}<br />

The function for solving differential equations is dsolve. For full details on using it, see ?dsolve. Here is<br />

a simple ex<strong>am</strong>ple:<br />

> deq := diff(y(x),x) + y(x) = 0;<br />

/ d \<br />

deq := |---- y(x)| + y(x) = 0<br />

\ dx /<br />

> dsolve(deq, y(x));<br />

y(x) = _C1 exp(-x)<br />

As the various solve functions need to specify solution constants, they generate n<strong>am</strong>es like "_C1",<br />

"_C2", etc.<br />

11.3.8 Assignment and Substitution (Zuordnung und Substitution)<br />

The function assign is designed to take solution sets of the type produced by solve and actually<br />

perform the variable assignments. To show this applied to a previous ex<strong>am</strong>ple:<br />

> # x and y are mathematical variables:<br />

> x,y;<br />

x, y<br />

> solset := solve({x + 2 * y = 3, y + 1/x = 1}, {x, y});<br />

111


solset := {x = -1, y = 2}, {x = 2, y = 1/2}<br />

> assign (solset[1]); x,y;<br />

-1,2<br />

When there is a choice of solutions to assign, and you haven't specified a particular choice by<br />

subscripting a particular solution in the set, assign will chose one solution to apply to the independent<br />

variables.<br />

You can make temporary assignments to mathematical variables using the function subs. This allows<br />

you to evaluate an expression for a given set of values, without turning the mathematical variables into<br />

progr<strong>am</strong>ming variables. Given that Maple generally applies full evaluation, this is an important feature.<br />

By giving subs a sequence of variable bindings and an expression, you can "test" the expression with<br />

those values:<br />

> # z is a progr<strong>am</strong>ming variable:<br />

> z;<br />

z<br />

> f := cos(z);<br />

f := cos(z)<br />

> # Now, to see what f(2) is:<br />

> subs(z=Pi, f);<br />

cos(Pi)<br />

> # Force evaluation to simplify the result:<br />

> eval(%);<br />

-1<br />

> # Now check to see the value of z:<br />

> z;<br />

z<br />

11.3.9 Printing and Plotting Values (Drucken und Plotten)<br />

When you give Maple a command, there is generally some form of expression that is the output, or<br />

value, of the command. The "prettyprinted" output that you see is created by the Maple function print.<br />

There are other forms of output that you can specify. These functions are:<br />

• lprint: print the expression in a linear format<br />

• fortran: print the expression according to Fortran 77 syntax<br />

• eqn: create an eqn version of the expression for the troff document processor<br />

• atex: generate a LaTeX description for the expression<br />

Here is an ex<strong>am</strong>ple to show the difference between print and lprint:<br />

> f := (a*b)/(c*d), c^d:<br />

> print(f);<br />

a b d<br />

---, c<br />

c d<br />

> lprint(f);<br />

a*b/c/d c**d<br />

You can also plot expressions in Maple. Two-dimensional plots are generated using the plot<br />

command, which works both in tty- and X-sessions. The basic syntax of the plot command is plot<br />

(function, range), or plot (f(x), x=a..b). For instance:<br />

> plot (cos(x), x = 0..Pi);<br />

112


For a par<strong>am</strong>etric plot, use the syntax plot ([fx, fy, range]). For ex<strong>am</strong>ple:<br />

> plot ([sin(t), cos(t), t = -Pi..Pi])<br />

To generate 3-D plots you use the plot3d command. For more details on plotting commands, you can<br />

see ?plot and ?plot3d, or consult the Graphics chapter of the learning guide.<br />

Some ex<strong>am</strong>ples of how to generate Fortran 77 or C code:<br />

> f := 1-2*x+3*x^2-2*x^3+x^4;<br />

f := 1-2*x+3*x 2 -2*x 3 +x 4<br />

> fortran(f);<br />

t0 = 1-2*x+3*x**2-2*x**3+x**4<br />

> fortran(f,optimized);<br />

t1 = x**2<br />

t2 = alog(t1)<br />

t4 = sqrt(2.E0)<br />

t5 = t2**2<br />

t7 = 0.3141593E1*t2-t4*t5<br />

> A := array(1..2,1..2,[[1,x],[2,3]]):<br />

> Ainv := array(1..2,1..2,[]);<br />

> with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> Ainv := inverse(A);<br />

> fortran(Ainv);<br />

Ainv(1,1) = -3/(-3+2*x)<br />

Ainv(1,2) = x/(-3+2*x)<br />

Ainv(2,1) = 2/(-3+2*x)<br />

Ainv(2,2) = -1/(-3+2*x)<br />

> readlib(C);<br />

> C(Ainv);<br />

Ainv[0][0] = -3.0/(-3.0+2.0*x);<br />

Ainv[0][1] = x/(-3.0+2.0*x);<br />

Ainv[1][0] = 2.0/(-3.0+2.0*x);<br />

Ainv[1][1] = -1/(-3.0+2.0*x);<br />

113


f := x -> 1-2*x+3*x^2-2*x^3+x^4;<br />

f := x -> 1-2*x+3*x 2 -2*x 3 +x 4<br />

> fortran(f);<br />

c The options were : operatorarrow<br />

real function f(x)<br />

real x<br />

f = 1-2*x+3*x**2-2*x**3+x**4<br />

return<br />

end<br />

11.4 Maple Packages<br />

This is a brief summary of the capabilities of the various Maple packages included in the standard<br />

distribution. In each case, you can get more detailed information from within Maple by using<br />

?package-n<strong>am</strong>e where package-n<strong>am</strong>e is the n<strong>am</strong>e of the package as it is shown below. You can<br />

always use ?packages to see the most up-to-date listing of Maple packages.<br />

This is a listing of packages available in Maple as of the summer of 1998, and a brief summary of their<br />

functions:<br />

Package capability<br />

DEtools differential equations tools<br />

Domains create domains of computation<br />

GF Galois Fields<br />

GaussInt Gaussian Integers<br />

LREtools manipulate linear recurrence relations<br />

combinat combinatorial functions<br />

combstruct combinatorial structures<br />

difforms differential forms<br />

finance financial mathematics<br />

genfunc rational generating functions<br />

geometry Euclidean geometry<br />

grobner Grobner bases<br />

group permutation and finitely-presented groups<br />

inttrans integral transforms<br />

liesymm Lie symmetries<br />

linalg Linear algebra<br />

logic Boolean logic<br />

networks graph networks<br />

numapprox numerical approximation<br />

numtheory number theory<br />

orthopoly orthogonal polynomials<br />

padic p-adic numbers<br />

plots graphics package<br />

plottools basic graphical objects<br />

powseries formal power series<br />

process (Unix)-multi-processing<br />

simplex linear optimization<br />

stats statistics<br />

student student calculus<br />

sumtools indefinite and definite sums<br />

tensor tensor computations and General Relativity<br />

totorder total orders on n<strong>am</strong>es<br />

114


11.4.1 linalg; linear algebra; Rechnen mit Matrizen und Vektoren<br />

Das package linalg stellt eine Reihe nützlicher Funktionen <strong>für</strong> das Rechnen mit Matrizen und<br />

Vektoren zur Verfügung. Nachfolgend sind einige Funktion beispielhaft erklärt. Nähere Informationen<br />

erhält man aus der Online-Hilfe oder aus Handbüchern. Ausgewählte Funktionen:<br />

matrix - create a matrix<br />

> with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> matrix(2,2,[5,4,6,3]);<br />

⎡5<br />

4⎤<br />

⎢ ⎥<br />

⎣6<br />

3⎦<br />

> matrix([[5,4],[6,3]]);<br />

⎡5<br />

4⎤<br />

⎢ ⎥<br />

⎣6<br />

3⎦<br />

> matrix(2,2,0);<br />

⎡0<br />

0⎤<br />

⎢ ⎥<br />

⎣0<br />

0⎦<br />

vector - create a vector<br />

> with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> vector( [5,4,6,3] );<br />

[ 5, 4, 6, 3 ]<br />

> v[2];<br />

4<br />

multiply - matrix-matrix or matrix-vector multiplication<br />

> with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> A := array( [[1,2],[3,4]] ):<br />

> B := array( [[0,1],[1,0]] ):<br />

> C := array( [[1,2],[4,5]] ):<br />

> multiply(A, B, C);<br />

⎡ 6 9 ⎤<br />

⎢ ⎥<br />

⎣16<br />

23⎦<br />

> v := vector( [3,4] ):<br />

> multiply(A, v);<br />

[ 11 25]<br />

> multiply(v, transpose(v));<br />

⎡ 9 12⎤<br />

⎢ ⎥<br />

⎣12<br />

16⎦<br />

inverse - compute the inverse of a matrix<br />

> with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> A := array( [[1,x],[2,3]] );<br />

⎡1<br />

x<br />

⎤<br />

⎢ ⎥<br />

⎣2<br />

3⎦<br />

115


inverse(A);<br />

⎡ 3<br />

⎢<br />

−<br />

−3<br />

+ 2x<br />

⎢ 2<br />

⎢<br />

⎣ −3<br />

+ 2x<br />

x ⎤<br />

−3<br />

+ 2x<br />

⎥<br />

1 ⎥<br />

− ⎥<br />

−3<br />

+ 2x⎦<br />

transpose - compute the transpose of a matrix<br />

> with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> A := array( [[1,2,3],[4,5]] );<br />

⎡1<br />

2 3 ⎤<br />

⎢ ⎥<br />

⎣4<br />

5 A2,<br />

3 ⎦<br />

> transpose(A);<br />

⎡1<br />

⎢<br />

⎢<br />

2<br />

⎢<br />

⎣3<br />

4 ⎤<br />

⎥<br />

5<br />

⎥<br />

A ⎥ 2,<br />

3 ⎦<br />

Obwohl nicht Bestandteil des linalg Packages sind die folgenden Anweisungen bei der Bearbeitung<br />

von Matrizen von Bedeutung:<br />

array - create an array<br />

> v := array(1..4):<br />

> for i to 3 do v[i] := i^2 od:<br />

> print(v);<br />

[1, 4, 9, v4]<br />

> v[2];<br />

4<br />

> A := array(1..2,1..2):<br />

> A[1,2] := x:<br />

> A[1,1];<br />

A1,1<br />

> A[1,2];<br />

x<br />

> print(A);<br />

⎡A1,<br />

1 x ⎤<br />

⎢ ⎥<br />

⎣A2<br />

, 1 A2,<br />

2 ⎦<br />

> A := array( symmetric, 1..2,1..2, [] ):<br />

> A[1,1] := 1: A[1,2] := x: A[2,2] := x^2:<br />

> print(A);<br />

⎡1<br />

x ⎤<br />

⎢ 2 ⎥<br />

⎣x<br />

x ⎦<br />

map - apply a procedure to each operand of an expression<br />

> map(diff,A,x);<br />

⎡0<br />

1 ⎤<br />

⎢ ⎥<br />

⎣1<br />

2x⎦<br />

evalm - evaluate a matrix expression<br />

• The function evalm evaluates an expression involving matrices. It performs any sums, products, or<br />

integer powers involving matrices, and will map functions onto matrices.<br />

116


• To indicate non-commutative matrix multiplication, use the operator &*. The matrix product ABC<br />

may be entered as A &* B &* C or as &*(A,B,C), the latter being more efficient. Automatic<br />

simplifications such as collecting constants and powers will be applied. Do NOT use the * to<br />

indicate purely matrix multiplication, as this will result in an error. The operands of &* must be<br />

matrices (or n<strong>am</strong>es) with the exception of 0. Unevaluated matrix products are considered to be<br />

matrices. The operator &* has the s<strong>am</strong>e precedence as the * operator.<br />

• Use 0 to denote the matrix or scalar zero. Use &*() to denote the matrix identity. It may be<br />

convenient to use alias(Id=&*()).<br />

> alias(Id=&*()):<br />

> S := array([[1,2],[3,4]]):<br />

> T := array([[1,1],[2,-1]]):<br />

> evalm(S+2*T);<br />

⎡3<br />

4⎤<br />

⎢ ⎥<br />

⎣7<br />

2⎦<br />

> evalm(S^2);<br />

⎡ 7 10⎤<br />

⎢ ⎥<br />

⎣15<br />

22⎦<br />

> evalm(S &* T);<br />

⎡ 5 −1⎤<br />

⎢ ⎥<br />

⎣11<br />

−1⎦<br />

> evalm(T+Id);<br />

⎡2<br />

1⎤<br />

⎢ ⎥<br />

⎣2<br />

0⎦<br />

11.5 Advanced Maple<br />

11.5.1 Manipulating Expressions<br />

You can ex<strong>am</strong>ine parts of expressions by using the standard Maple library functions designed to<br />

categorize them or to pull them apart: type, whattype, op, and nops are some of those functions.<br />

To look at the i-th part of an expression, you use op(i, expression), where i evaluates to a nonnegative<br />

integer.<br />

Ex<strong>am</strong>ple:<br />

> e1 := op1 + op2 + op3:<br />

> e2 := op1 * op2 * sin(op3):<br />

> op(2, e1);<br />

op2<br />

> op(3, e2);<br />

sin(op3)<br />

As you can see, the operands of the expression are returned, not the operators that connect them.<br />

This is because Maple categorizes expressions into "types". For instance, "a+b+c" is of type "+" and<br />

has three operands; "a+b*c" is also of type "+" and has only two operands, one of which is of type "*"<br />

and itself has two operands. The whattype function tells you the type of an expression; type is a<br />

boolean test that allows you to check for a particular type of expression. For ex<strong>am</strong>ple:<br />

> whattype(e1);<br />

+<br />

> whattype(e2);<br />

*<br />

> type(e1+e2, `+`);<br />

true<br />

> type(expand(e1*e2),`+`);<br />

117


true<br />

To find out the number of operands in an expression, you use nops(expr). For ex<strong>am</strong>ple:<br />

> expand(e1*e2);<br />

2 2<br />

op1 op2 sin(op3) + op1 op2 sin(op3) + op1 op2 sin(op3) op3<br />

> nops(%);<br />

3<br />

11.5.2 Sequences, Ranges and Sets(Folgen, Wertebereiche und Mengen)<br />

A sequence (Folge) is made from a finite number of expressions that are separated by commas. For<br />

instance, "x" is a sequence with one item, and "x, y" is a sequence of two items. The special symbol<br />

"NULL" is used to denote the empty sequence. A sequence is a valid type, "exprseq", so whattype<br />

and type can be used on it. The arguments that you pass to a function are an ex<strong>am</strong>ple of a sequence.<br />

Sets (Menge) and lists (Liste) are also Maple types. A set is just a sequence of items between "{" and<br />

"}" symbols; it is the s<strong>am</strong>e as a mathematical set, in that the sets {a, b, c}, {b, c, a}, and {a, a, b, c, a}<br />

are all the s<strong>am</strong>e. A list is a sequence of items between "[" and "]" symbols. The above, were they lists,<br />

would not be the s<strong>am</strong>e; a list is ordered in the order in which it was created, and duplicate values<br />

appear more than once in the list. Their Maple type n<strong>am</strong>es are "set" and "list".<br />

To access particular items of sequences, sets, and lists all you have to do is subscript (subscript = "mit<br />

Index versehen") them:<br />

> w0 := a1, a2, a3:<br />

> w0[1];<br />

a1<br />

> w1 := {a1, a2, a3};<br />

w1 := {a1, a2, a3}<br />

> w1[2];<br />

a2<br />

> w2 := [a1,a2,a3];<br />

w2 := [a1, a2, a3]<br />

> w2[1..2];<br />

[a1, a2]<br />

The last ex<strong>am</strong>ple uses a range (Wertebereich). A range is valid Maple type and is used to describe a<br />

range of values. Unlike sequences, sets, and lists, you can not subscript a range.<br />

11.5.3 Tables and Arrays (Tabellen und Felder)<br />

Maple uses the "table" type for collections of information in a tabular form. It is similar to records (z.B.<br />

in VBA oder FORTRAN90) or structures (z.B. in C) found in other progr<strong>am</strong>ming languages. Each entry<br />

has an index and a value; you use the table function to create a table and optionally initialize it. For<br />

ex<strong>am</strong>ple:<br />

> tab := table([key=100, n<strong>am</strong>e=joeuser, address=mit]);<br />

tab := table([<br />

key = 100<br />

n<strong>am</strong>e = joeuser<br />

address = mit<br />

])<br />

> tab[n<strong>am</strong>e];<br />

joeuser<br />

> tab[phone] := `x0-0000`;<br />

tab[phone] := x0-0000<br />

> tab;<br />

tab<br />

118


op(tab);<br />

table([<br />

phone = x0-0000<br />

key = 100<br />

n<strong>am</strong>e = joeuser<br />

address = mit<br />

])<br />

The ex<strong>am</strong>ple shows that tables are one of Maple's exceptions to the use of full evaluation. Tables,<br />

arrays, and procedures use what is referred to as "last n<strong>am</strong>e evaluation". In essence, variables access<br />

these objects by reference, not by value. To directly access the value (to copy it, for instance), you<br />

need to use the op function described earlier.<br />

An array is much like a table, except that you specify an integer range of subscripts. For ex<strong>am</strong>ple:<br />

> arr := array(1..2, 1..2);<br />

arr := array(1 .. 2, 1 .. 2, [])<br />

> arr[1,1] := 1: arr[2,2] := 2:<br />

> print(arr);<br />

[ 1 arr[1, 2] ]<br />

[ ]<br />

[ arr[2, 1] 2 ]<br />

11.5.4 Maple Initialization (UNIX)<br />

When a Maple session begins, Maple looks for a file in your home directory called ~/.mapleinit and<br />

reads it in. This provides you with a convenient way to do things like automatically load in packages<br />

that you often use. All you need to do is use a text editor like emacs or ez to create the file<br />

~/.mapleinit. Edit the file and place any Maple commands you want there in the s<strong>am</strong>e format that you<br />

would enter them interactively.<br />

11.6 Progr<strong>am</strong>ming in Maple<br />

Up until this point, discussion has been focused on only two statement types of the Maple language,<br />

the "expression statement" (Ausdrucksanweisung) and the "assignment statement"<br />

(Zuordnungsanweisung). We will now give an overview of some forms of progr<strong>am</strong>ming statements. In<br />

each case, we will give an outline of the syntax of the statement, a description of its meaning or effect,<br />

and an ex<strong>am</strong>ple of its use. For more information on progr<strong>am</strong>ming in Maple, you can refer to the Maple<br />

V Progr<strong>am</strong>ming Guide.<br />

11.6.1 Control Structures<br />

There are four important types of non-procedural statements that affect the flow of control of a<br />

progr<strong>am</strong>:<br />

• the for-while loop<br />

• the if statement<br />

• the break statement<br />

• the next statement<br />

Each of these structures is explained here. There are some other statements that affect flow of control<br />

that have either already been introduced (done/quit/stop), or will be dealt with in the sections<br />

Procedures and Error Handling.<br />

11.6.1.1 For-While<br />

The two syntactic forms of the for-while statement are:<br />

for variable from start by change to finish while<br />

condition do<br />

statement-sequence<br />

119


od;<br />

and:<br />

for variable in expression while condition do<br />

statement-sequence<br />

od;<br />

The statement-sequence is repeated for each distinct value of "variable" while "condition" is true. The<br />

"for ...", "from ...", "by ...", "to ...", and "while ..." clauses are all optional. If "from start" or "by change"<br />

are not specified, they default to a value of 1.<br />

In the first case, "variable" is initially assigned the "start" value (so "variable" can be either a<br />

mathematical or progr<strong>am</strong>ming variable prior to use in the loop). With each successive loop if "variable"<br />

is less than or equal to "finish" then "variable" is incremented by "change"; if the "while" condition is<br />

also true then the statement sequence is repeated. If either the "to" or "while" conditions are false, the<br />

loop terminates.<br />

In the second case, "variable" is successively assigned the component parts of the expression. This<br />

form of the for statement is just a more convenient way of expressing something like:<br />

for variable to nops(expression) while condition do<br />

statements that use op(variable, expression)<br />

od;<br />

Ex<strong>am</strong>ple:<br />

> listsum := 0;<br />

> for i in [1,2,3,4,5] while i < 5 do<br />

> listsum := listsum + i;<br />

> od;<br />

> listsum;<br />

10<br />

11.6.1.2 If<br />

The syntax of the if statement is:<br />

if condition then<br />

statement-sequence<br />

elif condition then<br />

statement-sequence<br />

...<br />

elif condition then<br />

statement-sequence<br />

else<br />

statement-sequence<br />

fi;<br />

The elif and else portions are optional; there may be more than one elif clause in a row. The (boolean)<br />

condition in the if section is evaluated; the corresponding statement-sequence is evaluated if the<br />

condition is true. If the condition is false, control passes to the next elif or else clause. If no condition is<br />

true and there is no else clause, no action is taken.<br />

Ex<strong>am</strong>ple:<br />

> printlevel := 0:<br />

> for x by 3 to 20 do<br />

> if isprime(x) then<br />

> print(x, `is prime`);<br />

> elif type(x, odd) then<br />

> print(x, `is odd non-prime`);<br />

120


else<br />

> print(x, `is even non-prime`);<br />

> fi;<br />

> od;<br />

1, is odd non-prime<br />

4, is even non-prime<br />

7, is prime<br />

10, is even non-prime<br />

13, is prime<br />

16, is even non-prime<br />

19, is prime<br />

> printlevel := 1:<br />

11.6.1.3 Break<br />

The syntax of the break statement is simply:<br />

>> break;<br />

The break statement is used in for and while loops to terminate iteration of the loop altogether. Flow of<br />

control resumes with the statement following the body of the loop.<br />

Ex<strong>am</strong>ple:<br />

> printlevel := 0:<br />

> listsum := 0:<br />

> for i in [1,2,3,4,5] do<br />

if i >= 5 then break fi;<br />

> listsum := listsum + i;<br />

> od;<br />

> listsum;<br />

10<br />

> printlevel := 1:<br />

11.6.1.4 Next<br />

The syntax of the next statement is simply:<br />

> next;<br />

The next statement is used in for and while loops to terminate the current iteration of the loop. Flow of<br />

control resumes with evaluation of the loop condition.<br />

Ex<strong>am</strong>ple:<br />

> printlevel := 0:<br />

> listsum := 0;<br />

> for i in [1,2,3,4,5] do<br />

> if type(i, odd) then<br />

> next;<br />

> fi;<br />

> listsum := listsum + i;<br />

> od;<br />

> listsum;<br />

6<br />

> printlevel := 1:<br />

11.6.2 Procedures<br />

Simple one-line functions can be defined with arrow notation as follows:<br />

> f := (x,y) -> x^2 + y^2;<br />

2 2<br />

f := (x,y) -> x + y<br />

121


f (1,2);<br />

5<br />

For more complicated functions, the procedure statement can be used. Its syntax is:<br />

proc (n<strong>am</strong>e-sequence)<br />

local n<strong>am</strong>e-sequence;<br />

global n<strong>am</strong>e-sequence;<br />

options n<strong>am</strong>e-sequence;<br />

statement-sequence;<br />

end;<br />

The proc (n<strong>am</strong>e-sequence) is the procedure header, and the n<strong>am</strong>e-sequence is a formal par<strong>am</strong>eter<br />

list. These are the internal variable n<strong>am</strong>es for values that you would pass during calls to the<br />

procedure. The global and local n<strong>am</strong>e-sequence are optional clauses listing the global and local<br />

variables, and options n<strong>am</strong>e-sequence is an optional clause of settings that influence the procedure's<br />

behaviour at runtime.<br />

Notice that there is no specification for the n<strong>am</strong>e of the procedure. Since procedures are objects that<br />

can be assigned to variables, the n<strong>am</strong>e of the variable you assign it to is used as the n<strong>am</strong>e of<br />

procedure. The value of the procedure is usually the value of the last expression evaluated. Other<br />

values may be returned by using explicit return, error return, or return through a par<strong>am</strong>eter. See the<br />

Maple V Progr<strong>am</strong>ming Guide for more information on return types.<br />

Ex<strong>am</strong>ple:<br />

> # Out of curiosity, see if "x" is a mathematical<br />

variable:<br />

> x;<br />

x<br />

> f := proc(x)<br />

> x^2 + 1;<br />

> end;<br />

f := proc(x) x^2+1 end<br />

> f(2);<br />

5<br />

> x;<br />

x<br />

In this ex<strong>am</strong>ple, the global variable "x" is not affected by the formal par<strong>am</strong>eter "x", which is local to<br />

function "f".<br />

11.6.2.1 Local Variables<br />

In addition to global variables, local variables may be used in procedures to make temporary<br />

assignments without affecting the rest of the Maple session. Changing the value of a local variable in a<br />

procedure does not affect the value of a variable with the s<strong>am</strong>e n<strong>am</strong>e in another procedure, or of a<br />

global variable of the s<strong>am</strong>e n<strong>am</strong>e. Changing the value of a global variable changes it for the entire<br />

Maple session.<br />

Local variables also have one other very important distinction: they are not subject to the default full<br />

evaluation. This is because local variables commonly do not require full evaluation, so performance is<br />

improved by this exception to the general evaluation scheme.<br />

Ex<strong>am</strong>ple:<br />

> # Set value of global "a":<br />

> a := 0;<br />

a := 0<br />

> g := proc(x)<br />

> local a, b;<br />

> a := b^2 + x;<br />

> print(a);<br />

122


:= 2;<br />

> print(`a:`, a, ` eval a:`, eval(a), ` a:`, a);<br />

> end:<br />

> g(2);<br />

2<br />

b + 2<br />

2 2<br />

a:, b + 2, eval a:, 6, a:, b + 2<br />

> # So full evaluation doesn't happen to local variable "a", even<br />

> # if evaluation is called. You'd have to assign the result of<br />

> # "eval(a)" to "a" to update its value.<br />

> a;<br />

0<br />

> # Just to check, the global variable "a" is not affected by<br />

> # the local variable "a" in function "g".<br />

11.6.2.2 Options<br />

Options are used to control run-time behaviour of a procedure. The options defined for Maple V are<br />

builtin, remember, system, operator, and trace. remember is the one of greatest use to most users.<br />

When you use option remember, the values that correspond to particular par<strong>am</strong>eter lists are stored for<br />

future use. This way they can be retrieved instead of recalculated, a feature particularly useful for<br />

recursive function implementations.<br />

You can force remember for particular argument values, whether or not option remember has been<br />

specified. You simply perform an assignment to the function with the appropriate par<strong>am</strong>eter value. For<br />

ex<strong>am</strong>ple:<br />

> h(2) := 3;<br />

h(2) := 3<br />

> h(2);<br />

3<br />

This is why it is necessary to use proc to define functions. It is tempting to try syntactic definitions like<br />

m(x) := x^2, but what you are really doing is stating something like "the value of function m at the<br />

string `x` has the value `x`^2", assuming "x" was a mathematical variable when you entered in the<br />

assignment statement. When you try to plot this pseudo-function, you will find that some forms of<br />

plotting (like par<strong>am</strong>eterized 3-D plotting) do not work.<br />

11.6.2.3 Explicit RETURN<br />

The syntax of the RETURN statement is simply:<br />

RETURN(value);<br />

This causes the procedure to terminate, returning the value specified.<br />

11.7 Error Handling<br />

There are three facilities for error handling in Maple: ERROR, lasterror, and traperror.<br />

11.7.1 ERROR<br />

The ERROR statement is used for error return. Its syntax is simply:<br />

ERROR(error-message-string);<br />

The "ERROR" must be in capital letters. When you use ERROR in procedures to indicate that<br />

something has gone wrong, you will see a message printed of the form:<br />

Error, (in procn<strong>am</strong>e) error-message-string<br />

123


As is the case with Maple-detected errors, the computation is then interrupted and aborted.<br />

11.7.2 lasterror and traperror<br />

The variable lasterror records the most recent kind of ERROR. The function traperror evaluates an<br />

expression sequence and returns the value if there were no errors, or lasterror if there was an error.<br />

You can use these two features in combination to control error handling yourself instead of just having<br />

Maple interrupt and abort processing.<br />

11.8 Plotting Functions You Have Created<br />

Now that you have learned how to write Maple functions you can effectively plot 3-dimensional graphs<br />

(assuming you are in an X-session). The command is plot3d. You specify a set of functions to plot and<br />

the ranges of the independent variables. The functions must satisfy the characteristics described in<br />

?plot3d, but with some thought you can plot almost any kind of surface in 3-space. You can also give<br />

plot options to configure various aspects of the final display. Here is a lengthy ex<strong>am</strong>ple of how to plot<br />

par<strong>am</strong>etric functions using plot3d. You can enter it interactively or place the commands in a file and<br />

read it in.<br />

> x1 := proc(tau, theta)<br />

> (a + b*sin(tau))*cos(theta);<br />

> end:<br />

> y1 := proc(tau, theta)<br />

> (a + b*sin(tau))*sin(theta);<br />

> end:<br />

> z1 := proc(tau, theta)<br />

> b*cos(tau);<br />

> end:<br />

> torus1 := [x1,y1,z1]:<br />

> x2 := proc(tau, theta)<br />

> a + x1(tau, theta);<br />

> end:<br />

> y2 := proc(tau, theta)<br />

> z1(tau, theta);<br />

> end:<br />

> z2 := proc(tau, theta)<br />

> y1(tau, theta);<br />

> end:<br />

> torus2 := [x2, y2, z2]:<br />

> plotranges := 0..2*Pi, 0..2*Pi:<br />

> optionseq := scaling=CONSTRAINED, axes=NONE, numpoints=1600:<br />

> plotboth := 'plot3d({torus1, torus2}, plotranges, optionseq)':<br />

> a := 10: b := 3:<br />

> # Now just use "plotboth" to plot the two surfaces<br />

> plotsetup (window);<br />

> plotboth;<br />

124


Plots will display inline (which is the default) or in a separate window according to the setting specified<br />

in a plotsetup () command, or under Options - Plot Display.<br />

From the File menu in a plot window, use Print to print or save to a postscript file. To save to other file<br />

formats (or to save in tty), use plotsetup (devicetype, plotoutput="filen<strong>am</strong>e"). For ex<strong>am</strong>ple:<br />

> plotsetup (jpeg, plotoutput="tori.jpg");<br />

125


12. Literatur<br />

[1] Manfred Precht, Nikolaus Meier und Joachim Kleinlein: EDV-Grundwissen. Eine Einführung<br />

in Theorie und Praxis der modernen EDV. Addison-Wesley-Longman Verlag GmbH, Bonn,<br />

4. Auflage, 1997.<br />

[2] W. Merzenich und H. C. Zeidler: Informatik <strong>für</strong> Ingenieure. B. G. Teubner Verlag, Stuttgart,<br />

1997.<br />

[3] Ekbert Hering, Jürgen Gutekunst und Ulrich Dyllong: Informatik <strong>für</strong> Ingenieure. VDI-Verlag,<br />

Düsseldorf, 1995.<br />

[4] Dieter Roller: Informatik. Grundlagen, mit einer Einführung in PASCAL. Springer-Verlag,<br />

Berlin, Heidelberg, 1. Nachdruck, 1996.<br />

[5] Mark Dodge, Chris Kinata, Craig Stinson und die Cobb Group: Microsoft Excel <strong>für</strong> Windows<br />

95. Microsoft Press Deutschland, Unterschleißheim, 1995.<br />

126

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!