Zum Inhalt springen

Terminalemulation

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. April 2006 um 20:31 Uhr durch Kassander der Minoer (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Eine Terminalemulation ist das Nachbilden eines Terminals (Daten-Endgerät ohne Rechner-Intelligenz) mittels eines lokalen Computers (PC) und eines hierzu eingesetzten Programmes, zum Zweck der Kommunikation des PCs und seines Nutzers mit einem Großrechner. Oft sind diese Großcomputer von IBM oder waren ein sogenannter Superminicomputer (früher oft VAXen von DEC oder Pr1me-Rechner).

Eine Terminalemulation enthebt einen PC-Nutzer der Notwendigkeit, zur Kommunikaton mit einem Großrechner ein weiteres Datengerät nutzen zu müssen, einfach dadurch, dass der PC diese Aufgabe auch mitübernehmen kann.

Hier kommen auch Zusatzfunktionen ins Spiel, die die Kombination "PC mit Terminalemulations-Software" leistungsfähiger machen können als das "dumme" alte Terminal: man kann mittels der TE auch Datentransfer vom PC zum Großrechner bewerkstelligen, und umgekehrt: Daten des Großrechners am PC aufnehmen und ggfs. weiterverarbeiten.


Mit einer Terminalemulation wird eine textorientierte Ein- und Ausgabeschnittstelle, ein Terminal, emuliert. Die Plattform, auf der die Emulation stattfindet muss also mindestens die Möglichkeit zur Ausgabe und Eingabe von Zeichen (z.B. ASCII) bieten. Die am häufigsten verwendete Plattform ist eine graphische Benutzeroberfläche. Eine Terminalemulation braucht man, um alte textorientierte Programme mit einem grafischen Desktop benutzen zu können oder für neue Programme, die auf graphische Ein-/Ausgabe verzichten.

Moderne Systeme setzen Terminalemulationen intern ein, um Programmen das Vorhandensein eines Terminals vorzutäuschen, während sie die Anzeige auf die eingebaute Grafikkarte umleiten. Unter Linux und den meisten anderen PC-basierten unixartigen Betriebssystemen sind beispielsweise zwischen 6 und 10 solcher "virtuellen" Konsolen vorhanden.

Textanwendung <---> Terminalemulation <---> grafische Oberfläche
shell         <---> xterm             <---> X11

Architektur

Eine Terminalemulation ermöglicht die Interaktion mit einem textorientierten Programm innerhalb einer grafischen Benutzeroberfläche. Sie macht das Arbeiten mit Programmen möglich, die die Grafikschnittstelle nicht direkt zur Ausgabe benutzen (z.B. weil sie programmiert wurden, als es noch keine Grafikschnittstelle gab oder weil es einfacher ist, Ausgaben über die Textschnittstelle abzuwickeln). Dem textorientierten Programm "gaukelt" es ein Text-Terminal vor (daher der Name), und der Grafikschnittstelle ein grafikfähiges Programm.

Funktionsweise

Eine Terminalemulation übernimmt dieselbe Aufgabe, die die Software eines Terminals bewerkstelligt. Allerdings ist die Emulation ein normaler Prozess des Betriebssystems, der durch die CPU des Rechners ausgeführt wird, statt ein Programm, gespeichert im ROM des Terminals und ausgeführt durch dessen CPU. Dabei wird die Ausgabe eines textorientierten Programmes von der Terminalemulation analysiert und in Operationen einer Grafikschnittstelle (z.B. X11) umgesetzt.

Tastatureingaben in das Terminal-Fenster werden dabei an den Prozess geschickt, der innerhalb der Emulation ausgeführt wird. Dabei handelt es sich meistens um eine Shell. Der Shell wird durch ein Pseudoterminal vorgegaukelt, mit einem Terminal verbunden zu sein, die Master-Seite des Pseudoterminals ist aber mit dem Prozess der Terminalemulation verbunden, statt zum Beispiel mit einer seriellen Schnittstelle.

Beispiele

  • xterm, rxvt, aterm, Eterm, wterm, gnome-terminal, Konsole in den UNIX-Welt
  • "Extra" in der Windows-Umgebung zur Emulation von IBM-Terminals
  • VTerm und andere in der VAX-Welt
  • Eingabeaufforderung für Windows

Historie, Sinn, Zweck, Perspektive

Eine Terminalemulation ist ein Programm für einen PC, das einen "intelligenten" PC an einem Großrechner sich ersatzweise wie ein "dummes" Terminal verhalten läßt, für den Großrechner nur sichtbar als Datenendgerät ohne Eigenintelligenz. Der Ersatz kann sich im einfachen Fall rein auf die Text-Funktionalität beziehen, kann aber auch die Grafik-Funktionen von grafischen Terminals im komplexeren Fall ersetzen.

Emulation bedeutet Nachmachen, So-tun-als-ob, funktional (weitgehend) identisch zu sein, oder sogar besser zu sein, und ohne Einbußen an Funktionalität: alle Programme, die mit dem Terminal arbeiten, laufen auch auf dem PC, ohne Fehlermeldungen.

Wichtige Terminals an größeren sternförmig verkabelten Rechnersystemen waren die 3270-Serie von IBM und im Bereich der Mini-Computer die VT-Terminals von Digital Equipment. Die anfangs teuren PCs waren zunächst sinnvoll nur im Zusatz-Nutzen auch als Terminals an größeren Rechnern einsetzbar, u.a. um Platz zu sparen, und um lokal auf dem PC veränderte Daten und Programme auf den großen Rechner zu transferieren. Hierzu waren die Terminal-Emulations-Programme mit einigen Zusatz-Funktionen über die reine Terminal-Ersatzfunktion hinaus versehen, um diesen Daten-Transfer in beide Richtungen zu bewerkstelligen, also Daten zum Großrechner zu schieben (upload), oder von ihm Daten sich herzuholen (download).

Konkrete Beispiele: die "einfachen" DEC-Terminals waren das VT52 und das VT100 (VT = video terminal, Sicht-Endgerät). Diese Terminals erlaubten "nur" alpha-numerischen Befehlsdialog und Daten-Ein- und -Ausgabe. Mit einem ergänzenden Zeichensatz im Terminal, auf den per Befehls-Sequenz vom Rechner umgeschaltet werden konnte, war es dann auch möglich, eine einfache "Klötzchen"-Grafik (ähnlich dem bekannten Spiel Pacman) zu nutzen. Auch die neueren Terminals VT200 und VT220 erlaubten keine "Pixel"-Grafik, sie hatten lediglich eine am Kabel verschiebliche Tastatur und einen größeren Bildschirm-Monitor.

Die ersten "richtigen" Grafik-Terminals von DEC waren das VT240 (einfarbig, gelbe oder grüne Buchstaben und Pixel) und das VT241. Parallel-versetzt mit der erweiterten Grafik-Funktionalität von PCs zogen dann auch die Hersteller der Terminal-Emulationsprogramme nach: die ersten Programme erlaubten es, mit dem PC ein VT52 oder VT100 zu ersetzen. Mit der Hercules-Grafik und dem VGA-Standard dann wurden erweiterte, auch zunächst teurere Programme vertrieben, die den PC befähigten, zusätzlich ein grafikfähiges VT240 oder VT241 nachzuahmen. Insbesondere wurden Terminal-emulierende PCs zum Problem der Anbieter reiner Grafik-Terminals, wie Tektronix. Mit immer größeren Bildschirmen auch am PC (XGA-Standard, 1024x768 Punkte, oder dann 1280x1024 Punkte), 17 Zoll- und 19 Zoll-Monitoren starben die großen "dummen" Terminals aus.

1985 kostete eine Grafik-Station für das DEC VAX- basierende CAD-System MEDUSA ca. 145.000 DM, mit einem 19 Zoll-Bildschirm, einem Eingabe-Tablett und einem Alpha-Schirm für den Befehls-Dialog. Man beachte: eine Grafik-Station, die "dumm" war, die noch die "Intelligenz" des über Kabel angeschlossenen VAX-Rechners zusätzlich benötigte, deren Rechenleistung anteilig für mehrere Stationen nochmals in ähnlicher Größenordnung kostete, somit ca. 300.000 DM Gesamtkosten für den Betrieb eines einzigen Arbeitsplatzes verursachte. Dies war in der Zeit, dass gut verdienende Techniker und Ingenieure wieder in Schicht-Arbeit gingen, um ca. 16 Stunden am Tag diese teuren Einrichtungen zweischichtig zu nutzen, um sie besser auszulasten.

Mit dem Aufkommen immer preiswerterer PCs, der entsprechenden Software (z.B. AutoCAD) hatten solche teuren Stationen und Systeme immer weniger Chancen am Markt.

Als die Preise für PCs immer weiter sanken, verschwanden allmählich die echten Terminals von der Bildfläche. Heutzutage werden äußerst selten nur noch reine Terminals zur Benutzer-Interaktion am Arbeitsplatz eingesetzt; die heute bekannten reinen Terminals im Wortsinne als "Endgeräte" der Datenverarbeitung sind für Spezialfunktionen wie Kassensysteme und Bankautomaten eingesetzt.

Zusätzlich zur Emulations-Software wird am PC meist noch die elektronische Transfer-Funktionalität in Hardware benötigt, also sich über eine Schnittstelle und eine Kabel-Verbindung elektrisch identisch wie ein Terminal zu präsentieren. In der Anfangszeit war das vor allem die serielle Schnittstelle (für die VT-Emulation), oder eine spezielle Steckkarte zum IBM-Anschluss über Koaxialkabel.

Heutzutage existieren Terminalemulationen zumeist als Zusatzsoftware in PC-Netzwerken, um die oftmals immer noch bestehenden Großrechner-Systeme auch im Nebennutzen (neben den PC-Zwecken) noch ansprechen zu können. Der Hauptzweck verlagert sich jedoch immer mehr auf die vernetzten PC-Systeme selbst, oder auf Client-Server-Systeme wie SAP R/3 u.ä.

Wenn es eines Tages keine Großrechner mit spezialisierter bzw. "proprietärer" Benutzeroberfläche (abseits Windows, Unix und Linux) geben wird, werden Terminalemulationen dann ebenso auch entbehrlich sein.

Terminal-Emulationen stellen somit einen Baustein des Übergangs von der sternförmigen Großrechner-Technologie zu vernetzten PC-Netzwerken dar.