Table of Contents
Ursprung der Terminal-Emulatoren
Vor den 1980er Jahren drehte sich das vorherrschende Rechenmodell um Mainframes und Terminals,
was einen zentralisierten Ansatz zur Informationsverarbeitung schuf. Der Grund für dieses Modell
war, dass Prozessoren und insbesondere Speicher extrem teuer waren. Unternehmen würden daher
einen großen, leistungsstarken Zentralcomputer erwerben, der von Benutzern gemeinsam genutzt
werden konnte, die darauf über sogenannte Terminals zugriffen.
Terminals wurden auch "dumme Terminals" genannt, weil sie zwar technisch gesehen Computer
es sich um physische Geräte mit begrenzten Verarbeitungskapazitäten handelte, die als
Benutzeroberfläche für den Großrechner dienten. Die Benutzer griffen über diese Terminals auf
auf Anwendungen, die auf dem Mainframe liefen, der oft fest mit dem Großrechner verbunden war.
verbunden waren.
Die Terminals (in heutiger Sprechweise Thin Clients) waren Geräte, die aus einem Bildschirm,
einer Tastatur und der Technologie bestanden, die es ihnen ermöglichte, Tastenanschläge an
den Server zu übertragen und Ausgaben von diesem zu empfangen, jedoch über keine nennenswerte
Rechenleistung verfügten.
Terminal Control Codes
Wie oben erwähnt, war ein Terminal anfangs eine Kombination aus Tastatur und Bildschirm,
die über ein Netzwerk, Modem oder Netzwerk mit einem entfernten Computer verbunden waren.
Um den Serverprogrammen etwas Flexibilität zu ermöglichen, waren die Terminals jedoch mit
ein wenig Rechenleistung ausgestattet. Dadurch konnten sie Aufgaben über die einfache Ausgabe
von Text hinaus durchführen. Stattdessen konnten sie spezifische Codes empfangen, die in den
Text eingebettet waren. Diese wurden verwendet, um die Ausgabe des Textes zu formatieren, anstatt
wie bei einem Fernschreiber den Text einfach links-rechts und oben-unten zu drucken.
Jedoch verwendete jeder Hersteller (z. B. IBM, Digital Equipment, Wyse Corp.) unterschiedliche
Codes zur Textformatierung. Daher mussten die Terminals, um auf einen bestimmten Typ von
Server zuzugreifen, beim Hersteller des Servers erworben werden. Mit anderen Worten verwendeten
verschiedene Hersteller unterschiedliche Codes, die von den Servern an die Terminals gesendet
wurden, um den Cursor zu bewegen, die Farbe zu ändern, die Tastatur zu steuern, Bildschirmattribute
zu modifizieren, den Bildschirm zu löschen usw.
Unter den bekanntesten Herstellern von Terminals befanden sich z.B. DEC die die sehr
erfolgreiche Serie von zeichorientierten VT-Terminals erstellten, z.B. vt100,
vt220 aber auch IBM, die eher das block-orientierte
Verfahren für seine Terminals verwendeten, z.B. beim 3270
und 5250. Es gab auch Versuche, Codierungen für
diese Aufgaben zu standardisieren, die sogenannten ANSI-Terminals.
Um zum Beispiel auf einem VT220- oder ANSI-Terminal den Text "this is an error!" anzuzeigen,
wobei das Wort "error" in roter Farbe hervorgehoben sein soll,würde der Host tatsächlich
This is an ^[31m error ^[0m! an das Terminal (oder den
Terminal-Emulator) senden. Anstatt den gesamten Text anzuzeigen, wird das VT220-Terminal die
kryptischen Code-Teile ^[31m und ^[0m
als Befehle entfernen und den Text zwischen ihnen in einer anderen Farbe drucken, wie folgt:
This is an error!
Der Übergang von Zentralisierter Datenverarbeitung zum 'Personal Computer'
Mit der allmählichen Erschwinglichkeit von Prozessoren und Speicher entwickelte sich die Idee
eines Personal Computers. Dieses (damals) innovative Konzept bedeutete, dass jeder Benutzer
über seinen eigenen Speicher über seinen persönlichen Prozessor verfügen konnte, auf einem
Computer, der direkt auf seinem Schreibtisch stehen würde. Man ging davon aus, dass sich
dieses Modell durchsetzen würde und dass Mainframes und Applikationsserver bald der
Vergangenheit angehören würden, abgesehen von Nischenmärkten und
Bereiche, in denen enorme Rechenleistung erforderlich war.
Jedoch hat durch die Einführung des Internets und den Erfolg von Linux das Konzept von
Client/Server und zentraler Rechenleistung eine Art Renaissance erfahren. Als direkte Folge
davon erhält die Notwendigkeit, ein Terminal zu verwenden, um auf einen Computer in einem
entfernten Standort zuzugreifen (sei es irgendwo auf der Welt oder im Serverraum im Keller des
gleichen Gebäudes), erneut viel Aufmerksamkeit.
Da Personal Computer bereits populär waren und weit verbreitet wurden, wechselten Unternehmen und
Institutionen vom Einsatz dedizierter Hardware zum Zugriff auf den zentralen Computer (Terminals)
hin zu einem Modell, bei dem ein Programm, das auf einem PC läuft und dieselben Aufgaben wie
ein Hardware-Terminal erledigt.
Emulation eines Terminals auf einem Personal Computer
Dies überbrückte die Kluft zwischen der bestehenden Mainframe-Infrastruktur und den neuen PCs.
Terminal-Emulatoren erwiesen sich als Lösung, die es PCs ermöglichte, die Funktionalität
traditioneller Terminals zu emulieren, während sie sich mit Mainframes und anderen entfernten
Servern verbanden. Diese softwarebasierten Emulatoren ermöglichten es Benutzern, auf
Mainframe-Anwendungen und -Daten von ihren Personalcomputern aus zuzugreifen und so die
Lebensdauer des zentralen Time-Sharing Rechenmodells und die Nutzbarkeit der etablierten
Systeme effektiv zu verlängern. Gleichzeitig boten sie auch die Vorteile der Verwendung
des persönlichen Rechenmodells für Aufgaben wie Textverarbeitung oder Tabellenkalkulationen,
wo es sich natürlich als die überlegene Wahl herausstellte.
Terminal-Emulatoren boten mehrere Vorteile gegenüber physischen Terminals. Vor allem
eliminierten sie die Notwendigkeit dedizierter, platzraubender Hardware, was die Kosten
reduzierte und die Rechenumgebung vereinfachte. Emulatoren lieferten den Benutzern auch eine
flexiblere und anpassbare Benutzeroberfläche, was komfortabler für die Benuzer ist.
Der Übergang zu Terminal-Emulatoren ermöglichte es Organisationen, ihre Recheninfrastruktur
zu modernisieren, ohne die veralteten Systeme vollständig aufgeben zu müssen, und gewährleistete
so eine reibungslosere Evolution der Technologie.
Moderne Szenarien wie Internet, Cloud oder Data-Mining erfordern aber weiterhin das Abrufen
und Manipulieren von erheblichen und stetig wachsenden Datenmengen innerhalb von Datenbanken,
was Herausforderungen in Bezug auf Rechenintensität mit sich bringt und von PCs allein nicht
bewältigt werden kann. Als Reaktion darauf gab es seit dem Jahrtausendwechsel eine
dramatische Rennaisance des Client/Server-Modells. Während Endbenutzer hauptsächlich über Webbrowser
mit diesen Servern interagieren (die übrigens in abstrakten Begriffen eine ähnliche Funktion
wie ein Terminal erfüllen, wenngleich grafisch viel ausgefeilter), finden sich Administratoren und
Programmierer oft in der Position, diese Server weiterhin über textbasierte Terminals zu erreichen
zu müssen um Funktionen in der Linux Shell auszuführen.
Die Unpraktikabilität der Rückkehr zur Verwendung physischer "dummer" Terminals ist offensichtlich,
da der zeitgenössische Arbeitsbereich oft nicht über den physischen Raum für zusätzliche
Tastaturen und Bildschirme verfügt und es hierfür auch keinen Grund gäbe, weil leistungsfähige
Geräte überall schon vorhanden sind. Stattdessen hat sich eine ausgefeilte Software in die Rolle
eines virtuellen "dummen" Terminals versetzt. Als Terminal-Emulator bezeichnet, repliziert diese
Software die Funktionalitäten eines "dummen" Terminals oder Thin Clients auf einem
Personalcomputer und bietet so eine nahtlose Brücke für Benutzer, die sich mit komplexeren
Rechenaufgaben beschäftigen.
Funktionen und Anforderungen von Terminal-Emulatoren
Kurz gesagt ist ein Terminal-Emulator ein Programm, das das tut, was ein "dummes" Terminal in den
frühen Tagen der Informatik getan hat. Es überträgt Tastenanschläge an den entfernten Server,
empfängt Ausgaben vom Server und zeigt sie in einem Fenster an, das den Bildschirm simuliert, der
früher verwendet wurde. Der eigentliche Vorteil der Verwendung eines Terminal-Emulators besteht
jedoch darin, dass er nicht wirklich so "dumm" ist wie ein echtes Terminal. Stattdessen bietet er
Funktionen wie das Protokollieren von Ausgaben auf einem Drucker, das Speichern von Ausgaben auf
Festplatte, das Ermöglichen von automatischer Verarbeitung von Ein- und Ausgaben. Ein
Terminal-Emulator kann auch helfen, wiederkehrende Aufgaben zu automatisieren.
Wie oben erwähnt, pflegten viele Hersteller ihre eigenen Terminals mit ihrer eigenen Art der
Kommunikation zwischen Server und Terminal zu entwickeln. Das Gute an modernen Terminal-Emulatoren
ist (im Vergleich zu Hardware-Terminals), dass sie die meisten Codes verstehen können, die in der
Vergangenheit verwendet wurden. Ein einzelnes Terminal-Emulationsprogramm wie ZOC kann tatsächlich
die Rolle sowohl eines IBM- als auch eines DEC-Terminals spielen, je nachdem, auf welchen Server ein
Benutzer zugreifen muss (z. B. ein IBM-Großrechner oder ein Unix-Server).
Wer verwendet Terminal-Emulatoren?
Heutzutage werden Terminal-Emulatoren für eine Vielzahl von Aufgaben verwendet. Sie werden von Unix-
und Linux-Administratoren verwendet, um auf ihre Webserver zuzugreifen, von Mitarbeitern von
Unternehmen, die verschiedene Arten von Software auf zentralen Computern verwenden müssen, von
Ärzten, um Bluttestergebnisse von zentralen Laborkomputern abzurufen, und so weiter. Kurz gesagt,
jeder, der auf irgendeine Art von Daten auf einem zentralen Computer zugreifen möchte, benötigt
einen Terminal-Emulator.
ZOC Terminal: Ein moderner Terminal-Emulator für Windows und Mac
ZOC Terminal-Emulator ist ein professioneller Terminal-Emulator,
weil er die Standards mehrerer Hersteller unterstützt (vt100, vt220, TN3270, Ansi, Linux/Xterm, Wyse, um
nur einige zu nennen) und es Benutzern ermöglicht, praktisch auf jeden Server zuzugreifen, der die
Verwendung eines Terminals oder Terminal-Emulators erfordert (über Verbindungen wie
SSH-Client,
Telnet, Modem, usw.).
Zusätzlich zu den grundlegenden Terminalfunktionen bietet ZOC eine Vielzahl von zusätzlichen,
nützlichen Funktionen. Dieser Terminal-Emulator nutzt die Rechenleistung eines PCs, um Ihnen die
Automatisierung von Aufgaben zu ermöglichen (wie das automatische Anmelden oder das automatische Abrufen
von Daten), Sitzungen auf dem Bildschirm oder in Dateien zu protokollieren (zu Dokumentations- oder
späteren Überprüfungszwecken), Daten zwischen einem Textverarbeitungsprogramm und dem entfernten Server
zu kopieren und vieles mehr.