Terminal-Emulator

Xterm, ein Terminalemulator für die X Fenstersystem
Windows -Terminal, ein Open-Source-Terminalemulator für Windows 10 und Windows 11

A Terminal-Emulator, oder Terminalanwendung, ist ein Computer Programm das emuliert ein Video Terminal In einer anderen Anzeigearchitektur. Obwohl normalerweise gleichbedeutend mit a Hülse oder Text Terminal, der Begriff Terminal Deckt alle Remote -Terminals, einschließlich grafischer Schnittstellen. Ein Terminalemulator in a grafische Benutzeroberfläche wird oft als a genannt Terminalfenster.

Ein Terminalfenster ermöglicht dem Benutzer zugreifen auf ein Textterminal und alle seine Anwendungen wie z. Befehlszeilenschnittstellen (Cli) und Text Benutzeroberfläche (TUI) Anwendungen. Diese können entweder auf derselben Maschine oder auf einer anderen via ausgeführt werden Telnet, ssh, wählen, oder über eine direkte Serienverbindung. An Unix-artig Betriebssysteme, es ist üblich, dass ein oder mehrere Terminalfenster mit der lokalen Maschine verbunden sind.

Terminals unterstützen normalerweise einen Satz von Fluchtsequenzen Zur Kontrolle der Farbe, Mauszeiger Position usw. Beispiele umfassen die Familie der Terminalkontrollsequenzstandards ECMA-48, ANSI X3.64 oder ISO/IEC 6429.

Geschichte

Computerterminals

Ein "intelligentes" Terminal[1] Ist seine eigene Verarbeitung, die normalerweise impliziert, dass ein Mikroprozessor eingebaut ist, aber nicht alle Terminals mit Mikroprozessoren haben eine echte Verarbeitung der Eingabe durchgeführt: Der Hauptcomputer, an den sie angehängt wurde, müsste schnell auf jeden Tastenanschlag reagieren. Der Begriff "intelligent" in diesem Kontext stammt aus dem Jahr 1969.[2]

Bemerkenswerte Beispiele sind die IBM 2250, Vorgänger des IBM 3250 und IBM 5080, und IBM 2260,[3] Vorgänger des IBM 3270, eingeführt mit System/360 1964.

IBM 2250 Modell 4, einschließlich Lichtstift und programmierte Funktionstastatur
Die meisten Terminals wurden mit verbunden Minicomputer oder Mainframe -Computer und hatte oft einen grünen oder bernsteinfarbenen Bildschirm. In der Regel kommunizieren Terminals über a mit dem Computer serielle Schnittstelle über ein Nullmodem Kabel, oft mit einem UVP RS-232 oder RS-422 oder RS-423 oder eine serielle Schnittstelle für aktuelle Schleifen. IBM -Systeme, die normalerweise über a kommuniziert werden Bus und Tag Kanal, a Koaxialkabel Verwendung eines proprietären Protokolls, einer Kommunikationsverbindung mit Verwendung Binäre synchrone Kommunikation oder IBM Sna Protokoll, aber für viele DEC, Daten allgemein und Ncr (und so weiter) Computer Es gab viele visuelle Display -Lieferanten, die gegen den Computerhersteller gegen Terminals konkurrierten, um die Systeme zu erweitern. In der Tat das Anweisungsdesign für die Intel 8008 wurde ursprünglich bei Computer Terminal Corporation als Prozessor für die DataPoint 2200.

Aus der Einführung der IBM 3270, und die Dec vt100 (1978) konnten der Benutzer und der Programmierer erhebliche Vorteile bei der Verbesserung der VDU -Technologie bemerken, doch nicht alle Programmierer verwendeten die Funktionen der neuen Terminals (Rückwärtskompatibilität In den Terminals VT100 und spätere Televideo -Terminals, beispielsweise mit "dummen Terminals", konnten Programmierer weiterhin ältere Software verwenden).

Einige dumme Terminals konnten auf einige Fluchtsequenzen reagieren, ohne Mikroprozessoren zu benötigen: Sie verwendeten mehrere Leiterplatten mit vielen integrierte Schaltkreise; Der Einzelfaktor, der ein Terminal als "intelligent" klassifizierte Prozess Benutzereingänge innerhalb des Terminals-nicht den Hauptcomputer an jedem Tastenanschlag unterbrochen-und senden Sie jeweils einen Datenblock (z. B. wenn der Benutzer ein ganzes Feld oder ein ganzes Formular beendet hat). Die meisten Terminals in den frühen 1980er Jahren wie ADM-3A, TVI912, Daten General D2, Dez. VT52Trotz der Einführung von ANSI-Terminals im Jahr 1978 waren im Wesentlichen "dumme" Terminals, obwohl einige von ihnen (wie die späteren ADM- und TVI-Modelle) eine primitive Block-Send-Fähigkeit hatten. Häufige frühe Verwendung lokaler Verarbeitungsleistung umfasste Funktionen, die nur wenig mit der Verarbeitung von Datenabwicklung von Off-Ladung zu tun hatten Host-Computer Aber nützliche Funktionen wie das Drucken eines lokalen Druckers, die gepufferte serielle Datenübertragung und die serielle Handshörd (um höhere serielle Übertragungsgeschwindigkeiten) und ausgefeiltere Charakterattribute für das Display sowie die Fähigkeit, Emulationsmodi zu wechseln, um die Modelle des Wettbewerbs nachzuahmen Dies wurde insbesondere in den 1980er Jahren immer wichtiger Verkaufsmerkmale, wenn Käufer die Ausrüstung der verschiedenen Lieferanten in größerem Maße als zuvor mischen und anpassen konnten.

Der Fortschritt in Mikroprozessoren und niedrigeren Speicherkosten ermöglichte es dem Terminal, Bearbeitungsvorgänge wie das Einsetzen von Zeichen in einem Feld zu verarbeiten, für das möglicherweise zuvor eine Vollbildmodelle von Zeichen erforderlich ist, um sie vom Computer zu übertragen, möglicherweise über einen langsamen Modemlinie. Um die intelligentesten Terminals Mitte der 1980er Jahre, die weniger als die meisten dummen Terminals kosten, könnten einige Jahre zuvor genügend benutzerfreundliche lokale Bearbeitung von Daten liefern und das ausgefüllte Formular an den Hauptcomputer senden. Die Bereitstellung von noch mehr Verarbeitungsmöglichkeiten, Workstations wie dem Televideo TS-800 könnten laufen CP/M-86die Unterscheidung zwischen Terminal und PC verwischen.

Ein weiterer der Motivationen für die Entwicklung der Mikroprozessor war zu vereinfachen und die in einem Terminal erforderliche Elektronik zu reduzieren. Dies machte es auch praktikabel, mehrere "Persönlichkeiten" in ein einzelnes Terminal zu laden, sodass ein Qume QVT-102 viele beliebte Terminals des Tages nachahmen und daher in Organisationen verkauft werden kann, die keine Software-Änderungen vornehmen wollten. Häufig emulierte terminale Typen enthalten:

Das ANSI X3.64 Escape Code Standard erzeugte in gewissem Maße einheitlich, aber signifikante Unterschiede blieben jedoch. Zum Beispiel die VT100, Heathkit H19 im ANSI -Modus, Televideo 970, Daten General D460 und Qume QVT-108-Terminals folgten alle dem ANSI-Standard, doch könnten Unterschiede in Codes von bestehen Funktionstasten, welche Charakterattribute verfügbar waren, Blockveranstaltungen von Feldern in Formularen, "fremden" Charaktereinrichtungen und Handhabung von Druckern, die mit der Rückseite des Bildschirms verbunden waren, waren.

Emulatoren

Lokales Echo

Terminal -Emulatoren können a umsetzen Lokales Echo Funktion, die kann fälschlicherweise werden "genannt"Halbduplex", oder immer noch etwas falsch" echoplex "(was formell ein ist Fehlererkennung Mechanismus und nicht eine Eingangsanzeigeoption).[4][5][6][7]

Line-at-a-Time-Modus/lokale Bearbeitung

Terminalemulatoren können lokale Bearbeitung implementieren, auch als "Line-at-a-Time-Modus" bezeichnet. Dies wird auch fälschlicherweise als "Halbduplex" bezeichnet. In diesem Modus sendet der Terminalemulator nur vollständige Eingabezeilen an das Hostsystem. Der Benutzer tritt in eine Linie ein und bearbeitet sie, wird jedoch lokal im Terminalemulator gehalten, während sie bearbeitet wird. Es wird erst übertragen, wenn der Benutzer seine Fertigstellung signalisiert, normalerweise mit dem ↵ Geben Sie ein Taste auf der Tastatur oder eine "Senden" -Taste in der Benutzeroberfläche. Zu diesem Zeitpunkt wird die gesamte Linie übertragen. Der Line-at-a-Time-Modus impliziert ein lokales Echo, da der Benutzer sonst nicht in der Lage ist, die Zeile zu sehen, da sie bearbeitet und konstruiert wird.[4][8] Der Line-at-a-Time-Modus ist jedoch unabhängig vom Echo-Modus und nicht benötigen Lokales Echo. Wenn Sie beispielsweise ein Passwort eingeben, ist beispielsweise eine Zeileneingabe mit der lokalen Bearbeitung möglich, aber das lokale Echo wird ausgeschaltet (ansonsten würde das Passwort angezeigt).[9]

Die Komplexität des Line-at-a-Time-Modus wird durch die Option "Line-at-a-Time" im Telnet-Protokoll veranschaulicht. Um es richtig zu implementieren, die Netzwerk virtueller Terminal Die durch das Terminal Emulator -Programm bereitgestellte Implementierung muss in der Lage sein, mit "Interrupt" und "abgebrochenen" Ereignissen zu erkennen und ordnungsgemäß zu behandeln, die mitten in der lokalen Bearbeitung einer Linie eintreffen.[10]

Synchrone Terminals

In asynchronen Terminals können Daten jederzeit in jede Richtung fließen. Im synchrone Terminals Ein Protokoll steuert, das möglicherweise Daten sendet, wenn. IBM 3270-basierte Terminals mit verwendet mit IBM Mainframe -Computer sind ein Beispiel für synchrone Terminals. Sie arbeiten im Wesentlichen in einem "Screen-at-a-Time" -Modus (auch als bekannt als bekannt als Blockmodus). Benutzer können zahlreiche Änderungen an einer Seite vornehmen, bevor sie den aktualisierten Bildschirm als einzelne Aktion an den Remote -Computer senden.

Terminalemulatoren, die das 3270 -Protokoll simulieren, stehen für die meisten Betriebssysteme zur Verfügung, um sowohl durch die Verabreichungssysteme wie die Verwendung zu verwenden Z9sowie diejenigen, die die entsprechenden Anwendungen verwenden, z. CICs.

Andere Beispiele für synchrone Terminals sind die IBM 5250, ICL 7561, Honeywell Bull VIP7800 und Hewlett Packard 700/92.

Virtuelle Konsolen

Virtuelle Konsolen, auch virtuelle Terminals genannt, werden emuliert Text Terminalsmit der Tastatur und dem Überwachung eines Personalcomputers oder einer Workstation. Das Wort "Text" ist der Schlüssel, da virtuelle Konsolen keine GUI -Terminals sind und nicht in einer grafischen Schnittstelle ausgeführt werden. Virtuelle Konsolen finden sich an den meisten Unix-artig Systeme. Sie werden hauptsächlich zum Zugriff auf und interagieren mit Servern, ohne eine grafische Desktop -Umgebung zu verwenden.

Beispiele für Terminals emuliert

Für Terminals wie z. VT52, VT100, VT220, VT320, IBM 3270/8/9/E, IBM 5250, IBM 3179g, Daten allgemein D211, Hewlett Packard HP700/92, Sperry/Unisys 2000-Serie UTS60, Burroughs/Unisys A-Serie T27/TD830/et1100, FÜGT HINZU Standpunkt, Sonne Konsole, Qnx, AT386, Sco-Ansi, SNI 97801, Televideo, und Wyse 50/60. Darüber hinaus wurden Programme entwickelt, um andere terminale Emulatoren wie zu emulieren, z. Xterm und verschiedene Konsolen Terminals (z. B. für Linux). Schließlich beziehen sich einige Emulatoren einfach auf einen Standard, wie z. Ansi. Solche Programme sind auf vielen Plattformen erhältlich von von DOS und Unix zu Fenster und Mac OS zu eingebetteten Betriebssystemen in Mobiltelefonen und industriellen Hardware.

Implementierungsdetails

Unix-ähnliche Systeme

In der Vergangenheit, Unix und Unix-artig Systeme verwendeten serielle Port -Geräte wie z. RS-232 Ports und zur Verfügung gestellt /dev/* Gerätedateien für Sie.[11]

Mit Terminalemulatoren werden diese Gerätedateien durch Verwendung eines Paares von emuliert Pseudoterminal Geräte. Dieses Paar wird verwendet, um einen physischen Port/eine Verbindung zum Host -Computing -Endpunkt zu emulieren - Computer -Hardware, die durch Betriebssystem -APIs bereitgestellt werden, einer anderen Software wie Rlogin, Telnet oder Ssh oder aber.[12] Zum Beispiel wären diese in Linux -Systemen diese /dev/ptyp0 (für die Master -Seite) und /dev/ttyp0 (für die Sklavenseite) Pseudoterminalgeräte.

Es gibt auch etwas Besonderes Virtuelle Konsole Dateien wie /Dev/Konsole. Im Textmodus wird das Schreiben in die Datei Text in der virtuellen Konsole angezeigt und das Lesen aus der Datei wird Text zurückgegeben, den der Benutzer in die virtuelle Konsole schreibt. Wie bei anderen Text TerminalsEs gibt auch etwas Besonderes Fluchtsequenzen, Steuerzeichen und Funktionen dass ein Programm nutzen kann, am einfachsten über eine Bibliothek wie z. Ncurses. Für komplexere Operationen können die Programme Konsolen- und Terminal -Special verwenden ioctl Systemaufrufe. Man kann Geräte mithilfe der Muster VCS ("Bildschirm" Virtual Console ") und VCSA (" virtueller Konsolenbildschirm mit Attributen ") vergleichen, z. /dev/vcs1 und /dev/vcsa1.[13]

Einige Terminal -Emulatoren enthalten auch Escape -Sequenzen zur Konfiguration des Verhaltens des Terminals, um eine gute Interoperation zwischen dem Terminal und den in der IT ausgeführten Programmen zu erleichtern, beispielsweise zur Konfiguration Klammung einfügen.

Die virtuellen Konsolen können in der Datei konfiguriert werden /etc/inittab gelesen von drin - Normalerweise startet es den Textmodus Anmeldung Prozess Getty für mehrere virtuelle Konsolen. X Fenstersystem kann in konfiguriert werden in /etc/inittab oder von an X Display Manager. Eine Anzahl von Linux Verteilungen verwenden systemd Anstatt von drin, was auch eine virtuelle Konsolenkonfiguration ermöglicht.

CLI -Werkzeuge

Typische Linux -Systemprogramme, die zum Zugriff auf die virtuellen Konsolen verwendet werden, gehören:

  • chvt Um die aktuelle virtuelle Konsole zu wechseln
  • openvt Ein Programm auf einer neuen virtuellen Konsole durchführen
  • deallocvt Eine derzeit nicht verwendete virtuelle Konsole zu schließen

Systembelastung

Das Programm Startx beginnt die X Fenstersystem auf einer neuen virtuellen Konsole. Es gibt auch andere grafische Programme, die aus der Konsole beginnen können (z. Linuxtv und Mplayer etc.)

Siehe auch

Anmerkungen

  1. ^ "Intelligente Terminaldefinition aus dem PC Magazine Encyclopedia".
  2. ^ Wörter des 20. Jahrhunderts; von John Ayto; Oxford Unity Press; Seite 413
  3. ^ "Was ist 3270 (Informationsanzeigesystem)". 3270 .. über seinen Vorgänger, den 2260
  4. ^ a b Daintith 2004, p. 171.
  5. ^ Weik 2000, "Echo" p. 478.
  6. ^ Weik 2000, "Echoplex" p. 479.
  7. ^ Weik 2000, "Echoplex -Modus" p. 479.
  8. ^ Bangia 2010, p. 324.
  9. ^ Stevens & Wright 1994, p. 413.
  10. ^ Miller 2009, p. 590, 591.
  11. ^ "Eine kurze Geschichte der Terminalemulation | Turbosoft". www.ttwin.com. Abgerufen 2021-10-04.
  12. ^ "Ubuntu Manpage: Tty - Allgemeine Terminalschnittstelle". Manpages.ubuntu.com. Abgerufen 2021-10-04.
  13. ^ "Bildschirme". Die Linux -Tastatur und die Konsole Howto. Das Linux -Dokumentationsprojekt. Abgerufen 2008-07-31. Der aktuelle Inhalt des Bildschirms von /dev /ttyn kann mit dem Gerät /dev /vcsn zugegriffen werden (wobei "VCS" für "Bildschirm" Virtual Console "steht). [...] Aus einem Programm ist es in der Regel besser zu verwenden /dev /vcsan ("virtueller Konsolenbildschirm mit Attributen") - es beginnt mit einem Kopfzeile, der die Anzahl der Zeilen und Spalten und den Ort des Cursors angibt. Siehe VCS (4).

Verweise

  • Bangia, Ramesh (2010). "Zeilenmodus -Terminal". Wörterbuch der Informationstechnologie. Laxmi Publications, Ltd. ISBN 978-93-8029-815-3.
  • Daintith, John (2004). "Echo". Oxford Dictionary of Computing (5. Aufl.). Oxford University Press. ISBN 978-0-19-860877-6.
  • Miller, Philip M. (2009). TCP/IP - Die ultimative Protokollhandbuch. Vol. 2 - Anwendungen, Zugriff und Datensicherheit. Universelle Publisher. ISBN 978-1-59942-493-4.
  • Stevens, W. Richard; Wright, Gary R. (1994). TCP/IP illustriert. Addison-Wesley Professional Computing-Serie. Vol. 1: Die Protokolle. Addison-Wesley. ISBN 978-0-201-63346-7.
  • Weik, Martin H. (2000). Informatik- und Kommunikationswörterbuch. Vol. 1. Springer. ISBN 978-0-7923-8425-0. {{}}: Fehlen oder leer |title= (Hilfe)

Externe Links