Emulátor terminálu - Terminal emulator
Emulátor terminálu , terminál aplikace , nebo termín , je počítačový program , který emuluje video terminál uvnitř nějakého jiného zobrazovacího architektury. Ačkoli obvykle synonymem s pláštěm nebo textový terminál , termín koncových krytů všech vzdálených terminálů, včetně grafického rozhraní. Emulátor terminálu v grafickém uživatelském rozhraní se často nazývá terminálové okno .
Okno terminálu umožňuje uživateli přístup k textovému terminálu a všem jeho aplikacím, jako jsou rozhraní příkazového řádku (CLI) a textové uživatelské rozhraní (TUI). Ty mohou být spuštěny buď na stejném počítači, nebo na jiném prostřednictvím telnetu , ssh nebo telefonického připojení . V operačních systémech podobných Unixu je běžné mít k místnímu počítači připojeno jedno nebo více oken terminálu.
Terminály obvykle podporují sadu únikových sekvencí pro ovládání barvy, polohy kurzoru atd. Příklady zahrnují rodinu standardů koncových řídicích sekvencí známých jako ECMA-48 , ANSI X3.64 nebo ISO/IEC 6429 .
Dějiny
Počítačové terminály
„Inteligentní“ terminál provádí vlastní zpracování, což obvykle znamená, že je vestavěn mikroprocesor, ale ne všechny terminály s mikroprocesory provedly skutečné zpracování vstupu: hlavní počítač, ke kterému byl připojen, by musel rychle reagovat na každý stisk klávesy. Termín „inteligentní“ v této souvislosti pochází z roku 1969.
Mezi pozoruhodné příklady patří IBM 2250 , předchůdce IBM 3250 a IBM 5080, a IBM 2260 , předchůdce IBM 3270 , představený s System/360 v roce 1964.
Většina terminálů byla připojena k minipočítačům nebo sálovým počítačům a často měla zelenou nebo oranžovou obrazovku. Terminály obvykle komunikují s počítačem přes sériový port přes nulový modemový kabel, často pomocí sériového rozhraní EIA RS-232 nebo RS-422 nebo RS-423 nebo proudové smyčky. Systémy IBM obvykle komunikovaly prostřednictvím sběrnicového a tagového kanálu, koaxiálního kabelu pomocí proprietárního protokolu, komunikačního spojení pomocí binární synchronní komunikace nebo protokolu SNA společnosti IBM , ale pro mnoho počítačů DEC, Data General a NCR (a tak dále) existovalo mnoho vizuálních zobrazit dodavatele konkurující výrobci počítačů o terminály pro rozšíření systémů. Ve skutečnosti byl návrh instrukce pro Intel 8008 původně koncipován v Computer Terminal Corporation jako procesor pro Datapoint 2200 .Od představení IBM 3270 a DEC VT100 (1978) si uživatel a programátor mohli všimnout významných výhod v technologických vylepšeních VDU, ale ne všichni programátoři využili funkcí nových terminálů ( zpětná kompatibilita v terminálech VT100 a novějších Televideo) například s „hloupými terminály“ umožnilo programátorům nadále používat starší software).
Některé němé terminály dokázaly reagovat na několik únikových sekvencí, aniž by potřebovaly mikroprocesory: používaly více desek s plošnými spoji s mnoha integrovanými obvody ; jediným faktorem, který klasifikoval terminál jako „inteligentní“, byla jeho schopnost zpracovávat vstup uživatele v terminálu-nepřerušovat hlavní počítač při každém stisknutí klávesy-a odesílat blok dat najednou (například: když uživatel skončil celé pole nebo formulář). Většina terminálů na začátku 80. let, jako ADM-3A, TVI912, Data General D2, DEC VT52 , i přes zavedení terminálů ANSI v roce 1978, byly v podstatě „hloupé“ terminály, i když některé z nich (například pozdější ADM a TVI modely) měly primitivní schopnost blokového odesílání. Běžné rané využití výkonu místního zpracování zahrnovalo funkce, které neměly mnoho společného se zpracováním dat z hostitelského počítače, ale přidávaly užitečné funkce, jako je tisk na místní tiskárnu, přenos sériového dat do vyrovnávací paměti a sériové handshaking (aby vyhovovaly vyšším rychlostem sériového přenosu) ) a propracovanější charakterové vlastnosti displeje a také schopnost přepínat režimy emulace tak, aby napodobovaly modely konkurentů, které se staly stále důležitějšími prodejními funkcemi zejména v 80. letech minulého století, kdy kupující mohli ve větší míře kombinovat vybavení různých dodavatelů než dříve.
Pokrok v mikroprocesorech a nižší náklady na paměť umožnily terminálu zvládnout editační operace, jako je vkládání znaků do pole, které dříve vyžadovalo opětovné odeslání celé obrazovky plné znaků z počítače, pravděpodobně pomalým modemová linka. Přibližně v polovině 80. let minulého století by nejinteligentnější terminály, jejichž cena byla nižší než u většiny hloupých terminálů před několika lety, mohly poskytnout dostatek uživatelsky přívětivých místních úprav dat a odeslat vyplněný formulář na hlavní počítač. Pracovní stanice, jako je Televideo TS-800, poskytující ještě více možností zpracování, by mohly provozovat CP/M-86 , čímž by se odstranil rozdíl mezi terminálem a osobním počítačem.
Další z motivací pro vývoj mikroprocesoru bylo zjednodušení a omezení elektroniky potřebné v terminálu. Díky tomu bylo také možné načíst několik „osobností“ do jednoho terminálu, takže Qume QVT-102 mohl napodobovat mnoho populárních terminálů dne, a tak byl prodán organizacím, které nechtěly provádět žádné softwarové změny. Mezi často emulované typy terminálů patří:
- Lear Siegler ADM-3A a novější modely
- Televideo 910 až 950 (tyto modely zkopírovaly kódy ADM3 a přidaly několik vlastních, nakonec byly kopírovány společností Qume a dalšími)
- Digital Equipment Corporation VT52 a VT100
- Data Obecné D1 až D3 a zejména D200 a D210
- Hazeltine Corporation H1500
- Tektronix 4014
- Wyse W50, W60 a W99
Emulátory
Místní ozvěna
Koncové emulátory mohou implementovat funkci místního echa , která může být chybně pojmenována „ poloduplex “ nebo stále mírně nesprávně „echoplex“ (což je formálně spíše mechanismus detekce chyb než možnost zobrazení vstupu).
Režim po řádku/místní úpravy
Terminálové emulátory mohou implementovat místní úpravy, známé také jako „režim line-at-a-time“. Toto je také mylně označováno jako „poloduplex“. V tomto režimu emulátor terminálu odesílá do hostitelského systému pouze úplné vstupní řádky. Uživatel zadá a upraví řádek, ale při úpravě je držen lokálně v emulátoru terminálu. Není přenášeno, dokud uživatel neoznámí jeho dokončení, obvykle ↵ Enterklávesou na klávesnici nebo nějakým tlačítkem „odeslat“ v uživatelském rozhraní. V tom okamžiku je vyslán celý řádek. Režim line-at-a-time implikuje místní echo, protože jinak uživatel nebude moci vidět řádek, jak je upravován a konstruován. Režim line-at-a-time je však nezávislý na režimu echa a nevyžaduje místní echo. Při zadávání hesla je například možné zadávání po řádcích s lokálními úpravami, ale místní echo je vypnuto (jinak by se zobrazilo heslo).
Složitosti režimu line-at-a-time jsou doloženy možností režimu line-at-a-time v protokolu telnet. Aby byla implementována správně, implementace Network Virtual Terminal poskytovaná programem emulátoru terminálu musí být schopna rozpoznat a správně se vypořádat s událostmi „přerušení“ a „přerušení“, které dorazí uprostřed lokální úpravy řádku.
Synchronní terminály
V asynchronních terminálech mohou data kdykoli proudit jakýmkoli směrem. V synchronních terminálech protokol řídí, kdo může kdy odesílat data. Terminály založené na IBM 3270 používané u sálových počítačů IBM jsou příkladem synchronních terminálů . Pracují v zásadě v režimu „obrazovky v čase“ (také známý jako blokový režim ). Uživatelé mohou na stránce provést řadu změn, než odešlou aktualizovanou obrazovku na vzdálený počítač jako jedinou akci.
Terminálové emulátory, které simulují protokol 3270, jsou k dispozici pro většinu operačních systémů, a to jak pro ty systémy pro správu, jako je z9 , tak pro ty, které používají odpovídající aplikace, jako je CICS .
Mezi další příklady synchronních terminálů patří IBM 5250 , ICL 7561, Honeywell Bull VIP7800 a Hewlett-Packard 700/92.
Virtuální konzole
Virtuální konzoly , nazývané také virtuální terminály, jsou emulované textové terminály pomocí klávesnice a monitoru osobního počítače nebo pracovní stanice. Slovo „text“ je klíčové, protože virtuální konzoly nejsou terminály GUI a neběží v grafickém rozhraní. Virtuální konzole se nacházejí na většině unixových systémů. Používají se především k přístupu a interakci se servery bez použití grafického desktopového prostředí.
Příklady emulovaných terminálů
Mnoho terminálové emulátory byly vyvinuty pro terminály, jako VT52 , VT100 , VT220 , VT320 , IBM 3270/8/9 / E , IBM 5250 , IBM 3179G , data Všeobecné D211, Hewlett Packard HP700 / 92, Sperry / Unisys 2000 series UTS60 , Burroughs/Unisys řady A T27/TD830/ET1100, ADDS ViewPoint, Sun console, QNX , AT386, SCO-ANSI, SNI 97801, Televideo a Wyse 50/60. Kromě toho byly vyvinuty programy pro emulaci jiných emulátorů terminálů, jako jsou xterm a různé konzolové terminály (např. Pro Linux ). Nakonec některé emulátory jednoduše odkazují na standard, například ANSI . Tyto programy jsou k dispozici na mnoha platformách od DOS a Unix přes Windows a macOS až po vestavěné operační systémy, které se nacházejí v mobilních telefonech a průmyslovém hardwaru.
Podrobnosti o implementaci
Unixové systémy
V minulosti Unix a systémy podobné Unixu používaly zařízení se sériovým portem, jako jsou porty RS-232 , a poskytovaly pro ně /dev/*
soubory zařízení .
S terminálovými emulátory jsou tyto soubory zařízení emulovány pomocí dvojice pseudoterminálních zařízení. Tento pár se používá k emulaci fyzických portů/připojení k koncovému koncovému bodu hostitele - hardwaru počítače poskytovanému rozhraními API operačního systému, některým dalším softwarem, jako je rlogin , telnet nebo SSH nebo jiným. Například v systémech Linux by to byla /dev/ptyp0
(pro stranu master) a /dev/ttyp0
(pro stranu slave) pseudoterminální zařízení.
Existují také speciální soubory virtuální konzoly jako /dev/console
. V textovém režimu zápis do souboru zobrazuje text na virtuální konzole a čtení ze souboru vrací text, který uživatel zapíše do virtuální konzoly. Stejně jako u jiných textových terminálů existují i speciální únikové sekvence , řídicí znaky a funkce, které může program používat, nejsnadněji prostřednictvím knihovny, jako jsou ncurses . U složitějších operací, programy mohou používat konzolu a terminálových speciální ioctl systémová volání. Zařízení lze porovnávat pomocí vzorů vcs („obrazovka virtuální konzoly“) a vcsa („obrazovka virtuální konzoly s atributy“) jako /dev/vcs1
a /dev/vcsa1
.
Virtuální konzole lze konfigurovat v souboru /etc/inittab
čtené init - obvykle začíná v textovém režimu přihlašovací proces getty na několik virtuálních konzolí. Systém X Window lze konfigurovat ve správci zobrazení X/etc/inittab
nebo pomocí něj . Řada linuxových distribucí používá místo init systemd , což také umožňuje konfiguraci virtuální konzoly.
Nástroje CLI
Mezi typické systémové programy Linux používané pro přístup k virtuálním konzolám patří:
-
chvt
pro přepnutí aktuální virtuální konzoly -
openvt
ke spuštění programu na nové virtuální konzole -
deallocvt
zavřete aktuálně nepoužívanou virtuální konzolu
Načítání systému
Program startx spustí X Window System na nové virtuální konzole. Existují i další grafické programy, které lze spustit z konzoly (např. LinuxTV a MPlayer atd.)
Viz také
- Binární synchronní komunikace
- Seznam emulátorů terminálu
- Poskytovatel online služeb
- Sériové rozhraní
Poznámky
Reference
- Bangia, Ramesh (2010). „terminál linkového režimu“. Slovník informačních technologií . Laxmi Publications, Ltd. ISBN 978-93-8029-815-3.
- Daintith, John (2004). "echo". Oxfordský slovník výpočetní techniky (5. vydání). Oxford University Press. ISBN 978-0-19-860877-6.
- Miller, Philip M. (2009). TCP/IP - Průvodce konečným protokolem . 2 – Aplikace, přístup a zabezpečení dat. Universal-Publishers. ISBN 978-1-59942-493-4.
- Stevens, W. Richard ; Wright, Gary R. (1994). Ilustrovaný TCP/IP . Profesionální výpočetní řada Addison-Wesley. 1: Protokoly. Addison-Wesley. ISBN 978-0-201-63346-7.
-
Weik, Martin H. (2000). Počítačový věda a komunikační slovník . 1 . Springer. ISBN 978-0-7923-8425-0. Chybí nebo je prázdný
|title=
( nápověda )
externí odkazy
- Emulace terminálu v Curlie
- Definice okna terminálu podle Linux Information Project (LINFO)