Bağlantı emülatörü - Terminal emulator

xterm , X Pencere Sistemi için tasarlanmış bir terminal öykünücüsü
Windows Terminal , Windows 10 için açık kaynaklı bir terminal öykünücüsü

Bir terminal emülatörü , terminal uygulaması veya terimi , a, bilgisayar programı taklit video terminali başka bir görüntü mimarisi içinde. Tipik olarak bir kabuk veya metin terminali ile eşanlamlı olmasına rağmen , terminal terimi , grafik arayüzler dahil tüm uzak terminalleri kapsar. Bir grafik kullanıcı arabirimi içindeki bir uçbirim öykünücüsüne genellikle uçbirim penceresi denir .

Bir terminal penceresi, kullanıcının bir metin terminaline ve komut satırı arayüzleri (CLI) ve metin kullanıcı arayüzü (TUI) uygulamaları gibi tüm uygulamalarına erişmesine izin verir . Bunlar, aynı makinede veya telnet , ssh veya çevirmeli bağlantı yoluyla farklı bir makinede çalışıyor olabilir . On Unix benzeri işletim sistemleri, yerel makineye bağlı bir veya birden fazla uç pencere var yaygındır.

Terminaller genellikle rengi, imleç konumunu vb. kontrol etmek için bir dizi kaçış dizisini destekler . Örnekler, ECMA-48 , ANSI X3.64 veya ISO/IEC 6429 olarak bilinen terminal kontrol dizisi standartları ailesini içerir .

Tarih

Bilgisayar terminalleri

"Akıllı" bir terminal kendi işlemesini yapar, genellikle bir mikroişlemcinin yerleşik olduğunu ima eder, ancak mikroişlemcilere sahip tüm terminaller herhangi bir gerçek girdi işlemi yapmadı: bağlı olduğu ana bilgisayarın her tuş vuruşuna hızlı bir şekilde yanıt vermesi gerekir. Bu bağlamda "akıllı" terimi 1969'dan kalmadır.

Dikkate değer örnekler arasında IBM 3250 ve IBM 5080'in öncülü olan IBM 2250 ve 1964'te System/360 ile tanıtılan IBM 3270'in öncülü IBM 2260 yer alır .

Işıklı kalem ve programlanmış işlevli klavye dahil IBM 2250 Model 4
Çoğu terminal, mini bilgisayarlara veya ana bilgisayar bilgisayarlarına bağlıydı ve genellikle yeşil veya sarı bir ekrana sahipti. Tipik olarak terminaller , genellikle bir EIA RS-232 veya RS-422 veya RS-423 veya bir akım döngüsü seri arabirimi kullanarak boş modem kablosu aracılığıyla bir seri bağlantı noktası aracılığıyla bilgisayarla iletişim kurar . IBM sistemleri tipik olarak bir Veri Yolu ve Etiket kanalı, özel bir protokol kullanan bir koaksiyel kablo , İkili Eşzamanlı İletişim veya IBM'in SNA protokolü kullanılarak bir iletişim bağlantısı üzerinden iletişim kurardı , ancak birçok DEC, Data General ve NCR (ve benzeri) bilgisayar için birçok görsel vardı. sistemleri genişletmek için terminaller için bilgisayar üreticisine karşı rekabet eden tedarikçileri görüntüleyin. Aslında, Intel 8008'in talimat tasarımı , ilk olarak Computer Terminal Corporation'da Datapoint 2200 işlemcisi olarak tasarlandı .

IBM 3270 ve DEC VT100'ün (1978) piyasaya sürülmesinden bu yana , kullanıcı ve programcı, VDU teknolojisi geliştirmelerinde önemli avantajları fark edebildi, ancak programcıların tümü yeni terminallerin özelliklerini kullanmadı ( VT100 ve sonraki Televideo terminallerinde geriye dönük uyumluluk ). , örneğin, "aptal terminaller" ile programcıların eski yazılımları kullanmaya devam etmesine izin verildi).

Bazı aptal terminaller, mikroişlemcilere ihtiyaç duymadan birkaç kaçış dizisine yanıt verebilmişti: birçok

entegre devre ile birden fazla baskılı devre kartı kullandılar ; bir terminali "akıllı" olarak sınıflandıran tek faktör, terminal içindeki kullanıcı girişini işleme - her tuş vuruşunda ana bilgisayarı kesmeden - ve bir seferde bir veri bloğu gönderme yeteneğiydi (örneğin: kullanıcı işlemi bitirdiğinde). bütün bir alan veya form). ADM-3A, TVI912, Data General D2, DEC VT52 gibi 1980'lerin başındaki çoğu terminal, 1978'de ANSI terminallerinin tanıtılmasına rağmen, bazıları (daha sonraki ADM ve TVI gibi) olmasına rağmen, esasen "aptal" terminallerdi. modelleri) ilkel bir blok gönderme yeteneğine sahipti. Yerel işlem gücünün yaygın erken kullanımları, ana bilgisayardan veri işlemenin boşaltılmasıyla çok az ilgisi olan ancak yerel bir yazıcıya yazdırma, arabelleğe alınmış seri veri iletimi ve seri el sıkışma (daha yüksek seri aktarım hızlarını sağlamak için) gibi yararlı özellikler ekleyen özellikleri içeriyordu. ) ve ekran için daha karmaşık karakter özelliklerinin yanı sıra, özellikle alıcıların farklı tedarikçilerin ekipmanlarını daha büyük ölçüde karıştırıp eşleştirebildiği 1980'lerde giderek daha önemli satış özellikleri haline gelen rakip modellerini taklit etmek için öykünme modlarını değiştirme yeteneği. eskisinden daha fazla.

Mikroişlemcilerdeki ilerleme ve daha düşük bellek maliyetleri, terminalin, daha önce tam ekran dolu bir karakterin bilgisayardan, muhtemelen yavaş bir şekilde yeniden gönderilmesini gerektiren bir alana karakter ekleme gibi düzenleme işlemlerini gerçekleştirmesini mümkün kıldı. modem hattı. 1980'lerin ortalarında, birkaç yıl önce çoğu aptal terminalden daha düşük maliyetli olan akıllı terminallerin çoğu, verilerin yeterince kullanıcı dostu yerel olarak düzenlenmesini sağlayabilir ve tamamlanmış formu ana bilgisayara gönderebilirdi. Daha da fazla işleme olanağı sağlayan Televideo TS-800 gibi iş istasyonları, CP/M-86'yı çalıştırarak terminal ve Kişisel Bilgisayar arasındaki ayrımı bulanıklaştırabilir.

Mikroişlemciyi geliştirme motivasyonlarından bir diğeri, bir terminalde gereken elektroniği basitleştirmek ve azaltmaktı. Bu aynı zamanda birkaç "kişiliği" tek bir terminale yüklemeyi pratik hale getirdi, böylece bir Qume QVT-102 günün birçok popüler terminalini taklit edebilir ve böylece herhangi bir yazılım değişikliği yapmak istemeyen kuruluşlara satılabilir. Sıklıkla taklit edilen terminal türleri şunları içerir:

ANSI X3.64 kaçış kod standart bir ölçüde tekdüzelik üretti, fakat önemli farklılıklar kalmıştır. Örneğin, ANSI modunda VT100 , Heathkit H19, Televideo 970, Data General D460 ve Qume QVT-108 terminallerinin tümü ANSI standardını izlemiştir, ancak işlev tuşlarından kodlarda farklılıklar olabilir , hangi karakter özelliklerinin mevcut olduğu, blok gönderme formlar içindeki alanlar, "yabancı" karakter özellikleri ve ekranın arkasına bağlı yazıcıların kullanımı.

öykünücüler

yerel yankı

Terminal öykünücüleri, yanlışlıkla " yarım dupleks " veya yine de biraz yanlış olarak "echoplex" (resmen bir giriş görüntüleme seçeneğinden ziyade bir hata algılama mekanizmasıdır) olarak adlandırılabilen yerel bir yankı işlevi uygulayabilir .

Her seferinde satır modu/Yerel düzenleme

Terminal öykünücüleri, "her seferinde satır modu" olarak da bilinen yerel düzenleme uygulayabilir. Bu aynı zamanda yanlışlıkla "yarım dupleks" olarak da adlandırılır. Bu modda, terminal öykünücüsü yalnızca ana sisteme tam giriş satırları gönderir. Kullanıcı bir satır girer ve düzenler, ancak düzenlenirken yerel olarak terminal öykünücüsü içinde tutulur. Kullanıcı, genellikle ↵ Enterklavyedeki tuşla veya kullanıcı arayüzündeki bir tür "gönder" düğmesiyle tamamlandığını bildirene kadar iletilmez . Bu noktada, tüm hat iletilir. Her seferinde satır modu, yerel yankı anlamına gelir, aksi takdirde kullanıcı, düzenlenirken ve oluşturulurken satırı göremez. Ancak, her seferinde satır modu yankı modundan bağımsızdır ve yerel yankı gerektirmez . Bir parola girerken, örneğin, yerel düzenleme ile her seferinde satır girişi mümkündür, ancak yerel yankı kapatılır (aksi takdirde parola görüntülenir).

Her seferinde hat modunun karmaşıklığı, telnet protokolündeki bir seferde hat modu seçeneğiyle örneklenir. Bunu doğru bir şekilde uygulamak için , terminal öykünücü programı tarafından sağlanan Ağ Sanal Terminali uygulaması, yerel olarak bir satırı düzenlemenin ortasına gelen "kesme" ve "iptal etme" olaylarını tanıyabilmeli ve bunlarla düzgün bir şekilde ilgilenebilmelidir.

senkron terminaller

Asenkron terminallerde veriler herhangi bir zamanda herhangi bir yönde akabilir. In senkron terminalleri zaman bir protokol kontrolleri kim veri gönderebilir. IBM 3270 ile kullanılabilir merkezli terminalleri IBM ana çerçeve bilgisayar, bir örnektir senkron terminaller . Esasen "bir seferde ekran" modunda çalışırlar ( blok modu olarak da bilinir ). Kullanıcılar, güncellenmiş ekranı uzak makineye tek bir işlem olarak göndermeden önce bir sayfada çok sayıda değişiklik yapabilir.

3270 protokolünü simüle eden terminal öykünücüleri, hem z9 gibi sistemleri yönetenler hem de CICS gibi ilgili uygulamaları kullananlar tarafından kullanılmak üzere çoğu işletim sistemi için mevcuttur .

Eşzamanlı terminallerin diğer örnekleri arasında IBM 5250 , ICL 7561 , Honeywell Bull VIP7800 ve Hewlett-Packard 700/92 bulunur.

sanal konsollar

Sanal terminaller olarak da adlandırılan sanal konsollar , bir kişisel bilgisayar veya iş istasyonunun klavyesini ve monitörünü kullanan öykünülmüş metin terminalleridir . Sanal konsollar GUI terminalleri olmadığından ve bir grafik arayüz içinde çalışmadıklarından "metin" kelimesi anahtardır. Sanal konsollar, çoğu Unix benzeri sistemde bulunur. Öncelikle, bir grafik masaüstü ortamı kullanmadan sunuculara erişmek ve bunlarla etkileşim kurmak için kullanılırlar.

Öykünülmüş terminal örnekleri

VT52 , VT100 , VT220 , VT320 , IBM 3270/8/9/E , IBM 5250 , IBM 3179G , Data General D211, Hewlett Packard HP700/92, Sperry/Unisys 2000-series UTS60 gibi terminaller için birçok terminal emülatörü geliştirilmiştir. , Burroughs / Unisys A-serisi T27 / TD830 / ET1100, KATIYOR ViewPoint Güneş konsol, QNX , AT386, SCO ANSI, SNI 97801, Televideo ve Wyse 50/60. Ek olarak, xterm ve çeşitli konsol terminalleri gibi diğer terminal öykünücülerini öykünmek için programlar geliştirilmiştir (örneğin, Linux için ). Son olarak, bazı öykünücüler yalnızca ANSI gibi bir standarda atıfta bulunur . Bu tür programlar pek arasında değişen platformlarında mevcut olan DOS ve Unix için , Windows ve MacOS cep telefonları ve endüstriyel donanım bulundu gömülü işletim sistemleri için.

Uygulama ayrıntıları

Unix benzeri sistemler

Geçmişte, Unix ve Unix benzeri sistemler, RS-232 portları gibi seri port cihazları kullanıyor ve onlar için /dev/* cihaz dosyaları sağlıyordu.

Terminal öykünücüleri ile bu aygıt dosyaları, bir çift psödoterminal aygıt kullanılarak öykünülür . Bu çift, ana bilgisayar bilgi işlem uç noktasına - bilgisayarın işletim sistemi API'leri, rlogin , telnet veya SSH gibi diğer bazı yazılımlar veya başka bir yazılım tarafından sağlanan donanımı - fiziksel bir bağlantı noktasını/bağlantıyı taklit etmek için kullanılır . Örneğin, Linux sistemlerinde bunlar sırasıyla ( /dev/ptyp0ana taraf için) ve /dev/ttyp0(köle taraf için) sözde terminal cihazları olacaktır.

Gibi özel sanal konsol dosyaları da vardır /dev/console. Metin modunda, dosyaya yazma, metni sanal konsolda görüntüler ve dosyadan okuma, kullanıcının sanal konsola yazdığı metni döndürür. Diğer metin terminallerinde olduğu gibi , bir programın kullanabileceği, en kolay şekilde ncurses gibi bir kitaplık aracılığıyla özel kaçış dizileri , kontrol karakterleri ve işlevler de vardır . Daha karmaşık işlemler için programlar konsol ve terminal özel ioctl sistem çağrılarını kullanabilir. Bir gibi ( "sanal konsol ekranını") ve vcsa ( "özelliklere sahip sanal konsol ekranı") desenler vcs kullanarak cihazları karşılaştırabilirsiniz ve . /dev/vcs1/dev/vcsa1

Sanal konsollar, init/etc/inittab tarafından okunan dosyada yapılandırılabilir - tipik olarak , birkaç sanal konsol için metin modu oturum açma sürecini başlatır . X Pencere Sistemi , bir X görüntü yöneticisi içinde veya tarafından yapılandırılabilir . Bir dizi Linux dağıtımı , sanal konsol yapılandırmasına da izin veren init yerine systemd kullanır . /etc/inittab

CLI araçları

Sanal konsollara erişmek için kullanılan tipik Linux sistem programları şunları içerir:

  • chvt mevcut sanal konsolu değiştirmek için
  • openvt yeni bir sanal konsolda bir program çalıştırmak için
  • deallocvt şu anda kullanılmayan bir sanal konsolu kapatmak için

Sistem yükleme

Startx programı , X Pencere Sistemini yeni bir sanal konsolda başlatır . Konsoldan başlayabilen başka grafiksel programlar da vardır (örn. LinuxTV ve MPlayer vb.)

Ayrıca bakınız

Notlar

Referanslar

Dış bağlantılar