Terminal Emulation
Inhaltsverzeichnis
Was ist ein Terminal Emulation?
Ein Terminal Emulation ist eine Terminalanwendung bzw. ein Computerprogramm, das ein Videoterminal innerhalb einer anderen Anzeigearchitektur emuliert. Obwohl es sich normalerweise um ein Shell- oder Text-Terminal handelt, umfasst der Begriff Terminal alle entfernten Terminals, einschließlich grafischer Schnittstellen. Ein Terminal Emulation, das in einer grafischen Benutzeroberfläche integriert ist, wird oft auch als Terminalfenster bezeichnet.
Ziel
Ein Terminal Emulation ermöglicht dem Benutzer den Zugriff auf ein Text-Terminal sowie alle seine Anwendungen, wie z. B. Befehlszeilen-Schnittstellen (CLI) und Textbenutzeroberflächen-Anwendungen (TUI). Diese können entweder auf demselben Computer oder auf einem anderen Computer über Telnet, SSH oder DFÜ laufen. Auf Unix-ähnlichen Betriebssystemen ist es üblich, ein oder mehrere Terminalfenster mit dem lokalen Rechner zu verbinden.
Terminals unterstützen i. d. R. einen Satz von Escape-Sequenzen zum Steuern der Farbe, der Cursor-Position usw. Beispiele umfassen die Familie von Terminal-Steuersequenz-Standards, die als ECMA-48, ANSI X3.64 oder ISO/IEC 6429, bekannt sind.
Lokales Echo
Terminal Emulation kann eine lokale Echofunktion implementieren, welche fälschlicherweise als “Halbduplex” oder “Echoplex” (was formal eher ein Fehlererkennungsmechanismus als eine Eingabeanzeigeoption ist) bezeichnet werden kann.
Lokale Bearbeitung (Line-at-Time-Modus)
Ein Terminal Emulation kann eine lokale Bearbeitung implementieren, welche auch als “Zeilen-zu-einem-Zeit-Modus” bezeichnet wird. Auch in diesem Fall wird dieser Vorgang fälschlicherweise als “Halbduplex” bezeichnet, während in diesem Modus der Terminal Emulation nur vollständige Eingabezeilen an das Host-System sendet. Der Benutzer gibt eine Zeile ein und bearbeitet sie.
Diese Zeile wird während der Bearbeitung im Terminal Emulation gehalten. Eine Übertragung findet erst statt, wenn der Benutzer seine Beendigung meldet. Dies erfolgt i. d. R. mit der Eingabetaste auf der Tastatur oder einer “Senden-Schaltfläche” in der Benutzeroberfläche.
Zu diesem Zeitpunkt wird die gesamte Zeile übertragen. Der Modus “Zeile für Zeile” impliziert ein lokales Echo, da der Benutzer andernfalls die Zeile nicht sehen kann, während sie editiert und konstruiert wird. Der “Leitung-zu-einer-Zeit-Modus” ist jedoch unabhängig von dem Echomodus und erfordert kein lokales Echo. Bei der Eingabe eines Passworts ist z. B. eine Zeileneingabe mit lokaler Bearbeitung möglich, aber das lokale Echo ist ausgeschaltet (andernfalls würde das Passwort angezeigt werden).
Die Komplexität dieses Modus wird durch die Option “Leitung-zu-einer-Zeit-Modus” im Telnet-Protokoll veranschaulicht. Um es korrekt zu implementieren, muss die vom Terminal Emulation-Programm bereitgestellte Implementierung des Network Virtual Terminals in der Lage sein, “Interrupt-” und “Abort-Ereignisse”, die mitten in der lokalen Bearbeitung einer Linie ankommen, zu erkennen und richtig zu behandeln.
Synchrone Terminals
Bei asynchronen Terminals können Daten jederzeit in jede Richtung fließen. In synchronen Terminals steuert ein Protokoll, wer wann Daten senden darf. IBM 3270-basierte Terminals, die mit IBM Mainframe-Computern verwendet werden, sind ein Beispiel für synchrone Terminals. Sie arbeiten in einem im Wesentlichen “Bildschirm-auf-Zeit-Modus” (auch bekannt als Block-Modus). Benutzer können zahlreiche Änderungen an einer Seite vornehmen, bevor sie den aktualisierten Bildschirm als eine Aktion an den Remote-Computer senden.
Terminal Emulation, der das 3270-Protokoll simuliert, ist für die meisten Betriebssysteme verfügbar, sowohl für Systeme, die das z9 verwalten, als auch für solche, die entsprechende Anwendungen wie CICS verwenden.
Weitere Beispiele für synchrone Terminals umfassen IBM 5250, ICL 7561, Heneywell Bull VIP7822 und Hewlett-Packard 700/92.
Beispiele
Viele Terminal Emulations wurden für Terminals wie VT52, VT100, VT220, VT320, IBM 3270/8/9/E, IBM 5250, IBM 3179G, Data General D211, Hewlett Packard HP700/92, Sperry/Unisys 2000-Serie UTS60, entwickelt.
Es wurden zusätzlich Programme entwickelt, um andere Terminal Emulations wie xtern und verschiedene Konsolen-Terminals (z. B. für Linux) zu emulieren. Schließlich beziehen sich einige Emulations einfach auf einen Standard wie ANSI. Solche Programme sind auf vielen Plattformen verfügbar, von DOS und Unix über Windows und MacOS, bis hin zu eingebetteten Betriebssystemen, die in Mobiltelefonen und industrieller Hardware zu finden sind.
Sie haben noch Fragen?