Software

Christian Zahler

Software ist der Sammelbegriff für alle Programme und Programmteile. In diesem Kapitel soll ein kurzer Überblick über fertige Softwareprodukte gegeben werden, besonders über solche, die einen breiten Anwenderkreis ansprechen.

Betriebssysteme – Grundlagen

Unter einem Betriebssystem versteht man eine Programmsammlung, mit deren Hilfe die Bedienung und der Betrieb des Rech­ners erst möglich gemacht werden.

Die Aufgaben eines Betriebssystems sind vielfältig: Ein Betriebssystem soll die Daten auf den Speichermedien verwalten, eine Schnittstelle zum Benutzer bieten und die Programmausführung organisieren. Bei Netzwerken sorgt es auch für die Zutrittskontrolle und die Kommunikation zwischen den einzelnen Geräten.

Für die Erstellung eines durchschnittlichen Betriebssystems ist eine Arbeitszeit von ca. 50 Personenjahren erforderlich.

Historischer Rückblick

Steckbretter: Ganz zu Beginn gab es nur „Steckbretter“, bei denen das Setzen einer Brücke (das Schließen eines Kontaktes) logisch 1 bedeutete. Alle Maschinenbefehle, aus denen ein Programm bestand, mussten zunächst gesteckt werden. Durch das Auslösen eines Resets arbeitete der Computer dann die gesteckten Befehle ab und erzeugte eine entsprechende Ausgabe am Drucker.

Closed Shop-Betrieb: Die umständlichen Steckbretter wurden um 1960 durch Lochkarten abgelöst. Für den Einlesevorgang gab es so genannte „Laderprogramme“, die das auf Karten gestanzte Programm in den Speicher des Rechners einlasen und ausführten. Diese Programme kann man als erste Vorläufer der heutigen Betriebssysteme ansehen.

Der Anwender musste also sein Programm zunächst (meist in Fortran oder Assembler) schreiben, Lochkarten stanzen und zum Operator bringen. Dieser übernahm dann die Eingabe des Programms, die Ausgabe wurde wieder ausgedruckt und dem Anwender zurückgegeben. Man kann sich vorstellen, wie lang die Wartezeiten und wie schlecht die Rechnerauslastung damals waren (v.a. wenn man einen Fehler im Programm hatte und die ganze Prozedur wiederholen musste!).

Batch-Betrieb: Die Programme wurden mit Hilfe eines zweiten, kleineren Rechners über einen Kartenleser eingelesen und auf Magnetband gespeichert. Dieses wurde vom Operator an der Bandstation des Großrechners montiert. Das Batch-Betriebssystem hatte die Aufgabe, die Jobs vom Band zu lesen und auszuführen. Hier sieht man bereits einige wichtige Eigenschaften heutiger Betriebssysteme: Organisation der Eingabe/Ausgabe von Daten.

Multiprogramming, Timesharing-Be­triebs­systeme: Eine weitere Verbesserung wurde dadurch erreicht, dass der Prozessor (etwa während langwieriger I/O-Operationen) andere Programme zwischendurch bearbeiten konnte. Damit konnte die Rechnerauslastung wesentlich gesteigert werden. Etwa zu dieser Zeit wurden auch die Lochkarten durch Terminals (Bildschirm + Tastatur) ersetzt.

Unix: 1969 wurde von Ken Thompson (Bell-Laboratorys, USA) ein neues Betriebssystem (und mit Kernighan/Ritchie zusammen die Programmiersprache C) entwickelt, das sich durch Hardware-Un­ab­hängigkeit auszeichnete. Dieses System ist bis heute im Einsatz bei Großrechnern. Ein Problem stellt heute allerdings die Versionsvielfalt dar (AIX von IBM, ULTRIX, SINIX, HP-UX, SCO-Unix usw.), die von den Standardisierungsorgansiationen IEEE und ANSI vereinheitlicht werden soll („POSIX-Standard“). Die Europäer haben eigene Unix-Standards unter der Bezeichnung X/Open entwickelt.

PC-Zeitalter: In den frühen 80er-Jahren war CP/M („Control Program for Micro­computers“) das Standard-Betriebssystem für Kleincomputer (8-bit-Prozessoren), z.B. den bekannten Commodore 64-Heim­computer (Bekannt war auch GEOS als Betriebssystem mit einer grafischen Oberfläche!) Noch lange Zeit später wurde es – zusammen mit dem grafischen Bedienungssystem GEM – unter dem Namen „TOS“ (Tramiel Disk Operating System) bei ATARI-Computern verwendet. Von Bill Gates und seiner Firma Microsoft wurde es für die 8086-Prozessoren adaptiert und unter dem Namen „MS-DOS“ vermarktet.

Aufgaben eines Betriebssystems

  • Device Support: Unterstützung der Peripherie, z.B. Kopieren, Löschen von Daten etc.
  • Resource-Allocation: Wo befindet sich der Compiler? etc.
  • File Management: Verwaltung von Dateien auf Datenträgern
  • Access Control:
    Zugriffs-Schutzmechanismus
  • Task Management: organisiert die Programmdurchführung
  • Application Management: sorgt für die richtige Anwendung des Betriebssystems (z.B. dass es selbst versteckt auftritt)
  • Login-Procedure: Vorstellung des Systems beim Einschalten, auch Zugriffkontrolle
  • Error Control and Recovery: z.B. Wiederherstellung versehentlich gelöschter Dateien u.ä.
  • Accounting: Verrechnung – wie lange wurde das System von einem Benutzer verwendet?
  • System Monitoring: Überwachung des Systems
  • Network Facilities: Vernetzung und Kommunikation

Multitasking

Man unterscheidet prinzipiell zwischen folgenden Arten eines Betriebssystems:

Multitasking bedeutet, dass mehrere Programme vom Betriebssy­stem gleichzeitig auf demselben Rechner abgearbeitet werden können. Multi-User bedeutet, dass mehrere Personen gleichzeitig auf demselben Rechner, unter Umständen sogar mit demselben Programm arbeiten können.

Im Zusammenhang mit der „gleich­zeitigen“ (besser: parallelen) Abarbeitung mehrerer Programme spricht man eher von Prozessen. Ein Prozess ist die Abstraktion einer sich in Ausführung befindlichen Befehlsfolge. Meist wird der Begriff „Task“ synonym (gleichbedeutend) mit dem Begriff Prozess verwendet. Hier bestehen im Grund zwei Möglichkeiten:

  • Der Rechner enthält mehrere Prozessoren, von denen jeder einen Prozess bearbeitet (Multiprocessing, Parallelverarbeitung).

Dabei unterscheidet man

  • Symmetrisches Multiprocessing (SMP): Tasks werden gleichmäßig auf alle verfügbaren Prozessoren aufgeteilt. Windows XP und Windows Server 2003 unterstützen SMP.
  • Asymmetrisches Multiprocessing: Hier ist es möglich, jeden Task einem Prozessor zuzuordnen.
  • Der Rechner enthält nur einen Prozessor; das Betriebssystem kann aber trotzdem damit mehrere Prozesse ausführen (Multitasking).

Der im PC-Bereich am häufigsten anzutreffende Fall wird der zweite sein: Mehreren Prozessen stehen nur eine CPU und ein Arbeitsspeicher zur Verfügung. Die Abarbeitung der Prozesse kann daher nur quasi-parallel erfolgen. Dazu ordnet das Betriebssystem jedem Prozess einen virtuellen Prozessor zu. Das bedeutet, sämtliche Daten, die zur Abarbeitung eines Prozesses benötigt werden, werden in einem speziellen Speicherbereich abgelegt.

Heute übliche Softwareanwendungen teilen ihre Abläufe in mehrere, parallel ablaufende Ausführungsstränge auf. Diese Teilprozesse werden üblicherweise als „Threads“ (engl. Fäden) bezeichnet. Können mehrere Threads auch auf mehrere Prozessoren aufgeteilt werden, so ist durch dieses Multithreading eine weitere Leistungssteigerung möglich. Jedem Prozess sind eigene Betriebsmittel (Speicher­raum, Datensegment, Dateien) zugeordnet. Die den Prozess bildenden Threads greifen alle auf dieselben Betriebsmittel zu. Einzelne Threads eines Prozesses/Tasks können sehr schnell auf zeitkritische Ereignisse reagieren, während andere Threads langwierige Berechnungen durchführen.

Bei den meisten Betriebssystemen kann ein Thread neben dem Zustand „inaktiv“ die Zustände „rechnend“ (engl. running), „rechenbereit“ (engl. ready) und „blockiert“ (engl. waiting) annehmen. Im Zustand „rechnend“ findet die Ausführung von Befehlen auf der CPU statt, bei „rechenbereit“ ist der Thread gestoppt, um einen anderen Thread rechnen zu lassen und bei „blockiert“ wartet der Thread auf ein Ereignis.

Anmerkung: In der Anwendungsprogrammierung können Threads in weitere Teilprozesse, sogenannte Fibers (engl. Fasern) unterteilt werden.

Der Eindruck der „Gleichzeitigkeit“ entsteht dadurch, dass ständig zwischen dem tatsächlichen Prozessor und den einzelnen virtuellen Prozessoren „hin- und hergeschaltet“ wird. Betrachten wir folgende Abbildung, dann sehen wir, dass abwechselnd der eine oder der andere virtuelle Prozessor „aktiv“ ist.

Jeder Prozess wird also „stückweise“ bearbeitet. Man unterscheidet weiters die Art, in der der Wechsel zwischen den Prozessen erfolgt:

Nicht präemptives Multitasking („koope­ratives“ Multitasking): Der Prozess gibt die Kontrolle erst dann an den physikalischen Prozessor zurück, wenn er ihn nicht mehr benötigt. Stürzt allerdings ein Prozess ab, so ist er nicht mehr in der Lage, die Kontrolle an den physikalischen Prozessor zurückzugeben; der PC muss neu gebootet werden.

Präemptives Multitasking: Das Betriebssystem organisiert den Wechsel, das heißt, dem Prozess wird die Kontrolle in periodischen Abständen entzogen. Reagiert eine Anwendung nicht mehr, so ist trotzdem ein Weiterarbeiten mit den anderen laufenden Prozessen und dem Betriebssystem möglich.

Als „idle time“ bezeichnet man jene Zeit, in der kein Benutzerprogramm läuft. Besonders bei Großrechenanlagen soll diese Zeit möglichst gering gehalten werden. Die „Sprünge“ zwischen den Programmen benötigen nur einige Hundert Mikrosekunden.

Ein „Multitasking“-Betriebssystem leistet die Aufgabe, mehrere Programme zu verwalten, die verschieblich im Speicher vorhanden sind. Vor dem Ladezeitpunkt sind die Startadressen der Programme nicht bekannt!

Eine mögliche Speichersituation kann daher so aussehen:

Will bei obiger Speicheranordnung ein Programm 4 ebenfalls abgearbeitet werden, so hat dieses keinen Platz mehr im Speicher.

Abhilfe

1. Overlay-Technik bei DOS

Diese Technik erforderte streng modulare, strukturierte Programmierung. Der Arbeitsspeicher wird (besonders bei sehr großen Programmen) in mehrere Segmente unterteilt, in die alternativ Programmteile eingeladen werden können. Das „MAIN“-Programm ist dann immer im Arbeits­speicher. Diese Technik wird voll auf der Applikations-Ebene abgewickelt. Der Linker fügt die notwendigen (Bibliotheks)-Routinen ein. Overlays waren nur unter DOS möglich; Windows, Unix usw. bedienen sich anderer Verfahren.

2. Virtueller Speicher, „Paging“

Der Compiler teilt das Programm in pages (engl. Seiten) auf, die wiederum zu Segmenten zusammengefasst werden. Die Segmente passen einzeln in den freien Speicherbereich hinein. Der Aus­tauschvorgang zwischen einzelnen Segmenten heißt „swapping“. Dieser Austauschvorgang wird durch einen absichtlichen Fehler, den so genannten „framing error“ (page fault) aktiviert, d.h. wenn auf eine nicht im Arbeitsspeicher vorhandene page zugegriffen wird, wird das gesuchte Segment geladen. Es wird daher ständig zwischen Platte und Arbeitsspeicher hin- und hergeladen. Der so benützte „virtuelle Speicher“, in dem sich das Programm befindet, ist unabhängig von Grenzen, Befehlen usw. und kann bis in die GB-Größe gehen.

Graphische Darstellung

Mit einer geschickten Programmiertechnik kann man erreichen, dass möglichst wenig Swaps gebraucht werden, damit die Ge­schwindigkeit möglichst groß werden kann.

Dynamic page allocation: Das Betriebssystem modifiziert die page fault-Rate. Bei zu vielen Swaps wird der zur Verfügung stehende Arbeitsspeicherbereich um einige Pages erhöht. Damit ergibt sich: die Bereiche (= Segmente) müssen nicht unbedingt zusammenhängend sein.

Interprozesskommunikation (IPC): Alle Multitasking-Betriebssysteme haben die Fähigkeit, mehrere Programme (Tasks) quasi-gleichzeitig laufen zu lassen. Es ergab sich bald der Wunsch, Daten zwischen diesen Programmen auszutauschen (Beispiel: Einbinden von Grafiken in Texte). Es musste also die Möglichkeit der Kommunikation zwischen Prozessen geschaffen werden. (In Windows wird die Kommunikation zwischen Prozessen durch OLE und DDE geregelt – siehe später!) Dafür wurden folgende Maßnahmen notwendig:

Semaphor = Zeichen, das einen Status anzeigen kann. Beispiel: Wollen zwei Prozesse auf einen Drucker zugreifen, so sollte der erste Prozess ein Belegt-Zeichen (= einen Semaphor) setzen.

Pipe = Datenkanal zwischen zwei Programmen. Dieser Kanal kann wie eine Datei angesprochen werden. Das absendende Programm schreibt Daten in die Pipe, das Empfängerprogramm erhält diese Daten dann aus der Pipe anstelle etwa der Tastatur.

Queue = Pipe, die von mehreren Absendern beschrieben werden kann, aber nur einen lesenden Empfänger hat. In Netzwerken zum Puffern von Druckaufträgen    
(= „Drucker-Warteschlange“).

Signal » „Software-Interrupt“. Das momentan laufende Programm erledigt seine Arbeit so lange, bis es durch ein Signal unterbrochen wird. Das Signal zeigt das Eintreten eines bestimmten Ereignisses an. Das Ereignis muss durch eine eigene Routine behandelt werden, bevor der ursprüngliche Prozess fortgesetzt werden kann. (Diese Gleichsetzung ist nicht exakt. Die Funktionsweise eines Signals kann jedoch gut mit der eines Interrupts verglichen werden.)

Shared Memory = Speicherbereich, der von allen Tasks benützt werden kann und deshalb zum einfachen Datenaustausch zwischen Programmen dient.

Überblick über PC-Betriebssysteme

Generell unterscheidet man zwei Arten von „Betriebssystem-Oberflächen“:

  • CUI (Character-based User Interface), auch: CLI (Command Line Interface): zeichen­orientierte Oberfläche (z.B. 25 Zeilen, 80 Spalten); heute oft als „command shell“ bezeichnet.
  • GUI (Graphical User Interface): grafische Oberfläche, mit der Maus bedienbar.

Jedes moderne Betriebssystem bietet heute beide Eingabeoberflächen.

Die grafische Oberfläche bietet enorme Gestaltungs­möglichkeiten, Programme für den Anwender in entsprechender Form aufzuarbeiten. Dazu mussten aber Standards ausgearbeitet werden, welche dem Benutzer eine leichte Handhabung ermöglichen. Ein Teil dieses Standards ist unter dem Begriff SAA (System Application Architecture) bekannt. Typische Elemente einer SAA-Oberfläche sind eine Pulldown-Menüzeile am oberen Bildschirm, die ganz links ein Menü „Datei“ enthält, oder Fehlermeldungen in Fenstern.

Marktführer bei PC-Betriebssystemen (ohne Tablets und Smartphones) ist seit Jahren Microsoft mit Weltmarktanteilen um die 90 %.

Wenn man die Weltmarktanteile von Betriebssystemen recherchiert, so ist es sinnvoll, mehrere Gerätegruppen zu unterscheiden  

(Quelle: netmarketshare.com):

MS-DOS und Windows-Produktschiene (Microsoft)

„Ursprüngliches“ PC-Betriebssystem, 1981 von Microsoft für IBM-PCs entwickelt.

„Ableger“ des ursprünglichen MS-DOS sind DOS anderer Firmen, z.B.

  • PC-DOS 2000 (IBM): Weiterentwicklung der IBM-DOS-Version 7, Korrektur des „Jahr-2000-Problems“, Unterstützung des Euro-Symbols
  • Novell-DOS 7.0 (Nachfolger des DR-DOS von Digital Research, welche mit Microsoft fusionierte; Hauptunterschied: Novell-DOS ist netzwerkfähig)

1985 lieferte Microsoft die grafische Betriebssystemoberfläche MS-Windows 1.0 aus, die wegen der vielen Einschränkungen und Fehler nur ein Schattendasein führte.

Windows 1.01 (1985) – Beachten Sie die Taskleiste, die in Windows 7 auch wieder so ähnlich aussieht! (Quelle: Microsoft)

Erst Anfang 1992, als es in der Version 3.1 auf den Markt kam, etablierte sich Windows auf dem Markt. Windows.1 benötigt zwar DOS, arbeitet aber wie ein eigenes Betriebssystem, das den Erweiterungs­speicherbereich (z. B. von 80386-Prozessoren, für die dieses Programm konzipiert wurde) nutzt und alle wichtigen Betriebssystem­funktionen in einer grafischen Oberfläche („Icons“ = bildhafte Darstellungen) dem User darbietet. 

Eine wichtige Neuerung von Windows 3.1 war „OLE“ (Object Linking and Embedding). Object Embedding bedeutet, dass es möglich ist, in einen Text alle möglichen Dinge aus anderen Windows-Anwendungen „einzu­kleben“, z.B. Grafiken aus CorelDraw!, Tabellen aus MS-Excel etc. Will man an der Grafik eine Veränderung durchführen, so genügt ein Doppelklick mit der Maus, und schon wird das entsprechende Programm geladen. Man bezeichnet das Programm, aus dem das Objekt stammt, als OLE-Server, das Zielprogramm, in welches das Objekt eingebettet wird, als OLE-Client.

Manche Programme (etwa das Zeichenprogramm Paintbrush) können nur als Server eingesetzt werden, d.h. Zeichnungen aus Paintbrush können in andere Programme eingefügt werden, Paintbrush selbst kann aber keine Daten aus anderen Programmen aufnehmen. Andere Programme (wie etwa MS-Write) sind nur in der Lage, als Client zu dienen, d.h. sie können Daten von Server-Anwendungen aufnehmen, aber nicht mehr abgeben.

OLE 2.0 ist eine Erweiterung der Datenaustauscharchitektur unter Windows; so können die eingebetteten Objekte direkt innerhalb der Client-Anwendung aktiviert werden.

Unter Object Linking versteht man, dass ein Objekt gleichzeitig in mehrere Dokumente eingebaut werden kann. Änderungen des Objekts werden dann „automatisch“ in allen Dokumenten durchgeführt.

DDE (Dynamic Data Exchange, deutsch „dynamischer Datenaustausch“) als Standardprotokoll für die Kommunikation zwischen Windows-Anwendungen wurde nicht von allen Anwendungsprogrammen unterstützt.

Windows 3.0 (1990) – keine Taskleiste mehr, aber überlappende Fenster (Quelle: Microsoft)

1993 kam eine um Netzwerk-Utilities erweiterte Version auf den Markt, Windows for Workgroups (WfW) 3.11, die auch als Nachfolger der Einzelplatzversion 3.1 von Windows gedacht war.

Ende August 1995 kam Windows 95 auf den Markt. Diese Version stellt ein eigenes Betriebssystem dar, benötigt also kein DOS mehr als „Unterlage“ und kann die 32 bit Busbreite der Geräte voll ausnützen. DOS-Programme laufen weiterhin, da der DOS-Kern in Windows 95 enthalten ist; die Vorteile von Windows 95 können aber für diese Programme nicht ausgenützt werden. (So laufen DOS-Programme nach wie vor mit 16 bit Busbreite.)

Im Juni 1998 kam der Windows 95-Nachfolger Windows 98 auf den Markt, der eine erweiterte Unterstützung von Hardware (USB = Universal Serial Bus; Verwaltung größerer Festplattenpartitionen durch das neue Dateisystem FAT32 usw.) und Detailverbesserungen im Geschwindigkeits- und Stabilitätsverhalten bringt.

Die Oberfläche von Windows wurde mit der Version Windows ME („Millennium Edition“) an die Windows 2000-Oberfläche angepasst; auch wurden umfangreiche Systemwiederherstellungs- und Reparaturmechanismen eingebaut. Diese Windows-Version stellt die letzte Version dieser Betriebssystem-Produktlinie dar; die Entwicklung wurde von Microsoft eingestellt.

Microsoft Windows 98-Oberfläche
Übersicht: Microsoft Client-Betriebssysteme (alle Logos © Microsoft)

Windows NT-Produktschiene (Microsoft)

Das von Microsoft entwickelte Betriebssystem für Netzwerke bzw. anspruchsvolle Applikationen mit größerer Rechnerleistung ist Windows NT (NT für new technology, Version 3.1 kam 1993 auf den Markt); sein Vorteil: alle unter Windows laufenden Programme funktionieren auch unter Windows NT. Windows NT ist ein Multitasking- (Multiprocessing) und Single-User-Betriebssystem, allerdings mit herausragenden Netzwerk­eigenschaften.

Die Version 4.0 von Windows NT war seit Mitte 1996 auf dem Markt. Es ist die Microsoft-Variante für High-End-PCs und Netzwerke. Windows NT 4.0 lief auf Prozessoren von Intel (Pentium), IBM (Power-PC), Hewlett-Packard (Mips) und DEC (Alpha). Durch Service Packs wurde gerade bei Windows NT 4.0 die Sicherheit und Stabilität immer weiter verbessert (das letzte erschienene Windows NT 4.0-Service Pack hatte die Nummer 6a, Stand: Juni 2000).

Microsoft Windows NT Workstation 4.0-Oberfläche

Die Windows NT-Schiene wurde mit Windows 2000 (intern: Windows.0) weitergeführt. Windows 2000 Professional war die Bezeichnung des Workstation-Betriebssystems. Mit der Windows 2000 Server-Familie wurde der Verzeichnisdienst Active Directory und das DNS-Konzept für die Namensauflösung in Windows-Domänen eingeführt.

Windows 2000 Professional-Oberfläche

Die neue Version des Desktop-Betriebssystems Windows XP(intern: Windows NT 5.1), das im Herbst 2001 auf den Markt kam, brachte keine wesentlichen technischen Neuerungen (XP steht für „Experience“; das hier angesprochene „Windows-Erlebnis“ besteht in erster Linie aus einer komplett redesignten Oberfläche).

Microsoft Windows XP Professional-Oberfläche

Im Frühjahr 2003 kam der neue Microsoft-Server in mehreren Ausführungen auf den Markt: Die Windows Server 2003-Familie führt die mit Windows 2000 eingeführten Konzepte konsequent weiter. Verbesserungen gab es vor allem im Security-Bereich (hier ist die komplett neu programmierte Internet-Dienstsammlung „Internet Information Services 6.0“ herauszustreichen), die Oberfläche und Bedienerführung wurde an Windows XP angepasst. Die erhältlichen Ausführungen heißen Webserver Edition, Standard Edition, Enterprise Edition und Datacenter Edition. Die Unterstützung von Groß-Netzwerken wurde mit der Einführung von „Forest Trusts“ weiter verbessert. Domänen und Domänencontroller können auch umbenannt werden (wenngleich das einigen Codierungsaufwand erfordert). Microsoft ergänzte die Plattform mit einer Reihe von Anwendungsservern (Herbst 2003 – Exchange Server 2003,Ende 2005 – SQL Server 2005). Obwohl bei dieser Betriebssystem-Version das mit Windows 2000 Server begonnene Konzept mit Verzeichnisdiensten fortgesetzt wird, bleibt für die Programmierer trotzdem nichts beim Alten: Eine neue, webfähige Klassensammlung – das Dot-Net-Framework – soll es möglich machen, von verschiedenen Programmier­sprachen aus Anwendungen zu entwickeln, die ohne Änderungen des Codes auch internetfähig sind.  

Microsoft-Betriebssysteme sind ab Windows XP/2003 auch in 64bit-Versionen erhältlich.

Microsoft Windows Vista-Oberfläche mit „Flip 3D“

Die nächste Generation der Microsoft NT-Client-Betriebssysteme, Windows Vista, erschien zum Jahreswechsel 2006/2007. Am 27.02.2008 erschien Windows Server 2008. Einige grundlegende Neuerungen in Windows Vista:

  • Leistungsfähige Desktop-Suchmaschine, mit der E-Mails und Dateien auch nach Inhalten durchsucht werden können.
  • Eine stark veränderte Benutzeroberfläche, die sich an die jeweils verfügbare Grafik-Hardware anpasst. Bei entsprechend leistungsfähigen Maschinen steht auch die 3D-Aero-Oberfläche zur Verfügung, mit der Fenster auch seitlich gekippt („Flip 3D“) und in den „Hintergrund“ gestellt werden können.
  • Besserer Schutz gegen bösartige Programme (Malware) aus dem Internet („Windows Defender“). Außerdem werden dem Benutzer im Normalbetrieb keine administrativen Rechte gewährt, in den Administrations-Kontext wird nur gewechselt, wenn dies nötig ist (User Account Control).

Auf Grund von Akzeptanzproblemen von Windows Vista bei den Anwendern und der Wirtschaft, verbunden mit einem durch die Wirtschaftskrise 2008/09 einhergehenden Absatzrückgang, zog Microsoft den Erscheinungstermin für Windows 7, dem Nachfolger von Windows Vista, auf das 4. Quartal 2009 vor. Die mit Windows Vista eingeführten Sicherheitsfeatures wurden benutzerfreundlicher, außerdem wurde der Ressourcenbedarf im Hinblick auf Netbooks optimiert. Parallel dazu wurde das im Kern binär gleiche Server-Betriebssystem Windows Server 2008 R2 entwickelt. Die Unterstützung von Windows 7 und damit die Belieferung mit Sicherheitsupdates wurde am 14.01.2020 eingestellt.

Verpackungsdesign von Windows 7 (Quelle: Microsoft)
Microsoft Windows 7-Oberfläche

Windows 8 erschien am 22. Oktober 2012 und als Nachfolger von Windows 7. Ein umfangreiches Upgrade mit dem Namen Windows 8.1 erschien im Oktober 2013.

Die augenfälligste Änderung in Windows 8 gegenüber allen früheren Windows-Versionen ist die sogenannte Modern UI (ursprünglich „Metro-Oberfläche“), die in erster Linie für die Bedienung mit Touchscreens entwickelt wurde.

Windows 10-Oberfläche

Im Juli 2015 erschien Windows 10 (die Versionsnummer 9 wurde ausgelassen). Neben diversen Technologieanpassungen ist das Startmenü eine Kombination des klassischen Startmenüs und der Kacheloberfläche. Microsoft hat bis 2021 keinen neuen Verkaufsnamen verwendet, sondern liefert sogenannte Anniversary Updates aus, die – im Gegensatz zur Strategie in der Vergangenheit – auch neue Features beinhalten. Abweichend von dieser Strategie wurde im Oktober 2021 die Version Windows 11 auf den Markt gebracht. Sie bietet ein optisch modernisiertes Bild mit „runden Ecken“ von Fenstern, Lauffähigkeit von Android-Apps und zahlreiche weitere Anpassungen. So wird eine anpasste Version von Teams Bestandteil der Windows-Installation sein.

Die entsprechenden Serverversionen bilden die Windows Server 2016-Produkte (binärkompatibel mit Windows 10). Am 02.10.2018 erschien die leicht überarbeitete Version Windows Server 2019, am 18.08.2021 die Version Windows Server 2022.

Interne Versionsnummern der Windows NT 6.X-Produktreihe:

 6.0 Windows Vista
 6.1 Windows 7
 6.2 Windows 8
 6.3 Windows 8.1
10   Windows 10

OS/2 (IBM)

Hauptkonkurrent der Microsoft-Windows-Linie war das 32-Betriebssystem OS/2 von IBM(1987 erstmals auf den Markt gekommen, Abkürzung für „Operating System No.“). Im November 1996 erschien die deutschsprachige Ausgabe von OS/2 Warp 4.0, in der Spracheingabe, Internet (mit Java) und OpenDoc-Unterstützung eingebaut sind. Netscapes Navigator ist in einer speziellen Version für OS/2 ebenfalls in Warp 4 enthalten. OS/2 Warp Server deckt den Server-Bereich bei lokalen Netzwerken ab. Das Hauptproblem von OS/2 auf dem Markt war die äußerst geringe Anzahl von Applikationen.

Laut offizieller Angabe von IBM wurde die Weiterentwicklung von OS/2 eingestellt.

Unix, Linux

Das schon seit Jahren propagierte (1969 entwickelte) „Betriebssystem der Zukunft“ ist Unix. Unix ist ein Multitasking- und Multiuser-Betriebssystem, das für die Verwendung im Serverbereich konzipiert wurde. Anwenderfreundliche Bedienung stand nicht im Vordergrund – ein Grund dafür, dass es sich im PC-Bereich nicht durchgesetzt hat.

Zu erwähnen wäre allerdings, dass sich der von Linus Torvalds (geboren 1969 in Helsinki/Finnland) 1991 entwickelte Unix-Dialekt Linux für spezielle Zwecke sehr gut eignet (etwa: Anbindung von lokalen Netzen ans Internet ist über einen Linux-Rechner möglich). Torvalds wollte sein Projekt ursprünglich „Freax“ taufen, der Universitätsangestellte Ari Lemmke, der Torvalds Platz auf dem Universitäts-FTP-Server zur Verfügung stellte, mochte diesen Namen nicht und benannte den Ordner auf Linux um.

Linux-Gründer Linus Torvalds (Quelle: Wikipedia)

Torvalds hatte sich im Jänner 1991 einen für damalige Verhältnisse üppig ausgestatteten PC mit Intel-386-Prozessor gekauft und sich dafür verschuldet – dabei verfügte die Maschine nicht einmal über eine Festplatte. Viel Geld für kommerzielle Software hatte der Student damals nicht. Als Betriebssystem wollte Torvalds Minix nutzen, eine Variante des Profibetriebssystems Unix, das vom Informatikprofessor Andrew S. Tanenbaum für Ausbildungszwecke an Universitäten entwickelt worden war. Auch Minix kostete Geld – immerhin 169 US-Dollar netto, damals 1.773 Schilling.
Die für sein Projekt wohl folgenreichste Entscheidung traf Torvalds im Jänner 1992, als er seine bis dahin geschaffene Arbeit unter die GNU General Public License (GPL) stellte. Die von dem US-amerikanischen Computerwissenschaftler Richard Stallman entworfene Lizenz sichert die Freiheit der Software ab, die unter ihr veröffentlicht wird. Verkürzt dargestellt darf jeder Programme verändern, die unter die GPL gestellt sind, er muss seine Veränderungen dann aber der Gemeinde wieder frei zur Verfügung stellen. 

Das Linux-Maskottchen „Tux“, entworfen 1996 von Larry Ewing (Quelle: Wikipedia)

Torvalds griff zur Programmierung seiner ersten Linux-Komponenten auch auf die Werkzeuge zurück, die Stallmans GNU-Projekt über Jahre hinweg geschaffen hatte. Dem GNU-Projekt, das seit 1985 an einem freien Betriebssystem arbeitete, fehlte seinerzeit noch die zentrale Komponente, der Kernel, der zwischen den verschiedenen Programmen und der Hardware des Computers vermittelt. Den brachte nun Torvalds mit – und im Internet fand zusammen, was zusammen gehört, auch wenn sich der Linux-Erfinder und GNU-Chef Stallman noch zahlreiche Schlagabtäusche darüber liefern würden, wie wirklich freie und offene Software gestaltet sein sollte.
Bis heute verwaltet der 1996 in die USA ausgewanderte Torvalds die Entwicklung des Linux-Kernels, dessen aktuelle Version auf die Nummer 5.5.7 hört. Mit der Zeit wuchs auch die wirtschaftliche Bedeutung von Linux, auch große Konzerne wie IBM, Nokia, Samsung und Google arbeiten am Kernel mit.

In seiner Geschichte der Linux-Ent­wicklung schrieb Torvalds, dass ihm Marktanteile immer egal gewesen seien. Auf dem Desktop der Nutzer konnte sich Linux nie durchsetzen: Laut netmarketshare.com betrug der Weltmarktanteil von Linux im Februar 2020 etwa 1,85 %.

Betrachtet man allerdings den Anteil von Android, das auf Linux basiert und erst seit Ende 2008 auf dem Markt ist, im Smartphone-Bereich.so kommt man auf einen Marktanteil von 76,24 %.

Das System scheint von seinem Schöpfer, der sich seit 2003 hauptberuflich im Rahmen der Linux Foundation um die Weiterentwicklung seines Projekts kümmert, die Bescheidenheit geerbt zu haben. Es werkelt im Hintergrund, auf Googles Servern, in Set-Top-Boxen und anderen Geräten – und eben in Smartphones, etwa in Form von Googles erfolgreichem Mobil-OS Android.

Home-2020

http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

http://www.kernel.org/

Linux ist in mehreren „Distri­bu­tionen“ (Zusammenstellungen) erhältlich:

  • Red Hat (www.redhat.com)
  • Novell openSUSE, SUSE Linux Enterprise Desktop (
  • ww.suse.de)
  • Debian (www.debian.org).
  • Caldera (www.caldera.com)
  • Knoppix (www.knoppix.org)
  • Ubuntu (www.ubuntu.com); österreichischer Webauftritt: www.ubuntu-austria.at

Derzeit etablieren sich gerade mehrere grafische Oberflächen von Linux, die auf dem X/Window-Standard beruhen. Beispiele dafür sind die Oberflächen KDE (K[ool] Desktop Environment) und GNOME (GNU Network Model Environment).

KDE-Oberfläche von Novell SuSE Linux 9.3

Linux selbst wird heute in erster Linie als Internet-Server (mit Apache als Webserver und sendmail als Mail-Relay) eingesetzt, auch Firewalls und Infrastruktur-Server (DNS, DHCP) werden häufig mit Linux realisiert.

In den letzten Jahren ist das Interesse von öffentlichen Institutionen an Linux stark gestiegen. So bewirkte die Entscheidung der Stadt München im Jahr 2003, 14000 Computer auf Linux umzurüsten, ein deutliches Medienecho. Gründe dafür sind hauptsächlich die geringeren Sachkosten (Linux als Open Source-Betriebssystem arbeitet mit GNU-Lizenzen, siehe auch Kapitel 6.3) und die Unabhängigkeit von Software-Herstellern.

NextStep (Next)

Auf Next-Rechnern gibt es das Betriebssystem NextStep, welches den Betriebssystemkern von Unix enthält. Dieses System kann (neben Intel-PCs) auch auf PowerPC- und Alpha-Rechnern arbeiten. Vorteilhaft ist die komplette Objektorientierung, die gute Netzwerkunterstützung und die Kompatibilität mit weit verbreiteten Unix-Dialekten.

(Mac) OS (Apple)

Für Apple MacIntosh-Rechner gibt es das Betriebssystem Mac OS, eine grafische Oberfläche, die bereits seit etwa 10 Jahren die Funktionen bereitstellt, die erst mit Windows 95 in die DOS/Windows-Welt Einzug gehalten haben.

Im Juli 1997 wurde mit Mac OS 8 die Benutzeroberfläche weiterentwickelt und die Stabilität und Geschwindigkeit optimiert. Die Folgeversion Mac OS 8.5 kam im Oktober 1998 auf den Markt und vertiefte mit neuen Technologien wie dem „persönlichen Suchassistenten“ Sherlock insbesondere die Internet-Integration. Ein Jahr später schließlich, im November 1999, markiert Mac OS 9 unter dem Slogan „Ihr Internet Kopilot“ mit Lösungen zu den Themen Datensicherheit, Internet und Multiuser-Einsatz den bisherigen Höhepunkt der MacOS-Entwicklung und ebnet mit seinen „Carbon“-Programm­bibliotheken gleichzeitig den bruchlosen Übergang zu Mac OS X, dem Betriebssystem der nächsten Generation.

Mac OS X (gesprochen „10“), seit März 2001 im Handel. Es stellt eine komplette Neuentwicklung dar und wurde auf Basis von NeXTStep (einem Betriebssystem mit UNIX-Kern) entwickelt. Dabei basiert Mac OS X auf einem Darwin, einer freien Linux-Variante, und stellt so gesehen eine proprietäre Linux-Distribution dar. Weitere Teile sind die Benutzeroberfläche „Aqua“, die u.a. die innovative PDF-basierten Grafikengine „Quartz“ enthält.

Mac OS X Server ergänzt die Betriebssystemlinie seit Frühjahr 1999 als Serverplattform für Publishing- und Internet-Lösungen.

Die Mac OS X-Schiene wird laufend weiterentwickelt, die letzten Hauptversionen sind:

2007Mac OS X „Leopard“10.5
2009Mac OS X „Snow Leopard“10.6
2011Mac OS X „Lion“10.7
2012OS X „Mountain Lion“10.8
2013OS X „Mavericks“10.9
2014OS X „Yosemite“10.10
2015OS X „El Capitan“10.11
2016macOS „Sierra“10.12
2017macOS „High Sierra“10.13
2018macOS „Mojave“10.14
2019macOS „Catalina“10.15
MacOS X 10.5 „Leopard“ (Grafik: Eigentum von Apple)

MacOS-Systemarchitektur

Architektur von Mac OS Server X (Quelle: Wikipedia, GFDL-Lizenz)

Mac OS X ist UNIX-fähig. Der Systemkern basiert auf Mach 3.0 von Carnegie-Mellon University und FreeBSD 3.2, zwei besonders hoch geschätzte Kerntechnologien von zwei der renommiertesten OS Projekte. Auch der bekannte Apache Web Server, der über die Hälfte der Web-Sites im Internet bereitstellt, wurde integriert.

Darwin umfasst den standardmäßigen Netzwerk-Stack BSD, auf dem die Mehrzahl der modernen Internet- TCP/IP-Implementationen basiert. Ferner wurde die Unterstützung für PPP integriert, so dass leicht auf entfernte Netzwerke zugegriffen werden kann. Zudem wurde die komplette Unterstützung für AppleTalk integriert, um die nahtlose Zusammenarbeit mit derzeitigen Macintosh Netzwerken sicherzustellen.

Das KernOS ist nach Darwin benannt, da es einen Generationswandel in der Evolution moderner Betriebssysteme darstellt. Darwin bietet die Zuverlässigkeit und Leistung, die von einem modernen Betriebssystem erwarten werden.

Speicherschutz: Darwin unterstützt eine moderne, zuverlässige Architektur für den Speicherschutz, die jedem Programm, das auf einem Mac geöffnet wird, einen festen Adressbereich zuweist.

Wenn sich Programme isoliert in ihrem eigenen Speicherbereich befinden, können sie einander nicht beeinträchtigen, falls es zu einem Fehler kommen sollte. Sollte es also einmal zu Problemen mit einem Programm kommen, muss der Computer nicht neu gestartet werden. Darwin beendet einfach das Programm, das Probleme verursacht, und gibt den Speicherbereich frei, so dass die Arbeit ohne Unterbrechung fortgesetzt werden kann.

Darwin besitzt einen effektiven Manager für den virtuellen Speicher, um diesen geschützten Speicherbereich zuverlässig zu verwalten. Künftig muss man sich keine Gedanken mehr darum machen, wie viel Speicher ein Programm wie Photoshop benötigt, um eine riesige Bilddatei zu öffnen. Wenn ein Programm Speicher benötigt, teilt der VM-Manager exakt den benötigten Speicherbereich zu.

Darwin umfasst ein hochleistungsfähiges E/A-Subsystem, mit dem große Datenmengen von Geräten wie Festplatten, Druckern und digitalen Kameras extrem schnell übertragen werden können. Dieses E/A-Subsystem ermöglicht zudem die gemeinsame Nutzung von Ressourcen durch Programme, das heißt, mehrere Programme können gleichzeitig mit nur minimalen gegenseitigen Störungen auf mehrere Geräte zugreifen.

Präemptives Multitasking: Diese Technologie überwacht den Prozessor des Computers, definiert Prioritäten für den Prozessor entsprechend der Bedeutung der Aufgabe, stellt sicher, dass alle Aktivitäten mit maximaler Leistung ausgeführt werden und dass für jede Aufgabe die erforderlichen Ressourcen bereit stehen.

Grafiken: Apple kombiniert Quartz, QuickTime und OpenGL, drei der leistungsfähigsten, derzeit verfügbaren Grafiktechnologien. Basierend auf dem Internet-PDF-Standardformat, ermöglicht das leistungsstarke 2D-Grafiksystem Quartz das sofortige Rendern, Anti-aliasing und Mischen von Grafiken in PostScript-Qualität. Grafikelemente, die bislang bereits konturenscharf angezeigt wurden, werden mit Quartz noch wesentlich schärfer. Man kann das Leistungspotential von Quartz am Beispiel der Mac OS X Aqua Oberfläche sehen. Aqua nutzt die leistungsstarke Compositing-Engine von Quartz, um durchsichtige Steuerelemente und Menüs zu generieren und dem System optische Tiefe zu geben Dazu erscheinen Schatten um die Fenster herum.

Apple hat außerdem die Unterstützung für PDFs integriert, so dass jetzt PDF-Daten in jedem Mac OS X Programm eingebettet und bearbeitet werden können. Auf diese Weise ist es möglich, schnell und einfach „Quartz-optimierte“, mit vielen Grafiken ausgestattete Dokumente zu erstellen und an andere weiterzugeben.

Apple hat zudem die OpenGL Technologie in Mac OS X eingebaut Diese 3D-Technologie wird in Spielen wie QuakeArena von id Software ebenso verwendet wird wie in professionellen Authoring-Tools wie Maya von Alias/Wavefront. Unter Mac OS X katapultiert die moderne, nahtlos integrierte Darwin Technologie die Leistung von OpenGL auf ein ganz neues Niveau und macht es zur ultimativen 3D-Plattform für Spiele und fotorealistische Grafiken.

MacOS X enthält auch die QuickTime Technologie, das universelle Format und die Plattform für die Generierung, Bereitstellung und Nutzung von digitalen Inhalten für mehrere Quellen und Ziele. QuickTime ist der Internet-Standard für Multimedia, und es ist der Motor für iMovie und Final Cut Pro, die innovative Apple Software für den digitalen Videoschnitt. Mit QuickTime können Online-Events live mitverfolgt, bevorzugten MP3-Musiktitel abgespielt oder privaten Videos gedreht werden. MacOS X Programme können alle Audio-, Video- oder Bilddaten, die QuickTime verarbeiten kann, in Dokumente einbetten.

Aqua: Aqua erweckt den Mac zum Leben, mit Farben, Farbtiefen, Transluzenz und fließenden Bewegungen. Die neuen Steueroptionen und Bedienelemente sehen aus wie polierte Edelsteine. Die Tasten weisen auf den jeweiligen Status hin, indem sie glühen oder glimmen, Symbole sind gestochen scharf gerendert und Schattenwürfe vermitteln für Fenster einen 3D-Look. Aqua unterstützt Symbole, die von sehr klein bis sehr groß variieren.

Mit MacOS X gehören unaufgeräumte Schreibtisch­oberflächen der Vergangenheit an. Möglich macht dies eine clevere neue Funktion, das Dock. Das Dock befindet sich am unteren Bildschirmrand, und es enthält Ordner, Programme, Dokumente, Speichergeräte, Fenstertitel, QuickTime Filme, digitale Bilder, Links zu Web-Sites oder alle anderen Objekte, die Sie gerne im ständigen Zugriff haben möchten.

Im Dock wird für jedes dort gespeicherte Objekt ein Symbol angezeigt. Und diese Symbole geben nützliche Hinweise über die Programme und Dokumente, die sie repräsentieren. Beispielsweise verkleinern Sie einen QuickTime Film, und er wird im Dock weiter abgespielt. Wenn Sie ein Bild im Dock speichern, wird es dort in der Vorschau gezeigt, so dass Sie auf seinen Inhalt schließen können, ohne die Datei öffnen zu müssen. Und da Sie auch gerade aktive Programme im Dock verkleinern können, genügt ein Blick an den unteren Bildschirmrand, um festzustellen, welche Programme derzeit geöffnet sind.

OS 10.5: Systemeinstellungen

Das Dock kann beliebig viele Objekte aufnehmen. Während Sie Objekte hinzufügen, wird das Dock erweitert, bis es den Bildschirmrand erreicht. Danach werden die Symbole im Dock proportional verkleinert, so dass weitere Symbole Platz haben. Damit die kleineren Symbole dennoch gut lesbar sind, wurde eine neue Vergrößerungsfunktion implementiert: Einfach die Maus über die Symbole bewegen, um sie zu vergrößern und in der maximalen Auflösung anzuzeigen.

Das Betriebssystem kann zu großer Unübersichtlichkeit führen, indem mehrere Fenster übereinander gelagert werden. Wenn man beispielsweise durch stark verschachtelte Dateisysteme navigiert, muss man immer weitere Fenster öffnen, die so den Schreibtisch verdecken. Mac OS X macht mit dem Problem der vielfach überlagerten Fenster Schluss, da es viele Programme in einem einzigen Fenster präsentiert. Schlüsselkomponenten wie der neue Finder, das Programm „Mail“ und das Fenster „Systemvoreinstellungen“ werden in einem einzigen Fenster dargestellt.

BeOS (Be)

Multimedia-Betriebssystem, auch für ältere Intel-Rechner geeignet. Nischenprodukt, da keine Standardsoftware existiert.

Betriebssysteme für Smartphones und Tablets

Da die Anzahl „intelligenter Mobiltelefone“ und Tablet-Geräten in den letzten Jahren stark zugenommen hat, ist es notwendig, auch einen Überblick über die verwendeten Betriebssysteme bei diesen mobilen Geräten zu geben.

Die meisten dieser Geräte stellen vollwertige Computer dar, allerdings mit bescheidenerer Hardwareausstattung, verglichen mit herkömmlichen Desktops oder Notebooks.

Im Mobiltelefonbereich gab es in den letzten Jahren eine drastische „Flur­berei­nigung“: bis auf zwei Betriebssysteme sind alle anderen (Windows Mobile, Blackberry, Symbian, Meego, Bada, …) vom Markt verschwunden und stellen nun nur mehr einen verschwindend kleinen Anteil dar.

Im Jahr 2019 wurden nach Angaben von www.counterpointresearch.com weltweit etwa 1,49 Milliarden Smartphones verkauft. Der größte Anbieter 2019 war Samsung mit seiner Galaxy-Produktreihe (296 Mill. Geräte), danach folgen Huawei (239 Mill. Geräte) und Apple (iPhone; 196 Mill. Geräte).

Weltmarktanteile von Betriebssystemen im Mobile-Bereich    
(Quelle: netmarketshare.com)

Analysten gehen davon aus, dass sich an dieser Verteilung auch bis 2022 nichts Wesentliches ändern wird.

Google arbeitet parallel auch an einem neuen Betriebssystem für Mobiltelefone und PCs mit dem Namen Fuchsia; dieses stellt ein Echtzeitbetriebssystem dar und basiert auf dem Kernel Zircon (ehem. Magenta). Es wird derzeit als Testplattform für neue Betriebssystemkonzepte verwendet; ein konkreter Markteinsatz ist derzeit (Stand: Mai 2021) nicht geplant.

Textverarbeitung und Desk Top Publishing (DTP)

Ein Computer stürzt dann und nur dann ab, wenn du mindestens zwei Stunden nicht gespeichert hast.

(adaptiert nach: Graf, Murphys Computergesetze, Markt&Technik 1990.)

Screenshot: Microsoft Word 2016

Zum Unterschied von den Textbearbeitungsfunktionen wie Korrektur von Tippfehlern, Einfügen von fehlenden Zeichen etc. hat ein Textverarbeitungsprogramm folgende Aufgaben:

Verwaltung der Programme (Dateien)

  • Eingabe
  • Speicherung
  • Ausgabe

Editieren

  • Kopieren
  • Löschen
  • Verschieben (von Textteilen)
  • Einfügen

Formatieren

  • Randausgleich
  • Abteilen
  • Zentrieren
  • Blocksatz

Druckerausgabe

  • Seitenumbruch
  • Kopfzeile
  • Fußzeile

Index-Verwaltung: automatische Erstellung eines Stich­wort­verzeichnisses

Rechtschreibprüfung: lernfähige Vokabelverwaltung

Einblenden von Grafiken: WYSIWYG = „What you see is what you get“: Auf dem Bildschirm ist sichtbar, wie der Ausdruck aussehen wird.

Desktop Publishing-Features: profimäßiges Arbeiten möglich („Hausdruckerei“); mit Hilfe eines Scanners können durch Abtasten Fremdgrafiken und Texte eingebaut werden. Die Grenze zwischen „reinen Textverarbeitungs­programmen“ und DTP-Programmen ist naturgemäß fließend. Im Allgemeinen setzt man bei DTP-Programmen voraus, dass die in der professionellen Typografie üblichen Vorgänge implementiert sind (Dazu gehören auch „Kleinigkeiten“ wie Ligaturen zwischen Buchstaben, etwa zwischen s und t, oder stark erweiterte Lay-out-Gestaltungs­möglichkeiten für eine Seite.)

Serienbriefe: Aus einer Datenbank werden Informationen automatisch in ein Textdokument übernommen, sodass Massensendungen mit personenbezogenen Daten möglich werden (Name und Anrede können für jeden Brief aus der Datenbank übernommen werden.)

Kommerziell erhältliche Textverarbeitungsprogramme

  • Word für Windows („WinWord“, Microsoft)
  • Ami Pro, Nachfolger Word Pro (Lotus)
  • WordPerfect für Windows (Corel)
  • StarOffice (StarDivision, für den Privatgebrauch kostenlos)
  • Desk-Top-Publishing (DTP)
  • PageMaker (Adobe; für Apple OS 7.x, Windows 95 und NT)
  • Acrobat (Adobe): neuer Publishing-Standard im WWW, aktuelle Version 6.0, plattformenübergreifend
  • Ventura Publisher (für Apple)
  • Quark XPress (plattformenübergreifend): professio­nelles Tool
  • TEX, wi-TEX, la-TEX (wissenschaftliche Satz­pro­gramme aus der Unix-Welt)

Tabellenkalkulation

Prinzipieller Aufbau

„Worksheet“ oder „Spreadsheet“ folgender Gestalt:

Eine „Zelle“ kann enthalten:

  • Texte
  • Zahlen
  • Formeln (Anweisungen an das Programm)

Am unteren Bildschirmrand findet sich meist ein Befehlsmenü. Die Gesamtheit aller verwendeten Formeln für eine Kalkulation bezeichnet man als Modell.

Der Vorteil einer Tabellenkalkulation ist, dass durch Eingabe neuer Startdaten alle davon abhängigen Daten sofort berechnet und angezeigt werden können und dass andererseits durch Zielvor­gaben (Angabe der Ergebnisse) auf die Startdaten zurückge­rechnet werden kann. Durch die Eingabe aktueller Daten können Prognosen erstellt werden.

Bei fast allen Tabellenkalkulationen können die Ergebnisse auch graphisch dargestellt werden; besonders für statistische Auswertungen und Präsentationen sind solche Darstellungen interessant:

  • Histogramm (Balkendiagramm)
  • „Pie chart“ (Kuchen- bzw. Tortendiagramm)
  • Liniendiagramm (Kurve)
Microsoft Excel 2013

Tabellenkalkulationen (zum Teil nicht mehr am Markt):

  • VisiCalc
  • SuperCalc für Windows (Computer Associates)
  • Multiplan (Microsoft)
  • Chart: zum statistischen Auswerten und grafischen Darstellen der in Multiplan erstellten Tabellen (Microsoft)
  • 1-2-3 (Lotus)
  • Excel (Microsoft)
  • Quattro Pro (Inprise/Borland)

Grafikprogramme

Gesetz vom phantasievollen Bildschirmadapter:

  • Ellipsen werden als treppenförmige Eier dargestellt und ausgedruckt.
  • Treppenförmige Eier bleiben treppenförmige Eier.
  • Eine Linie beginnt immer ein Pixel daneben.
  • Kreise sind keine Kreise. (…)
  • Kreise sind dann (und nur dann) Kreise, wenn du sie als Ellipsen zeichnest. Dann wird sie auch der Drucker korrekt als Ellipsen ausgeben.

(adaptiert nach: Graf, Murphys Computergesetze, Markt&Technik 1990.)

Grafikformate

Jedes Programm speichert seine Grafiken in einer ganz bestimmten Art ab, die meist durch eine genormte „Grafiksprache“ vorgegeben ist.

Wesentlich ist daher die Art und Weise, in der Grafiken abgespeichert werden. Oft werden die Grafikdaten noch in einer speziellen Weise komprimiert.

Man unterscheidet Codierungen für rasterorientierte Daten und solche für vektororientiere Daten.

Beispiele für Raster-Grafikformate

JPEG (Joint Photographic Experts Group): Standard zur Speicherung und Übertragung von Einzelbildern (im Gegensatz zu Filmen). Es ist für rasterorientierte Daten geeignet und beinhaltet eine Kompression.

PCX: wird vom Windows-Programm Paintbrush verwendet; 256 Farben können in einem Bild verwendet werden.

GIF: Graphics Interchange Format. Wird oft zur Übertragung von Grafiken in Netzen verwendet. GIF-Daten können wie PCX-Dateien 256 Farben enthalten.

TIFF: Tag Image File Format. TIFF-Bilder können beliebig groß sein und bis zu 16 Mio. Farben enthalten. Dieses Dateiformat wird oft für Desktop Publishing angewandt.

BMP: Bitmap. Wurde mit Windows 3.0 eingeführt, für eine Palette von 16 Millionen Farben ausgelegt.

Anmerkung: Das Format MPEG (Moving Pictures Experts Group) ist für die Abspeicherung von Bewegtbildern (Videos etc.) gedacht.

Beispiele für Vektor-Grafikformate

HPGL: Hewlett Packard Graphics Language (zur Plottersteuerung)

DXF:  Data Interchange Format (AutoCAD-Dateiformat); siehe ADIM Band 53.

XLC: Excel Chart. Vektorgrafikformat des Tabellenkalkulations-Programms EXCEL.

CAD- und Konstruktionsprogramme

CAD = Computer Aided Design. CAD-Programme werden in vielen technischen Bereichen angewandt:

  • Planung und Überwachung (z.B. Zustand eines Kraftwerkes, Weichenüberwachung der ÖBB, Verkehrsleitsysteme)
  • Elektrotechnik und Elektronik: Leiterbahnenentwurf, Zeichnen, Verwalten, Entflechten
  • Architektur und Bauwesen: Axonometrische und perspektivische Ansichten aufgrund von Grund- und Aufrissen, Einreich- und Polierpläne etc.
  • Filmindustrie: Trickfilme, Effekte (flie­gende Bücher etc.)
  • Maschinenbau (technische Zeichnungen)
  • Simulationen (z.B. Flugsimulationen, Verhalten im Windkanal; erspart das teure „prototyping“)

Man unterscheidet 2D-Darstellungen (flächenhaft) und 3D-Darstellungen (räumlich). Meist ist es mit Konstruktions­programmen möglich, eine dieser Darstellungs­arten auszuwählen.

Je mehr von derartigen Programmen erwartet wird, desto besser muss auch die verwendete Hardware sein. In der Filmindustrie verwendet man Monitore mit einem Auflösungsvermögen von min­destens 4096 x 4096 pixel, im Bauwesen sind Auflösungen von mindestens 1024 x 768 pixel empfehlenswert.

Professionelle CAD-Programme

  • AutoCAD (Firma AutoDesk; sehr allgemeines Produkt für Verwendung in Maschinenbau, Elektrotechnik und Bauwesen)
  • AutoSketch (Firma AutoDesk; einfache CAD-Software für Informationsskizzen, Konzeptskizzen und technische Zeichnungen)
  • CADdy
  • MicroStation (Firma Bentley)
  • ArchiCAD (speziell für den Bereich des Bauwesens: Massenermittlung, Konstruktion mit Volumenelementen möglich)
  • PCAD (Leiterbahnentwurf)
  • EAGLE (Leiterbahnentwurf)
  • Creo Parametric (früher: Pro/Engineer oder ProE; maschinenbaulicher Schwerpunkt)
  • Catia

CAD-Programme für den Unterricht

Für Unterrichtszwecke haben sich in den letzten Jahren spezielle Programme entwickelt, die vor allem das korrekte Konstruieren und das räumliche Vorstellungsvermögen schulen sollen. Meist werden solche Produkte im DG-Unterricht eingesetzt. Dazu gehören derzeit folgende Programme:

  • DG/GZ
  • Cabri Géomètre
  • GAM
  • CAD-2D und CAD-3D (Technische Universität Wien)

Mal- und Zeichenprogramme

Vor allem zum Entwerfen von Freihandskizzen, für Werbung und zum Privatgebrauch.

Typische Vertreter

  • Designer (Micrografx)
  • Harvard Graphics (SPC)
  • Photoshop (Adobe)
  • PhotoStyler (Aldus) (mit diesem Programm wurden die Scans in diesem Skriptum nachbearbeitet)
  • Paintbrush (MicroSoft)
  • FreeHand (Macromedia): Illustrationsprogramm
  • CorelDraw! (Corel) (viele Grafiken in diesem Band wurden mit CorelDraw! erstellt)

Präsentationsprogramme

Dienen zur Erstellung von Overhead-Folien, Bildschirm- und Web-Präsentationen.

Beispiele

  • StarOffice (Stardivision)
  • Microsoft Powerpoint
Microsoft Powerpoint 2013

Multimedia-Entwicklung

Der Multimedia-Markt erlebt seit einigen Jahren einen Boom, der sich durch eine unüberschaubare Anzahl von Multimedia-CD-ROMs präsentiert.

Solche CD-ROMs werden üblicherweise mit Entwicklungspaketen entworfen, die speziell für die Integration von Bild, Ton, Animation und Video ausgelegt sind.

Bekannte Beispiele

  • Director (Macromedia)
  • Toolbook (Asymetrix)

Zunehmend findet man auch im World Wide Web (siehe Internet) multimediale Seiten.

Typisch ist Shockwave, eine Software-Erweiterung (ein so genanntes „Plug-In“) von Macromedia, die es gestattet, Anwendungen, die mit dem Director erstellt wurden, in Internet-Browsern direkt abzuspielen.

Interessant sind auch VRML-Dateien (Virtual Reality Modeling Language). Dieses Dateiformat ist betriebssystemunabhängig und stellt eine Sprache zur Beschreibung von dreidimensionalen virtuellen Objekten und Welten dar. (Anmerkung: „virtuell“ bedeutet „nicht wirklich, eingebildet“)

Datenbanken

Sie dienen der übersichtlichen Verwaltung von gespeicherten Daten. Eine Datenbank besteht aus (üblicherweise vielen) Datensätzen. Der Zugriff zu diesen Datensätzen muss über einen Schlüssel (key) erfolgen (z.B. Autonummer, Geburtsdatum). Diese stehen am Beginn eines Datenfeldes:

Man muss sich daher genau überlegen, welche Schlüsselfelder man braucht.

Verwendung von Datenbanksystemen

neue Datenbank: muss aufgebaut und eingegeben werden

existierende Datenbank: Abfragen oft mit eigener „Abfragesprache“ (SQL = Structured Query Language)

Beispiel für ein SQL-Statement:

SELECT Adressenliste.AdressenlisteKennnummer, Adressenliste.Vorname, Adressenliste.Nachname
FROM Adressenliste
WHERE Adressenliste.Nachname Like ‘H%’;

Man unterscheidet nach ihrer Größe verschiedene Klassen von Datenbanken:

  • lokale Datenbanken (Verwendung im PC-Bereich)
  • Datenbank-Server
  • internationale Datenbanken

Lokale Datenbanken

Erhältliche Datenbankprogramme/-systeme

  • dBase (PC)
  • Oracle (schafft den Übergang vom PC zum Großrechner)
  • Informix (Mainframe)
  • Ingres (Mainframe)
  • Enable (Mainframe)
  • Sybase (Mainframe)
  • Paradox (PC; Inprise/Borland)
  • FoxPro (PC; Microsoft)
  • SQLBase (PC; Centura)
  • Access (PC; Microsoft, 1. Version erschien 1993)
  • FileMaker (Apple)
Microsoft Office System 2007Access

Relationale Datenbank-Management-Systeme (RDBMS)

Für solche Datenbanksysteme wurde von Codd das so genannte Relationenmodell eingeführt. Datenbanken nach diesem Modell bestehen im Wesentlichen aus zwei Teilen:

  • Strukturteil (Daten in Tabellen)
  • Operationenteil („Relationenalgebra“, sozusagen Rechenoperationen, die die Daten auswählen, verknüpfen und verändern können)

Das heißt: Programme und Daten müssen streng getrennt sein, da nur die Daten gespeichert werden!

Dazu gibt es eine eigene Programmiersprache, die als SQL (structured query language = strukturierte Abfragesprache) bezeichnet wird. SQL wurde 1986 vom American National Standards Institute (= ANSI) standardisiert.

Die Programmiersprachen heißen Sprachen der 4.Generation und haben folgende Merkmale:

  • integrierte Datenbankverwaltung (Indexaufbau, Sortierungs­befehle, Datensuche etc.)
  • Datums- und Zeitfunktionen
  • leichte Datenabfrage
  • einfache Bildschirmmasken

Netzwerkbetrieb (Stichwort: Client-Server-Betrieb – die Datenbank liegt auf einem zentralen Rechner, die Abfrage und der Kontakt zum Benutzer werden aber von externen kleinen Rechner durchgeführt)

Transaktionssteuerung (kommt es zu einem Computerabsturz, wird automatisch der Zustand vor der Transaktion wiederhergestellt – „all or nothing“)

Wichtig für die Zukunft wird es auch sein, dass der Zugriff auf andere Datenbanksysteme möglich ist, dass also ein „gemeinsamer Nenner“ für alle Datenbanken gefunden wird. Von Microsoft gibt es dazu den Ansatz der ODBC (Open Database Connectivity).

Objektorientierte Datenbanksysteme (OODBS)

Seit neuestem gibt es Datenbank-Programme, die nicht – wie bisher – durch programmierte „Prozeduren“ veränderbar sind, sondern ganz anders arbeiten: Alle „Objekte“ (das heißt, Tabellen und Daten) sind selbst „aktiv“, sie versenden Nachrichten an andere Objekte und lösen damit Aktionen aus. Anwendungen in solchen Datenbanken sind durch Klassen repräsentiert.

Aufbau einer Datenbank

1. Struktur

  • Schlüsselfelder (Key): wie viele und welche
  • Feldlänge (etwa bei Textfeldern: maximale Anzahl der Zeichen)
  • erlaubte Zeichen
  • Feldtyp (numerisch, Datum, Text usw.)

Beispiel: Das Feld Kundennummer ist in dieser Access-Datenbank das Schlüsselfeld (erkennbar am Schlüsselsymbol).

Je gründlicher man die Struktur plant, desto weniger Probleme wird es vermutlich geben!

2. Bildschirmmaske

Aussehen der Kommunikationsebene, z.B.

Probleme, die auftreten können:

Datenleichen: Aufgrund von Tippfehlern werden manche Datensätze nie mehr gefunden.

Abhilfe: Überprüfungsroutinen, Zugriffsstatistik (Daten­leichen werden nie benützt!)

Datenschutz: Personenbezogene Daten dürfen nur mit Einwilligung der betroffenen Person eingesehen werden (Und wie kontrolliert man das?)

Zugriffsschutz (Hacker!)

Datensicherung (unbedingt Backups anfertigen)       

Client-/Server-Datenbanksysteme

Marktübersicht:

FirmaProduktUmsatz
2007 (Mio $)
Marktanteil
2007
OracleOracle8.33644,3 %
IBM 3.95321,0 %
MicrosoftSQL Server3.47918,5 %
Sybase 6583,5 %
Teradata 6303,3 %
   
mySQL 380,2 %

Marktführer in diesem Segment ist seit vielen Jahren die Firma Oracle mit ihrem gleichnamigen Datenbankserver-Produkt.

Die letzten wesentlichen Versionen waren mit folgenden Nummern gekennzeichnet:

  • 10g
  • 11g (2007)
  • 12c (2013)

Das „g“ steht in diesem Zusammenhang für „Grid Computing“. Grid-Systeme bündeln die Rechenleistung mehrerer Server und führen Rechenoperationen tabellenartig (grid) durch.

Editionen

  • Enterprise Edition: für größere Unternehmen konzipiert
  • Standard Edition
  • Standard Edition One
  • Express Edition (nur 10g): kostenfrei

Oracle vertreibt auch diverse andere Datenbankprodukte, die durch Firmenübernahmen erworben wurden. Eines der bekanntesten Serverprodukte ist MySQL. MySQL wurde seit 1994 vom schwedischen Unternehmen MySQL AB entwickelt. Im Februar 2008 wurde MySQL AB vom Unternehmen Sun Microsystems übernommen, das seinerseits im Januar 2010 von Oracle gekauft wurde. Das Produkt steht in zwei Lizenzierungsversionen zur Verfügung:

  • MySQL Enterprise: kostenpflichtig
  • MySQL Community Edition: gratis, unterliegt der GPL-Lizenzierung

MySQL erfreut sich vor allem bei webbasierten Applikationen steigender Beliebtheit. MySQL ist für verschiedenste Betriebssystemplattformen erhältlich, darunter Windows und verschiedene Linux-Distributionen.

Microsoft steht seit vielen Jahren auf Platz 2 am Datenbankservermarkt. Das Produkt SQL Server wurde ursprünglich von der Firma Sybase entwickelt und bis Version 6.5 von Microsoft zugekauft. Nach Differenzen zwischen Microsoft und Sybase entwickelte Microsoft das Produkt ab Version 7.0 selbst weiter. Somit gibt es zwischen Version 6.5 und 7.0 sehr große, auch konzeptuelle Unterschiede, während die Weiterentwicklungen zwischen SQL Server 7.0 und 2000 minimal sind.

  • SQL Server 6.5
  • SQL Server 7.0
  • SQL Server 2000 (8.0)
  • SQL Server 2005 (9.0), derzeit SP2
  • SQL Server 2008 (10.0), erschienen im August 2008
  • SQL Server 2008 R2 (10.5), 2010
  • SQL Server 2012 (11.0), 2012
  • SQL Server 2014 (12.0), 2014

Die einzelnen Versionen werden laufend durch Service Packs verbessert.

Internationale Datenbanken

Beispiele

  • Atomenergie-Datenbank (IAEA)
  • LOCKHEED-Datenbank
  • IASA (International Agency of Applied System Analysis)
  • ESA (von der European Space Agency)
  • PROFILE (Zeitungsdatenbank, reicht bis 1982)

Kosten für die Benützung einer solchen Datenbank setzen sich zusammen aus:

  • Leitung
  • Connect-Time
  • Abfragegebühr (Anzahl der Daten: „retrieval“ (2…)pro Abfrage)

Beispiel: Computer-Literatursuche

Datenbank besteht aus Datensätzen mit:

  • Literaturdaten: Autor, Jahr, Adresse, Verlag, Zeitschrift,…
  • Abstract (vom Autor formulierte Kurzfassung)
  • Thesaurus (Sammlung bekannter Begriffe)

Man wird daher von neuer Literatur ausgehen, da die Stellen nur in die Vergangenheit gespeichert sind. In der neuen Literatur wird man vom Literaturverzeichnis aus­gehen und ausgehend davon nach Autoren oder Stichworten su­chen.

Der „Science citation index“ geht in die Zukunft.

Heute werden Abfragen von internationalen Datenbanken meist über das WWW (Internet) durchgeführt.

Planungshilfen

Werden zur Planung umfangreicher Projekte (Bauwesen etc.) verwendet.

Beispiel: Microsoft Project

Integrierte Systeme

Integrierte Systeme bestehen aus einer „Sammlung“ der bisher beschriebenen Anwendungsbereiche in einem Programm. Der Hauptvorteil solcher Systeme ist das beliebige Austauschen von Daten; verwendet man verschiedene Programme, so müssen Daten extra „importiert“ bzw. „exportiert“ werden.

Bekannte Vertreter:

  • Works (Microsoft; Kombination von Textverarbeitung und Tabellenkalkulation) für Windows
  • Framework
  • Office (Microsoft): „Büropaket“ mit MS-Word, MS-Excel, MS-Powerpoint und – in der „Professional“-Variante – MS-Access. Die seit Herbst 2003 verfügbare Office-Version wird gekoppelt mit Server-Lösungen von Microsoft angeboten („Office System 2003“); Microsoft verspricht sich davon eine engere Kundenbindung und höhere Produktivität.
  • SmartSuite (Lotus/IBM): enthält die Textverarbeitung WordPro, die Präsentationssoftware FreeLance und die Datenbank Approach sowie die Tabellenkalkulation 1-2-3  und den Terminplaner Organizer.
  • WordPerfectSuite (Corel): WordPerfect als Textverarbeitung, Quattro Pro als Datenbank, CorelFlow sowie Presentation.
  • StarOffice (Stardivision GmbH, Hamburg, BRD; jetzt Sun): Für private Zwecke ist diese Suite kostenlos unter www.stardivision.de aus dem Internet downloadbar.

Tools und Utilities, Spiele

Egal wofür sich jemand einen Computer kauft. Spätestens nach einer Woche wird er 26 Stunden pro Tag Space Invaders damit spielen.

(adaptiert nach: Graf, Murphys Computergesetze, Markt&Technik 1990.)

Als „Tools“ (Werkzeuge) bezeichnet man Programme, die das Arbeiten mit Betriebssystemen und mit den Massenspeichern sowie die Programmerstellung erleichtern.

Windows Commander, ein Dateiverwaltungs-Tool

Beispiele

  • PC-Tools
  • Norton Utilities, Norton Commander, WinCommander
  • DOS-Shell
  • XTREE-Pro
  • SideKick
  • Kompressionsprogramme (WinZip, arj, pkzip, …) zum „Packen“ größerer Datenmengen zur Verringerung der Dateigröße (wichtig etwa beim Weitergeben von Daten auf Diskette oder beim Download von Programmen via Internet-FTP)

Schließlich seien noch die überaus zahlreich vorhandenen Computerspiele angeführt, die besonders auf dem Gebiet der Homecomputer starke Verbreitung gefunden haben. Die Abgrenzung zwischen Spiel- und Simulations- bzw. Lernprogramm ist jedoch nicht möglich: Schachprogramme haben bereits ein sehr hohes Niveau erreicht, Flugsimulatoren werden in der Pilotenausbildung eingesetzt.

Seit der flächendeckenden Verwendung von Web-Technologien sind Massen-Mehrspieler-Online-Rollenspiele (MMORPG) zu einem bedeutenden Marktfaktor geworden. Das bisher erfolgreichste derartige Online-Spiel ist World of Warcraft von Blizzard, welches im September 2010 weltweit die 12-Millionen-Account-Grenze überschritt. Nach diesem Höhepunkt sanken die Abonenntenzahlen deutlich, man schätzt, dass es 2018 etwa 1,7 Millionen Abonnenten gab. Kritisch wird das hohe Suchtpotenzial solcher Spiele gesehen.

So genannte Open World-Games bieten den Spielern die Möglichkeit, die virtuelle Welt selbst zu gestalten und zu erkunden; es gibt keinen vordefinierten Spielablauf. Zu diesen Spielen gehören etwa Minecraft.

Spracherkennungs-Software

Diese Software erlaubt die Eingabe von Texten über Mikrofon und Soundkarte. Nach einer Trainingsphase werden die eingegebenen Sprachdaten mit relativ guter Genauigkeit in Worte übersetzt. Die Systeme versagen natürlich bei Fachvokabular; hier gibt es allerdings schon Zusatzmodule für Rechtsanwälte und Ärzte.

HeadsetIBM ViaVoice

Beispiele

  • Philips SpeechMagic
  • IBM Via Voice Executive (Vertrieb: Scansoft)
  • Dragon Naturally Speaking (Scansoft)
  • Voice Xpress Professional (Lernout & Hauspie)

Christian Zahler

Studium an der TU Wien (Chemie, Physik, Mathematik, Informatik), selbstständige Tätigkeit (IT & Consulting) mit Spezialisierung auf Schulungskonzepte in der Erwachsenenbildung, derzeit Unterrichtstätigkeit am Francisco Josephinum Wieselburg (Landtechnik-Abteilung, technische und naturwissenschaftliche Fächer, Schwerpunkte Elektro- und Automatisierungstechnik und Mechanik), seit unendlich langer Zeit dem ClubComputer freundschaftlich verbunden, Autor von Artikeln in PCNEWS.

Letzte Artikel von Christian Zahler (Alle anzeigen)

Zur Werkzeugleiste springen