Aufbau eines Computers

Werbung
Rīgas Tehniska Universitāte
Daugavpils filiāle
Ludmila ROTAJA
TEKSTU KRĀJUMS
vācu valodā
Metodiskie norādījumi
Datorsistēmas, Automātikas un datortehnikas,
Informācijas tehnoloģijas profila studentiem
Daugavpils 2005
Inhaltsverzeichnis
1. Grossrechner ................................................................................................................... 4
2. Die Supercomputer ......................................................................................................... 4
3. Die Minicomputer .......................................................................................................... 5
4. Der Mikroprozessor und der PC ..................................................................................... 5
5. Heimcomputer ................................................................................................................ 6
6. Workstations ................................................................................................................... 7
7. Tragbare Computer ......................................................................................................... 7
8. Die versteckten Computer .............................................................................................. 7
9. Der Kollaps der Märkte .................................................................................................. 8
10. Netze ............................................................................................................................. 8
11. Programmiersprachen ................................................................................................... 9
12. Betriebssysteme .......................................................................................................... 10
13. Anwendungsprogramme ............................................................................................. 10
14. Der Computer und sein Innenleben ............................................................................ 10
15. Monitore ..................................................................................................................... 11
16. Speichermedien .......................................................................................................... 13
17. Tastatur, Maus und Grafiktablett ................................................................................ 13
18. Scanner: Wie kommt das Bild in den Computer? ...................................................... 15
19. Drucker: Vom Monitor aufs Papier ............................................................................ 16
20. DTP - Ein kurzer Ausflug ........................................................................................... 17
21. Aufbau eines Computers ............................................................................................ 18
22. Hauptspeicher ............................................................................................................. 18
23. CPU ............................................................................................................................ 19
24. Ein-/Ausgabeeinheiten ................................................................................................ 19
25. Die Speicherhierarchie ............................................................................................... 19
26. Speichertypen ............................................................................................................. 20
27. Fraktale Algorithmen zur Bildkompression ............................................................... 20
28. Grundkonzept eines Filesystem .................................................................................. 22
29. Hardware und Software .............................................................................................. 23
30. Betriebssystem ............................................................................................................ 24
31. Programmiersprachen ................................................................................................. 25
32. Maschinensprachen .................................................................................................... 25
33. Maschinenorientierte Programmiersprachen .............................................................. 25
34. Höhere Programmiersprachen .................................................................................... 26
35. Algorithmen und Programme ..................................................................................... 26
36. Hauptprozeß der Programmentwicklung .................................................................... 27
37. Entwerfen ................................................................................................................... 28
38. Implementieren ........................................................................................................... 29
39. Programmtest .............................................................................................................. 29
40. Integration und Probebetrieb ...................................................................................... 29
41. Dokumentieren ........................................................................................................... 30
42. Nutzung und Wartung ................................................................................................ 30
43. Umfang der Programmentwicklung ........................................................................... 30
44. Ein- und Ausgabeprozesse .......................................................................................... 31
45. Filesystem ................................................................................................................... 33
46. Compilersysteme ........................................................................................................ 34
47. Erfassen des Programms ............................................................................................. 35
48. Übersetzen des Programms ........................................................................................ 36
49. Verbinden des Programms .......................................................................................... 36
50. Laden eines Programms ............................................................................................. 36
2
51. Starten des Programms ............................................................................................... 37
52. Test und Fehleranalyse ............................................................................................... 37
53. Erklärungskomponente, Verwaltung des Dialoggeschehens ...................................... 37
54. Verwaltung der Entwicklungsdaten und Unterstützung der Entwicklung
von Projekten .............................................................................................................. 37
55. Testen ......................................................................................................................... 37
56. Syntaxfehler ................................................................................................................ 38
57. Laufzeitfehler .............................................................................................................. 38
58. Logische Fehler .......................................................................................................... 38
59. Überprüfen des Programms ........................................................................................ 39
60. Einbau von Prüfpunkten ............................................................................................. 39
61. Test mit typischen, Grenz- und unzulässigen Daten .................................................. 39
62. Test- und Fehleranalysesysteme ................................................................................. 40
63. Mikroprozessor ........................................................................................................... 40
64. Speicher ...................................................................................................................... 41
65. Disketten ..................................................................................................................... 42
66. Festplatte ..................................................................................................................... 42
67. Drucker ....................................................................................................................... 43
68. Kommandos, Dateien, Betriebssystem ....................................................................... 43
69. Bildschirmfunktionen ................................................................................................. 44
70. Gerätebesonderheiten, Dateitypen .............................................................................. 45
71. Datensicherung, Datenschutz ..................................................................................... 46
72. Textverarbeitung ......................................................................................................... 48
73. MS-Word .................................................................................................................... 48
74. WordStar ..................................................................................................................... 49
75. Deutsch-lettisch-russisches Wörterbuch ..................................................................... 52
76. Quellenverzeichnis ..................................................................................................... 62
3
Die Entwicklung der Computerfamilien
1. Grossrechner
Zu der Entwicklung der ersten Rechner bis Mitte der 50 er Jahre lesen Sie bitte den Artikel
über die technische Entwicklung. Die ersten Rechner waren Spezialkonstruktionen spezialisiert
für die Lösung besonderer Anforderungen. Nicht selten wurden in der Anfangszeit
Problemstellungen hardwaremäßig durch Verschaltung vorgegeben. Die Entwicklung von
höheren Programmiersprachen machte eine höhere Abstraktionsebene möglich. Mit den ersten
Transistor beschalteten Rechner Mitte der 50 er Jahre, hielt der Computer auch Einzug in die
Unternehmen. Damit war ein universelles System, mit dem man sowohl naturwissenschaftliche
Fragestellungen wie auch Datenverarbeitung treiben konnte gefragt. Die Lösung ist die noch
heute existierende Familie der Großrechner - Anlagen mit Verkaufspreisen von typischerweise
über 1 Mill. DM und einem nötigen Stammpersonal von einigen Personen. Doch bald zeigte sich
das vor allem für die Naturwissenschaft wo es mehr um Rechengeschwindigkeit als um die
Datenverarbeitung ging, spezialisierte Computer nötig waren - der homogene Markt der
Computer begann sich immer weiter zu segmentieren. Eine Entwicklung die noch heute anhält.
2. Die Supercomputer
Schon in den 60 er Jahren entwickelte die Firma CDC schnelle Rechner für die Wissenschaft.
Vor allem dem genialen Computeringenieur Seymour Cray verdankten diese Geräte ihre
Geschwindigkeit. Schon der Erstling CDC 1604 war ein kommerzieller Erfolg, Weniger als eine
Million Dollar musste man für den 0.5 Megaflop Rechner zahlen. Berühmt machten Cyber aber
die CD 6600 (entstanden 1965,9 Megaflops, Bild links) und die CDC 7600 (40 Megaflops) von
1968. Die CDC 6600 verwandte z.B. schon die parallele Abarbeitung von Befehlen in 2
Rechenwerken (bei der x86 Architektur erst 30 Jahre später mit dem Pentium eingeführt).
1972 machte sich Seymour Cray selbstständig, und gründete die Firma Cray Research. Er
baute danach Supercomputer - Rechner speziell für das schnelle Verarbeiten von Zahlen
ausgelegt. Schon der Erstling die Cray 1 war 1976 ein neuer Star : Mit 170 Megaflops lag sie als
erster Rechner über 100 Megaflops. Erreicht wurde die Geschwindigkeit in dem an mehreren
Zahlen dieselbe Operation durchgeführt wurde. Während eine Multiplikation sonst 9 Takte
dauerte konnte die Cray 1 nach dem ersten Ergebnis jeden Takt ein neues präsentieren.
Die Cray 1 (Bild links) war damit ein Rechner für Daten die immer gleich verarbeitet werden
- ideal für die Wissenschaft wo man einige hundert lineare Gleichungssysteme mit 100.000 oder
Millionen von Daten bearbeiten muss. Diese Architektur nennt man Vektorrechner. Ein Vektor
besteht aus einer Anzahl von Zahlen, mit denen dieselbe mathematische Operation durchgeführt
wird. Die Supercomputer von Cray waren so auf die Geschwindigkeit optimiert, das man noch
mindestens einen zweiten Computer brauchte, der den ganzen "Kleinkram" erledigte, also die
Daten von Terminals holen, Jobs in die richtige Reihenfolge für die Abarbeitung bringen, Daten
von Plattenspeichern holen und schreiben, Ergebnisse auf Druckern oder Bildschirmen
ausgeben, kurz alles was aufhält. Damit die Rechner schnell waren hatten die meisten Crays eine
runde Form, dadurch waren die Leitungsbahnen sehr kurz. Auch von der Größe her waren die
Crays relativ klein, mussten aber gut gekühlt werden. Spätere Modelle hatten die Chips sogar in
ein Bad mit Kühlmittel gelegt.
Bis Anfang der 90 er Jahre wurden Crays Rechner immer schneller und leistungsfähiger.
Durch Reduktion der Zykluszeit von 12.5 ns bei der ersten Cray von 1976 auf 2 ns bei einer Cray
C90 Anfang der 90 er Jahre und 16 anstatt einem Prozessor. Anfang der 90 er Jahre kam aber das
aus für dieses Konzept. Im selben Zeitraum von 1976 bis 1992 in dem eine Cray 100 mal
schneller wurde, wurden Mikroprozessoren 3000 mal schneller. So wurde es sinnvoller anstatt
einen Superrechner aus einer handvoll Vektorprozessoren aus mehren Hundert bis Tausend der
schnellsten PC Prozessoren zu bauen. Die ersten Experimente dieser Art kamen Mitte der 80er
Jahre aus und mit dem Aufkommen der ersten schnellen RISC Prozessoren Anfang der 90 er
4
Jahre begannen Computer mit 1000 oder mehr Prozessoren vom Typ eines Power PC, i860 oder
Sun SPARC die Vektorrechner abzulösen. Mehr über Supercomputer in dem Aufsatz "Der
Supercomputer und der PC"
3. Die Minicomputer
Schon vor den Supercomputern wurde aber auch ein neuer Markt geboren : der
Minicomputermarkt. In den 60 er Jahren waren Computer noch immer groß, beanspruchten
größere Räume und 2-3 Personen zur Zuteilung von Jobs oder dem Wechseln von
Magnetbändern. Für kleinere Firmen oder wissenschaftliche Institute waren die Rechner zu teuer
im Kauf und im Unterhalt. Kenneth Ohlsen gründete Digital Equipment (DEC) 1957. Mit dem
Ziel Computer billiger zu machen. 1965 kam der erste kommerzielle Erfolg : Der PDP-8, ein
Rechner für unter 100.000 Mark. 1971 erschien der PDP-11. Ein 16 Bit Rechner der zum
Verkaufsschlager wurde. Damit war es möglich sich erschwingliche Rechnerleistung zu
besorgen ohne für die Abarbeitung von Programmen bei einem Rechenzentrum Schlange stehen
zu müssen. Vor allem Universitätsinstitute lernten dies zu schätzen.
Berühmte machte DEC aber die VAX 11/780 von 1978. Der erste 32 Bit Minicomputer, mit
einer Rechnenleistung von 0.5 Megaflops. Vor allem deswegen, weil der Ostblock ein sehr
großes Interesse daran hatte diesen Mini zu beschaffen um ihn zur Steuerung der SS-20
Mittelstreckenraketen einzusetzen. DEC wurde sehr schnell zum Marktführer in diesem Markt,
verschlief jedoch später den boomenden Markt der Mikrocomputer, da der Firmengründer
Ohlsen nicht daran glaubte (Zitat 1977 : "Es gibt keinen vernünftigen Grund warum jemand
zuhause einen Computer brauchen sollte.". (Na ja so unrecht hat er ja nicht gehabt, denn
brauchen tun auch heute die wenigsten einen Computer). DEC entwickelte für das VAX auch
das damals fortschrittlichste Betriebssystem VMS. Anfang der 90 er Jahre kam die Firma ins
Schlingern, wie viele andere Firmen durch den schrumpfenden Markt für Mini Computer. Die
hellsten Köpfe im Computerbereich gingen zu Microsoft (wo sie Windows NT entwickelten)
und AMD - wo Sie die Technik des Alphas umsetzten, um den Athlon zu entwerfen.
4. Der Mikroprozessor und der PC
1968 wurde der Mikroprozessor bei Texas Instruments erfunden, erfolgreich wurde aber Intel
mit diesem Typ. 1971 wurde der erste 4 Bit Prozessor Intel 4004 angeboten, und 3 Jahre später
begann mit dem Intel 8080 die Computerevolution. Zahlreiche Bastler machten sich daran um
diesen Prozessor herum einen Rechner zu bauen. Der Altair 8800 war im Januar 1975 der erste
"PC" - er war mit 397 USD Verkaufspreis für jeden bezahlbar. Auch Apple begann damit, das
man den Apple I - eine nackte Platine als Selbstbausatz verkaufte. Steve Jobs, der mit Steven
Wozniak die Firma gründete erkannte jedoch bald, das man erheblich mehr Computer verkaufen
könnte, wenn man ein Komplettgerät anbot. Mit diesem dem Apple II (1978) wurde Apple zum
Marktführer. Die ersten waren noch als Heimcomputer gedacht - um programmieren zu lernen,
zu spielen oder einfach den Computer kennenzulernen. Doch bald wurden sowohl die Geräte so
leistungsfähig, das man sie für das Schreiben von Rechnungen und Briefen nutzen konnte. Dazu
kamen die ersten Anwendungsprogramme wie Visicalc (1979 - Tabellenkalkulation), Wordstar
(1978 - Textverarbeitung), DBase II (1980, Datenbank). Etwa um diese Zeit erreichte auch der
Speicherausbau mit 32-64 K eine Grenze, ab der man Anwendungsprogramme nutzen konnte.
IBM, die diesen Markt zuerst nicht ernst nahmen stellten fest, das von diesen Geräten
100.000 Stück verkauft wurden, viele IBM Kunden nutzten diese kleinen Geräte, um dort
einfache Aufgaben zu machen oder unabhängig vom Großrechner zu sein. Man wollte am Markt
partizipieren hatte aber ein typisches IBM Problem : Es dauerte bei IBM zu lange einen PC zu
bauen, mindestens 2 Jahre und 200 Leute wären dazu nötig, ergab eine erste Abschätzung. Ganz
unkonventionell gab das Management einem kleinen Entwicklungsteam die Aufgabe dies
schneller zu machen. Ihre Lösung - ein PC ohne Verwendung von IBM Technologie wurde
5
akzeptiert. Sehr bald bekamen Konkurrenten zu spüren was alleine der Name IBM bedeutete.
Denn obgleich der IBM PC teuer war und technisch nicht besonders fortschrittlich, verkaufte er
sich wie warme Semmeln. Er rief auch Nachahmer auf den Plan, die ihn kopierten und dadurch
die Basis der installierten Systeme noch vergrößerten. Von allen Konkurrenten hat alleine Apple
bis heute überlebt.
Mit dem IBM PC begann auch der Aufstieg einer Firma, die vor allem durch die geschickte
Vermarktung der Ideen anderer berühmt wurde : Microsoft. Gegründet 1977 von Bill Gates und
Paul Allen war die Firma bis 1981 als der IBM PC gebaut werden sollte vor allem mit der
Entwicklung von Programmiersprachen bekannt geworden. IBM wollte von Microsoft
Betriebsystem und BASIC Interpreter kaufen, doch nur letzteres war ein Produkt von MS. Sie
schickten die Manager zu Gary Kildall, dem Gründer von "Intergalactic Digital Research",
dessen Betriebssystem CP/M der damalige Marktstandard war. Er war jedoch im Urlaub und
seine Frau weigerte sich die Verschwiegenheitserklärung zu unterschreiben. So platzte der Deal.
Das Geschäft machte Microsoft mit MS-DOS. Dieses hatten sie kurz vorher von Seattle
Computers eingekauft, wo es Q-DOS (Quick and Dirty OS hieß). Das Abkupfern praktizierte
MS-DOS noch erfolgreich mit Mac OS, nachdem sie für den Mac Mac Write und Mac Paint
schrieben und beim Internet Explorer, der eigentlich Mosaic hieß und ebenfalls zugekauft wurde.
Lange Zeit hatten die PC's keinen Einfluss auf den Großrechner, Workstation und Mini
Computer Markt. Ein PC war isoliert, er ersetzte zwar schnell Schreibmaschinen in den Büros,
aber er hatte nicht die Fähigkeiten auf große Datenbestände zuzugreifen. Aber PC's wurden
wesentlich schneller Leistungsfähig als Grossrechner. Von 1972 bis 1982 sank der Preis pro
MIPS bei IBM Großrechnern um den Faktor 4, im gleichen Zeitraum wurden PC Prozessoren
um den Faktor 100 leistungsfähiger und die schnellsten waren 1982 schon so schnell wie
kleinsten IBM Großrechner die 100 mal teurer waren. IBM selbst erfand eine Netzwerkstruktur
die IBM PC's an Großrechner anband. Man konnte diese so entlasten und die PC's effektiv
nutzen. Doch Netzwerke innerhalb von PC's - mit Marktführer Novell - waren erheblich
aktraktiver. Man benötigte nur PC's und einen Fileserver, welcher kein Großrechner sondern eine
10 mal preiswertere Workstation sein konnte. Großrechner und Minicomputer verkauften sich ab
Ende der 80 er Jahre schlechter und wenig später verdrängten die immer leistungsfähigeren PC's
auch zahlreiche Workstationhersteller vom Markt die ihre Entwicklungskosten eben nicht auf
Millionen Geräte umlegen konnten.
Erst mit dem Aufkommen des Internets. wurden Großrechner wieder akttraktiv - e-commerce
benötigt für viele Zugänge leistungsfähige und schnelle Datenbankzugänge. Dies leistet ein
Großrechner besser als eine Farm von PC's. Inzwischen haben die Hersteller von Großrechner
dies auch erkannt und entwickeln diese auf Basis von PC Prozessoren die geschickt gebündelt
werden.
5. Heimcomputer
Lange Zeit erfolgreich war neben dem PC Markt - mit Geräten zum Arbeiten, Preise ab 3000
DM aufwärts - auch der Heimcomputermarkt. Ein Heimcomputer unterschied sich von einem PC
darin, das man zuerst nur den nackten Rechner kaufte - ohne Massenspeicher und angeschlossen
konnte er an den Fernseher. Die Rechner booteten nicht ein Betriebssystem sondern starteten
einen BASIC Interpreter aus einem ROM. Anfang der 80 er Jahre gab es eine ganze Reihe von 8
Bit Heimcomputern auf denen man programmieren konnte oder einfach nur spielen. Der
meistverkaufteste war wohl der Commodore 64. Ab 1985 erschienen der Amiga und Atari ST,
Heimcomputer mit der Leistung eines IBM AT's, die man sowohl zum Spielen wie auch zum
Arbeiten nutzen konnte. Doch der Markt ging langsam aber sicher unter. Der Grund war das zum
einen beim Übergang von 8 auf 16 Bit Systeme die Entwicklungskosten anstiegen, so das viele
Firmen die Heimcomputer herstellten lieber einen IBM Kompatiblen Nachbau produzierten.
Zum anderen wurden PC's billiger und ihre grafischen Fähigkeiten glichen ich denen der
6
Heimcomputer an. Die letzten Firmen auf dem Markt - Atari und Commodore machten Anfang
der 90 Jahre Konkurs. Mehr über die Geschichte des PC in einem separaten Aufsatz.
6. Workstations
Etwa gleichzeitig mit dem PC Markt schloss eine andere Geräteklasse die Lücke zwischen
Minis und PC's. Workstations sind Rechner die sowohl leistungsmäßig wie auch preislich über
PC's liegen. Die ersten Workstations verwendeten zumeist den schnellen Prozessor MC 68000
von Motorola, der einige Jahre später auch in den Macintoshs, Ataris und Amigas sich
wiederfand. Die Rechner hatten eine auf Geschwindigkeit getrimmte Architektur und
verwendeten als Betriebssystem ein UNIX Derivat. UNIX war als Betriebssystem schon 1971
entwickelt worden, die Fähigkeit mehrere Benutzer und Programme parallel auf einem Rechner
ausführen zu lassen machte es bald zu einem führenden Betriebsystem im Bereich Workstations
und Minicomputer.
Ende der 80 er Jahre begannen die großen Hersteller von Workstations (Sun, Apollo, Silicon
Graphics) damit anstatt der schnellen PC Prozessoren eigene RISC Prozessoren zu entwickeln
um Workstations schneller zu machen. Intel konnte dem aber erfolgreich konnten. Obgleich die
x86 Familie erheblich mehr Transistoren pro Chip benötigte um dieselbe Rechenleistung zu
erbringen konnte der Preis durch die enormen Stückzahlen unter den Eigenentwicklungen von
Sun (SPARC) oder DEC (Alpha) gedrückt werden. Mehr und mehr verdrängten
Multiprozessormaschinen mit gängiger PC Hardware die Workstations. Daran konnte auch der
Power PC Chip, eine Initiative von Apple, Motorola und IBM nichts mehr ändern. Viele
Workstation Hersteller verloren massiv Marktanteile und bieten heute auch Workstations auf
Basis von Intel Prozessoren an, so Silicon Graphics und Sun. HP hat die Weiterentwicklung
seiner PA-RISC Serie ganz eingestellt.
7. Tragbare Computer
Schon 1982 waren die ersten tragbaren Computer auf dem Markt - allerdings nur mit 16 K
Speicher und einem vierzeiligen Display. Bis Computer wirklich tragbar waren verging noch
geraume Zeit. Die ersten Computer mit denen man arbeiten konnte waren so groß wie ein Koffer
und hatten einen Röhrenmonitor. Am Ende der 80 er Jahre kam mit dem LCD Display und 3.5"
Laufwerken die ersten Laptops auf den Markt. 1992 erschien mit dem Apple Newton der erste
Pocket PC oder Organiser. Zu Ende der 90 er Jahre findet man kleine PC's fast überall - in
Handys, Uhren - Nur die Finger müssten noch schrumpfen um sie auch bedienen zu können.
8. Die versteckten Computer
Mit der Erfindung der integrierten Schaltung hielt diese auch in Geräten die man nicht sofort
als Computer erkannte Einzug wie Radios oder Fernseher. Als Anfang der 80 er Jahre ein
Mikroprozessor nur noch 20-50 DM kostete, mutierte er zum Mikrocontroller. Ein
Mikrocontroller ist ein Prozessor mit integriertem ROM und Arbeitsspeicher und zahlreichen I/O
Anschlüssen. Mikrocontroller kontrollieren heute in vielen Geräten Funktionen : In Mikrowellen
steuern sie Zeit und Energie, bei Toastern messen sie ob dieser schon braun ist, sie steuern das
Programm in der Waschmaschine. In einem modernen Auto findet man heute 30-40
Microcontroller, von der elektronischen Einspritzung über ABS, Airbag bis hin zu den digitalen
Instrumenten. Gemessen an der Stückzahl haben Microcontroller PC's lange überrundet - 2000
wurden weltweit 50 mal mehr Mikrocontroller als PC Prozessoren verkauft, der größte Teil
davon noch in der in der PC-Welt belächelten 8 Bit Technik. Doch auch bei den 32 Bit
Prozessoren macht der Anteil von Intel und Co nur 20 % aus. Motorola hat im Jahre 2001 den 4
Millardsten 68HC11 Prozessor verkauft - eine fortentwickelte 8 Bit Technik, die seit 25 Jahren
verfügbar ist.
7
9. Der Kollaps der Märkte
IBM wollte 1981 nur widerwillig ins PC Geschäft einsteigen - sie vermuteten das dieser
Markt sich nicht lohnen würde. 20 Jahre später sind viele diversitierende Teile des
Computermarktes verschwunden. PC's sind so leistungsfähig geworden, das es praktisch keinen
Workstation Markt mehr gibt - und die wenigen Hersteller vertreiben vor allem Workstations auf
der Basis von PC Hardware. Prozessoren aus dem PC Umfeld - Intel, Alpha, Power PC und
MIPS werden heute zusammengeschaltet. In kleinen Systemen ersetzen diese Server, in größeren
einen Mini Computer, und mehrere dieser Knoten dann einen Grossrechner oder sogar einen
Supercomputer.
Der Grund für diesen Erfolg liegt nicht nur in der Geschwindigkeitssteigerung, sondern auch
darin, dass mit steigender Integrationsdichte die Entwicklungskosten ansteigen. Hersteller von
Hardware die sich auch in PC's verwenden lässt können diese Kosten auf einen Markt mit
Millionen Stückzahlen umlegen, Anbieter spezieller Lösungen können dies in der Regel nicht.
Diese Veränderung hat viele Firmen erfasst die klangvolle Namen im DV Umfeld hatten wie
DEC, Silicon Graphics oder Cray Research. Außer IBM entwickeln heute keine Hersteller mehr
spezielle Grossrechner Hardware. Stattdessen werden handelübliche Microprozessoren in
Mehrprozessorsystemen mit schnellen Busen und angepassten Speicherarchitekturen
zusammengefasst. Von Servern mit 2-4 Prozessoren bis hin zu Supercomputern wie dem ASC
White mit 8192 Prozessoren.
Netze und Internet haben aber auch Grossrechnern und Mini Computern wieder zu einer
Renaissance verholfen. Als in den 80 ern sich Netze in den Unternehmen verbreiteten, wurde
bald klar, das man sich mit dezentralen Netzen ein großes Datensicherungsproblem schaffte.
Daher geht man heute wieder dazu Daten zentral auf einem Grossrechner zu halten, anders als
Früher aber nicht mehr die Anwendungen. Mit dem Internet kam für viele Unternehmen die
Herausforderung, dazu mehrere hundert Benutzer zugleich zu bedienen - wie früher bei den
Grossrechnern nur diesmal übers Internet.
10. Netze
Früh schon wurden Computer miteinander vernetzt um die Rechengeschwindigkeit zu
nutzen. Ein Großcomputer kann ohne Problem mehrere Hundert Bankterminals und
Kontoautomaten gleichzeitig bedienen. Doch diese Netzte waren auf die Maschinen
zugeschnitten. Es gab keinen einheitlichen Standard. Auch der IBM Computer war von IBM als
Ergänzung für die Großrechner gedacht, als ein intelligentes Terminal, das vor Ort kleinere
Dinge erledigen konnte wie Briefe schreiben, für die größeren Dinge wie Buchhaltung,
Lagerverwaltung etc. aber auf einen Großrechner zurückgreifen sollte. Es gab zuerst kein Netz
für PC's. Dem schuf Novell in den 80 er Jahren Abhilfe. Obgleich ein Netzwerk in einen PC
unterzubringen sehr schwierig war, denn es erforderte Dinge die DOS nicht vorsah wie
Zugriffschutz von Dateien, Multitasking und Privilegien. Für größere Rechner war dies kein
Problem, da UNIX diese Fähigkeiten von Hause aus mitbrachte.
Das wohl wichtigste Netz wurde aber das Internet. Gegründet 1968 als militärisches Netz
unter der Bezeichnung Arpanet wuchs es zuerst nur langsam. 1983 wurde das noch heute gültige
Protokoll TCP/IP erfunden, 1990 das Arpanet als vom militärischen in ein ziviles Netz
umgewandelt und im gleichen Jahr die Sprache HTML, die URL's und das HTTP Protokoll
erfunden. Von da an entwickelte sich das Internet explosionsartig. Es hat auch die Netze in den
Unternehmen beeinflusst, denn da viele Unternehmen das Internet nutzten um mit Filialen oder
Geschäftpartnern zu kommunizieren lag es nahe ein Netzwerk ähnlicher Struktur in den
Unternehmen aufzubauen. Dadurch wurden Netzwerke in den 90 ern zu dem Verkaufsschlager.
Sie förderten aber auch den Absatz der Großrechner, die seit Einführung des PC an Bedeutung
verloren hatten. Zahlreiche Unternehmen mittlerer Größe erkannten das es sinnvoller war die
8
Hausdaten auf einem Großrechner zu haben anstatt sich mit 40 abstürzenden PC's herum zu
ärgern. Der Großrechner als Fileserver oder Datenbank Frontend wurde wieder en vogue.
11. Programmiersprachen
Was nützte einem der tollste Computer wenn man ihn nicht programmieren konnte ? Die
ersten Rechner wie ENIAC (links) wurden noch durch Hardwareverdrahtung programmiert.
Doch Anfang der 50 er Jahre gab es schon einen Speicher und ein zentrales Rechenwerk, welche
Befehle aus dem Speicher ausführte. Programmiert wurde indem man die Befehlsworte durch
Schalter einklopfte. Da das sehr mühsam war ging man dazu aus den 8 Bit eines Bytes zwei
Ziffern zu machen, wobei man die Buchstaben A-F dazu nahm um die Zahlen 10-16
auszudrücken. Dieses Hexadezimalsystem setzte sich später allgemein durch zur Angabe von
Zahlen. Mit ein wenig mehr Speicher konnten die Befehle des Computers in einfache
Abkürzungen gefasst werden und man konnte mit Variablen anstatt festen Zahlen arbeiten. Dies
war die Geburt von Assembler, mit dieser Programmiersprache konnte man direkt den Prozessor
programmieren.
Nachdem in den 50 er Jahren Rechner mehr Speicher hatten ging man daran die Arbeit für
den Programmierer zu vereinfachen. Anstatt die einfachen Anweisungen der Maschine sollte
man den Computer in leicht verständlichen Befehle programmieren können. Es entstanden die
ersten höheren Programmiersprachen wie FORTRAN (1957) oder COBOL (1959) oder LISP
(1959). Damit war es auch möglich wenn man das Übersetzungsprogramm von einer höheren
Sprache in die Maschinensprache hatte, den sogenannten Compiler ein COBOL Programm auf
unterschiedlichen Computern einzusetzen. Die ersten Computersprachen haben sich in einigen
Bereichen in denen sie früh eingeführt wurden, bis heute gehalten, so COBOL bei Großrechnern
für finanztechnische Aufgaben oder FORTRAN bei Supercomputern.
Der Nachteil der ersten Programmiersprachen war aber die Spezialisierung. Da Speicher
knapp war beschränkte man sich auf einen Zweck. Mit FORTRAN konnte man mathematische
Probleme lösen, aber keinen Text bearbeiten. Mit COBOL konnte man Finanzbuchhaltung
machen oder Konten führen, aber keinen Sinus berechnen. In den 60 er Jahren gab es dann
verschiedenste Versuche die Programmiersprache an und für sich, für alle Probleme zu erfinden.
Zahlreiche Versuche kamen und gingen. Geblieben sind 3 : Pascal (1971), ursprünglich eine
Lehrsprache, C, (1972) eine sehr maschinennahe Sprache und ADA, eine Sprache die vor allem
deswegen Bedeutung hat weil sie vom amerikanischen DoD entwickelt wurde und dort zur
Pflicht erhoben wurde. Außerhalb des Bereiches Militär / Luftfahrt Raumfahrt hat sie aber keine
Bedeutung.
Das nächste zur Vereinfachung war die objektorientierte Programmierung. Dabei werden
Code und Daten nicht mehr getrennt sondern bilden ein ganzes. Zum Beispiel ist eine häufige
Aufgabe das Sortieren. Da aber Zahlen ein anderes Format als Buchstaben haben muss der Code
jeweils angepasst werden. Bei der objektorientierten Programmierung ist beides verbunden,
wodurch der Programmierer von immer wiederkehrenden gleichen Anpassungen eines schon
vorliegenden Codes entlastet wird. Obgleich es schon früh objektorientierte
Programmiersprachen wie Simula (1967) und Smalltalk (1972) gab, setzte sich objektorientierte
Programmierung erst mit C++ (1986) und Turbo Pascal 5.5 (1988) durch.
Der neueste Spross ist Java, eine Programmiersprache die eigentlich gedacht war um die
unzähligen Mikrokontroller einfacher zu programmieren und Projekte übertragbarer von Rechner
zu Rechner zu machen. Damit war sie aber die Sprache für das Internet, denn anders als andere
Sprachen erzeugt sie keinen Maschinencode sondern einen Java Code der von einer "virtuellen
Maschine" interpretiert wird. Jeder Computer für den ein solcher Interpreter existiert kann ein
Java Applet ausführen - egal ob es ein IBM Großrechner oder ein PDA ist. Mehr zu der
Entwicklung der Programmiersprachen in einem eigenen Artikel.
9
12. Betriebssysteme
Ein Betriebssystem braucht jeder Computer egal wie groß oder klein er ist. Lange Zeit gab es
nur Betriebsysteme die auf einen Rechner zugeschnitten waren. Der Erfolg von IBM machte
aber auch aus, das ihre Großrechner sich weiterentwickelten, aber auf softwareebene kompatibel
waren. Systeme wie die hier abgebildete IBM 360 wurden dadurch zu Verkaufsschlagern.
Eingeführt 1964 wurde Sie über ein Jahrzehnt als Linie weiterentwickelt.
Der wohl erste Rechnerübergreifende Standard war UNIX. 1970 erfunden war nach
Erfindung von C 1972 das Betriebssystem so konzipiert, das nur ein Kern an die Maschine
angepasst wurde, alle anderen Programme lagen in C vor und konnten so durch Neu übersetzen
übertragen werden. Durch die Multiuser und Netzwerkfähigkeiten setzte es sich bald bei
Workstations und Minicomputern durch. Ein UNIX Derivat namens Linux hat seiner ersten
Version 1991 sich enorm schnell weiterentwickelt.
Auch auf dem PC Markt gab es ein solches Betriebsystem : CP/M. Auch hier passte man nur
die Systemroutinen an und konnte dann CP/M Programme auf seinem Rechner laufen lassen. Im
Gegensatz zum späteren Standard MS-DOS mussten die PC's nicht dieselbe Hardware haben.
CP/M lief sowohl auf einem C-64 mit einer Z80 Karte, wie auf einem Schneider CPC wie auf
einem, Epson QX-10 mit 256 KB RAM, hochauflösender Grafik und Festplatte.
13. Anwendungsprogramme
Auch bei den Lösungen war es zuerst so, das man diese selbst entwickelte. Das war
angesichts der Leistung und Preise nur logisch. 1970 betrug die normale Speicherkapazität eines
Großrechners 128-256 Kilobyte, bei einem Gerät welches Millionen kostete. So waren die
Kosten für einige Programmierer, welche die optimale Software für den eigenen Betrieb
schrieben, nur ein Nebenfaktor.
Doch mit größer werdenden Arbeitsspeicher war es sinnvoll zu abstrahieren. Denn was in
den meisten Betrieben lief, war vom Kern her immer dieselbe Aufgabe : Fakturierung,
Lagerverwaltung, Buchhaltung, Auftragswesen. SAP wurde erfolgreich mit einer an den
Benutzer angepassten Software. Auf einen immer gleichen Datenbank Kern werden die Routinen
kundenspezifisch angepasst. Dabei konnte SAP auch auf die Marktmacht von IBM bauen, denn
deren Grossrechner des Systems 370 waren fast überall vertreten, oder es gab "kompatible"
Nachbauten von Amdahl, Siemens u.a.
Für Betriebsysteme wie CP/M und MS-DOS war es möglich Software in Serie zu
produzieren, da man auf Routinen des Betriebsystems zugreifen konnte. Trotz dessen war
Software lange Zeit teuer. Gängige Anwendungen kosteten noch bis Anfang der 90 er Jahre
1000-2000 Mark und der Preis für die Software konnte die der Hardware leicht übersteigen.
Dank zunehmender Konkurrenz hat sich dies heute sehr gebessert.
14. Der Computer und sein Innenleben
„Computer" bedeutet wörtlich übersetzt nichts anderes als Rechner, bezeichnet also eine
Maschine, die auf elektronischem Wege Rechenprozesse vornimmt. Die meisten in einen
Computer eingebauten Bestandteile sind mit diesen Prozessen befaßt, und sie tun das auf der
Basis von nur zwei Zahlen der 0 und der 1. Diese entsprechen zwei - und nur zwei - möglichen
Zuständen, die wir ja / nein, Schwarz / Weiß oder an/aus nennen können, je nach Verwendung.
Das Zahlensystem, auf dem diesen beiden Zahlen 0 und 1 aufbauen, wird binär genannt und
leitet sich von der Zahl „zwei" ab; ebenso wie unser dezimales oder Zehner-System von der Zahl
„zehn" abgeleitet ist. Da alle Prozesse, die ein Computer bearbeitet, intern durch Zahlen
(„digits") repräsentiert werden, wird das Verfahren auch als „digitale Datenverarbeitung"
bezeichnet.
10
Wenn wir mit einem Eingabegerät wie der Maus (vgl. S. 46) oder dem Stift eines
Grafiktabletts (S. 49) einen farbigen „Pinselstrich" am Monitor malen, sieht es so aus, als sei
diese sichtbare Spur die unmittelbare Reaktion auf unsere Bewegung. Tatsächlich geschieht
jedoch im Hintergrund sehr viel mehr: Die Bewegung der Maus wird in horizontale und vertikale
Komponenten übertragen und diese in Zahlenwerte, welche wiederum in Beziehung gesetzt
werden zu den Koordinaten der am Monitor sichtbaren Arbeitsfläche. Unter Berücksichtigung
weiterer Merkmale, die wir zuvor bestimmt haben - Farbe, Werkzeug, Spezifika wie
Werkzeugdurchmesser, Farbdeckung usw. -, wird diese recht große Datenmenge im Rechner
verarbeitet und durch Befehle an die Steuerung des Monitors für uns sichtbar gemacht.
Daß hinter diesem simplen Pinselstrich ein erheblicher Rechenaufwand steckt, erkennen wir
erst, wenn wir sehr komplexe Spuren erzeugen; diese werden dann nämlich nicht sofort
dargestellt - man spricht von „Echtzeitdarstellung", wenn es keine merkliche Verzögerung gibt -,
sondern stufenweise aufgebaut.
Wenn Sie mit Hilfe des Computers ein Bild malen und ihn abstellen, wenn es fertig ist, ist Ihr
Werk ein für allemal verschwunden. Sie werden es beim nächsten Einschalten nicht
wiederfinden. Der Grund dafür ist, daß der Arbeitsspeicher des Rechners Daten nur so lange
aufbewahrt und verändert, wie er von Strom durchflossen wird. Die einzelnen Bausteine des
Arbeitsspeichers, der in der Fachsprache als RAM (Random Access Memory) abgekürzt wird,
verwalten jeweils eine gewisse Datenmenge. Sie können diese Bausteine meist gegen andere
austauschen lassen, die eine größere Speicherkapazität besitzen. Das kostet zwar Geld, ist aber
fast immer sinnvoll.
Vor allem beim Macintosh zahlt es sich grundsätzlich aus, da Sie den einzelnen Programmen
so einen größeren Speicherbereich zuteilen können, was sie erheblich schneller macht. Gerade
bei der Farbbildbearbeitung kommen schnell riesige Datenmengen zusammen, die durch Befehle
wie „Kopieren" zusätzlich vermehrt werden. Da zum einen das Programm Arbeitsspeicher
belegt, um arbeiten zu können, und zum anderen zusätzlich Speicherplatz vorhanden sein muß,
um das Bild und die daran vorgenommenen Änderungen verfügbar zu halten, lagert der
Computer Bilddaten auf die Festplatte aus, sofern dort Platz ist. Da aber das Beschreiben und Lesen der Festplatte wesentlich mehr Zeit benötigt als das Arbeiten mit dem Arbeitsspeicher,
dauert nun alles sehr viel länger. Die Minuten, die Sie auf die Ausführung eines Befehls warten
müssen, addieren sich bei großen Bildern schnell zu Stunden.
Neben den Speicherelementen gibt es weitere Zusatzteile, die gewisse Funktionen des
Rechners unterstützen, beschleunigen, ausweiten oder sonstwie ergänzen. Da sie meist aus
flachen Platten bestehen, auf die zahlreiche elektronische Komponenten aufgelötet sind, spricht
man von (Erweiterungs-) Karten, oder, da sie mit reihenförmig angeordneten Steckkontakten in
entsprechende Leisten des Computers eingesetzt werden, auch von „Steckkarten". Sie können
dazu dienen, die Rechengeschwindigkeit insgesamt zu erhöhen oder spezifisch die Bearbeitungszeit in bestimmten Programmen zu verkürzen, sie können die Farbdarstellung von
Bildschirmen erweitern oder Video-Signale von Kameras, Recordern und TV-Geräten
aufnehmen. Mit den meisten anderen Bestandteilen aus dem Innenleben Ihres Computers werden
Sie nie etwas zu tun haben - hoffentlich.
15. Monitore
In der Anfangszeit der PCs war es bereits ein Fortschritt, daß man Daten nicht mehr nur über
einen Drucker ein- und ausgeben, sondern auf einem angeschlossenen Fernsehbildschirm
sichtbar machen konnte. Wenn Sie sich in üblicher Schreibtischentfernung vor einen
Fernsehbildschirm setzen, werden Ihnen bald die Augen schmerzen. Das Bild ist aus dieser Nähe
zu unruhig und unscharf. Deshalb hat man bald spezielle Monitore für Computer entwik-kelt, die
sich von denen zum Fernsehempfang vor allem durch die Bild Wiederholungsrate und die Auflösung unterscheiden.
11
Die Bild Wiederholungsrate oder Frequenz gibt an, wie oft das Bild am Monitor pro Sekunde
neu aufgebaut wird. Bei einer zu geringen Frequenz ist der Aufbau als unangenehmes Flimmern
wahrnehmbar, das zu Kopfschmerzen und ermüdeten Augen führt. Monitore mit einer
geringeren Frequenz als 70 Hertz sollten Sie meiden, empfehlenswert sind 100 Hertz.
Der zweite Aspekt ist die Auflösung des Monitors. Auflösung bedeutet in diesem
Zusammenhang immer die Anzahl der kleinsten dargestellten Elemente; beim Monitor sind das
die Bildschirmpixel, beim Drucker die druckenden Elemente des Geräts. Während die
Flächengröße eines Monitors meist durch seine Diagonale, gemessen in Zoll, angegeben wird,
zeigt die Angabe der Pixel in Breite mal Höhe seine Auflösung. Denn die Größe der kleinsten
Einheiten kann bei gleicher Fläche durchaus unterschiedlich sein. Je kleiner sie sind, um so mehr
passen auf eine Längeneinheit und um so detailreicher und schärfer ist das Bild. Unterschieden
werden zwei Monitorformate: „Portait" steht für hochformatige, „Landschaft" für querformatige
Bildschirme.
Ein wichtiger Aspekt bei der Anschaffung ist die elektromagnetische Abstrahlung der
Bildschirme. Sie hüllt das Gerät in einer vom Modell abhängigen Entfernung von allen Seiten
ein und kann gesundheitsschädliche Folgen haben, deren Natur noch nicht genau bekannt ist. Die
derzeit schärfste Norm ist die schwedische; bestehen Sie also möglichst darauf, einen nach
diesen Vorgaben geprüften Monitor zu erhalten. Im übrigen ist die Abstrahlung auf der Rückseite des Geräts am ausgeprägtesten, was dann wichtig ist, wenn Sie in einem Raum arbeiten, in
dem mehrere Arbeitsplätze eingerichtet sind.
Wenn Sie mit dem Computer Bilder bearbeiten beziehungsweise eigene malen wollen,
werden Sie wahrscheinlich Wert auf Farbdarstellung legen. Die einfachsten Monitore verfügen
nur Schwarzweißwiedergabe - in der Regel schwarze Zeichen auf weißem Grund, die Zeiten der
schwarzen Flächen mit grünen oder bernsteinfarbenen Zeichen gehören der Vergangenheit an.
Solche Monitore sind für Texterfassung durchaus geeignet, da jeder Bildpunkt sehr scharfe
Konturen besitzt, für Malen und Zeichnen reichen sie nicht aus. Der erste Schritt führt zu Graustufen-Monitoren, die in der Regel 256 Graustufen von Schwarz bis Weiß darstellen können.
Falls Sie sich mit Graustufenbildern zufrieden geben, reicht ein solcher Bildschirm aus; er ist
auch deutlich billiger als ein farbfähiger.
Um eine wirklich befriedigende Farbdarstellung zu erreichen, die die Möglichkeiten der
geläufigen Mal- und Bildbearbeitungsprogramme ausschöpft, sollten Sie mit 32-Bit-Farbe
arbeiten (zur Erklärung vgl. Marginalienspalte auf S. 43). Dabei können Sie für jedes
Monitorpixel aus einer Menge von 16.777.216 Farbvarianten auswählen. Sie halten das für eine
unnötige Übertreibung? Wenn Sie einen Farbverlauf auf einer großen Fläche anlegen, würden
Sie bei weniger Farben Farbabrisse und Konturen unterschiedlich gefärbter Bereiche erkennen
können. Dafür benötigen Sie 24 Bit. Die restlichen 8 Bit sind dazu da, um weiche Maskierungen
anlegen zu können (S. 115 ff.).
Der Monitor stellt die Farben nur dar, die Rechenleistung dafür muß der Computer erbringen.
Zum Teil - das heißt bei nicht allzu vielen Farben und nicht allzu großen Bildschirmen - kann die
Farbdarstellung des Monitors direkt von vorhandenen, dafür vorgesehenen Bauteilen gesteuert
werden. Wenn diese Vorgaben nicht ausreichen, müssen Sie Ihren Rechner „aufrüsten", indem
Sie eine zusätzliche Steckkarte einbauen, eine sogenannte Videokarte. Diese verwaltet die
Farben, kann darüber hinaus aber - je nach Modell - auch weitere Funktionen erfüllen, etwa
einen Steckereingang für Videosignale enthalten, zusätzliche Prozessoren zur Beschleunigung
des Bildschirmaufbaus oder Hilfsmittel wie Vergrößerung der Ansicht.
Wenn Sie sehr viel mit digitalen Bildern arbeiten, kann es übrigens sinnvoll sein, wenn Sie
mehrere Monitore gleichzeitig betreiben. Denn die vielen Paletten, Werkzeugleisten und
Dialogfelder brauchen Platz, der das darunterliegende Bild überdeckt bzw. bei vorübergehend
erscheinenden Einstellfenstern dazu führt, daß der abgedeckte Bildteil neu aufgebaut werden
muß. Wenn Sie einen Bildschirm nur für Werkzeuge und Fenster und einen anderen für das
eigentliche Bild reservieren, geht alles viel schneller.
12
16. Speichermedien
Da Sie in der Regel Ihre Bilder nicht nur kurzfristig anschauen und dann auf
Nimmerwiedersehen verlieren möchten, müssen sie so gespeichert werden, daß man später
wieder auf sie zurückgreifen kann, auch wenn der Computer zwischenzeitlich ausgeschaltet war.
Diese Form des Speicherns geschieht in ähnlicher Weise wie die Aufzeichnung von Musik auf
einem Tonband, und tatsächlich wurden dazu in der Anfangszeit der PCs Musikkassetten
verwendet. PC-Speichermedien haben allerdings meist die Form von Scheiben.
Es gibt sie in verschiedener Ausführung: In den Computer eingebaut heißen sie interne
Festplatten und haben eine Kapazität von 20 bis über 1000 Megabyte. Externe Festplatten
besitzen dieselbe Speichergröße und werden durch ein Kabel mit Stecker mit dem Computer
verbunden. Für kleinere Datenmengen - 800 oder 1,4 Megabyte - verwendet man Disketten;
Scheiben, die zum Schutz in flache Kunststoffhüllen eingebaut sind und zum Beschreiben oder
Ablesen der Daten in einen Schlitz des eingebauten Laufwerks geschoben werden. Große Disketten - meist mit 44 oder 88 Megabyte - heißen Cartridges; sie arbeiten wie externe Festplatten,
sind aber austauschbar und damit bei größeren Datenmengen meist deutlich billiger als diese.
Zudem dienen sie als Transportmedium dazu, Ihre Dateien auf anderen Computern
weiterzubearbeiten, etwa wenn Sie sie auf Film belichten lassen wollen.
Während all diese Speichermedien ähnlich wie Tonbänder arbeiten, also magnetisierte
Partikel auf ihrer Oberfläche besitzen, die beim Speichern der Daten von einem Elektromagneten
ausgerichtet werden, dient zum Beschreiben und Lesen optomag-netischer Medien zusätzlich ein
Laserstrahl. Solche Cartridges mit 128 oder 256 Megabyte sind nicht größer als herkömmliche
3,5"-Disketten, bei einer Kapazität von 650 Megabyte ähneln sie einer Musik-CD. Während sie
beschrieben und gelesen werden können, werden sogenannte CD-ROMs (Read Only Memory)
vom Hersteller einmal mit Daten bestückt (etwa Lexika, Datenbanken, Bildarchive, Schriften)
und können nur gelesen werden. Hierzu gehören auch die Photo-CDs. Alle diese austauschbaren
Speichermedien - Disketten, Cartridges und CD-ROMs -benötigen jeweils eigene Laufwerke.
Zur Sicherung großer Datenbestände gibt es darüber hinaus sogenannte Streamer, spezielle
Bandlaufwerke.
Welche Speichermedien für Ihre Arbeit am besten geeignet sind, läßt sich pauschal nicht
sagen. Da wir festgestellt hatten, daß ein Farbbild von der Größe einer DIN A4-Seite schon 14
Megabyte benötigt, sollte Ihre interne Festplatte auf keinen Fall zu klein sein und nicht weniger
als 300 bis 400 Megabyte bereitstellen. Kleine Bilddateien, vor allem Grafiken, passen zum
Datenaustausch meist noch auf eine übliche Diskette - ein internes Diskettenlaufwerk hat mit
Sicherheit jeder, der Ihre Dateien lesen kann.
Für größere Bilder benötigen Sie Cartridges, entweder elektromagnetische oder
optomagnetische. Letztere empfehlen sich aufgrund des günstigeren Preises, größeren
Speichervolumens sowie der größeren Datensicherheit auch zum Archivieren Ihrer Dateien.
17. Tastatur, Maus und Grafiktablett
Um dem Computer „mitteilen" zu können, was Sie von ihm wollen, muß es Eingabegeräte
geben, die Ihre Wünsche in eine Form übersetzen, die für den Rechner „interpretierbar" ist. Man
bezeichnet diese Komponenten auch als Schnittstellen oder Interface. (Daß der Computer nicht
wirklich etwas mitgeteilt bekommt, nichts versteht und interpretiert und auch nicht reagiert, ist
eine andere Sache. Es macht zwar nichts, wenn man ihn wegen irgendeiner unerwünschten
Reaktion anbrüllt oder zwischendurch auffordert, sich doch bitte etwas zu beeilen - so viel
Vermenschlichung darf sein. Man sollte es aber nicht übertreiben und sich der Tatsache bewußt
bleiben, daß dieser Kasten überhaupt nichts versteht, sondern aufgrund von Programmen unseren
Befehlen bestimmte Ausgaben folgen läßt.)
Die älteste und grundlegende Schnittstelle ist die Tastatur, die mehrere Aufgaben erfüllt.
Zum einen funktioniert sie wie eine herkömmliche Schreibmaschinentastatur, d.h. sie stellt in
13
geeigneten Programmen oder mit entsprechenden Werkzeugen Geschriebenes am Monitor so
dar, wie wir es eingetippt haben.
Zusätzlich verfügt die Computer-Tastatur aber über weitere Tasten, mit denen wir direkte
Befehle an den Rechner geben. Drücken wir etwa beim Macintosh in bestimmten Situationen die
sogenannte Befehlstaste zusammen mit einer Buchstabentaste, etwa dem X, dann wird ein
aktivierter Teil unserer Datei gelöscht. Am Bildschirm erscheinen dann also nicht die
eingegebenen Symbole, sondern der Computer befolgt eine Anweisung, die wir ihm mit Hilfe
der Tastatur übermittelt haben. Ein Zwischending stellen gewisse Felder dar, die nach
entsprechenden Befehlen am Monitor erscheinen und uns dazu auffordern, mit Hilfe der Tastatur
Text- oder Zifferneingaben zu machen. So können wir einem Programm etwa mitteilen, daß es
ein aktiviertes Rechteck um 90° drehen soll, wenn wir in ein solches Dialogfenster im Feld
„Grad" eine „90" eingeben.
Ursprünglich mußten alle Befehle an den Computer über die Tastatur eingetippt werden. Auf
diese Weise konnte man sogar - mehr schlecht als recht -„malen", indem man einem aktiven
Punkt am Monitor, dem Cursor, über die Tastatur befahl, sich in bestimmte Richtungen zu
bewegen und dabei Striche zu erzeugen. Oder indem man Koordinaten eingab, aus denen dann
ein Rechteck konstruiert wurde. Eine für unsere Zwecke revolutionäre Erfindung war daher ein
„Maus" genanntes Kästchen mit einer Taste (oder mehreren) auf der Oberseite, das durch ein
Kabel mit dem Computer verbunden ist und diesem durch Walzen, welche im Inneren die
Bewegung einer Kugel abtasten, seine relative Position sowie die Richtung übermitteln kann.
Die Erfindung der Maus hatte zwei wichtige Folgen. Zum einen müssen Befehle dank ihr
nicht mehr eingetippt werden, sondern es reicht aus, wenn man den Cursor an bestimmte Stellen
des Monitors führt und in dem dort erscheinenden Menü - einer Liste mit vorformulierten
Befehlen-diejenige Anweisung ansteuert, die ausgeführt werden soll. Zum anderen erlaubt die
unbeschränkte Beweglichkeit der Maus auf dem Arbeitstisch, daß nach Bestimmung der
passenden Werkzeuge freie Striche am Monitor gemalt werden können.
Bemerkenswerterweise wird der erste dieser beiden Vorzüge von vielen Anwendern anfangs
zwar begeistert begrüßt und ausgiebig benutzt, nach zunehmender Vertrautheit mit Hard- und
Software aber wieder vom Griff zur Tastatur abgelöst. Der Grund dafür ist, daß die
Befehlseingabe über Menüs zwar sehr benutzerfreundlich ist, aber oft langsamer geht als per
Tastendruck. Hinzu kommt, daß es einige Hilfsprogramme gibt, die dafür sorgen, daß selbst
komplexe Befehle, die aus zahlreichen Zwischenschritten bestehen, durch ein einziges Antippen
eines zuvor definierten Tastenpaars ersetzt werden können. Auch und gerade in Programmen, die
es mit der Herstellung und Bearbeitung von Bildern zu tun haben, steigern solche Hilfsmittel die
Arbeitsgeschwindigkeit erheblich.
Beim freien Malen und Zeichnen jedoch ist die Maus unverzichtbar - falls man nicht zum
Grafikta-blett greift, zu dem ich im nächsten Absatz kommen werde. Am Anfang ist es
unvorstellbar, daß dieser Klotz, der mit der ganzen Hand geführt werden muß, feinmotorische
Aktionen erlauben soll. Aber nach ein paar Tagen, spätestens nach einigen Wochen, geht man
mit diesem Werkzeug fast so selbstverständlich und zielgenau um wie mit einem Bleistift oder
Pinsel. Die Aufmerksamkeit, die man dem „wie" gewidmet hat, verschwindet zunehmend, und
man kann sich voll auf das „was" konzentrieren, ähnlich wie in der Fahrstunde, wo Kuppeln und
Schalten anfangs unsere ganze Konzentration fordern.
Trotzdem muß ich gestehen, daß ich auch nach fast einem Jahrzehnt, während dem meine
Maus sicherlich zahllose Kilometer auf meinem Schreibtisch zurückgelegt hat, nicht in der Lage
bin, mit ihrer Hilfe meine Hand- oder Unterschrift auf den Monitor zu zaubern. Die Motorik des
Handgelenks ist eben doch eine gröbere als die der Fingerspitzen. Zum Glück bietet die Technik
längst die geeignete Lösung. Schon bald wurden sogenannte Grafiktabletts für PCs angeboten:
dicke Kunststoffplatten mit Stromversorgung und Verbindung zum Rechner. Auf ihrer Oberfläche zeichnet man mit einem Stift, der durch ein Kabel mit dem Tablett verbunden ist, das
Gezeichnete erscheint am Bildschirm. Nun klappte es auch mit der individuellen Handschrift,
wenn auch noch etwas ausgefranst.
14
Inzwischen sind Handhabung und Wirkung dieser Hardware erheblich verbessert worden der Stift kann frei, also ohne Kabelverbindung, geführt werden, und, was noch wichtiger ist, er
reagiert auf Druck. Wenn Sie stärker aufdrücken, wird der gemalte Strich breiter oder bei
anderen Werkzeugen farbintensiver, oder auch beides. Sogar Grafikprogramme haben
inzwischen gelernt, auf diese sogenannten drucksensitiven Stifte zu reagieren.
Die Funktionsweise ist übrigens recht einfach: Im Inneren des Tabletts ist ein dichtes,
stromdurch-flossenes Drahtgitter untergebracht. Mit Hilfe dieses feinen Netzes werden ständig
die jeweilige Position und der Druck des Stiftes festgestellt, und diese Werte sendet das
Grafiktablett an den Rechner.
18. Scanner: Wie kommt das Bild in den Computer?
Dem Computer ist es egal, für welche Daten die Reihen von Nullen und Einsen stehen, die er
aufnimmt, berechnet, speichert, darstellt und in gedruckter Form ausgibt, ob das Texte oder
Eintragungen in einer Datenbank sind, Tabellenwerte oder Bilder. Wichtig ist nur, daß ihm alles
in Form dieser endlosen Zeichenketten präsentiert wird, die aus den beiden Elementen 0 und 1
bestehen.
Die über die Maus vermittelten Befehle werden ebenso in binäre Daten umgewandelt wie die
von der Tastatur oder vom Stift des Grafiktabletts kommenden. Wenn wir nun ein bereits fertiges
Bild - ein Foto, eine Skizze, eine Landkarte oder eine Seite aus einem alten Buch - für den
Computer les- und darstellbar machen wollen, müssen wir zunächst dasselbe tun: Wir müssen
das Bild in eine binäre Datenkette übersetzen, es digitalisieren.
Hardware, die diese Aufgabe erfüllt, wird Scanner (Abtaster) genannt. Solche Geräte
arbeiten im Prinzip wie Fotokopierer: Sie beleuchten die einzulesende Vorlage mit hellem Licht,
fangen die reflektierten Lichtstrahlen auf und wandeln sie in elektrische Signale um. Anders als
beim Kopierer wird das abgetastete Bild nicht auf Papier gedruckt, sondern am Bildschirm
sichtbar gemacht und digital gespeichert. Wie ähnlich die beiden Verfahren sind, kann man auch
daran erkennen, daß es Kopiergeräte gibt, die sich mit entsprechenden Anschlüssen direkt als
Scanner einsetzen lassen.
Die Tatsache, daß die Preise von Scannern zwischen ein paar hundert und mehreren hunderttausend Mark liegen, zeigt, daß es zwischen ihnen erhebliche Qualitätsunterschiede gibt. Und
diese haben inzwischen kaum noch damit zu tun, daß die einen nur Graustufen erkennen könnten
und die anderen Farbe, denn auch Farbscanner sind bereits für vergleichsweise wenig Geld zu
bekommen. Was den Preis bestimmt, ist die möglichst exakte Übertragung der Farben und
Helligkeitsverteilungen der Vorlage, ohne daß das gescannte Bild erst durch langwierige
manuelle Bearbeitung für den Druck vorbereitet werden muß.
Man unterscheidet daher zwischen preisgünstigen DTP-Scannern und Highend-Geräten.
Highend steht für eine Technik, die höchsten Ansprüchen genügt und sich hinsichtlich der
Qualität der Ergebnisse nicht oder kaum von den herkömmlichen, fotochemischen Verfahren
unterscheidet. DTP-Scanner genügen diesen sehr hohen Erwartungen nicht, bringen aber
trotzdem recht ansehnliche Ergebnisse.
Was die Hardware betrifft, so gibt es zunächst grundlegende Unterschiede zwischen den
Scannertypen. Am stärksten verbreitet sind Flachbettscanner, die vom Aufbau her Fotokopierern
ähneln; sie bestehen aus einem Kasten, dessen obere Seite von einer Glasplatte gebildet wird.
Darauf wird, mit dem Bild nach unten, die zu digitalisierende Vorlage gelegt. Die Elemente für
Beleuchtung und Abtastung befinden sich auf einem Schlitten, der auf Schienen unter der
Glasplatte entlanggeführt wird. Inzwischen überholt sind Walzenscanner, die die Vorlage zwischen zwei aneinandergepreßten Walzen hindurchtransportieren. Preisgünstig, aber hinsichtlich
der Resultate nur eingeschränkt verwendbar sind Handscanner, die in der Art einer Maus mit der
Hand über die Vorlage gezogen werden. Overhead-Scanner sind an einer Stativsäule befestigt,
sie nehmen die Vorlage von oben auf und eignen sich daher auch gut für die Wiedergabe von flachen - Objekten.
15
Overhead-Scanner, aber auch einige Flachbettscanner können mit Erweiterungen nicht nur
Aufsichtsvorlagen wie Fotos, Zeichnungen oder Bücher digitalisieren, sondern auch
Durchsichtsvorlagen (Dias). Neben Trommelscannern, die wegen ihrer exakten Mechanik
hervorragende Ergebnisse erzielen und auch als DTP-Scanner in einer hohen Preiskategorie
angeboten werden, sind auch Highend-Scanner in der Lage, sowohl Auf- wie
Durchsichtsvorlagen zu verarbeiten. Ausschließlich auf die Digitalisierung von Dias spezialisiert
sind Dia-Scanner.
Ein anderes Konzept der Digitalisierung bieten Video-Scanner; sie bestehen meist aus einer
handelsüblichen VHS- oder S-VHS-Videokamera als Aufnahmeeinheit und einer speziellen
Videokarte mit entsprechendem Signaleingang. Man kann damit räumliche Szenen ohne den
Zwischenschritt einer fotografischen Aufnahme direkt digitalisieren, aber auch Einzelbilder von
Videobändern oder aus dem Fernsehprogramm. Der Nachteil ist die sehr geringe Auflösung - in
angemessener Qualität können gedruckte Bilder dieses Ursprungs kaum größer als 20
Quadratzentimeter sein.
Einen Zwischenweg stellen einfache digitale Kameras dar, die Bilddateien auf Diskette
speichern. Echte digitale Fotografie mit hoher Auflösung bieten bislang nur Fotokameras mit
ausgewechselten Rückteil, der die Filmebene gegen lichtempfindliche Zellen ersetzt; diese
Geräte sind derzeit noch sehr teuer und finden ihren Anwendungsbereich vor allem da, wo
solche Bilder schnell auf elektronischem Wege vom Fotografen zur Redaktion gesandt werden
sollen. Einen weiteren Zwischenweg bietet die Photo-CD, auf die Sie über den Fachhandel ihre
eigenen Bilder in digitaler Form überspielen lassen können. Bei der Anschaffung eines Scanners
sind allerdings nicht nur Leistungen der Hardware zu berücksichtigen wie Auflösung, Farbtreue
oder Scangeschwindigkeit, sondern auch die Ausstattung der Software, über die der Vorgang
gesteuert wird. Manche sind eigenständige Programme, die nahezu ausschließlich dem Scannen
dienen, andere bestehen aus nachladbaren Programm-Modulen, die von der Oberfläche eines
Bildbearbeitungsprogramms aus geöffnet und verwendet werden. Auf jeden Fall sollten hier
verschiedene Parameter wie Gradationskurven oder Schwarz- und Weißpunkte exakt (vor)einstellbar sein, auf die ich im Kapitel über digitale Dunkelkammertechniken (ab S. 81)
ausführlicher eingehen werde.
19. Drucker: Vom Monitor aufs Papier
Es wäre unbefriedigend, wenn Sie Ihre fertigen Bilder nur am Monitor betrachten könnten.
Der letzte Schritt ist die Ausgabe, die meist auf Papier erfolgt. Für anspruchsvollere Werke, bei
denen es auf ausreichende Detailtreue - also hohe Auflösung - und/ oder gute Farbdarstellung
ankommt, sind die preisgünstigsten Drucker ungeeignet, nämlich Nadeldrucker. Sie arbeiten mit
dicht nebeneinanderliegenden, einzeln ansteuerbaren Stiften, die über ein Farbband Tinte auf
Papier übertragen.
Deutlich besser sind Laserdrucker, die es inzwischen zu erschwinglichen Preisen nicht nur in
300-dpi-Versionen gibt, sondern auch mit 600 dpi; der Unterschied: im ersten Fall ca. 14.000
Punkte pro Quadratzentimeter, im zweiten 56.000. Graustufen können so also wesentlich
überzeugender wiedergegeben werden. Laserdrucker arbeiten ähnlich wie Fotokopierer: Auf
einer Walze sammelt sich Farbpulver an druckenden Stellen, wird auf Papier übertragen und
durch Hitze fixiert.
Demgegenüber funktionieren Tintenstrahldrucker, die über ähnliche Auflösungen verfügen,
mit elektrisch geladenen Tintentröpfchen, die durch Magnetfelder gezielt auf das Papier
geschossen werden. Auch sie sind, selbst als farbfähige Versionen, durchaus erschwinglich.
Weitere Verfahren werden von Ther-modruckern angeboten, in denen eine dünne, farbige
Wachsschicht auf einem Trägerfilm erwärmt und auf Papier übertragen wird. Bei
Thermotransferdruk-kern geschieht das durch direkten Kontakt, die teureren
Thermosublimationsdrucker verdampfen die Farbe, wobei zwischen Papier und Folie ein
geringer Abstand besteht; die Farbpunkte sind daher nicht scharf begrenzt, sondern an den
16
Rändern verschwommen. Die Qualität der Thermosublimationsdrucke ist sehr gut und fast mit
einem Fotoabzug vergleichbar.
Aber es gibt noch andere Möglichkeiten, um ein digitales Bild dauerhaft außerhalb des
Computers aufzubewahren. Eine besteht darin, es mit einem Dia-Belichter vollfarbig auf ein
übliches Diapositiv zu übertragen. Eine für öffentliche Präsentationen interessante Form bietet
das System „Michelangelo"; dabei steuert ein Rechner einen Airbrush, der an einem
Schienensystem vor einem Bildträger beweglich aufgehängt ist. Auf diese Weise lassen sich
auch großformatige Gemälde herstellen.
Die für eine Weiterverarbeitung im Druck übliche Ausgabe geschieht über Laserbelichter auf
Film oder Spezialpapier. Die Auflösung dabei ist sehr hoch -mehr als eine Million Bildpunkte
pro Quadratzentimeter. Auch dieses Buch entstand auf diese Weise. Selbst mit einer guten Lupe
werden Sie die einzelnen druckenden Punkte, aus denen Text, Grafik und sogar die Rasterpunkte
aller Abbildungen zusammengesetzt sind, kaum erkennen.
20. DTP - Ein kurzer Ausflug
Zum Abschluß dieses Kapitels möchte ich kurz beschreiben, warum die mit DTP bezeichnete
Zusammenfassung mehrerer Teilbereiche d er Druckvorstufe einen solch wichtigen Einschnitt
bedeutet hat. DTP ist die Abkürzung von „Desktop Publishing"; dies ist ein - einigermaßen
unglücklich gewählter - Begriff, der wörtlich bedeutet, daß direkt vom Schreibtisch aus
publiziert wird. Natürlich stimmt das so nicht, denn es geht dabei (noch) nicht um Publizieren,
sondern schlicht um Druck vorbereitung. Wichtig an dem seit etwa 1985 bestehenden Verfahren
ist, daß dabei tatsächlich alle Vorstufen der Druckvorbereitung vom Schreibtisch aus
vorgenommen werden können, ohne daß weitere Zulieferbetriebe in Anspruch genommen
werden müssen.
Eine bedeutsame Voraussetzung dafür ist das Wy-si wyg-Prinzip: „ What you see is what
you get" - was Sie am Bildschirm sehen, ist das, was hinterher gedruckt wird. Die am Monitor
erzeugten Druckseiten, Zeichnungen und Bilder sehen genauso aus wie später die fertige
Drucksache. Das Buch, das Sie gerade lesen, wurde vollständig mit DTP hergestellt. Der
Computer - ein aufgerüsteter Apple Macintosh Ilci -half nicht allein bei der Text Verarbeitung,
sondern auch bei Seitengestaltung, Layout, Satz, Bildbearbeitung und natürlich beim Malen und
Zeichnen der Beispiele.
Vor ein paar Jahren wäre das noch ganz anders abgelaufen: Meine Schreibmaschinenseiten
wären, versehen mit Satzanweisungen (welche Schrift mit welchen Merkmalen für welche
Textteile zu verwenden ist) an eine Setzerei wei tergegeben worden. Satzfahnen wären Seite für
Seite aufgeklebt, Foto vorlagen, Dias, Zeichnungen und Gemälde in einem reprogra-phischen
Betrieb, versehen mit genauen Maßangaben, gerastert und belichtet worden. Diese hätte man
später auf die Filme montiert, die inzwischen vom gestalteten Text angefertigt wurden. Und
davon wären schließlich die Druckplatten hergestellt worden.
Mit DTP kann das alles in einer Hand bleiben. Stellen Sie sich vor, während der Arbeit an
diesem Buch bekomme ich eine wichtige neue Information. Ich will die betreffende Textstelle
ändern, und so kommen drei Zeilen hinzu. Damit verschieben sich alle weiteren Zeilen, ich sehe
am Monitor, was sich ändert. Nun verkleinere ich also hier ein Bild ein wenig und verlagere dort
einen Textblock. Endgültig fertiggestellt werden meine Seiten erst, nachdem im Verlag Lektoren
und Korrektoren auf den per Laserdrucker ausgegebenen Seiten Anmerkungen gemacht haben
und ich alle nötigen Änderungen ausgeführt habe. Erst dann bringe ich die Handvoll Cartridges mit allen fertig gestalteten Seiten und eingefügten Bildern darauf - zu einem spezialisierten
Belichtungsbetrieb, der davon Filme herstellt. Auf diesen sind Text, grafische Elemente und
Bilder vereint.
Das Problem mit DTP waren in der Anfangszeit nicht die technischen Kinderkrankheiten,
derentwegen das eine oder andere nicht in der gewünschten Weise funktionierte, sondern die
durch übertriebene Werbung angestachelten Erwartungen der Benutzer, nun könnte man die
17
schönsten Prospekte, Zeitschriften und Bücher machen, ohne die geringste Ahnung von
Gestaltung und Typografie haben zu müssen. Natürlich hat das nicht funktioniert - ebenso wie
beim Malen und Zeichnen sind Hard- und Software nichts anderes als neuartige Werkzeuge, die
von Menschen benutzt werden. Diese Werkzeuge machen uns zwar vieles leichter, aber die
nötige Qualifikation müssen die Gestalterinnen und Gestalter schon selbst mitbringen.
Rechnerstrukturen
21. Aufbau eines Computers
Um von den elektrischen Vorgängen in einem Rechner abstrahieren zu können, ist es
zweckmäßig, den Rechner als Datenverarbeiter anzusehen. Der Rechner erhält Eingaben von der
Außenwelt (z.B. durch die Tastatur), verarbeit diese und gibt das Ergebnis der Verarbeitung
(z.B. das Ergebnis einer Berechnung) wieder aus (z.B. auf den Bildschirm).
Die Bearbeitung der Daten wird durch das Programm kontrolliert, das der Rechner ausführt.
Da die Struktur des Rechners vom zu bearbeitenden Problem möglichst unabhängig sein soll,
sind heutige Rechner frei programmierbar, ähnlich Babbages "Analytical Engine". Die Aufgabe
des Rechners als Datenverarbeiter spiegelt sich auch in seinem Aufbau wieder, den die
nachfolgende Abbildung zeigt.
Der Computer besteht damit aus drei Einheiten:
 Zentrale Prozessoreinheit (CPU = Central Processing Unit)
 Hauptspeicher
 Ein-/Ausgabeeinheiten
Zusätzlich: der Adress- und der Datenbus. Diese übertragen Daten- und Steuersignale
zwischen den obengenannten Einheiten. Im Folgenden werden die drei Einheiten näher
besprochen.
22. Hauptspeicher
Die Aufgabe des Hauptspeichers ist es, die Daten für das laufende Programm zu speichern.
Daten werden im Computer in Form von elektrischen Signalen abgespeichert. Die
grundlegendste Dateneinheit ist das Bit. Ein Bit ist in der Lage, eine Information zu speichern,
die zwei Zustände einnehmen kann. Zum Beispiel kann ein Bit die zwei Zahlen 0 (erster
Zustand) und 1 (zweiter Zustand) speichern. Um auch andere Daten zu speichern, müssen
mehrere Bits kombiniert werden. Im Laufe der Zeit hat sich als "Standardspeichereinheit" die
Kombination von 8 Bit zu einem Byte bzw. das Vielfache davon (16, 32, ... Bits zu einem Wort)
durchgesetzt. Ein Byte kann somit 28 (=256) verschiedene Zustände darstellen. Das Byte hat in
der Computertechnik eine besondere Bedeutung: Üblicherweise wird es dazu benutzt, einen
Buchstaben zu speichern. Soll also ein aus 1000 Buchstaben bestehender Text im Hauptspeicher
gespeichert werden, muss dieser ein Fassungsvermögen von mindestens 1000 Bytes besitzen.
18
Konnten die Hauptspeicher erster Computer nur einige Dutzend Bytes speichern, so sind
heutzutage einige 100 Millionen Bytes üblich.
Die folgende Tabelle zeigt einige in der Speichertechnik benutzten Abkürzungen:
Byte 8 Bit
KByte 1 Kilobyte = 210 Bytes = 1024 Bytes
MByte 1 Megabyte = 220 Bytes = 1 048 576 Bytes
GByte 1 Gigabyte = 230 Bytes = 1 073 741 824 Bytes
Um Daten in den Hauptspeicher zu schreiben bzw. von dort zu lesen, sind die Speicherzellen
des Hauptspeichers durchnummeriert. Jede Speicherzelle hat eine eindeutige Nummer, die
sogenannte Adresse, mit der man sie ansprechen kann. Bei einem Zugriff auf den Hauptspeicher
transportiert der Adressbus die gewünschte Adresse und der Datenbus die Daten.
23. CPU
Die CPU ist das "Gehirn" des Rechners. Sie hat die Aufgabe, die Daten, die im
Hauptspeicher liegen, zu verarbeiten, d.h. sie zu lesen, mit ihrer Hilfe Berechnungen
durchzuführen und die Berechnungsergebnisse in den Hauptspeicher zu schreiben.
Die Arbeit der CPU wird gesteuert, indem die CPU ein Programm, d.h. eine Folge von
Anweisungen zur Datenverarbeitung, Schritt für Schritt ausführt. Hierbei hält sich der klassische
PC an die Arbeitweise der von Neumann-Maschine: sowohl die Daten als auch das Programm
befinden sich im Hauptspeicher. Der Hauptspeicher unterscheidet nicht zwischen Daten und
Programmen. Erst durch die CPU wird eine Datenfolge im Hauptspeicher zu einem Programm.
24. Ein-/Ausgabeeinheiten
Die Eingabe- und Ausgabeeinheiten haben die Aufgabe, die zu verarbeitenden Daten von der
Außenwelt in den Hauptspeicher zu übertragen, bzw. die Ergebnisse der Verarbeitung wieder in
die Außenwelt zu bringen. Dazu bedienen sie sich der Ein- und Ausgabegeräte, auch
Peripheriegeräte genannt. Typische Eingabegeräte sind z.B. Maus und Tastatur, typische
Ausgabegeräte z.B. Bildschirm und Drucker.
25. Die Speicherhierarchie
Aufwendige Aufgaben, wie z.B. die Wettervorhersage, beruhen auf der Verarbeitung von
Millionen von Messdaten. Aus diesem Grund hat sich die Verarbeitungsgeschwindigkeit der
Computer während den Jahren immer weiter gesteigert. Die ersten Rechner benötigten einige
Sekunden, um eine Addition von zwei ganzen Zahlen durchzuführen, heutige CPUs führen
einige hundert Millionen Rechenoperationen pro Sekunde durch.
Es werden also zwei Anforderungen an den Hauptspeicher gestellt: er muss in der Lage sein,
die CPU mit der entsprechenden Geschwindigkeit mit Daten zu versorgen bzw. Daten
aufzunehmen und er muss möglichst viele Daten speichern. Heutige Speicherbausteine mit
diesen Eigenschaften haben allerdings zwei Nachteile: sie sind teuer und sie sind flüchtig, d.h.
sie können die Daten nur speichern, solange sie mit Strom versorgt werden. Diese Probleme
umgeht man mit der sogenannten Speicherhierarchie:

In der CPU gibt es spezielle Speicherzellen, sogenannte Register, die dazu dienen, die
Operanden der gerade ausgeführten Anweisung zu halten. Die Register sind Teil des
CPU-Kernes, d.h. ebenso schnell wie die CPU, und ändern ihren Inhalt teilweise nach
jeder Anweisung. Moderne CPUs besitzen 4 bis 64 Register, die je nach CPU 8 bis 128
Bit speichern können.
19


Der schnelle und teure Hauptspeicher wird möglichst "klein" gehalten (einige Dutzend
MBytes) und speichert nur die Daten, die für das laufende Programm benötigt werden.
Der Hauptspeicher ist über den Adress- und Datenbus direkt mit der CPU verbunden.
Alle anderen Daten (und Programme) werden in sogenannten Hintergrundspeichern
gehalten. Hintergrundspeicher sind langsamer als Hauptspeicher, billiger, meist deutlich
größer (einige GBytes, sogenannte Massenspeicher) und nicht flüchtig.
Hintergrundspeicher sind im Allgemeinen als Peripheriegeräte realisiert (z.B. als
Festplatte, CD-ROM-Laufwerk, Bandlaufwerk).
Moderne CPUs sind vom Hauptspeicher durch sogenannte Caches entkoppelt. Caches sind
schneller (und teurer) als Hauptspeicher und haben die Aufgabe häufig benötigte Bereiche des
Hauptspeichers zwischenzulagern (einige 100 KBytes), um so die CPU möglichst unabhängig
von der Geschwindigkeit des Hauptspeichers zu machen.
Daten und Programme werden nur bei Bedarf zwischen den verschiedenen Stufen der
Speicherhierarchie übertragen, z.B. vom Hintergrundspeicher in den Hauptspeicher gelesen
(geladen) oder vom Hauptspeicher in den Hintergrundspeicher geschrieben (gesichert).
26. Speichertypen
Im Laufe der Zeit haben sich verschiedene Typen von Speichern entwickelt, im Allgemeinen
ordnet man ihnen drei Attribute zu:



Kann der Speicher nur gelesen, nur beschrieben oder gelesen und beschrieben werden?
Wie gelange ich an die gespeicherten Daten bzw. wie speichere ich Daten in den
Speicher?
Geschwindigkeit, mit der der Speicher gelesen bzw. beschrieben werden kann.
Im Folgenden einige Beispiele:



Hauptspeicher: kann gelesen und beschrieben werden.
Zugriff: über ihre Adresse kann jede beliebige Speicherzelle des Hauptspeichers direkt
angesprochen werden. Speicher mit dieser Fähigkeit werden RAM (Random Access
Memory) genannt.
Geschwindigkeit: einige 100 MBytes/s
Festplatte: kann gelesen und beschrieben werden.
Zugriff: Daten werden auf einer sich drehenden Scheibe gespeichert und von einem
Schreib-/Lesekopf gelesen/geschrieben. Kein direkter Zugriff, der Kopf muss zuerst an
die richtige Stelle positioniert werden (ähnlich einer Schallplatte).
Geschwindigkeit: einige MBytes/s
CD-ROM oder Audio-CDs: kann nur gelesen werden. Speicher mit dieser Eigenschaft
werden ROM genannt und ihr Inhalt meist schon während der Herstellung festgelegt.
Zugriff: ähnlich Festplatte
Geschwindigkeit: einige MBytes/s
27. Fraktale Algorithmen zur Bildkompression
Wie die Wavelet-Transformation gilt auch die Fraktale Kompression als Alternative zu den
blockorientierten Reduktionsverfahren. Sie liefert bei höheren Reduktionsraten bessere
Ergebnisse als beispielsweise das DCT-basierte JPEG und ist in ihrer Leistungsfähigkeit mit den
Resultaten der Wavelet-Transformation vergleichbar.
Bei der Fraktalen Kompression erfolgt die Beschreibung eines Ausschnittes des Bildes durch
eine spezielle Projektion. Mit der Summe aller derartigen Abbildungen ist jedem Punkt ein
20
Originalbereich zugeordnet. Auf diese Weise sollen Selbstähnlichkeiten als Referenz genutzt
werden. Die Grundlage für dieses Verfahren liefert die IFS-Theorie "theory of iterated function
systems", die sich mit der Projektion von definierten geometrischen Gültigkeitsbereichen auf ein
Gebiet desselben Bildes beschäftigt. Die Tatsache, welche die Anwendung dieser Theorie in der
Bildverarbeitung ermöglicht, besteht in der Aussage zur einzigartigen Rekonstruktion des
Originalbildes.
Wenn es sich bei der Abbildung um kontraktive Projektionen handelt, führt die iterative
Anwendung der Beschreibungsgleichungen unabhängig von der Ausgangsvorlage zu einem
einzigen Bild, dem Attraktor. Die Projektion wird auf ein beliebiges Anfangsbild angewandt.
Das Ergebnis dient erneut als Ausgangsvorlage, mit der dieser Vorgang zu wiederholen ist, bis
sich keine Veränderung mehr ergibt.
Bei der Betrachtung fraktaler Bildkompressionsalgorithmen stehen folgende Probleme im
Mittelpunkt:





optimale Anpassung des Attraktors der Iteration an das Originalbild
effektive Beschreibung des Gültigkeitsbereiches der Projektion
Analyse grundlegender Strukturen der Kompressionsalgorithmen auf fraktaler Basis
Suche von Möglichkeiten zur Beschleunigung der Kodierung
Bestimmung geeigneter Quantisierungsverfahren der Projektionsparameter
Die beste Übereinstimmung zwischen fraktal kodierten Bildern und ihren Originalen ergibt
sich, wenn die Projektion exakt dem korrespondierenden Bildausschnitt des Originals entspricht.
Da dieser Fall nur selten eintreten wird, zählt auch die Fraktale Kodierung zu den
verlustbehafteten Kompressionsarten. Als Maß für die Deckungsgleichheit der Projektion wird
häufig der euklidische Abstandsvektor genutzt. Die Abbildung beeinflußt aber nicht nur Lage
und Symmetrie eines Bildausschnittes, was einer geometrischen Transformation entspricht,
sondern muß zur optimalen Angleichung auch eine Veränderung der Bildintensität vornehmen.
Dieser Vorgang wird im weiteren Luminanztransformation genannt.
Es existieren verschiedene Bezeichnungen des Modells, aus dem der Kodieralgorithmus
entwickelt wird. Meist handelt es sich um die "Photo Copying Machine" PCM oder die "Iterated
Copy Machine" ICM, deren mathematische Beschreibungen allerdings identisch ist. Die
programm- bzw. schaltungstechnische Umsetzung der Modelle bildet den Schwerpunkt der
Arbeiten auf diesem Gebiet.
Die Fraktale Bildkodierung zeichnet sich durch ihren hohen Kompressionsgrad und eine
weitgehende Skalierbarkeit der Pixel- und Farbauflösung aus. Für die Dekodierung ist nur
geringer Rechenaufwand erforderlich. Demgegenüber steht der Nachteil der zeitintensiven
Blocksuche während der Kodierung, bei der die Projektionsparameter bestimmt werden.
Da alle Abbildungen unabhängig voneinander sind, ist eine sehr gute Parallelisierbarkeit
durch Datenaufteilung gegeben. Aber auch funktionale Bestandteile müssen nicht sequentiell
abgearbeitet werden. Weiterhin besteht die Möglichkeit, die Funktionen der
Luminanztransformation durch Hardware nachzubilden, um die benötigte Kodierzeit erheblich
zu verringern.
Vorbetrachtungen zum Bildinhalt beschleunigen den Algorithmus nochmals erheblich. Eine
effektive Bildaufteilung wird dabei durch die Partitionierung vorgenommen, die Klassifikation
identifiziert die Eigenschaften der Referenzausschnitte.
Außerdem ergeben sich aus der Suche nach Reserven bezüglich der Projektionsparameter
sowie aus der dreidimensionalen Interpretation der Fraktalen Kompression zusätzliche
Aufgabengebiete.
21
28. Grundkonzept eines Filesystem
Die Struktur eines Filesystems (einer Directorystruktur) sollte einem eigentlich klar sein,
wenn man ein bischen mit Computern arbeitet. Alle Computer heute legen ihre permanenten
Informationen in einem Filesystem ab. Zwar gibt es je nach Rechnertyp leichte Unterschiede
aber das Grundkonzept ist immer gleich und nicht schwer.
Kurz gesagt, handelt es sich um eine hierarchische Baumstruktur. Das kann man bildlich
etwa beschreiben mit einem Archivierungssystem für Dokumente. Man hat zunächst eine einzige
große Schachtel. In diese kann man jetzt entweder alle Dokumente die man archivieren möchte
kunterbunt hineinwerfen, oder aber man strukturiert diese große Schachtel vorher, indem man
mehrere kleinere Unterschachteln hineinstellt.
Die große Schachtel hätte in einem Dateisystem hat dabei noch keinen Namen, denn es ist
klar, daß alle Inhalte irgendwie hier drinn liegen müssen. Man sagt zu dieser Hauptschachtel
aber auch "root" Verzeichnis, was übersetzt Wurzselverzeichnis bedeutetet. Alles was man
irgendwie an Informationen hat muß also hier in diese "root" Schachtel. Den kleineren
Schachteln können wir nun selbst Namen geben, wie zum Beispiel "kochrezepte", "seminararbeiten", "gebrauchsanleitungen", usw.
In der Schachtel "kochrezepte" könnten wir jetzt weitere Schachteln anlegen, wie zum
Beispiel "fleisch", "fisch", "vegetarisch", "backen", usw. Und in der Schachtel "backen" können
wir wieder Schachteln anlegen wie z.B. "plaetzchen", "kuchen", usw.. Wie finden wir nun aber
diese Schachteln wieder. Diese "kuchen" Schachtel ist in der Hauptschachtel, dort in der
Schachtel "kochrezepte", dort in der Schachtel "backen" und dort ist endlich "kuchen" zu finden.
Dem entspricht die Bezeichnung "/kochrezepte/backen/kuchen/". Die Namen der einzelnen
Schachteln werden einfach mit "/" getrennt.
Natürlich wollen wir jetzt auch Dokumente ablegen. Vielleicht unsere letzten
Seminararbeiten, ein paar Kochrezepte oder Kochbücher. Vielleicht wollen wir aber auch unsere
Urlaubsfotos oder unsere Lieblings-CDs irgendwo reinlegen. Das alles sind Inhalte
(Informationsinhalte) und in einem Filesystem entsprechen diesen Inhalten die Files. Files
können nun Texte (Dokumente), Bilder, Töne und noch alles mögliche andere darstellen. Auch
diese Files bekommen nun Namen, damit wir sie in den Schachteln leicht identifizieren können.
Das Rezept für Marmorkuchen nennen wir auch "marmorkuchen" und legen es in die Schachtel
"/kochrezepte/backen/kuchen/". Die komplette Ortsbezeichnung lautet also jetzt
"/kochrezepte/backen/kuchen/marmorkuchen". (Man beachte, es folgt KEIN abschließender
Schrägstrich!).
Um mit den Filenamen auch gleich an zu geben ob es sich jetzt um einen Text oder ein Bild,
oder um irgendwas anderes handelt werden zumeist Endungen an den Filenamen angehängt, die
angeben um welchen Filetyp es sich hierbei handelt. Textdateien werden mit ".txt" bezeichnet,
Bilder (je nach Bildtyp) mit ".gif" oder ".jpg". Unser Marmorkuchenrezepte hätte also besser
"marmorkuchen.txt" heißen sollen, weil es ein Text ist. Die Endung ist beim Computer auch
wichtig, um dem Computer mit zu teilen, wie er ein File behandeln soll. Textdateien werden in
einem
Textverarbeitungsprogramm
dargestellt,
während
Bilder
in
einem
Bildbearbeitungsprogramm dargestellt werden. Unser Marmorkuchenrezept ist also korrekt unter
"/kochrezepte/backen/kuchen/marmorkuchen.txt" zu erreichen.
Ein kleines Problem besteht noch darin, daß man für Filenamen und Verzeichnisnamen
(Schachtelnamen) nicht beliebige Namen vergeben darf. Auf manchen Rechnern darf man die
Namen nur 8 Zeichen lang machen, dann kommt ein Punkt und dann kommt eine Endung aus 3
Zeichen. Es gibt jedoch auch viele Rechner die längere Filenamen akzeptieren. Vorsichtig muß
man auch sein mit Sonderzeichen. Alles was kein Buchstabe und keine Ziffer ist, ist ein
Sonderzeichen und sogar Umlaute und scharfes S gehören dazu. So darf man zum Beispiel kein
"/" in einem Namen verwenden und oft auch kein Leerzeichen. Man sollte möglichst auf alle
unnötigen Sonderzeichen verzichten und die Namen kurz halten. Am besten nur kleine
22
Buchstaben und als Trennzeichen (zwischen zwei Worten) entweder "-" oder "_" verwenden.
Also: "fotos_hawaii" oder "fotos-hawaii".
Eine kleine Anmerkung noch: Wenn man es sich bildlich vorstellt und immer weiter immer
weiter Schachteln ineinander stellt, wird man sich irgendwann denken "Hmmm .... ich kann ja
nur immer kleinere Schachteln in eine andere Schachtel hineinstellen ... irgendwann werden die
doch zu klein, oder?". Hier hinkt der Vergleich leider. Jede der Schachteln (und sei sie auch noch
so weit drinnen) ist potentiell unendlich groß. Man kann sich das als dehnbare Schachteln
vorstellen. Eine Schachtel in der nichts drinnen ist braucht (fast) garkeinen Platz. Eine Schachtel
in der sehr viel drinnen ist braucht mehr Platz. Sie denht sich dann einfach automatisch. Und alle
Schachteln in denen diese sich dehnende Schachtel wiederum drinnen steckt dehnen sich mit. Es
gibt aber auch ein paar wenige Schachteln die nicht dehnbar sind und das ist vorallem die große
Hauptschachtel (das "root"-Verzeichnis). Diese Hauptschachtel repräsentiert die Gesamtmenge
die wir maximal speichern können. Sie hat eine fest definierte Größe und hängt davon ab,
wieviel Kapazität unser Speichermedium hat. Erst wenn sich also die große Schachtel
vollständig gefüllt hat ist es wirklich "voll" und dann können wir auch keine neuen Inhalte oder
Schachteln mehr zusätzlich hineinstellen. Wir müssen erst wieder was herausnehmen (also etwas
löschen).
29. Hardware und Software
Ein Computer arbeitet nach dem Prinzip der.Programmsteuerung. Das Programm ist eine
Folge von Anweisungen, die der Computer als Verarbeitungsbefehle interpretiert und ausfährt.
Größere Programme, die aus mehreren zusammengehörenden Teilen bestehen, nennt man Programmsysteme. Programme müssen (gegenwärtig noch) vom Menschen aufgestellt werden; der
Prozeß wird als Programmieren oder als Programmentwicklung bezeichnet. Fertige Programme
können im Hauptspeicher oder auf den Datenträgern peripherer Einheiten abgespeichert sein.
Damit ein Computer ein bestimmtes Programm ausführen (abarbeiten) kann, muß sich dieses
(oder zumindest ein Teil davon) im Hauptspeicher befinden.
Zu einem arbeitsfähigen Computer gehören demnach technische Einrichtungen und Programme. In der rechentechnischen Praxis wird die Gesamtheit aller gerätetechnischen Elemente
eines Computers auch als Hardware bezeichnet. Alle beim Programmieren entstehenden Produkte, wie die Programme und die Programmdokumentation, sowie alle programmtechnischen
Mittel zur Unterstützung der Programmierung faßt man unter der Bezeichnung Software zusammen. Eine absolute Grenze zwischen Hard- und Software kann jedoch nicht gezogen werden.
Heute ist es möglich, für bestimmte Hardwaresysteme auch ökonomisch günstigere Softwarelösungen bereitzustellen. Andererseits tritt nicht selten der Fall auf, daß bestimmte Softwaresysteme durch leistungsfähige Hardwarelösungen, z. B. fertig programmierte hochintegrierte
Schaltkreise, abgelöst werden. Auswahlkriterien sind Ökonomie, Zweckmäßigkeit und der Zeitfaktor.
Systemsoftware und Anwendersoftware
Aus der Sicht der Anwendung eines Computers hat man zwei wichtige Arten von Software
zu unterscheiden (Bild 1.7).
• Systemprogramme (Systemsoftware) gehören zur Grundausstattung eines Computers. Sie
erstellt in der Regel ein Systemprogrammierer.
23
Bild 1.7. Einteilung der Software (mit Beispielen)
• Anwenderprogramme (Anwendersoftware) werden vom Nutzer, dem Anwenderprogrammierer, entwickelt. Sie dienen zur Lösung einer bestimmten Aufgabe oder einer
definierten Menge von Problemstellungen.
30. Betriebssystem
Um einen Computer in seiner Gesamtheit rationell und effektiv zu betreiben, sind besondere
Betriebs- und Steuerprogramme erforderlich. Diese haben einen allgemeingültigen Charakter, da
sie nicht zur Lösung einer einzelnen Aufgabe dienen, sondern im jeweiligen Computer Voraussetzungen für die Lösung aller auftretenden Problemstellungen schaffen. Sie werden zu einem besonderen Programmsystem, dem Betriebssystem, zusammengefaßt. Das Betriebssystem
liegt - bildlich gesprochen - zwischen dem Nutzer mit seiner Anwendungssoftware und der
Hardware des Computers. Es steuert die Verarbeitungsabläufe im Computer und stellt dem Nutzer eine Reihe von Diensten und Werkzeugen zur Verfügung. Im praktischen Einsatz tritt dem
Nutzer nicht die Computerhardware, sondern das Betriebssystem als Partner gegenüber. Ihm sind
die vom Computer zu lösenden Aufträge zu übergeben.
Zum Verwaltungsbereich eines Betriebssytems gehören im allgemeinen auch
Systemprogramme für die unterschiedlichsten Programmiersprachen sowie problembezogene
Datenbestände und Anwenderprogramme.
Das Betriebssystem und eine Reihe von Standardanwenderprogrammen werden in der Regel
vom Hersteller des Computers mitgeliefert. Bild 1.8 zeigt den schematischen Aufbau eines
vollständigen Softwaresystems eines Computers.
Bild 1.8. Schematischer Aufbau des Softwaresystems eines Computers
In der Praxis gibt es für ein und denselben Computertyp meist verschiedene Betriebssysteme,
die die unterschiedlichsten Einsatzfälle und Betriebsformen ermöglichen. Auf den Aufbau ausgewählter Betriebssysteme und auf die in ihnen ablaufenden Prozesse im Rahmen der PASCALProgrammierung wird im Abschnitt 7 näher eingegangen.
24
31. Programmiersprachen
Für die Nutzung eines Computers stehen meist mehrere Programmiersprachen zur
Verfügung. Für den Anwender besteht die Aufgabe, die für seine Problemstellung und
Bedürfnisse zweckmäßigste auszuwählen. Im Unterschied zu natürlichen Sprachen, die sich
historisch in einem langen Entwicklungsprozeß und unter verschiedensten Einflußfaktoren
herausgebildet haben, sind Programmiersprachen künstlich entstanden. Ihr Aufbau unterliegt
exakten Regeln. Künstliche Sprachen (auch formale Sprachen genannt) dienen in vielen
Fachgebieten, z. B. in Mathematik, Physik, Chemie, zur Darstellung und Beschreibung von
Prozessen und Systemen. Programmiersprachen beschreiben Daten und deren
Verarbeitungsvorgänge in Computern. In der Praxis unterscheidet man drei Klassen:
• Maschinensprachen
• maschinenorientierte (maschinenabhängige) Programmiersprachen
• höhere (maschinenunabhängige) Programmiersprachen.
32. Maschinensprachen
Der Begriff Maschinensprache (auch Maschinencode) stammt aus der klassischen
Rechentechnik. Da es sich bei den ersten Computern in der Tat um Maschinen mit großem
Volumen und Energieverbrauch handelte, waren Bezeichnungen dieser Art gerechtfertigt. Heute
wird dagegen in der Informatik der Begriff "Maschine" abstrahierend als Synonym für alle
Computer, auch für die kleinsten, gebraucht. Außerdem werden weitere damit
zusammenhängende Bezeichnungen gebildet.
Programmieren in Maschinensprache bedeutet das Aufstellen eines Programms auf dem
direkten Niveau des Maschinenbefehlssatzes und der intern dargestellten Maschinengrößen eines
entsprechenden Computers. Das Ergebnis ist ein Maschinenprogramm. Die elementaren
sprachlichen Gebilde - Maschinenbefehle und Daten - bestehen hierbei aus sog. Binärwörtern
und diese selbst nur aus den Binärsymbolen 0 oder 1 (auch andere Bezeichnungen, z. B. 0 und L,
sind üblich). Binärwörter sind aus Dualzahlen (Binärzahlen) abgeleitete Zahlenkolonnen mit
fester Stellenzahl. Ein Maschinenprogramm ist demnach eine Folge von Binärwörtern. Der
Nachteil der Programmierung in Maschinensprache besteht darin, daß ein Maschinenprogramm
sehr aufwendig niederzuschreiben, unübersichtlich und nicht direkt lesbar ist. Allerdings entsteht
in einem Schritt ein sofort ausführbares Programm. Dies ist bei allen anderen
Programmiersprachen nicht der Fall. Hier muß erst ein Übersetzen in die Maschinensprache
durchgeführt werden, bevor der Computer in solchen Sprachen formulierte Programme ausführen kann. Eine Programmierung in Maschinensprache wird in der Praxis nur bei Test- und Reparaturarbeiten unmittelbar an der Hardware oder bei hardwarenaher Systemsoftware eines
Computers eingesetzt. Für routinemäßige Programmierung ist die Maschinensprache ungeeignet.
33. Maschinenorientierte Programmiersprachen
Die maschinenorientierte Sprache oder Assemblersprache (to assemble - zusammensetzen)
bedient sich symbolischer Darstellungen, in denen die Binärwörter eine andere Form haben. Sowohl Maschinenbefehle als auch Speicheradressen und Verarbeitungsgrößen werden durch sinnvoll gewählte und leicht einprägsame Symbole oder umgangssprachliche Kurzformen (meist
englische Abkürzungen) ausgedrückt. Eine Assemblersprache ist wie die Maschinensprache an
einen bestimmten Computertyp gebunden, daher auch die Bezeichnung maschinenorientierte
Sprache. Ihr Vorteil besteht darin, daß während der Aufstellung des Programms Anweisungen
und Daten einfacher und übersichtlicher formuliert und notwendige Programmkorrekturen sehr
einfach vorgenommen werden können. Während des Übersetzungsprozesses wird aus einem
Programm in maschinenorientierter Sprache (Assemblerprogramm) ein Maschinenprogramm er25
zeugt (zusammengesetzt). Erst dann ist dieses vom Computer ausführbar. Eine
Assemblersprache ist relativ schwierig zu erlernen, und ihre Anwendung erfordert Kenntnisse
über die innere Funktionsweise des eingesetzten Computers. Mit maschinenorientierten
Programmiersprachen sind allerdings sehr effiziente, d. h. rechenzeit- und speicherplatzgünstige
Programme herstellbar. Assemblersprachen werden häufig in der Systemprogrammierung eingesetzt.
34. Höhere Programmiersprachen
Sie wurden entwickelt, um die Programmierung noch weiter zu vereinfachen. Die bisher
behandelten Programmiersprachen setzen alle mehr oder minder den benutzten Computer in den
Mittelpunkt der Programmierung. Alle entstehenden Programme sind an einen Computertyp
gebunden; bei Beginn der Programmierung müssen eindeutig der benutzte Computer sowie
dessen wesentlichste Eigenschaften bekannt sein. Bei Verwendung einer höheren
Programmiersprache existiert dagegen keine direkte Beziehung zu einem Computer. Eine solche
Sprache ist allgemein, d. h. für jeden Computer geeignet. Einmal entwickelte Programme können
auf verschiedenen Computern eingesetzt werden.
Der Vorteil einer höheren Programmiersprache besteht darin, daß sich ein rechentechnischer
Sachverhalt mit den Mitteln der Sprache effektiv und übersichtlich formulieren läßt. Höhere
Sprachen werden in der Praxis umfassend angewendet. Es wird eine ökonomische und
fehlerarme Programmierung sowie eine übersichtliche Strukturierung der Programme erreicht.
Ein weiterer Vorteil einer höheren Programmiersprache ist die leichte Erlernbarkeit. Der
Programmierer benötigt keine speziellen Kenntnisse über inneren Aufbau und Funktionsweise
des verwendeten Computers.
Auch bei Verwendung von höheren Programmiersprachen müssen Übersetzungsvorgänge
durchgeführt werden, bis ein vom Computer ausführbares Maschinenprogramm vorliegt. Ein
Nachteil der höheren Sprachen ist, daß die entstehenden Programme gegenüber
Assemblerprogrammen weniger effizient sind. Sie weisen in der Regel einen höheren
Speicherplatzbedarf und etwas längere Rechenzeiten auf. Dies hat seine Ursache zum einen in
der schematischen Arbeitsweise des Übersetzungsvorgangs, und zum anderen ist es die direkte
Folge der Abkehr von einer Berücksichtigung der technischen Besonderheiten des jeweiligen
Computers. In der praktischen Nutzung werden diese Nachteile jedoch durch die wesentlichen
Vorteile der höheren Sprachen bei weitem aufgewogen. Höhere Programmiersprachen setzt man
sowohl für die Systemprogrammierung als auch zur Anwendungsprogrammierung ein.
35. Algorithmen und Programme
Die Entwicklung eines Programms findet auf der Grundlage einer gegebenen
Problemstellung statt.
■ Unter Programmentwicklung (Softwareentwicklung) versteht man die systematische
Erstellung eines Programms.
Eine wesentliche Aufgabe besteht zunächst darin, einen geeigneten Algorithmus zu
entwerfen. Dieser Prozeß wird auch als Algorithmierung bezeichnet. Anschließend ist der
Algorithmus in weiteren Arbeitsstufen in ein Programm umzusetzen.
■ Ein Algorithmus ist eine formale und eindeutige Vorschrift zur Lösung einer Menge von
gleichartigen Aufgaben, die aus einer Folge von Handlungsschritten (Anweisungen) besteht.
Algorithmen kann man mit verschiedenen Darstellungsmitteln formulieren. Auch die
Umgangssprache kann dafür dienen.
Beispiel: Algorithmus zur Berechnung des Kreisumfangs und der Kreisfläche
ALGORITHMUS Kreisberechnung
Schritt 1: Eingabe Radius
26
Schritt 2: Multipliziere den doppelten Radius mit PI; das Ergebnis ist der Umfang des
Kreises.
Schritt 3: Quadriere den Radius und multipliziere mit PI; das Ergebnis ist die Fläche des
Kreises.
Schritt 4: Ausgabe des Umfangs und der Fläche des Kreises.
ENDE des Algorithmus Kreisberechnung
Ein Algorithmus bedingt im allgemeinen das Vorhandensein von Objekten, auf die er
angewendet wird und an denen er Zustandsänderungen bewirkt. Objekte, deren Werte durch
Eingaben (von außerhalb) des Algorithmus festzulegen sind, heißen Eingangsobjekte.
Demgegenüber werden Resultate durch Ausgangsobjekte repräsentiert. Die entsprechenden
Werte übergibt der Algorithmus als Ausgaben. Im obigen Beispiel ist der Radius
Eingangsobjekt, während Umfang und Fläche Ausgangsobjekte sind. Der vorliegende
Algorithmus ist für eine ganze Klasse von Aufgaben geeignet, da ein beliebiger Wert als Radius
für die Berechnung benutzt werden kann. Während einer Programmentwicklung tritt der zu
entwerfende Algorithmus in der Regel in verschiedenen Darstellungsformen und
Präzisierungsstufen auf. Das Ziel ist letztendlich seine Beschreibung mit Hilfe einer
Programmiersprache. Es gilt:
■ Die Formulierung eines Algorithmus in einer Programmiersprache ist ein Computerprogramm. Die Schritte des Algorithmus entsprechen in diesem Fall Programmanweisungen, die
ein Computer (im weitesten Sinne) ausführen kann.
Algorithmen nehmen daher eine zentrale Stellung in der Informatik ein. Allerdings begegnet
man Algorithmen auch in vielen anderen Bereichen des Lebens.
Beispiel: Algorithmus zum Bedienen eines Gepäckschließfaches
1. Gepäck ins Schließfach stellen
2. Münze einwerfen
3. Tür zudrücken
4. Schlüssel nach rechts drehen
5. Schlüssel abziehen
36. Hauptprozeß der Programmentwicklung
Ein weiteres wesentliches Konzept der systematischen Erstellung eines Programms besteht
darin, den Gesamtprozeß der Entwicklung in definierte Arbeitsschritte (Entwicklungsphasen) zu
gliedern. Ein solches Vorgehen erweist sich insbesondere bei komplexeren Problemstellungen
als unumgänglich. Die Zerlegung bedeutet eine funktioneile Verfeinerung des Arbeitsprozesses
in spezifische Teiltätigkeiten mit geringerem Entwicklungsumfang.
Entwicklungsphasen
In der Programmentwicklung werden zweckmäßig folgende Phasen gewählt:
• Spezifizieren: Erarbeiten der Aufgabenstellung
• Entwerfen: System- und Programmentwurf, Verfeinerung
• Implementieren: Codieren, Übersetzen und Verbinden des Programms
• Testen, Integrieren: Fehler- und Mängelanalyse, Programmerprobung.
Jede Phase ist ein relativ abgeschlossener Prozeß, der durch bestimmte Tätigkeiten
gekennzeichnet ist und ein fest umrissenes Ergebnis liefert (Bild 2.6).
27
Spezifizieren
Eine Programmentwicklung beginnt in der Regel mit einer gründlichen Untersuchung des
bestehenden Problems (Problemanalyse) und der Spezifizierung der gewünschten Lösung in
Form einer Aufgabenstellung.
■ Die Spezifikation ist die vollständige Beschreibung der Anforderungen an das zu entwikkelnde Programm.
Mit ihr sind die wesentlichen Eigenschaften, Leistungsumfang und Funktionen des
Programms aufgezeigt sowie Anforderungen aus der Sicht des Nutzers niedergelegt. Außerdem
werden auch Kenngrößen zu Zuverlässigkeit und Qualität sowie ökonomischem Aufwand
festgehalten. Vergleichbar ist die Spezifikation mit dem Pflichtenheft eines Erzeugnisses aus
dem Bereich der materiellen Produktion.
Einer sorgfältigen Aufgabenstellung kommt besondere Bedeutung zu. Ist das geplante Programm nur unzulänglich beschrieben, wird auch das fertige Produkt unzulänglich sein, unabhängig davon , wie "gut" die anderen Arbeitsschritte der Programmentwicklung ausgeführt werden. Untersuchungen haben gezeigt, daß die in den nachfolgenden Prozessen der Programmentwicklung entstehenden Fehler bis zu einem Drittel ihre Ursache in einer unzureichenden Spezifikation haben.
Aus der Sicht des Auftraggebers bilden der Computer und das gewünschte Programm die
(abstrakte) informationsverarbeitende Nutzermaschine (Bild 2.7). Auf dieser Grundlage hat der
Programmentwickler ein Softwareprodukt zu realisieren, welches die vorgegebene
Nutzerschnittstelle des Computers und die geforderte Nutzerschnittstelle des Programms
aufweist. Er hat dabei außerdem zu berücksichtigen, daß sich im Verlauf der Zeit beide
Softwareschnittstellen infolge der technischen Weiterentwicklung und neuer, zusätzlicher
Nutzeranforderungen verändern können.
Bild 2.6. Hauptprozesse der Programmentwicklung
Bild 2.7. Veranschaulichung des Gesamtprozesses einer Programmentwicklung und
Einordnung in die Programmumgebung
37. Entwerfen
Diese Phase ist ein Konstruktionsprozeß in mehreren Verfeinerungsschritten. Sie beinhaltet
die Aufstellung des Gesamtalgorithmus und seine Zerlegung in Teilfunktionen.
■ Der Entwurf ist ein Modell der zu realisierenden Software. In ihm wird die Problemlösung
in ihren wichtigsten Zügen aufgezeigt.
Für den Softwareentwurf haben sich folgende Teiletappen bewährt:
28
• Im problemorientierten Systementwurf wird die Gesamtstruktur und -funktion behandelt.
Eine anschließende Verfeinerung (Dekomposition) führt zu weniger komplexen
Teilfunktionen. Ziel ist eine Zerlegung in solche Bestandteile, die als Ganzes zu
überblicken, zu bearbeiten und damit beherrschbar sind.
• Im Programmentwurfwerden in sich abgeschlossene Programmbausteine entwickelt, wobei
die Ergebnisse des problemorientierten Systementwurfs konkretisiert werden.
In den weiteren Teilschritten folgt dann eine Verfeinerung der Lösung, d. h. ein stufenweiser,
immer größerer Detaillierungsgrad bis zum Feinentwurf. Letzterer ist dadurch gekennzeichnet,
daß er aus algorithmischen Grundstrukturen (Elementarbausteine) besteht, die sich nicht weiter
zerlegen lassen bzw. für die eine weitere Zerlegung nicht sinnvoll ist.
Während des gesamten Entwurfs ist man bestrebt, so spät wie möglich die Besonderheiten
eines Computers zu berücksichtigen, um eine möglichst allgemeingültige Darstellung und damit
eine breite Verwendungsfähigkeit der Lösung zu sichern.
38. Implementieren
In der Phase der Implementierung wird die im Entwurf endgültig verfeinerte Lösung mit den
Mitteln einer gewählten Programmiersprache codiert und in eine maschinell verarbeitbare Form
umgesetzt. Dazu wird das Programm erfaßt, übersetzt, korrigiert, und alle notwendigen Programmteile werden miteinander verbunden.
■ Als Implementation wird sowohl das übersetzbare als auch das vom Computer ausführbare
Programm verstanden.
Die Darstellungsmittel und Werkzeuge im Prozeß der Programmentwicklung sind die
gewählte Programmiersprache, graphische und tabellarische Darstellungen, wie Funktionspläne,
Programmablaufpläne, Struktogramme, sowie maschinelle Hilfsmittel, wie Übersetzungs-, Testund Korrektursysteme, (Komponenten der Programmentwicklungsumgebung).
39. Programmtest
Ein Programm muß bestimmte Forderungen hinsichtlich Qualität und Zuverlässigkeit
erfüllen.
■ Der Test ist der Versuch, die spezifikationsgerechte Funktion eines Programms nachzuweisen.
Um diesen in der Softwaretechnik relativ schwierigen Nachweis zu erbringen, sind
Programmerprobungen mit Hilfe von Testdaten sowie nach Abschluß einzelner
Entwicklungsabschnitte Fehler- und Mängelanalysen durchzuführen. Wichtigstes Ziel ist es, die
Richtigkeit und Fehlerfreiheit, also die vorschriftsmäßige Funktion des Programms zu erreichen.
Es ist jedoch zu beachten, daß das NichtVorhandensein von Fehlern in einem Programm durch
Tests nie exakt nachweisbar ist. Kontrollmaßnahmen müssen deshalb während der gesamten
Entwicklung eines Programms als begleitender Prozeß dafür sorgen, daß möglichst frühzeitig
alle Fehler aufgedeckt und von Anfang an fehlerfreie Programme realisiert werden. Allgemein
gilt: Je früher sich ein unerkannter Fehler in ein Programm einschleicht, um so größer sind am
Ende die Auswirkungen und um so schwieriger ist seine Feststellung und Korrektur. Maschinelle
Hilfsmittel für den Programmtest sind Test- und Korrektursysteme (Programmtest s. Abschn.
7.6).
40. Integration und Probebetrieb
Wenn alle Prüfungen positiv verlaufen sind und das Programm den gestellten Anforderungen
gerecht wird, erfolgt die Einführung in ein vorhandenes Computersystem.
29
■ Während des Integrationsprozesses eines Programms werden alle Teilprogramme zum
Gesamtsystem zusammengefaßt und die Korrektheit als Ganzes in seiner hard- und
softwaremäßigen Umgebung geprüft.
Auf der Grundlage eines Probebetriebs wird dann die exakte Arbeitsweise des Programms
bestätigt. Nicht selten geht es während des Integrationsprozesses auch um Fragen der
zweckmäßigen Eingliederung des fertigen Programms in ein bestehendes Softwaresystem. Dabei
spielen Anpaßfähigkeit, Flexibilität sowie die geeignete Wahl der Softwareschnittstellen des
Programms eine große Rolle.
41. Dokumentieren
Außer dem Programmtext für den Computer (Quellprogramm) gehört zu einem Programm
noch eine entsprechende Dokumentation. Sie ist im Verlauf der Programmentwicklung
auszuarbeiten.
■ Die Dokumentation eines Programms umfaßt die wichtigsten Informationen über Aufbau,
Funktionsweise des Programms und kennzeichnet dessen Leistungsumfang, Verwendungszweck
sowie die praktischen Einsatzbedingungen.
Die Programmdokumentation besteht in der Regel aus einer Programmbeschreibung
(Entwicklerdokumentation) und einer Programmbedienvorschrift {Anwenderdokumentation). Die
Entwicklerdokumentation enhält in konzentrierter Form alle wichtigen Informationen, die
während der Programmentwicklung angefallen sind, z. B. Grundstruktur des Programms, Merkmale der internen und externen Schnittstellen. Wesentlichster Bestandteil der Programmbeschreibung ist ein gut kommentierter Quelltext des Programms. Die Programmbeschreibung
sollte so abgefaßt sein, daß nachträgliche Änderungen, Verbesserungen oder Fehlerkorrekturen
(Wartung des Programms) von anderen Personen (Systemprogrammierer) ohne größere Einarbeitungszeit durchführbar sind.
Die Anwenderdokumentation ist für den Nutzer der Software gedacht. Sie enthält aus
problemorientierter Sicht Zweck und Anwendungsmöglichkeiten des Programms. Außerdem
sind Angaben zu den notwendigen Geräte- und Softwareressourcen (z. B. verwendete E/AGeräte, verwendetes Betriebssystem, zusätzliche Softwarebestandteile, Speicherbedarf)
anzugeben. Auch Hinweise zu Start, Fehlermeldungen, Beendigung des Programms usw. sind
notwendig.
42. Nutzung und Wartung
Ist der Entwicklungsprozeß eines Programms abgeschlossen und der Nachweis der
Funktionsrichtigkeit und Betriebssicherheit erbracht, kann zur routinemäßigen Nutzung
übergegangen werden. In der Regel umfaßt die Nutzung eines Programms auch die sog.
Wartung, d. h. einen Prozeß der Gebrauchswerterhaltung.
■ Unter Wartung eines Softwareprodukts versteht man alle Arbeiten zur Vervollkommnung
und Aktualisierung des Programms und der entsprechenden Dokumentationen.
Dazu gehören auch das Beseitigen eventuell noch vorhandener Fehler während der
Anwendung, bestimmte Maßnahmen zur Leistungsverbesserung sowie erforderliche
Änderungen. Durch die Wartung wird die Nutzungsfähigkeit eines Programms im Verlauf der
technischen Weiterentwicklungen erhalten.
43. Umfang der Programmentwicklung
Die Organisationsformen und der Umfang der Tätigkeiten in den dargestellten Entwicklungsteilprozessen hängen wesentlich von der Art und Komplexität der Aufgabenstellung ab. In der
Praxis klassifiziert man daher in
• einfache Aufgabenstellungen (Programmierung im Kleinen)
30
• komplexe Aufgabenstellungen (Programmierung im Großen).
Im vorliegenden Buch wird nur die Programmierung für einfache Aufgabenstellungen behandelt.
Ein weiteres wesentliches Kriterium bei Programmentwicklungen ist die geplante Anzahl der
Wiederverwendungen eines zu realisierenden Programms. Dazu hat man die Programme einzuteilen in solche, die
• einmalig eingesetzt
• mehrmalig verwendet
• kommerziell vertrieben werden.
Sie unterscheiden sich vor allem in den Qualitäts- und Sicherheitsansprüchen. Bei kleineren
Aufgabenstellungen wird das Programm von einer einzelnen Person erstellt, die auch häufig der
einzige Nutzer ist. Bei solchen Programmentwicklungen sind vom Programmierer alle
Einzelheiten zu übersehen; auch der gesamte Entwicklungsweg ist selbst zu organisieren. Die
erläuterten Entwicklungsschritte werden für das Gesamtprogramm durchlaufen (s. Bild 2.6).
Sind komplexere Problemstellungen zu bearbeiten, muß man eine Zerlegung in Teilaufgaben
vornehmen, von denen jede entsprechend dem vorgegebenen Entwicklungsschema, gegebenenfalls auch zeitlich nebeneinander zu lösen ist. Die Arbeiten können auch auf mehrere Personen verteilt sein. Während der gesamten Entwicklung müssen als begleitender Prozeß die Teiltätigkeiten organisatorisch geleitet, die Richtigkeit aller Zwischenresultate nachgewiesen, alle Entwicklungsdaten verwaltet und die Dokumentation erarbeitet werden.
44. Ein- und Ausgabeprozesse
Ein- und Ausgaben von Daten sind neben den Verarbeitungsvorgängen die wichtigsten Prozesse, die in einem Computer ablaufen. Für den Nutzer wird die Handhabung solcher Prozesse
allerdings dadurch erschwert, daß viele Details einer Ein- und Ausgabeprogrammierung zu beachten sind. Auch weisen die Computer gerade bezüglich der Ein- und Ausgabe von Informationen die größten Unterschiede auf. Es wurde bereits darauf hingewiesen, daß z. B. sehr verschiedene periphere Geräte hierfür dienen können.
Die Programmiersprache PASCAL stellt ein umfangreiches Konzept von sprachlichen Ausdrucksmitteln zur Gestaltung der Ein- und Ausgabe zur Verfügung. Es wird dabei das Ziel verfolgt, möglichst von den technischen Einzelheiten der Ein- und Ausgabe eines Computers zu
abstrahieren und eine sehr allgemeingültige Beschreibungsform zu erreichen. Man unterscheidet
in PASCAL:
• Standardeingabe und -ausgabe
Sie ermöglicht dem Nutzer eine einfache, leicht zu handhabende, aber dennoch leistungsfähige Ein- und Ausgabeprogrammierung. Sie ist vornehmlich für den Datenaustausch des
Nutzers über Standardeingabe und -ausgabegeräte (z. B. Tastatur, Bildschirm) und in
einem ganz bestimmten Format mit dem Computer gedacht.
• Allgemeingültiges Konzept der Ein- und Ausgabe
Mit dieser Ein- und Ausgabe können unter Nutzung von Diensten des Betriebssystems alle
peripheren Geräte eines Computers, insbesondere externe Speichereinheiten angesprochen
werden. Es besteht die Möglichkeit, ausgewählte Ein- und Ausgabeprozesse zu vereinbaren
und externe Datenbestände als Datenobjekte eines Programms zu definieren.
Zunächst wird die Standardeingabe und -ausgabe eingeführt. Die Beschreibung des
allgemeinen Konzepts der Ein- und Ausgabe wird im Rahmen der Datenstrukturen behandelt
(Abschn. 5).
Standardeingabe- und -ausgabeanweisungen
Grundbegriff der Ein- und Ausgabe in PASCAL ist das File (Datei). Ein File ist ein externes
Datenobjekt, welches außerhalb eines Programms existiert. Es repräsentiert eine Folge von
31
Datenkomponenten. Im Programm kann darauf Bezug genommen werden. Dazu dient der
Filename (Filebezeichner). Ein File liefert Daten (Eingabe von Daten) oder nimmt sie auf
(Ausgabe von Daten). In der Praxis kann jedes File vom Betriebssystem einer beliebigen
peripheren Einheit zugeordnet werden. Auf diese Problematik wird im Abschnitt 7 näher
eingegangen. Bei der Standardeingabe und -ausgabe sind die Namen der Files bereits
festgelegt (vordefinierte Bezeichner):
• INPUT für Dateneingaben
• OUTPUT für Datenausgaben.
Das INPUT-File wird in der Regel automatisch vom Betriebssystem dem
Standardeingabegerät (z. B. Tastatur), das OUTPUT-File dem Standardausgabegerät (z. B.
Bildschirmeinheit) zugeordnet (Bild 3.26). Ein File entspricht in diesem Fall einer Eingabefolge
bzw. einer Ausgabefolge von Daten.
Die Beschreibung der Ein- und Ausgabeprozesse wird über vordefinierte Ein- und
Ausgabeprozeduren (Standardprozeduren) vorgenommen. Sie werden wie Anweisungen
behandelt und auch als Eingabeanweisungen bzw. Ausgabeanweisungen bezeichnet. Die Namen
der Standardprozeduren sind ebenfalls vordefinierte Bezeichner. Sie umfassen die Namen
für Eingaben:
für Ausgaben:
• READ
• WRITE
• READLN
• WRITELN
• PAGE.
Bild 3.26. Standardzuordnung zwischen Standardfile und Ein- und Ausgabegerät a)
Dialogbetrieb; b) Stapelbetrieb
In der Praxis muß ein Programm mindestens eine Ausgabeanweisung bzw. -prozedur
enthalten, sonst ist bei Ausführung des Programms nach außen keinerlei Wirkung zu
verzeichnen. Aus diesem Grund ist bei vielen PASCAL-Versionen die Angabe mindestens eines
Ausgabefiles (z. B. mindestens Standardausgabefile OUTPUT) in einem Programm Bedingung.
32
45. Filesystem
Die meisten Betriebssysteme enthalten ein sogenanntes Filesystem (auch als Dateisystem bezeichnet). In diesem sind alle Informationen, die während des Betriebs eines Computers anfallen
oder gebraucht werden, im geordneten Zustand in Form von Files (bzw. Dateien) abgespeichert.
Der Begriff File wurde bereits bei Datenstrukturen von PASCAL behandelt. In einem
Betriebssystem sind Files jedoch für vielfältigere Nutzung und allgemeinere Form der Abspeicherung von Informationen gedacht. Außer Daten enthalten Files eines Filesystems auch Programme in unterschiedlich codierter Form. Ein File stellt hier eine Zusammenfassung von Informationen in Form von Sätzen dar, die rationell nach einheitlichen aufbau- und ablauforganisatorischen Gesichtspunkten gespeichert und verarbeitet werden können. Die Sätze der Files sind
ebenfalls meist nach einheitlichen Regeln aufgebaut, wobei man logische und physische Sätze
unterscheidet. Logische Sätze sind nach inhaltlichen (logischen) Aussagen über die zu
verarbeitenden Objekte gegliedert. Sie sind Arbeitsgegenstand des Nutzers. Physische Sätze dagegen sind gemäß den physikalisch-technischen Gegebenheiten der externen Speicher aufgebaut
und entsprechen einer maschinennäheren Form der Informationsspeicherung. Im Normalfall
werden vom Betriebssystem logische Sätze auf physische abgebildet. Für einen Nutzer sind
Kenntnisse darüber nicht notwendig.
Das Filesystem mit seinen Eigenschaften ist neben der Benutzerschnittstelle der wichtigste
Teil eines Betriebssystems. Kriterien seiner Leistungsfähigkeit sind die sichere, schnelle und
optimale Speicherung und Bereitstellung der Informationen während des Betriebs des Computers
sowie die Menge und die Organisationsprinzipien der abgespeicherten Informationen. Einfache
Betriebssysteme (z. B. CP/M) enthalten ein Filesystem, welches nur die Verwaltung von Files in
einer Speicherungs- und Verwaltungsebene ermöglicht (Bild 7.1). Außerdem sind sie meist nur
für Einnutzerbetrieb ausgelegt. Leistungsfähigere Betriebssysteme (z. B. UNIX) dagegen enthalten ein Filesystem, das die Speicherung und Verwaltung von Files in einer hierarchischen Struktur mit mehreren Ebenen für eine ganze Anzahl von Nutzern gestattet (Bild 7.2).
Bild 7.1. Einfaches Filesystem
Bild 7.2. Filesystem mit hierarchischer Struktur
Bei der Lösung von Problemen der Informationsverarbeitung wird mit verschiedenen
Filearten gearbeitet, die meist auch eine unterschiedliche innere Struktur haben. Dazu zählen
• Datenfiles
- numerische Files
33
- Textfiles
- gemischte Formen
• Programmfiles
- Quellprogrammfiles
- Objektprogrammfiles
- Files der ausführbaren Programme
• Kommandofiles
• Verzeichnisfiles.
Die Ordnung in einem Filesystem richtet sich nach verschiedenen Gesichtspunkten. Faßt
man mehrere Files gleicher Art zu einem neuen File zusammen, so erhält man einen
entsprechenden Bestand von Files, eine Bibliothek. Mehrere Textfiles bilden demnach eine
Textbibliothek, mehrere Quellprogrammfiles bilden eine Quellprogrammbibliothek usw. (Bild
7.3). Jedes File erhält einen Filenamen, der einen eindeutigen Bezug bzw. Zugriff auf dieses
gestattet. Bei Files, die der Nutzer anlegt, sind die Namen nach bestimmten Regeln frei wählbar.
Häufig verweisen bestimmte Files (Verzeichnisse) auf Unterbereiche von Files, z. B. auf
Gruppen von Programmen und Daten der verschiedenen Programmiersprachen (Bild 7.4 a) oder
auf Programme der unterschiedlichen Anwendungsbereiche (Bild 7.4 b).
Bild 7.3. Verzeichnisse und Bibliotheken im Filesystem
Bild 7.4. Beispiele für Ordnungsprinzipien in einem Filesystem
a) Ordnung der Quellprogrammfiles nach Programmiersprachen
b) Ordnung der Programme nach Anwendungsbereich
Komponenten einer PASCAL-Programmentwicklungsumgebung
46. Compilersysteme
Die Gesamtheit aller Mittel und Möglichkeiten, die dem Nutzer einer Programmiersprache
für Aufbereitung, Übersetzung, Test, Korrektur und Verwaltung seiner Programme zur
Verfügung steht, wird, wie bereits im Abschn. 1 ausgeführt, als Programmierumgebung oder
Programmentwicklungsumgebung bezeichnet. Ihre Qualität ist mit ein Maß dafür, mit welcher
Effektivität die Entwicklung eines Programms bis zu seiner fehlerfreien Abarbeitung auf dem
34
Computer durchgeführt werden kann. Eine Programmentwicklungsumgebung kann für eine
einzige Programmiersprache ausgerichtet sein (sprachorientierte Entwicklungsumgebung, s.
Abschn. 7.4). Bei anderen Lösungen werden mehrere Programmiersprachen gleichermaßen
unterstützt (sprachunabhängige Entwicklungsumgebung; s. Abschn. 7.5). Es ist außerdem zu
unterscheiden, ob die Programmübersetzungsprozesse mit Hilfe eines Compilers oder eines
Interpreters
durchgeführt
werden.
Zunächst
wird
eine
PASCALProgrammentwicklungsumgebung mit Compiler vorausgesetzt. Wesentliche Bestandteile sind
• Programmaufbereitungs- und Programmkorrektursystem (Editor)
• Übersetzer (Compiler)
• Verbinder (Linker)
• Lader (Loader)
• Test- und Analysesystem (Debugger)
• Erklärungskomponente (Help-Funktionen)
• Verwaltung der Entwicklungsdaten, Projektunterstützung (Make-Funktionen).
Jedes dieser Software Werkzeuge hat einen bestimmten Leistungsumfang. Nicht bei jedem
System sind jedoch alle genannten Komponenten enthalten.
Im Prozeß der Programmentwicklung entsteht zunächst der PASCAL-Programmtext, der in
vollständig notierter Form das Quellprogramm darstellt. Seine maschinellen
Aufbereitungsschritte zur Programmausführung werden zunächst betrachtet (Bild 7.5).
Bild 7.5. Aufbereitungsschritte eines Programms bei Compilerarbeitsweise
47. Erfassen des Programms
In einem ersten Schritt ist das notierte Quellprogramm zu erfassen, d. h. auf einen vom
Computer lesbaren Datenträger zu speichern.
Bei Dialogsystemen kann dies einfach durch Eingabe über die Tastatur an einem Terminal
des Computers mit Hilfe des Editors geschehen. Der Editor gestattet die Aufbereitung und
Korrektur eines Quellprogramms. Etwaige Eingabefehler lassen sich sofort beseitigen. Auch
Änderungen des Quellprogramms sind leicht möglich. Nach Ende des Aufbereitungsschritts wird
das Quellprogramm als Quellfile (Quellprogrammfile) im Bestand des Filesystems
aufgenommen, d. h. im Fileverzeichnis eingetragen. Datenträger ist meist ein externer Diskettenoder Plattenspeicher. Bei Stapelsystemen läuft der Erfassungsprozeß meist separat ab, indem das
Programm zunächst mit Hilfe eines Erfassungsgeräts auf einen externen Datenträger, z. B.
Diskette, Magnetbandkassette, Lochkarten oder Lochband, zwischengespeichert wird. Erst in
35
einem nachfolgenden Leseschritt wird das Quellprogramm als Ganzes dem Computer übergeben.
Korrektur und Änderungen sind nur während des Erfassungsprozesses oder mit Hilfe spezieller
Programme im Computer möglich. Nach Ende des Leseprozesses liegt das Programm ebenfalls
als ein Quellfile im Bestand des Filesystems vor.
48. Übersetzen des Programms
Mit Hilfe des Compilers erfolgt das Übersetzen des PASCAL-Programms, wobei das
Quellprogramm in ein Objektprogramm umgeformt wird. Letzteres ist in einer dem
Programmierer meist nicht direkt zugänglichen Zwischensprache (Objektcode) vorhanden.
Während des Übersetzungsprozesses werden außerdem syntaktische Fehler im Quellprogramm
erkannt und angezeigt oder als Fehlerliste ausgegeben. Das Übersetzen kann sich gegebenenfalls
auch über mehrere Zwischenschritte erstrecken. Das am Ende des Übersetzungsprozesses
vorliegende Objektprogramm wird als Objektprogrammfile in den Filebestand des Systems
aufgenommen.
49. Verbinden des Programms
Während des Verbindens sind mit Hilfe des Linkers (Verbindeprogramm)
• das Objektprogramm des Nutzers oder mehrere Objektprogramme (bei größeren Programmen),
• das PASCAL-Laufzeitsystem (Systemprogramm) und
• Bestandteile aus einer PASCAL-Bibliothek der Standardroutinen
zu einem Maschinenprogramm zusammenzufassen. Außerdem werden alle in einem Objektprogramm zunächst noch allgemein gehaltenen Adressen in relative Maschinenadressen (relative
physische Adressen) umgewandelt. Das PASCAL-Laufzeitsystem ist eine Programmkomponente,
die
• die Ausführung des PASCAL-Anwenderprogramms (Maschinenprogramm) steuert,
• während dieser Zeit alle Zustände, Wertebereiche der Variablen usw. überprüft,
• bei fehlerhaften Zuständen diese als Laufzeitfehler kenntlich macht und
• gegebenenfalls das Programm abbricht.
Die PASCAL-Bibliothek der Standardroutinen enthält fertige Programmteile, beispielsweise
für die Standardprozeduren (Ein- und Ausgaberoutinen), für alle Standardfunktionen, Konvertierungs- und Umwandlungsfunktionen usw.
Das PASCAL-Laufzeitsystem sowie die PASCAL-Bibliothek sind in der Regel als
Systemfiles im Filesystem des Computers enthalten. Am Ende des Bindeprozesses wird das
Maschinenprogramm als ausführbares File im Bestand des Filesystems abgespeichert und
eingetragen. Bei den meisten PASCAL-Systemen können während des Prozesses des Verbindens
auch externe Objektprogramme in das Gesamtprogramm eingefügt werden. Externe Programme
rühren oft aus Übersetzungen von Teilprogrammen her, die in anderen Programmiersprachen
notiert wurden (z. B. Assembler, FORTRAN,C). Im PASCAL-Hauptprogramm muß dies durch
die Angabe von EXTERNAL-Bezügen vorgesehen werden (s. Abschn. 4.11).
50. Laden eines Programms
Ein auf einen externen Speicher abgelegtes Maschinenprogramm wird mit Hilfe des
Ladeprogramms (Loader) in den Hauptspeicher geladen und auf einen bestimmten Bereich
plaziert. Im Verlauf des Ladeprozesses werden alle zunächst relativ gehaltenen Adressen des
Programms durch absolute (reale) Adressen ersetzt. Ein eventuell auf diesem
Hauptspeicherbereich vorher vorhandenes anderes Programm wird durch das neu geladene
überschrieben. Nicht in allen Betriebssystemen ist jedoch ein separates Ladeprogramm
36
vorhanden bzw. notwendig. Oft ist es auch Bestandteil anderer Komponenten des
Betriebssystems.
51. Starten des Programms
Ein im Hauptspeicher befindliches Maschinenprogramm kann zu beliebiger Zeit und beliebig
oft abgearbeitet werden. Der Nutzer übergibt im Normalfall dem Betriebssystem ein Startkommando, und dieses realisiert den Startvorgang. Viele Betriebssysteme erlauben auch den Start
von auf externen Speichern abgelegten ausführbaren Programmen, wobei automatisch das Programm in den Hauptspeicher geladen und dieses anschließend gestartet wird.
52. Test und Fehleranalyse
Die aufgeführten Arbeitsschritte sind während der Programmentwicklung wiederholt zu
durchlaufen, falls während der Übersetzung, des Verbindens oder der Ausführung eines
Programms Fehler festgestellt werden. Sie führen zu einer Korrektur oder Änderung des
Quellprogramms. Für solche Arbeiten stehen dem Programmentwickler ebenfalls geeignete
Standardprogramme wie Korrektur- und Testprogramme (Editor, Debugger) zur Verfügung (s.
Abschn. 7.6).
53. Erklärungskomponente, Verwaltung des Dialoggeschehens
Zur Unterstützung des Dialogs zwischen Benutzer und Entwicklungsumgebung gibt es
Möglichkeiten zur Selbsterklärung der Programmentwicklungsumgebung. Der Benutzer kann
diese zu beliebiger Zeit anfordern. Die Verwaltung des Dialoggeschehens erlaubt es, Aufträge
des Benutzers abzubrechen, rückgängig zu machen oder zu wiederholen.
54. Verwaltung der Entwicklungsdaten und Unterstützung der Entwicklung von Projekten
In einer Programmentwicklungsumgebung sind in der Regel auch Werkzeuge enthalten, um
den Entwicklungsprozeß der Programme zu dokumentieren und fortzuschreiben. Änderungen
werden in einem Versionskonzept berücksichtigt. Ein Bibliothekssystem zur Verwaltung von
teilweise entwickelten Programmen, für Programmbausteine sowie von Testdaten ist ebenfalls
häufig anzutreffen. Leistungsfähige Entwicklungsumgebungen enthalten Mechanismen, um Programme bzw. Programmbausteine auf Vollständigkeit, Konsistenz und Integrität zu prüfen.
Programmtest und Fehleranalyse
55. Testen
Programme sind in der Regel nicht sofort fehlerfrei. Der Programmtest hat die Aufgabe,
durch wiederholtes Ausführen eines Programms Fehler zu finden, diese zu analysieren und die
Richtigkeit eines Programms nachzuweisen.
Der mathematisch strenge Beweis der Richtigkeit von Programmen führt nicht zum Ziel.
Man kann zwar feststellen, daß ein Programm fehlerhaft ist, in der Regel jedoch seine
Fehlerfreiheit nicht exakt nachweisen. Daher kommt den systematischen Untersuchungen,
Testläufen und Prüfmethoden besondere Bedeutung zu.
Meist wird der Test eines Programms mit Testdaten durchgeführt, für die die Lösungen
bekannt sind. Dabei ist jeder Strukturblock des Algorithmus bzw. jeder Zweig des Programms
mindestens einmal zu durchlaufen. Es sind demnach im allgemeinen mehrere Testläufe mit
unterschiedlichen Daten erforderlich. Oft ist es jedoch für die Feststellung der Richtigkeit noch
nicht ausreichend, daß beim Test jeder Programmzweig einmal durchlaufen wurde. Manche
Fehler zeigen sich nur bei bestimmten Werten der Testdaten. Die Prüfung von Programmen ist
37
deshalb unter Umständen sehr kompliziert und arbeitsaufwendig. Häufig sind bei größeren
Programmen spezielle Methoden notwendig, um die Programmtestung zu systematisieren und
überschaubar zu gestalten. Nicht selten werden auch bereits während des Programmentwurfs
bestimmte Prüfverfahren und Prüfschemata mit aufgestellt, um das fertige Programm später zu
prüfen. Moderne Programmentwicklungsumgebungen unterstützen die Programmtestung und
Fehlersuche in entscheidendem Maß, indem sie zum einen bestimmte Arten von Fehlern
erkennen und anzeigen, zum anderen stellen sie Fehlersuch- und -Verfolgungsprogramme
(Debugger) zur Verfügung, mit denen eine optimale Fehlersuche möglich ist. Bei der
Programmtestung unterscheidet man drei Fehlerarten: Syntaxfehler, Laufzeitfehler und logische
Fehler.
56. Syntaxfehler
Verstöße gegen die formalen Regeln der Programmiersprache sind Syntaxfehler. Sie werden
vom Computer während der Übersetzung erkannt und als Fehlermitteilung, Fehlerliste oder als
Kennzeichen im ausgegebenen Quelltext dem Nutzer mitgeteilt. Oft wird als Fehlerhinweis eine
Fehlernummer ausgegeben, deren Bedeutung aus der Beschreibung der jeweiligen Sprachversion
oder aus einer Textausgabe vom Computer ersichtlich ist.
Die einzelnen PASCAL-Systeme zeigen syntaktische Fehler sehr unterschiedlich an.
Außerdem markieren einige Compiler (z.B. TURBO-PASCAL) nicht sofort alle Syntaxfehler
eines Programms, sondern nur den Fehler, der als erster im Quellprogramm erkannt wird. In
diesem Fall muß deshalb bei mehreren Fehlern eine wiederholte Übersetzung des Programms
vorgenommen werden.
Infolge der schematischen Arbeitsweise eines Compilers kommt es während der Fehlererkennung häufig zu Abweichungen in der Angabe des wirklichen Fehlerortes im Programm. Oft werden auch Folgefehler angezeigt, die in Wirklichkeit keine Fehler sind. In manchen Situationen
kann der Compiler fehlerhafte Programmteile als richtig anerkennen, weil wegen des Fehlers das
Programm einen anderen logischen Inhalt bekommt. Meist treten dann an ganz anderen Stellen
des Programms Syntaxfehler auf. Bei der Korrektur sind solche Besonderheiten vom Nutzer zu
berücksichtigen, wobei Routine schnell zu erlangen ist.
57. Laufzeitfehler
Fehler, die erst während der Ausführung (der Laufzeit) des Programms erkannt werden,
nennt man Laufzeitfehler. Hierzu zählen z.B. Überschreiten der Wertebereichsgrenzen von
Datenobjekten, falsche Parameterübergaben bei Routinen oder falsche bzw. nicht eindeutige
Ziel- und Auswahlangaben bei Programmsteueranweisungen. Auch Ein- und Ausgabefehler
gehören hierzu. Laufzeitfehler werden vom PASCAL-Laufzeitsystem analysiert und in ähnlicher
Form wie Syntaxfehler, aber während der Programmausführung ausgegeben. In der Sprache
PASCAL ist auf der Grundlage des Typenkonzepts eine sehr leistungsfähige Überprüfung auf
Fehler möglich. Auch Laufzeitfehler werden von den verschiedenen PASCAL-Systemen in sehr
unterschiedlicher Form angezeigt.
58. Logische Fehler
Ein Programm enthält logische Fehler, wenn der zugrunde liegende Algorithmus falsch ist
bzw. bei der Programmerstellung verfälscht wurde. Ein logischer Fehler liegt beispielsweise vor,
wenn die Berechnung einer Größe mit einer falsch ausgewählten Funktion vorgenommen wird
oder wenn man in einem Endetest statt < = irrtümlich > notiert hat.
Im allgemeinen ist das Finden und Beheben logischer Fehler wesentlich aufwendiger als die
Korrektur von Syntax- oder Laufzeitfehlern. Die nachträgliche Beseitigung von Fehlern im Algorithmus erfordert oft erhebliche Veränderungen des erstellten Programms und birgt so auch
38
die Gefahr des Einschleppens neuer Fehler in sich. Bei der Korrektur eines Programms sollte
deshalb nach den gleichen Grundsätzen vorgegangen werden wie bei der systematischen Programmentwicklung.
Ob ein Programm logische Fehler enthält, kann nur mit Hilfe von Testläufen festgestellt
werden. Kommt es zu Differenzen oder Widersprüchen zwischen den Ergebnissen der Testläufe
und bekannten richtigen Resultaten, muß eine Analyse des Programms erfolgen. Für die
Fehleranalyse von logischen Fehlern gibt es verschiedene Möglichkeiten.
59. Überprüfen des Programms
Während der Programmentwicklung werden zweckmäßig bereits bei Teilprogrammen
Kontrollen in Form von Trockentests vorgenommen, indem für bestimmte Testdaten der
Programmlauf am Schreibtisch durchgespielt wird. Nach Abschluß der Entwurfsarbeiten ist
ebenfalls noch einmal ein grober Trockentest des Gesamtprogramms durchzuführen. In der
Regel werden in dieser Phase oft noch viele Flüchtigkeitsfehler erkannt, die in einer späteren
Testphase viel schwieriger zu ermitteln wären. Erst danach wird die Erfassung bzw.
Implementierung des Programms vorgenommen.
60. Einbau von Prüfpunkten
In einem komplexen Programm sollte man von vornherein Prüfpunkte einbauen. Sie
gestatten bei wenig Zeitaufwand ein schnelles Überprüfen der gewünschten
Verarbeitungsvorgänge der Daten und des Programmlaufs an kritischen Stellen des Programms.
Ausgabe von Zwischenergebnissen. Zweckmäßig ist es, insbesondere die Daten an
Programmschnittstellen (z.B. bei Aufruf einer Routine oder nach deren Ausführung) zu
protokollieren. Auch bei Zyklen oder Verzweigungen erweist es sich als günstig, die Werte von
bestimmten Testvariablen mit als Prüfpunkt vorzusehen. Auf diese Weise wird oft eine
Eingrenzung von Fehlern erreicht (Überprüfung der Verarbeitungsfolge der Daten). Die
Prüfpunkte in einem Programm kann man so einbauen, daß die Protokollierung nur auf
Anforderung hin erfolgt. Nach Abschluß der Testarbeiten werden die zusätzlichen Anweisungen
aus dem Programm wieder entfernt.
Ausgabe von Laufmarken. Mit Hilfe der Kontrollausgabe von Laufmarken, beispielsweise
in Zyklen oder Auswahlstrukturen, läßt sich der Programmlauf verfolgen (Überprüfung der Programmsteuerung). Laufmarken zeigen den Programmdurchlauf an kritischen Stellen eines Programms an und machen insbesondere logische Fehler in der Verarbeitungsstruktur sichtbar.
Auch hier werden am Ende der Tests die entsprechenden Anweisungen wieder gelöscht.
61. Test mit typischen, Grenz- und unzulässigen Daten
Die Überprüfung eines Programms sollte erfahrungsgemäß mit drei Gruppen von Testdaten
vorgenommen werden:
• typische Daten
• Grenzdaten
• unzulässige Daten.
Mit typischen Daten wird zunächst die normale Arbeitsweise eines Programms mit Hilfe von
bekannten Testergebnissen nachgewiesen. Nicht selten arbeiten scheinbar fehlerlose Programme
bei Grenzfällen oder speziell ausgewählten Werten nicht exakt und weisen auf logische Fehler
hin. Außerdem ist es wichtig, daß ein Programm auch auf unzulässige Daten „vernünftig" reagiert, also beispielsweise zu einem eindeutigen Ende mit entsprechender Fehlerausschrift
39
kommt. Die Überprüfung mit Grenzfällen und mit falschen Eingaben ist daher ein sehr wichtiger
Nachweis der Robustheit eines Programms.
62. Test- und Fehleranalysesysteme
Die Verwendung von speziellen Test- und Fehlersuchsystemen (Debugger) ermöglicht eine
optimale Programmprüfung und Fehlerermittlung (s. Abschn. 7.4.2). Man kann damit ein Programm schrittweise austesten und die verschiedensten Analysemöglichkeiten vorsehen. Um einen Debugger zu verwenden, muß dieser gewöhnlich mit dem Anwenderprogramm sowie allen
notwendigen Zusatzprogrammen und Bibliotheken zu einer gemeinsamen Programmeinheit
verbunden werden. Nach Start des Programms kann der Nutzer über Kommandos im Dialogbetrieb mit dem Debugger kommunizieren. Der Leistungsumfang eines Debuggers ist sehr vielseitig und umfaßt z.B.
• Setzen von Halte- und Prüfpunkten
• Ausgabe der Werte von Variablen und Ausdrücken
• Setzen der Werte von Variablen
• schrittweiser Betrieb
• Setzen von Haltepunkten in Abhängigkeit von Grenzwerten
• Protokollieren des abgearbeiteten Quelltextes einschließlich bestimmter Daten
• Weiterarbeit nach Laufzeitfehlern
• Unterbrechbarkeit des laufenden Programms.
Mit Hilfe dieser Möglichkeiten kann ein Nutzerprogramm bzw. eine entsprechende
funktionell abgeschlossene Programmeinheit in Testabschnitte zerlegt und schrittweise
systematisch analysiert werden. Besonders vorteilhaft wirkt sich die Möglichkeit des Setzens
von Haltepunkten aus, da mit ihnen an beliebigen Stellen eines Programms dessen Zustand
abgefragt und geändert werden kann. Detailliertere Angaben sind den Systemunterlagen zu
entnehmen.
63. Mikroprozessor
Kernstück des PC ist ein 16-Bit-Mikroprozessor der Firma Intel. Besondere Bedeutung
haben der 8088 im IBM-PC/XT und der 80286 im IBM-PC/AT erlangt. Diese Prozessoren sind
Vertreter einer ganzen Familie von weitgehend kompatiblen Bausteinen, die sich durch ihre
speziellen Leistungsparameter unterscheiden (8088, 8086, 80188, 80186, 80286, 80386SX,
80386, 80486). Der 8088 ist intern vollständig softwarekompatibel zum 8086, hat jedoch einen
8-Bit-Datenbus, an den die Bausteine der 8080-Familie angeschlossen werden können. Der
Befehlssatz des 8088/8086 weist gegenüber den in Mikrorechnern weitverbreiteten 8-BitProzessoren 8080 und Z80 einige grundlegende Unterschiede auf. Bewährte Konzepte wurden
bei der Weiterentwicklung beibehalten. Neu ist die Adressierung von Segmenten mit einer Größe
von 64 KByte über spezielle 16-Bit-Segmentregister. Die Anfangsadressen der Segmente sind
durch 16 teilbar. Man nennt die dadurch entstehende Adressierungseinheit auch Paragraph
(Speichereinheit mit einer Länge von 16 Byte). Der physische (reale) Adreßraum ist auf 1 MByte
begrenzt. Die für die physische Adresse notwendigen 20 Adreßleitungen sind aus der CPU
herausgeführt und bilden den Adreßbus. Für den Datentransport sind beim 8088 8 Leitungen (8
Bit) und beim 8086 16 Leitungen (16 Bit) vorhanden. Adreß- und Datenleitungen werden z.T.
gemeinsam (zeitmultiplex) genutzt.
Die Prozessoren 80186 und 80188 sind Weiterentwicklungen der Grundtypen, wobei durch
höheren Integrationsgrad eine Geschwindigkeitssteigerung und die Unterbringung von sonst
zusätzlich erforderlichen Bauelementen auf dem Prozessorchip möglich wurden. Ein qualitativer
Sprung erfolgte mit dem im IBM-PC/AT eingesetzten Baustein 80286. Wesentlich neue
Eigenschaften sind
- bis 5fache Leistungssteigerung gegenüber 8086
40
- aufwärtskompatibler Befehlssatz des 8086
- Unterstützung von Multi-Tasking
- Speicherschutzmöglichkeiten
- 1 GByte virtueller Adreßraum
-16 MByte physischer Adreßraum (24 Adreßleitungen).
Der 80286 besitzt einen 8086-Modus mit realer Adressierung. In diesem Modus kann das
MS-DOS problemlos eingesetzt werden. Der virtuelle Modus (protected Virtual address mode)
mit allen erweiterten Möglichkeiten des 80286 kann im MS-DOS (Version 4) nicht ausgenutzt
werden. Dazu wäre eine vollständige Neukonzeption von MS-DOS erforderlich. Mit der
Einführung der neuen IBM-Rechnerfamilie Personal Systems/2 wird darum ein neues
Betriebssystem MS-OS/2 bzw. OS/2 eingesetzt. Der alte Betriebssystemstandard MS-DOS wird
als eine spezielle Variante weiterhin unterstützt.
Eine konsequente Weiterentwicklung der Prozessorlinie erfolgt mit dem 80386 und dem
80486 der Firma Intel. Hier gelten die gleichen Einschränkungen für das Standardsystem MSDOS. Zusätzliche Neuerungen sind vor allem durch die interne 32-Bit-Struktur bedingt. Für
Anwender von MS-DOS ist der 32-Bit-PC lediglich ein sehr schneller AT. Auf die Architektur
des 80386 und 80486 wird darum in diesem Buch nicht eingegangen.
64. Speicher
Zur Speicherung von Daten im Rechner werden RAM- und ROM-Speicherbausteine
eingesetzt. Jede Speicherstelle von 1 Byte (8 Bit) wird eindeutig mit einer Adresse
angesprochen. Der verwendete Bausteintyp bestimmt die Anzahl der notwendigen
Speicherschaltkreise und den Platzbedarf auf der Systemplatine. Die Adressenaufteilung im
Adreßraum der CPU ist festgelegt (vgl. Tafel 2.1). Die Adressen sind zu Blöcken von 64 KByte
zusammengefaßt und werden durch das erste Zeichen der Adresse in hexadezimaler Form (O...9,
A...F) gekennzeichnet. Die ersten 10 Blöcke (640 KByte) sind für RAM-Speicher vorgesehen.
Im 0-Block sind Tabellen des Betriebssystems gespeichert (vgl. Abschn. 4). Die Speicherblöcke
im Adreßbereich oberhalb 640 KByte sind meistens nur teilweise installiert. In dem nicht durch
ROM- bzw. Bildschirmspeicher belegten Adreßbereich können z.B. weitere RAM's installiert
oder die Adressen für außerhalb liegende Erweiterungsspeicher genutzt werden (Shadow-RAM
als Kopie des ROM, Verwaltungsbereich für EMM). Beim AT wird zusätzlicher Speicher
entweder als Erweiterungsspeicher oder als Expansionsspeicher installiert. Der
Expansionsspeicher (Zusatzspeicherkarten) wird entsprechend der LIM-EMS-Spezifikation
durch einen EMM-Treiber verwaltet, der in der Datei CONFIG.SYS angegeben wird. Einige
Programme nutzen intensiv diese Erweiterungsform für große Datenbereiche. Der
Erweiterungsspeicher oberhalb 1 MByte kann erst im protected mode des 80286 voll genutzt
werden. Einige Systemerweiterungen (RAMDISK, HI-MEM, EMM386) lassen auch im DOS
eine teilweise Nutzung zu. Eine genaue Behandlung der verschiedenen Speicherformen würde
hier zu weit führen.
Beim AT ist ein kleiner, batteriegestützter CMOS-Speicher vorhanden, in dem alle aktuellen
Daten zur Hardware (Anzahl der Laufwerke, Festplattentyp, Speichergröße, Datum u.a.)
gespeichert sind. Beim BOOT-Vorgang oder durch ein spezielles Programm SETUP können die
Konfigurationsdaten geändert werden. Die Beschreibung des SETUP-Vorgangs ist im
technischen Handbuch zum PC zu finden. Man sollte vor der Änderung im CMOS-RAM die
bisher eingestellten Werte notieren, weil einige Angaben (z.B. Festplattentyp) vom PC-Hersteller
eingetragen sind und evtl. in der Beschreibung fehlen. Sollte die Batterie ausfallen, gehen alle
eingetragenen Werte verloren.
41
65. Disketten
Die Informations speicherung erfolgt in der magnetisierbaren Schicht einer rotierenden
Diskette, die als Minidiskette (5 1/4 Zoll) oder Mikrodiskette (3 1/2 Zoll) bezeichnet wird.
Beim PC werden standardmäßig die Minidisketten benutzt. Zunehmend finden auch die
Mikrodisketten Anwendung. Die Oberfläche wird durch den Schreib-Lese-Kopf abgetastet, der
durch den Zugriffsmechanismus in definierte Positionen gebracht werden kann. Durch die
Anzahl der Positionen werden konzentrische Kreise auf der Oberfläche adressiert, die Spuren
(Tracks) genannt werden. Spur 0 ist die außen liegende Spur. Es haben sich Laufwerke mit 40
und 80 Spuren durchgesetzt. Disketten lassen sich ein- oder zweiseitig beschreiben, je nachdem,
ob das Laufwerk mit einem oder zwei Schreib-Lese-Köpfen ausgestattet ist.
In jeder Spur sind mehrere Sektoren untergebracht, die jeweils mit einem Zugriff gelesen
bzw. geschrieben werden. Als Sektorlänge wird bei MS-DOS standardmäßig 512 Byte gewählt.
Gewöhnlich sind beim PC/XT 9 Sektoren auf einer Spur gespeichert. Beim PC/AT werden
spezielle HD-Disketten (HD high-density) eingesetzt, die eine höhere Speicherdichte erlauben
und mit einer höheren Umdrehung laufen. HD-Disketten sind in normalen Laufwerken nicht
verwendbar. Die HD-Laufwerke lassen sich auf den Normalmodus einstellen. Dadurch sind auch
Standarddisketten in HD-Laufwerken benutzbar.
In Tafel 2.5 sind die verschiedenen Formate zusammengestellt. Durch BIOS-Funktionen
lassen sich auch abweichende Formate lesen und erzeugen. Das wird z.B. bei der Behandlung
von CP/M-Disketten gebraucht, die mit Spezialtreibern (z.B. SuperCopy) bearbeitet werden.
Tafel 2.5. Diskettenformate
Format
Dichte
5,25 "
5,25 "
5,25 "
5,25 "
3,50 "
3,50 "
48 tpi
48 tpi
96 tpi
HD
135 tpi
HD
Seiten
1
2
2
2
2
2
Spuren
40
40
80
80
80
80
Sektoren
Kapazität
9
9
9
15
9
18
180 KByte
360 KByte
720 KByte
1200 KByte
720 KByte
1440 KByte
Der Anschluß der Diskettenlaufwerke an den Bus erfolgt über den Diskettencontroller, der
im wesentlichen einen DMA-Betrieb mit dem Speicher realisiert und durch das BIOS gesteuert
wird. Die Programmierung sollte nicht unterhalb des BIOS-Niveaus erfolgen.
Die Einteilung der Diskettenoberfläche erfolgt durch das FORMAT-Kommando unter
Nutzung des BIOS. Die dazu erforderlichen Programmierhinweise sind im Abschn. 4.3.3 zu
finden.
66. Festplatte
Die Festplatte ist ein Speichermedium, das im Prinzip ähnlich wie die Diskette arbeitet. Zur
Erhöhung der Speicherkapazität sind mehrere Scheiben übereinander angeordnet und der Positioniermechanismus mit einer entsprechenden Anzahl Köpfen ausgestattet. Die Scheiben können
nicht ausgewechselt werden. Durch den dadurch stabileren mechanischen Aufbau wird eine
wesentlich größere Umdrehungsgeschwindigkeit möglich und die Zugriffszeit sehr klein. Die in
einer Position des Zugriffsarms übereinander liegenden Spuren nennt man Zylinder.
Die physische Struktur der Festplatte wird durch ein spezielles Formatierprogramm
eingerichtet. Normalerweise werden die Festplatten vom Hersteller formatiert, der dabei auch die
Überprüfung auf defekte Spuren vornimmt und eine Kennzeichnung der Spuren auf der Platte als
unbrauchbar einträgt. Eine erneute Formatierung der Platte ist möglich, sollte aber mit großer
Vorsicht erfolgen, da alle gespeicherten Daten verlorengehen. Auf Grund der großen
42
Speicherkapazität wurde eine Unterteilung der Platte in bis zu vier Bereiche (partitions)
vorgesehen. In den Bereichen können z.B. verschiedene Betriebssysteme untergebracht sein oder
auch eine physische Platte als aus mehreren logischen Laufwerken bestehend angesehen werden.
Weitere Angaben dazu in den Abschnitten 4.3.3 und 6.3. In Tafel 2.6 sind einige
charakteristische Kenngrößen für Festplatten aufgeführt. Aus den technischen Unterlagen zur
Festplatte kann man die notwendigen Angaben entnehmen. Bei einigen FestplattenVerwaltungsprogrammen ist die Angabe einer Kennung (Typ) möglich, mit der eine bestimmte
Parameterkombination (Nr: Typ, Cyl: Zylinder, Hd: Anzahl Köpfe, WrPC:
Schreibstromumschaltung, LZ: Parkzone, Sz: Speicherkapazität in MByte) ausgewählt wird. Auf
einer Spur sind in der Regel 17 Sektoren untergebracht. Die Vielfalt ist bei Festplatten sehr groß.
Der Anschluß der Festplatte erfolgt über einen speziellen Festplattencontroller, der im DMABetrieb einen sehr schnellen Datentransfer realisiert. Die Programmierung erfolgt über das
BIOS. Neuere Festplatten haben ein SCSI-Interface, mit dem mehrere Geräte an einen SCSIAdapter angeschlossen werden können.
67. Drucker
Ein sehr wichtiger Bestandteil des PC ist der Drucker. Es würde den Rahmen dieses Buches
sprengen, auf die verschiedenen Typen einzugehen. Einige Hinweise müssen hier genügen.
Es werden hauptsächlich zeichenweise arbeitende Drucker eingesetzt, die über eine parallele
oder serielle Schnittstelle an den Rechner angeschlossen werden. Je nach Art der
Zeichengenerie-rung unterscheidet man Typenraddrucker mit einem festen Zeichenvorrat und
Matrixdrucker, die beliebige Zeichen generieren können und dadurch für graphische Ausgaben
geeignet sind. Ebenfalls für Graphikausgaben geeignet sind die relativ teuren Laserdrucker mit
ausgezeichneter Ausgabequalität. Die Programmierung des Druckers erfolgt über das BIOS. Für
Anwendungsprogramme, die sehr intensiv den Drucker nutzen (z.B. MS-Word, MS-Windows),
sind Druckertreiber verfügbar, die alle speziellen Möglichkeiten des Druckers ausnutzen. Zur
gemischten Ausgabe von Text und Graphiken hat man eine spezielle Seitenbeschreibungssprache PostScript (Adobe) entwickelt, die professionelle Druckausgaben zuläßt. Als Drucker
werden hochwertige Geräte eingesetzt, die über einen eigenen Prozessor verfügen, um den hohen
Bearbeitungsaufwand in vertretbarer Zeit zu realisieren. Es gibt auch spezielle
Erweiterungskarten am PC-Bus, die als intelligentes Interface die Ansteuerung des Druckers im
Graphikmodus übernehmen. Durch PostScript wird die Druckausgabe weitgehend unabhängig
vom Ausgabegerät.
An einen PC können mehrere Drucker angeschlossen werden, die z.B. mit verschiedenen
Papiersorten arbeiten.
68. Kommandos, Dateien, Betriebssystem
Die PC-Hardware ist ohne PC-Software nicht zu benutzen. Der Rechner muß zur Ausführung
der gewünschten Aktionen in der Lage sein, auf entsprechende Kommandos zu reagieren. Die
dazu erforderlichen Programme sind in Form von Dateien auf einem Datenträger (und teilweise
im EPROM) abgelegt. Alle grundlegenden Funktionen (Programme) bilden in ihrer Gesamtheit
das PC-Betriebssystem, das die Möglichkeiten der Hardware effektiv ausnutzt und die
Anwendung erleichtert. Beim MS-DOS handelt es sich um ein plattenorientiertes System
(Diskette, Festplatte). Die Reaktionszeiten der externen Speichermedien bestimmen wesentlich
das Gesamtverhalten des Systems.
Eine Beschreibung verfügbarer DOS-Kommandos ist im Abschn. 6 zu finden. Im Abschn. 4
wird die interne DOS-Struktur näher behandelt, und der Abschn. 5 ist dem Dateisystem
gewidmet.
Das Betriebssystem wird als notwendiges Zubehör zum PC mitgeliefert, oder es wird separat
gekauft. Für den PC existieren eine Reihe weiterer Betriebssyteme (z.B. CP/M, XENIX, DOS43
Plus, Concurrent DOS), die jedoch alle nicht die Verbreitung von MS-DOS bzw. PC-DOS
gefunden haben.
Die ersten IBM-PC kamen 1981 mit dem Betriebssystem PC-DOS auf den Markt. PC-DOS
kann als eine spezielle Realisierung von MS-DOS angesehen werden. Die Firma Microsoft
liefert das Betriebssystem MS-DOS für kompatible PC mit den Prozessoren 80x86 bzw. 80x88.
Zwischen den beiden Varianten MS-DOS und PC-DOS gibt es einige kleine Unterschiede, die
jedoch für das Verständnis der Arbeitsweise nicht von Bedeutung sind. PC-DOS berücksichtigt
wesentlich stärker die von IBM gelieferten peripheren Geräte.
Im Laufe der Zeit wurde MS-DOS ständig weiterentwickelt. In der Version 1.0 (1981, IBMPC) war die interne Schnittstellengestaltung sehr stark an dem erfolgreichen 8-Bit-System CP/M
orientiert, um den Übergang zu MS-DOS zu erleichtern. Es gab einige Beschränkungen
(Speichergröße 64 KByte, einseitige Disketten u.ä.), die in der Version 2.0 (1983, IBM-PC/XT)
im wesentlichen behoben waren. Als wichtigste Neuerung ist das an UNIX bzw. XENIX
orientierte hierarchische Dateisystem zu nennen, mit dem auch die Verwaltung umfangreicher
Dateisammlungen auf Diskette und Festplatte möglich wurde. In der Version 3.0 (1984, IBMPC/AT) kamen einige Verbesserungen des Kommandointerpreters und die Erweiterung mit
Netzwerkfunktionen hinzu. Ein Übergang auf Fähigkeiten zum Multi-user- bzw. Multi-taskingBetrieb und die Aufhebung der 640-KByte-Grenze erfolgte jedoch nicht. Die Version 3.3 (1987)
enthielt die Möglichkeit zur Behandlung nationaler Besonderheiten und bildete die Grundlage
für die DOS-Kompatibilitätsbox von OS/2 auf den Systemen der PS/2-Serie von IBM. Auf den
kleinen Modellen der PS/2-Serie wird MS-DOS bzw. PC-DOS auch weiterhin genutzt, da die für
OS/2 nötigen Befehle des 80286 (protected Mode) im 8086-Befehlsvorrat nicht enthalten sind.
Die Entwicklung und Einführung von OS/2 ist nicht so schnell erfolgt, wie ursprünglich
erwartet. Es kam 1988 eine erweiterte Version 4.0 von DOS heraus, die als wichtigste Neuerung
eine graphische Benutzeroberfläche nach dem SAA-Standard (System Applications
Architecture) von IBM enthielt. Ähnlich wie bei anderen Benutzeroberflächen (z.B. GEM,
Windows) ist nun auch eine Bedienung mit der Maus über Menüs möglich. Außerdem sind
folgende Neuerungen enthalten:
- komfortable Systeminstallation für MS-DOS (SELECT)
- Verwaltung von großen Festplatten (Partition größer als 32 MByte)
- Zugriffsoptimierung auf Disketten und Festplatten (BUFFERS)
- Behandlung von Speichererweiterungen (EMS)
- Erweiterung der Länder- und Tastaturunterstützung
- Kommandoerweiterungen und neue Kommandos.
Im folgenden Abschnitt werden noch einige Anmerkungen zur Installation und Benutzung
von MS-DOS gegeben. Die weiteren Abschnitte enthalten dann detaillierte Informationen zur
Arbeitsweise und zur Struktur von MS-DOS.
Der einfachste Weg, mit dem PC und dem Betriebssystem vertraut zu werden, ist die
Benutzung. Durch die relativ einfache Struktur ist die Bedienung leicht zu erlernen.
69. Bildschirmfunktionen
Für das Verständnis der Bildschirmprogrammierung sind einige Begriffe wichtig, die in
diesem Zusammenhang immer wieder auftreten. Folgende Begriffe sollen hier kurz erläutert
werden:
- Controller-Ports
- Bildschirmspeicher, Bildschirmseiten
- Bildschirmmodi
- Attribute, Farbpaletten
44
- Zeichensatz.
Die direkte Steuerung der Bildschirmausgabe über Ports und Bildschirmspeicher ist der
schnellste Weg zur Darstellung. Bei der Programmierung legt man sich aber damit auf eine
bestimmte Hardware fest und ist nicht mehr in der Lage, Programme zwischen unterschiedlich
konfigurierten PC auszutauschen. Entweder muß man den Aufwand treiben, durch
Schnittstellentreiber mehrere Bildschirmtypen zu berücksichtigen, oder, mehrere
Programmversionen anzubieten. Die Hardwareparameter zur direkten Bildschirmsteuerung sind
im technischen Handbuch zum Adapter zu finden.
Der Bildschirmspeicher enthält das Speicherabbild des Bildes. Sowohl der Prozessor als
auch der CRT-Baustein kann zum Speicher zugreifen. Die Darstellung der Daten zu einem
Bildpunkt (Pixel) ist vom eingestellten Bildschirmmodus abhängig. Jeder Adapter kann in
verschiedenen Modi arbeiten. Eine grobe Unterteilung unterscheidet Text- und Graphikmodus.
Der Modus wird durch eine Nummer gekennzeichnet. Im Graphikmodus werden Textzeichen
aus Bildpunkten generiert. Das Punktmuster wird durch den Textfont bestimmt. Der Standardzeichensatz ist im ROM gespeichert. Auf die Tabelle verweist der Adreßinterrupt lFh. Die Tabelle
kann durch eine andere Tabelle im RAM ersetzt werden. Das wird z.B. durch Textsysteme angewendet, die im Graphikmodus arbeiten. Bei kleineren Zeichen lassen sich damit z.B. mehr
Zeilen auf einem Bildschirm unterbringen. Die wichtigsten Modi sind in Tafel 4.6
zusammengestellt. Es ist zu beachten, daß weiterentwickelte Adapter alte Modi meistens mit
erweiterten Möglichkeiten unterstützen. Im Speicher auf den Bildschirmadaptern können in
Abhängigkeit von der Größe des Speichers mehrere Bildschirmabbilder untergebracht sein, die
durch eine Seitennummer identifiziert werden. Der Aufbau einer Seite ist vom eingestellten
Modus abhängig.
70. Gerätebesonderheiten, Dateitypen
Vorraussetzung für die Arbeit mit Daten sind entsprechende Geräte, die Informationen
speichern oder übertragen können. Nach der Art der Behandlung werden im DOS
zeichenorientierte Geräte und blockorientierte Geräte unterschieden. Für zeichenorientierte
Geräte gilt die allgemeine Einschränkung, daß sie nur für sequentiell organisierte Dateien
geeignet sind. Bei diesen Geräten ist die Zeichenbehandlung zumeist mit der Darstellung oder
Übertragung verbunden. Tafel 5.1 gibt eine Übersicht über die allgemein verfügbaren Geräte.
Will man neuentwickelte Geräte in die DOS-Struktur einordnen, so muß eine Zuordnung zu
einer dieser Gruppen erfolgen.
Im Abschn. 2 ist auf die physikalischen Besonderheiten der einzelnen Gerätetypen kurz
eingegangen worden. Aus der Sicht des Betriebssystems bezeichnet man das Gerät oft auch als
physisches Gerät, um einen Unterschied zum logischen Gerät hervorzuheben. Das logische Gerät
gliedert sich voll in die Dateiverwaltung ein. Es sind für die Geräte eindeutige Bezeichner
festgelegt, die im DOS durchgängig verwendet werden. Diese Namen sind reserviert und werden
nur in der festgelegten Bedeutung akzeptiert. Die Datenverwaltung (Dateisystem) arbeitet nur
mit logischen Geräten. Will man besondere Eigenschaften von physischen Geräten ansprechen,
so sind die im Abschn. 4.3 beschriebenen BIOS-Routinen zu nutzen bzw. direkt die
entsprechenden Bausteine über Ports und Adressen zu programmieren.
Tafel 5.1. Gerätetypen (Standardausstattung)
Gerätetypen
Blockorientierte Geräte
Diskette (A:, B:, ...)
Festplatte (C:, D:, ...)
Zeichenorientierte Geräte
Bildschirm (CON)
Tastatur (CON)
Drucker (PRN, LPT1)
45
serielle Schnittstelle (COM1)
Die Schnittstelle zwischen dem Betriebssystem und den Geräten sind Gerätetreiber. Das
sind spezielle Programme, die alle Gerätebesonderheiten kennen und zum Betriebssystem eine
festgelegte Schnittstelle einhalten. Die Konfigurierung des Betriebssystems gestattet die
Einbindung eigener Gerätetreiber (vgl. Abschn. 4.2).
Die Programmierung eigener Gerätetreiber ist eine etwas aufwendige Angelegenheit. Sie
bietet jedoch die Möglichkeit der vollwertigen Eingliederung spezieller Geräte in die Philosophie
des Betriebssystems und damit eine weitgehend geräteunabhängige Programmierung. Für die
Standardgeräte werden alle Gerätetreiber mit dem Betriebssystem ausgeliefert. Zur Einbindung
spezieller blockorientierter Geräte wird ab Version 3.00 ein Treiber DRIVER.SYS ausgeliefert,
bei dem einige Parameter eingestellt werden können. Ab Version 3.30 werden auch für Tastatur
und Bildschirm konfigurierbare Treiberprogramme angeboten. Zur Erleichterung der
Programmierung ist ein Treiberprogrammbeispiel für einen RAM-Disk im Quelltext (Assembler)
auf der Systemdiskette enthalten. Das Programm erläutert die Schnittstellen zum Betriebssystem.
Die wichtigsten Steuerblöcke und Funktionen für die Treiberprogrammierung sollen hier
aufgeführt und kurz erläutert werden.
71. Datensicherung, Datenschutz
Die im Abschn. 6 behandelten Kommandos gelten meistens für Datenträger bzw. Dateien,
die den Anforderungen von DOS entsprechen. Zwei wichtige Gesichtspunkte lassen es sinnvoll
erscheinen, von diesen Konventionen abzuweichen. Das sind
- Fragen der Datensicherung
(Schutz gegen Verlust durch Löschen, Gerätefehler, Viren)
- Fragen des Kopierschutzes
(Schutz gegen unerlaubtes Lesen, Kopieren u.a.).
In diesem Abschnitt sollen einige Probleme und mögliche Lösungsansätze diskutiert werden,
ohne den Fragenkomplex umfassend zu behandeln.
Die Datensicherung wird im wesentlichen noch immer durch die Anfertigung von Kopien
gewährleistet. Im DOS sind einerseits einige Möglichkeiten vorgesehen, die Datensicherheit zu
gewährleisten. Das sind z.B. die Möglichkeiten, mit den Kopierkommandos COPY, XCOPY,
DISKCOPY, BACKUP und RESTORE Sicherheitskopien anzufertigen und mit COMP und
DISKCOMP zu vergleichen. Andererseits existieren eine Reihe von Zusatzprogrammen, die z.T.
wesenlich schneller arbeiten und komfortabler in der Bedienung sind (z.B. FASTBACK,
FRESTORE, TURBO-BACKUP, SAFE-GUARD). Für die Sicherung ganzer Festplatten bieten
sich die "Tape Streamer" an, die wie beim Magnetband eine Kopie der Festplatte auf
Magnetkassette erstellen. Die Schnelligkeit wird bei solchen Spezialkopierprogrammen durch
Berücksichtigung spezieller Hardwareeigenschaften (z.B. direkte Ansteuerung des DMABausteins oder durch Lesen ganzer Sektorfolgen erreicht, wobei keine Rücksicht auf die
Dateistruktur genommen wird. Die Anpassung an die Hardwarebedingungen erfolgt meistens
durch ein spezielles Installationsprogramm. Bei der Beantwortung der während der Installation
gestellten Fragen sollte man sehr gewissenhaft sein, um Datenverlust oder Unvollständigkeit zu
vermeiden. Zum Zugriff auf die Sektoren können sehr gut auch die DOS-Funktionen zum
absoluten Lesen und Schreiben von Sektoren (Int 25h und 26h) benutzt werden.
Ein weiteres Verfahren, das oft bei der Datensicherung eingesetzt wird, ist die
Datenkompression. Dabei wird durch geeignete Textmanipulation (Zusammenfassen von
gleichen Zeichen oder Ausnutzung von Buchstabenhäufigkeiten u.a.) eine starke Verdichtung
der Dateien erreicht. Das ist besonders wichtig, wenn Daten zur Archivierung abgelegt werden.
Die Komprimierung ist bei manchen Programmen relativ zeitaufwendig und sollte nur gemacht
46
werden, wenn die Daten nicht ständig benötigt werden. Programme zur Datenkompression sind
z.B. ARC, PKARC u.a., die weitgehend das gleiche Verfahren verwenden.
Der Datenschutz ist mit der Datensicherung eng verwandt, wird aber aus einem ganz
anderen Grund angewendet. So ist z.B. bei Personaldaten, Geschäftsdaten u.ä. der Zugriff nur
ganz bestimmten Personen vorbehalten. Auch Softwarefirmen versuchen, durch
Kopierschutzverfahren das unerlaubte Kopieren ihrer Software zu verhindern. Es haben sich
verschiedene Methoden herausgebildet, um den unerlaubten Zugriff zu verhindern. Einige seien
hier genannt:
- Verschlüsselung der Daten mit einem Codierverfahren
- Verstecken von Verzeichnissen oder Dateien (Dateiattribut)
- eigene Zugriffsverfahren zu Clustern
- Einschränkung der Zugriffsberechtigung durch eigene Kommandointerpreter
- falsche Sektorkennungen beim Formatieren
- Fehlersektoren an festgelegten Stellen
- Installationszähler (z.B. max. eine Installation)
- Verwendung einer Masterdiskette mit Zugriffsschlüssel
- Einsatz von Spezialhardware z.B. am seriellen Port.
Es gibt hier viele verschiedene Möglichkeiten. Der sicherste Schutz ist der Verschluß des
Rechners, sicher nicht immer der für die Arbeit effektivste. Alle Verfahren, die den Zugriff auf
Festplatten durch DOS-Standards realisieren, lassen sich durch Starten eines Systems von
Diskette umgehen. Es ist entweder der Urlader auf dem ROM zu verändern oder das Laufwerk
abzubauen. Einen sicheren Schutz bieten auch die auswechselbaren Festplatteneinsätze, die man
nach der Rechnernutzung mitnehmen kann. Zunehmend werden auch Speicherkapazität und
Zugriffsgeschwindigkeit von Mikrodisketten erhöht, die damit eine brauchbare Ablage von
vertraulichen Informationen sichern.
Einige Sicherheit gegen Raubkopien ist durch die Verwendung von Spezialhardware
gegeben; die Daten sind aber ohne Verschlüsselung von jedem lesbar. Bei auswechselbaren
Festplatten dürfte hier kein Problem mehr bestehen.
Der Kopierschutz von Software läßt sich meistens auf relativ einfache Weise entfernen bzw.
umgehen. Das Kopieren ganzer Disketten in der Originalstruktur (mit fehlerhaften Sektoren,
SpezialSektoren u.a.) ist z.B. mit solchen Programmen wie COPYIIPC, COPYWRIT oder durch
eigene Programme mit BIOS-Funktionen sehr leicht möglich. Große Softwarehäuser liefern
heute vielfach ihre Software schon ohne Kopierschutz aus. Ein guter Service, der nur für
registrierte Kunden geleistet wird, und niedrige Preise durch hohe Verkaufszahlen sind eine gute
Alternative. Auf jeden Fall sollte man die Installationsvorschriften genau beachten.
Besondere Aufmerksamkeit ist dem Datenschutz und der Datensicherheit bei der
Anwendung von Rechnernetzen zu widmen. Hier helfen meistens gutdurchdachte
Zugriffsschlüssel (password), da der Rechnerzugang z.B. nur über die Schnittstellen zugelassen
werden kann und ein Serverprogramm in einer Ebene oberhalb des Anwendungsprogramms die
Anforderungen bedient.
Eine durch DOS bereits vorbereitete Form des Schutzes ist durch die Anwendung der
AUTOEXEC-Datei gegeben. Wird dort eine spezielle Anwendungsumgebung (z.B. ein
integriertes Programmpaket für die Büroautomatisierung) bereits zu Beginn geladen, so lassen
sich alle sonstigen Zugriffe zu Dateien verhindern. Es ist dabei natürlich auch die
Programmunterbrechung (Ctrl-C) zu sperren.
47
72. Textverarbeitung
Eine klassische Anwendung der PC-Technik ist die Textverarbeitung. Aus einfachen
Editoren für Programme und Texte haben sich sehr leistungsfähige Textverarbeitungssysteme
herausgebildet, die heute bereits die Leistung professioneller Satzsysteme erreichen (desktop
Publishing). Neben der Erfasssung und Verwaltung von Texteinheiten wird zunehmend auch das
Mischen von Text und Graphik möglich.
Einige wichtige Begriffe, die im Zusammenhang mit Textsystemen auftreten, sollen hier kurz
erläutert werden. Man unterscheidet zeichenorientierte Textverarbeitung (Bildschirm im
Textmodus) und graphikorientierte Textverarbeitung (Bildschirm im Graphikmodus).
Einfache Textsysteme arbeiten meist im Textmodus. Die Darstellung der Texte erfolgt auch auf
XT-Systemen mit ausreichender Geschwindigkeit. Ein klassischer Vertreter dieser Gruppe ist
das Programm WordStar. Spezielle Effekte der Textdarstellung werden durch Befehle im Text
gesteuert und nur teilweise auf dem Bildschirm sichtbar. Bei der Gestaltung komplizierter Texte
ist es manchmal sehr wichtig, die Druckform direkt auf dem Bildschirm anzuzeigen. Dieses
Prinzip heißt WYSIWYG (what you see is what you get). Obwohl auch WordStar diese
Eigenschaft für sich beansprucht, ist eine echte Anzeige nur mit einem Bildschirm im
Graphikmodus möglich. Die Bildschirmausgabe ist dabei jedoch erheblich langsamer und setzt
für eine zufriedenstellende Arbeit eigentlich einen PC/AT bzw. einen PC/XT mit erhöhter
Taktfrequenz voraus. Textsysteme, bei denen im Graphikmodus gearbeitet wird, sind z.B. MSWORD, CHIWRITER und die Textkomponenten von FrameWork II, Open Access II. Wichtig
für die Druckausgabe ist die Steuerung des Seitenformats. Die Ausgabe einfacher Texte ist
meistens problemlos und unterscheidet sich nicht sonderlich von einem normalen Dateiausdruck.
In den Textsystemen sind dazu Standardwerte eingestellt, die evtl. an einen speziellen Drucker
anzupassen sind. Vielfach wird die Druckeranpassung durch spezielle Druckertreiber realisiert,
die die Besonderheiten des Druckers voll ausnutzen. Die Auswahl des Treibers erfolgt vielfach
über den Druckernamen. Wenn ein Druckertyp nicht unterstützt wird, so ist ein kompatibler Typ
auszuwählen bzw. ein eigener Druckertreiber zu konfigurieren oder zu schreiben. Sehr oft sind
Drucker kompatibel zu EPSON-Druckern oder realisieren eine Ausgabe analog zum Graphics
Printer von IBM.
Als Beispiele wurden in diesem Abschnitt die Programme WordStar (Micropro) und MSWord (Microsoft) ausgewählt. Es existieren sehr viele Textverarbeitungssysteme, die im
Funktionumfang ähnlich leistungsfähig sind, auf Spezialgebieten sogar manchmal wesentlich
besser. Einige Beispiele sind im Abschn. 3.4 aufgeführt.
73. MS-Word
Das Programm WORD (Version 5) von Microsoft ist ein ausgereiftes Textsystem, das hohen
Anforderungen gerecht wird. Es kann im Textmodus (ablauffähig auf jedem Bildschirmtyp) und
im Graphikmodus betrieben werden. Im Graphikmodus werden alle Textbesonderheiten
(Schriftart, Größe, Abstand u.a.) direkt am Bildschirm dargestellt. Im Textmodus werden
Auszeichnungen, z.B. durch Intensivdarstellung für Fettdruck, kenntlich gemacht. Für den
Entwurf größerer Texte besteht die Möglichkeit, sich eine Gliederung anzufertigen und zu
verwalten. Sehr viele Kommandos sind für Zeichen, Absatz, Bereich und Druckgestaltung
vorhanden. Durch Makros lassen sich häufig wiederkehrende Eingabefolgen katalogisieren. Eine
Einführung in die Arbeit mit WORD würde den Rahmen dieses Kapitels sprengen. Zur
Einarbeitung ist entweder das Handbuch zu studieren, das Lernprogramm zu aktivieren oder
schrittweise die HILFE-Funktion aus dem Befehlsmenü als Unterstützung beim Schreiben
anzuwenden.
Durch WORD wird die Arbeit mit einer Maus sehr gut unterstützt. Besonders zur
Menüauswahl und Ausführung von Befehlen (z.B. Markierung von Textbereichen) ist die
Mausanwendung zu empfehlen.
48
Für umfangreiche Texte ist die Möglichkeit zur gleichzeitigen Bearbeitung von bis zu sieben
Fenstern sehr hilfreich. Mit der Funktionstaste <F1> kann zwischen den Fenstern gewählt
werden. Mehrere Spalten sind problemlos möglich. Die Druckausgabe ist sowohl im
Direktmodus als auch im Hintergrund möglich. Durch eine umfangreiche Treiberbibliothek sind
sehr viele Druckertypen mit WORD nutzbar. Die wichtigsten Funktionen von Word sind
- Druckformate für Zeichen, Absätze, Bereiche, Verzeichnisse
- Dateimanager zur Verwaltung von Textdateien
- Kopf- und Fußnotenverwaltung
- Überarbeitungsfunktion zur Kennzeichnung von Korrekturen
- Gliederungs- und Inhaltsfunktion
- Unterstützung für Spalten, Tabellen und Formulare
- Einfügen von Kalkulationstabellen (z.B. Multiplan, Excel)
- Einfügung von Graphiken in diversen Formaten
- Wortzählung
- Serienbrieffunktion
- Seitenwechselanzeige
- Darstellung im Text- und Graphikmodus
- Zoomfunktion (Erweiterung eines Fensters auf Bildschirmgröße)
- Darstellung von Linien und Einrahmungen
- Rechnerfunktionen
- Wörterbuch und Trennhilfe
- Aufzeichnung von Tastaturmakros
- graphische Anzeige der Druckseiten (Layout).
Die Arbeit mit Word erfordert einige Übung, um mit dem umfangreichen Menüsystem
vertraut zu werden. Alle Menüpunkte werden durch aktuelle Hilfetexte erläutert. Auf Wunsch
kann auch in die entsprechende Lektion des Lernsystems gesprungen werden. Grundsätzlich ist
bei allen Textmanipulationen zuerst der betreffende Textabschnitt zu markieren und dann die
Funktion aufzurufen. Word eignet sich auch zur Bearbeitung umfangreicher Texte, wobei auch
das Suchen im Text sehr einfach über die Gliederung oder durch Zeichensuche durchgeführt
werden kann. Die häufig genutzten Funktionen lassen sich auch durch einen Tastenschlüssel
ohne Nutzung des Menüs aufrufen. Die Hilfefunktion ruft man mit <Esc-H> bzw. durch
Anklicken des "?" in der untersten Bildschirmzeile.
Für WINDOWS existiert eine spezielle Word-Version (Word for Windows), in der im
Graphikmodus das fertige Druckbild sofort zu sehen ist. Die Menüstruktur ist der in WINDOWS
üblichen Form angepaßt.
74. WordStar
WordStar (WS) ist ein relativ einfaches Textsystem, das zur Erfassung und Verwaltung von
Programmtexten und Dokumententexten ausgelegt ist. Die Steuerung erfolgt über Kommandos,
die in einer Menüstruktur zur Verfügung stehen bzw. als Punktbefehle in den Text eingefügt
werden. Den hierarchischen Menüaufbau sollte man sich beim Lernen der Steuerkommandos
klarmachen, weil sonst die Tastenbelegung für die Befehlskodes etwas umständlich erscheint. Im
Anhang ist eine Tabelle mit allen Steuerbefehlen von WordStar enthalten. Hier sollen nur die
einzelnen Funktionen kurz erläutert werden. Die Darstellung orientiert sich an dem
Leistungsumfang der Version 4. Mit neueren Versionen wird der Funktionsumfang ständig
erweitert, wobei die grundlegende Form der Textbearbeitung beibehalten wird. Die wesentlichen
Funktionen von WordStar sind
- Installation aller Programmfunktionen
49
- Druckeransteuerung über Druckertreiber
- Bildschirmdarstellung mit eingeschränktem WYSIWYG
- Menüunterstützung und Hilfsfunktionen
- Nutzung des Dateisystems von MS-DOS 2.0 (Gerät, Pfad, Datei)
- Zugriff zum Kommandointerpreter
- komfortable Textbehandlung (Zeichen, Wörter, Absätze, Blöcke)
- umfangreiche Möglichkeiten zur Seitengestaltung
- Unterstützung der Silbentrennung und Wortkorrektur
- Formatierung
- Definition von Makros
- Rechnerfunktion
- Verwendung von Sonderzeichen (z.B. für Liniengraphik)
- Serienbrieffunktion (MailMerge)
- Zusatzpakete (StarAddress, WordFinder, StarPublisher).
Die Installation erfolgt mit Hilfe der speziellen Programme WINSTALL bzw. WSCHANGE,
die durch Menüs leicht zu bedienen sind. Wichtig für die Einarbeitung ist die Installation des
richtigen Bildschirmmodus, da sonst keine Anzeigen von WS erfolgen können. Die
Druckerinstallation kann zu einem späteren Zeitpunkt erfolgen, da alle Druckertreiber in einer
großen Datei zusammengefaßt sind und beim Ausdrucken eine Auswahl erfolgen kann.
Der Start von WordStar erfolgt durch die Eingabe von WS, worauf sich WS mit dem Startmenü meldet. Hier sind grundlegende Funktionen zur Dateiverwaltung zusammengefaßt. Die
Funktionen Kopieren, Löschen, Umbenennen, Laufwerk wechseln und Programm aufrufen sind
ohne weitere Erläuterungen verständlich. Von WS werden die erforderlichen Informationen
angefordert. Die Unterbrechung einer Funktion kann immer mit ^U (Ctrl-U) erfolgen. Die
weiteren Menüpunkte bringen ein weiteres Menü zur Anzeige. Die Anzeige der Menüs läßt sich
durch Auswahl einer Hilfsstufe im Hilfsmenü (^J) an die Wünsche des Nutzers anpassen.
Wichtig ist die Unterscheidung zur Bearbeitung einer Textdatei oder einer Programmdatei.
Während Programmdateien durch zeilenorientierte Bearbeitung behandelt werden, wird bei
Textdateien der volle Funktionsumfang von WS genutzt. Die Speicherung von Textdateien
erfolgt mit einer eigenen internen Zeichendarstellung. Die Verwaltung von Texten und
Programmen erfolgt unter Steuerung des Hauptmenüs.
Die Steuerung der aktuellen Position im Text erfolgt durch einen Cursor, der mit den Cursorkommandos (Pfeiltasten oder spezielle Ctrl-Kombinationen) bewegt wird. Die Befehle im
Hauptmenü sind zu Gruppen zusammengefaßt. Neben Cursorkommandos existieren
Kommandos zum Bewegen des Textfensters auf dem Bildschirm, zum Löschen von
Texteinheiten, zum Aufruf der Hilfsfunktion und zum Aufruf weiterer Menüs (Untermenü). Alle
Befehle werden unter Verwendung der Ctrl-Taste (in den Beschreibungen durch ^
gekennzeichnet) eingegeben. Einige Funktionen lassen sich den Funktionstasten zuordnen, deren
Bedeutung in den beiden untersten Zeilen auf dem Bildschirm angezeigt wird. Das Untermenü
Bildschirmdarstellung (^O) stellt Befehle zur Textdarstellung bereit. Die Kommandos sind
selbsterklärend. Das Kommando ^OD auf Hauptmenüebene wird benutzt, um die für den
Ausdruck bestimmten Kommandos anzuzeigen oder auszublenden. Das ist manchmal wichtig,
um das aktuelle Ausdruckformat festzustellen. Für die Erfassung von Tabellen sollte der
Blocksatz und der Wortumbruch ausgeschaltet werden. Bei allen Bildschirmkommandos ist zu
beachten, daß sie nur für die aktuelle Anzeige dienen. Feste Einstellungen sind mit den
Punktkommandos im Text zu erreichen.
Wichtig für die Dateiverwaltung im Editiermodus ist das Menü der Block- und Dateibefehle
(^K). Durch spezielle Kommandos lassen sich Textbereiche als Block kennzeichnen, der dann
als Ganzes einer Operation unterworfen wird (z.B. Verschieben, Kopieren). Die Verbindung zum
DOS wird in diesem Menü hergestellt (Dateiverwaltung, Aufruf des Kommandointerpreters,
Drucken). Die Druckersteuerzeichen (^P) werden durch ein eigenes Menü unterstützt. Der
50
Druckvorgang wird gestartet entweder aus dem Startmenü, aus der Datei (Drucken erfolgt
parallel zum Editieren!) oder vom Bildschirm. Als Ausgabemedium kann entweder der Drucker
oder eine Datei gewählt werden. Eine spezielle Druckfunktion ist das verschachtelte Drucken
(Mischdruck, Serienbrieffunktion, MailMerge). Dabei werden Informationen aus mehreren
Dateien miteinander gemischt (vgl. Dokumentation).
Die unter TOGGLES zusammengefaßten Kommandos schalten einen Status um. Der auszuzeichnende Text wird durch entsprechende Kennungen eingeklammert.
Einige Befehle zur Beschleunigung der Bearbeitung sind im Schnellmenü (^Q) zusammengefaßt.
Die ESC-Taste führt zum Menü der Makros, mit dem sich Folgen von Kommandos zu einem
Makro zusammenfassen lassen. In diesem Menü wird auch eine einfache Rechnerfunktion
bereitgestellt.
Für die Ausgabe auf den Drucker existieren eine Reihe von Kommandos, die den Satzspiegel
bestimmen. Mit den Standardeinstellungen kann man einfache Texte sinnvoll gestalten. Für
spezielle Anforderungen muß die Seitengestaltung beschrieben werden. Die für diese
Festlegungen vorhandenen Punktbefehle sind im Anhang in einer Tabelle zu WordStar zu
finden. Mit den Punktbefehlen wird eine Funktion bis zur Neufestlegung eingestellt. Da diese
Befehle im Text stehen, sind sie auch beim erneuten Bearbeiten einer Datei wieder gültig.
Die Arbeit mit WordStar ist insgesamt relativ problemlos und hat dazu geführt, daß viele
Nutzer bei diesem Programm geblieben sind, obwohl wesentlich leistungsfähigere Textsysteme
existieren. Auch das Programm WordStar 2000 der gleichen Firma konnte sich dagegen nicht
richtig durchsetzen. Das Textformat von WS wird von vielen Programmen als Eingabeformat
akzeptiert. Es existieren auch Konvertierungsprogramme (z.B. WSCONVRT), um WS-Dateien
in andere Formate umzusetzen. Für den Nutzer, der mit Compilern der Firma Borland (USA)
arbeitet (z.B. Turbo-Pascal), ergibt sich außerdem der Vorteil gleicher Editorkommandos wie bei
WordStar.
51
Wörterbuch
-Adie Anlage – iekārta, ierīce – устройство, установка
der Antrieb – piedziņa – привод
die Aufbewahrung – glabāšana – хранение
die Abarbeitung – apstrāde, apstrādāšana – обработка
die Anpassung – pielāgošana – подгонка
der Anschluss – pieslēgšana – подключение, подсоединение
der Anwender – datorprogrammas lietotājs – пользователь
die Anwendung – lietošana, izlietošana –
применение, употребление, использование
anwenden – lietot, izlietot – применять, употреблять, использовать
abhängen (von D) – būt atkarīgam – зависеть (от кого-либо, от чего-либо)
adaptieren – adaptēt, piemērot, pielāgot – приспосабливать, адаптировать
die Ausgabe – (datu) izvads – вывод (данных)
die Änderung – grozīšana, pārgrozība, grozījums – изменение, перемена
ändern – grozīt, pārgrozīt, pārveidot, mainīt –
менять, изменить, переменить, переделывать
ausstatten – apgādāt – оборудовать, оснащать, снабжать
abnehmbar – noņemams – съёмный
die Achse – ass – ось
die Ausführung – izpildīšana, realizēšana, veikšana – выполнение, исполнение
52
aufbessern – uzlabot – поправить, улучшать
aufhören – izbeigt (pārtraukt) – переставать, прекращать
die Aufladung – iekraušana – заряд
aufsaugen – uzsūkt, absorbēt – впитывать, всасывать, поглощать
-Bder Baustein – modulis – модуль, стандартный блок
die Belastung – slodze – нагрузка
die Bedienung – apkalpošana – обслуживание
bedienen – apkalpot – обслуживать
die Bedingung – noteikums, nosacījums – условие, предпосылка
der Beschleuniger – paātrinātājs – ускоритель
der Bildschirm – monitors – монитор
der Baustein – elements – элемент, компонент
der Bedarf (an D) – vajadzība, prasība, pieprasījums –
потребность, спрос, надобность, нужда (в чем-либо)
der Befehlsschlüssel – pavēles kods – код команды
der Befehlsregister – pavēles reģistrs – регистр команд
das Bit – bits – бит, двоичная единица (информации)
beheben – novērst, novērst grūtības –
устронять, ликвидировать, преодолевать (трудности)
berücksichtigen – ņemt vērā, ievērot – принимать во внимание, учитывать
der Bereich – nozare, sfēra, daipazons – область, сфера, диапазон
die Beschleunigung – paātrinājums – ускорение
53
der Beschleuniger – paātrinātājs – ускоритель
die Batterie – baterija – батарея
das Befehlswort – pavēles vārds – командное слово
bestätigen – apstiprināt, apliecināt – заверять, подтверждать, удостоверять
die Bestätigung – apstiprināšana, apstiprinājums, apliecināšana, apliecinājims –
подтверждение, удостоверение
-Ddie Dimension – izmērs, dimensija – размер, размерность
der Datenaustausch – datu apmaiņa – обмен данными
die Datenerfassung – datu apkopojums, apkopošana – сбор, регистрация данных
die Datei – datu bāze – база данных, файл
der Datenträger – informācijas nesējs – носитель данных (информации)
der Datenspeicher – atmiņa, atmiņas iekārta – память (ЭВМ)
die Datenverarbeitung – datu apstrāde – обработка данных
die Daten – dati, informācija – данные
die Datenübertragung – datu pārraide – передача данных
-Edie Einschaltung – ieslēgšana – включение
exakt – precīzs – точный
enthalten – saturēt – содержать
die Entscheidung – izlemšana, izšķiršana – решение
eine Entscheidung treffen – piņemt lēmumu – принимать решение
54
die Einführung – ievads – ввод
die Einschränkung – ierobežošana – ограничение
die Eingabe – (datu) ievade – ввод (данных)
entsprechen – atbilst, saskanēt – соответствовать, совпадать
erleichtern – atvieglināt, atvieglot – облегчать
die Erleichterung – atvieglināšana, atvieglošna – облегчение
einschreiben – ierakstīt, imatrikulēt, reģistrēt – записывать, вписывать
die Ergänzung – papildināšana, papildinājums – дополнение, добавление
eintragen – ierakstīt (sarakstos), reģistrēt – вносить (в список), регистрировать
erweitern – paplašināt – расширять
die Erweiterung – paplašināšana – расширение
das Ergebnis – rezultāts – результат
erregen – ierosināt – возбуждать
einstellen – iestādīt, nostādīt, regulēt –
устанавливать, настраивать, регулировать
die EDV (elektronische Datenverarbeitung) – elektroniskā datu apstrāde –
электронная обработка данных
die Eigenschaft – īpašība – свойство, качество
die Empfindlichkeit – jūtīgums – чувствительность
erzeugen – ražot – производить, выпускать, изготовлять
-Fdie Frequenz – frekvence – частота
flexibel – lokans – гибкий
55
die Flexibilität – lokanība – гибкость
das Flipflop – trigers – триггер
die Frequenzselektion –frekvenču selekcija – частотная селекция
der Fehler – kļūda – погрешность
absoluter Fehler – absolūtā kļūda – абсолютная погрешность
feststellen – konstatēt, noteikt – констатировать, устанавливать, определять
die Festplatte – cietais disks – жёсткий диск
die Festigkeit – stiprība, izturība – прочность, крепкость
die Folge – sekas, rezultāts – следствие, последствие, результат
-Gder Gebrauch – lietošana – применение, употребление
gebrauchen – lietot – применять, употреблять
das Gehäuse – korpuss – корпус
die Genauigkeit – precizitāte – точность
gestatten – atļaut – позволять, разрешать
der Gerätetreiber – draiveris – драйвер
die Geschwindigkeit – atrums – скорость
der Gleichrichter – taisngriezis – выпрямитель
die Größe – lielums – величина, размер, параметр
gewährleisten – galvot, garantēt – обеспечивать, гарантировать
-Hder Hinweis – aizrādījums, norādījums – указание, ссылка
56
hinweisen – rādīt, norādīt, dot norādījumu – указывать, ссылаться на что-либо
-Idie Inbetriebnahme – nodošana ekspluatācijā – ввод в эксплуатацию
intern – iekšējs – внутренний
irreversibel – neatgriezenisks – необратимый
der Impuls – impulss – импульс
-Kdas Kernstück – kodols – ядро, основа
die Kapazität – kapacitāte – производственная мощность
die Kopplung – savienojums – соединение
die Korrelation – korelācija – корреляция, взаимосвязь
komplett – pilns, pilnīgs – полный, комплектный
konsequent – konsekvents – последовательный
konventionell – konvencionāls – общепринятый, обычный, традиционный
-Ldie Lieferung – piegāde – доставка, поставка
das Laufwerk – dzineklis – движитель, ходовая часть
die Ladung – lādiņš – заряд, зарядка
lateral – horizontāls – горизонтальный (поверхности кристалла ИС)
löschen – dzēst – стирать
57
-Mmelden – paziņot, ziņot, pieteikt – сообщать, извещать, уведомлять
messen – mērīt, nomērīt – мерить, измерять
der Modus – režīms – режим
die Möglichkeit (-en) – iespēja – возможность
die Meldung (-en) – ziņojums, paziņojums – сообщение, объявление
die Maus – datorpele – мышка
-Nder Nutzer – lietotājs, izmantotājs – пользователь
die Nutzung – lietošana, izmantošana – пользование, использование
das Niveau – līmenis – уровень
-Ppräzisieren – precizēt – уточнять
die Platte – plāksne, plātne – пластина
-Rreversibel – atgriezenisks – обратимый
die Regelung – regulēšana (automātiskā regulēšana) –
регулирование (автоматическое)
die Reihenfolge – secība, intervāls – интервал, последовательность
58
-Sder Schritt – solis – шаг
der Speicher – atmiņa, atmiņas iekārta – память, запоминающее устройство
der Speicherschutz – atmiņas kodēšana – защита памяти
speichern – uzkrāt atmiņā, akumulēt –
накапливать, собирать, хранить, аккумулировать
die Säure – skābe – кислота
die Schaltung – shēma, slēgums, ieslēgšana –
схема, включение, соединение, переключение
die Schranke – barjera, iežogs – преграда, препятствие
die Störung – bojājums, defekts, traucējums –
повреждение, неисправность, сбой, помеха
die Steuerung – stūrēšāna, vadīšana – управление
der Signalausgang – signāla izeja – выход сигнала
die Spur – pēda, skaņas celiņš – след, звуковая дорожка
-Tdie Tastatur – tastatūra – клавиатура, тастатура
die Toleranz – neprecizitāte, novirze, atvēziens, elongācija, pielaide, tolerance –
неточность, отклонение, допуск, разброс
-Uder Umfang – apjoms, apmērs – объём, размер
die Unterstützung – palīdzība, atbalstīšana – поддержка, помощь
59
der Unterschied – starpība, izšķirība – разница, различие
der Übergang – pāreja – переход
die Unterteilung – iedalījums, sadalījums – деление, подразделение
umschalten – pārslēgt – переключать
der Umschalter – pārslēdzējs – переключатель
die Umsetzung – pārveidošana, transformācija, transformēšana – преобразование
unterbringen – novietot, ievietot – размещать, помещать
die Umdrehung – apgriešana – оборот
umdrehen – apgriezt – вращать, поворачивать
-Vdie Verwendung – izlietošana, lietošana, izmantošana –
применение, употребление, использование
die Voraussetzung – pieņēmums, priekšnoteikums, priekšnosacījums –
предпосылка, условие
die Vereinfachung – vienkāršošana, vienkāršojums – упрощение
vereinfachen – vienkāršot – упрощать
der Verbrauch – patēriņš – расход, потребление
das Verhältnis – attiecība – отношение, соотношение
die Verifikation – pārbaude, tests – проверка, тест, верификация
die Verknüpfung – saistīšana, sasaistīšana –
соединение, скрепление, связывание
verzögern – novilcināt – задерживать
die Verzögerung – novilcināšana, novilcināšanās – задержка
60
der Vorteil – labums, priekšrocība –
польза, выгода, преимущество, достоинство
der Vorschrift – priekšraksts, pavēle, rīkojums –
предписание, положение, инструкция
- Wdie Wahl – izvēle – выбор
der Wert – vērtība – величина, значение
die Wirkung – iedarbība, iespaids, ietekme, efekts, rezultāts, sekas –
воздействие, влияние, действие, следствие, результат, эффект
die Wartung – apkalpošana, apkope, kopšana –
(техническое) обслуживание, уход, профилактика
wirksam – iedarbīgs, efektīvs – эффективный
- Zder Zustand – stāvoklis – состояние, положение
61
Quellenverzeichnis
1. Joachim Hübener, „Technische Informatik”, Hübener MS-DOS Neu mit Version 4,
Verlag Technik GmbH, Berlin, 1990.
2. Reiner Hopfer, „Informationsverarbeitung mit PASKAL”,
Verlag Technik GmbH, Berlin, 1990.
3. Internetquelle.
4. А.Мойсейчук, „Современный немецкий язык”, Минск, „Вышэйшая школа”, 1997
62
Herunterladen