PDF-Version - am Institut für Baustatik
PDF-Version - am Institut für Baustatik PDF-Version - am Institut für Baustatik
Karlsruher Institut für Technologie Institut für Baustatik Grundlagen der Informationsverarbeitung im Bauwesen Grundlagen Computerorientierter Methoden BAUSTATIK
- Seite 2 und 3: Vorbemerkungen • Das vorliegende
- Seite 4 und 5: 4.4.2 Nicht-flüchtige Speicher 20
- Seite 6 und 7: 9.10.3 Prognose der Bevölkerungsen
- Seite 8 und 9: 2 Einleitung Das moderne Ingenieurw
- Seite 10 und 11: Binär Binär Binär Binär 000 000
- Seite 12 und 13: Beispiel zur Umrechnung einer Dezim
- Seite 14 und 15: Textzeichen: Kodierung der Zeichen
- Seite 16 und 17: Gebräuchliche Extensions: Extensio
- Seite 18 und 19: 4 Aufbau und Betrieb von Computern
- Seite 20 und 21: 4.3.3 CISC-Mikroprozessor Diese Mik
- Seite 22 und 23: gegeben, wenn eine hohe Geschwindig
- Seite 24 und 25: 4.4.3.4 Weitere Begriffe SIMM: Sing
- Seite 26 und 27: Mechanik zum Bewegen der Köpfe (de
- Seite 28 und 29: 4.4.4.7 Magnetooptische Datenspeich
- Seite 30 und 31: essere Störsicherheit und, daraus
- Seite 32 und 33: 4.7.1.2 LCD-Bildschirm Neben den kl
- Seite 34 und 35: 5 Betriebssysteme Im Ingenieurallta
- Seite 36 und 37: wenig Anwendungsprogramme. 32-Bit S
- Seite 38 und 39: Microsoft und IBM mit Buchstaben ge
- Seite 40 und 41: Ausgewähltes Objekt mit Kontextmen
- Seite 42 und 43: optional Endung (Suffix) mit max. 3
- Seite 44 und 45: 7 Rechnernetze - Arbeiten im Netz 7
- Seite 46 und 47: 7.1.2.1 Stern-Topologie Sternvertei
- Seite 48 und 49: 7.1.4 Netzprotokolle Der Inhalt der
- Seite 50 und 51: Ethernet 10Base2 ThinWire, CheaperN
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