| Yazar | R. Braden | | Kurum | UCLA/CCN | | Tarih | 6 August 1971 | | Durum | Network Working Group Yorum Talebi | | RFC Numarası | 205 |
Network Working Group — R. Braden
Request for Comments: 205
NIC: 7172
UCLA/CCN
6 August 1971
Mayıs ayındaki NWG toplantısında CCN, önerilen karakter görüntüleme protokolü NETCRT'nin çoğaltılmış kopyalarını dağıttı. O zamandan beri NETCRT önemli ölçüde gözden geçirildi; mevcut sürüm, geçen Mayıs ayında söz verildiği gibi şimdi bir RFC olarak yayımlanmaktadır.
NETCRT, belirli bir sitenin (RAND) CCN'nin görüntüleme tabanlı crje sistemi olan URSA'ya Network erişimi talep etmesi nedeniyle geliştirildi. UCLA'da URSA'nın başlıca kullanımı, bir görüntü terminalinden etkileşimli uzaktan iş girişi sağlamaktır: program metni girmek ve düzenlemek, programları toplu yürütme için göndermek ve iş çıktısını incelemek; URSA genel amaçlı bir zaman paylaşım sistemi değildir.
URSA'nın metin düzenleyicisi hızlı güncellenen bir karakter görüntüleme ekranı için tasarlanmıştır ve daktilo benzeri bir konsoldan makul bir şekilde kullanılamaz. Bu nedenle, basit bir TELNET protokolü URSA'nın crje işlevini kullanmak için yeterli değildir. Ayrıca, diğer ARPA sitelerinin kendi terminalleri ve sistemleriyle iyi uyum sağlayan kendi metin düzenleyicilerine sahip olacağını varsaydık. Bu nedenle CCN, NETCRT'yi uygulamadan önce uzaktan iş gönderme ve alma hizmetleri sağlamak amacıyla NETRJS'i (bkz. RFC #189) gerçekleştirmiştir.
URSA'da crje dışında bir dizi başka işlev de bulunmaktadır; bunların bazıları muhtemelen uzaktaki kullanıcılar için yararlı olacaktır. URSA, sürekli güncellenen görüntülerinin makinenin ve işletim sisteminin çalışmasına açılan "pencereler" olduğu kapsamlı bir STATus hizmeti içerir; bu sayede kullanıcı, işlerinin sistem içindeki ilerleyişini izleyebilir. URSA ayrıca, CCN'de saklanan dosyalara sahip bir kullanıcı için uygun olan çevrim içi veri kümesi (dosya) yardımcı araçlarını da içerir. Bu olanaklara erişim elde etmek için, CCN'yi yoğun kullanan birkaç site NETCRT'yi gerçekleştirmek isteyebilir. URSA'ya Network erişimi sağlamak amacıyla CCN'de NETCRT'nin uygulanma takvimi, bu hizmeti isteyen ve uygun bir NETCRT kullanıcı süreci yazacak bir kullanıcı sitesinin varlığına bağlı olacaktır. İlgilenen sitelerin CCN Teknik İrtibatı Bob Braden ile iletişime geçmeleri önerilir.
NETCRT'nin uygulanma takvimi belirsiz olsa da, özellikleri şimdi yayımlamamızın birkaç nedeni vardır. Öncelikle yorumlar ve eleştiriler almak istiyoruz. Ayrıca NETCRT, şu anda tam grafik ekranlar için geliştirilmekte olan protokol(ler)de yararlı olabilecek bazı özellikler içerir.
NETCRT PROTOKOLÜ — SÜRÜM 3
A. GİRİŞ
UCLA Campus Computing Network (CCN) düğümü, etkileşimli uzaktan iş girişi sistemi URSA'ya Network erişimi sağlamayı amaçlamaktadır. URSA sistemi görüntü odaklıdır ve yalnızca yerel arabellekleri bulunan karakter ekranlarını destekler (başlangıçta IBM 2260 ekranları, şimdi CCI 301 TV ekran konsolları). Bu belge, uzaktaki bir Host'ta bulunan bir Network kullanıcısının URSA'ya bir CCI konsolu gibi görünmesini sağlayan NETCRT adlı üçüncü seviye bir protokolü tanımlar. NETCRT, kullanıcı host içindeki bir süreç tarafından benzetimi yapılan sanal bir karakter ekranı ("VCD") terminali terimleriyle tanımlanır.
URSA, birçok çevrim içi konsol sistemi gibi, terminalin durumunu sıkı biçimde kontrol altında tutarak iyi bir insan/makine etkileşimi sağlamaya çalışır. Öte yandan Network Working Group, standart Network protokollerine bilinçli olarak bir miktar "esneklik" yerleştirmiştir. Uzaktan insan/makine etkileşimi söz konusu olduğunda bu esnekliğin kavramsal bir hata olduğuna inanıyoruz ve farklı host'lardaki süreçler arasındaki etkin iletişim uyumunu kontrol etmeye olanak tanıyacak protokol revizyonlarını destekleriz. Ancak bu NETCRT protokolü, görünüşe göre birçok host'un NCP'sine yerleştirilmiş olan mevcut esneklikle başa çıkmaya çalışmaktadır. Aslında, bir host'un kendi NCP'sinde bulunan mesaj arabelleğe alma özelliğini kullanarak NETCRT ile yanıt süresini iyileştirebilmesi ve Network trafiğini azaltabilmesi için düzenlemeler yaptık.
B. SANAL KARAKTER EKRANI
Bir VCD aşağıdaki sanal donanımdan oluşur (bkz. Şekil 1):
- M karakterden oluşan N satırı görüntüleyebilen dikdörtgen bir ekran.
- Ekranı yenilemek için kullanılan M × N karakterlik bir yerel arabellek.
- Arabellekteki karakterleri (dolayısıyla ekrandaki karakterleri) adresleyen bir imleç yazmacı. Bu yazmaç, metnin klavyeden veya sunucudan yerel arabelleğe yazılmasını ve sunucunun yerel arabelleği okumasını kontrol eder.
- Metin tuşları ve kontrol tuşları içeren bir klavye. Her metin tuşu, mevcut imleç adresindeki yerel arabelleğe bir karakter girer ve imleç yazmacını 1 artırır.
- Sunucu CPU'sunun VCD'ye bir komut segmenti akışı gönderebildiği ve VCD'den bir yanıt segmenti akışı alabildiği bir iletişim arabirimi. Komut segmentleri, VCD'ye yönelik kontrol komutlarını ve yerel arabelleğe yazılacak metni içerir. Yanıt segmentleri durum göstergeleri ve arabellekten okunan metni içerir. Ayrıca hem VCD hem de sunucu break sinyalleri gönderebilir.
İmleç yazmacındaki mevcut adres, 0 ile M × N − 1 arasında bir tam sayıdır ve ekranda karşılık gelen noktada bir işaret, alt çizgi veya başka bir görsel gösterge olarak görüntülenir; bu göstergeye imleç denir. Konum 0 ekranın sol üst köşesidir.
Ekran satır ("row") sırasına göre adreslenir ve sunucu tarafından gerçekleştirilen okuma ve yazma işlemleri bir satırdan otomatik olarak bir sonrakine taşar. İmleç yazmacının M × N modunda çalıştığı varsayılmaz. Bir sunucu komutunun imleç yazmacını M × N değerine, yani son ekran konumunun bir ötesine ayarlaması mümkündür; ancak sunucu yazmacı asla M × N'den daha büyük bir adrese ayarlamamalıdır ve klavye kilidi açıkken imleci M × N konumunda bırakmamalıdır.
VCD'yi kullanan uygulama programı veya etkileşimli sistem, her ekranı çeşitli biçimlerde düzenleyebilir ve birçok etkileşim tarzı kullanabilir. Bunun bir sonucu olarak uygulama programı, ihtiyaç duyduğu giriş bilgilerini bulmak için ekranın herhangi bir yerine (yani yerel arabelleğe) bakmak zorunda kalabilir. VCD'den hizmet veren CPU'ya bilgi aktarmak için üç alternatif mekanizma düşünebiliriz:
Mekanizma 1
Kullanıcı "Transmit" kontrol tuşuna bastığında arabellekteki tüm M × N karakter sunucu CPU'ya iletilir.
Mekanizma 2
Kullanıcı "Transmit" tuşuna bastığında "start" kontrol karakteri ile imleç arasındaki metin dizisi sunucuya iletilir.
Mekanizma 3
"Transmit" tuşunun etkili olabilmesi için sunucunun önce VCD'ye bir okuma komut segmenti göndermesi gerekir. Okuma komut segmenti, arabelleğin hangi bölümlerinin sunucuya iletileceğini belirler.
Mekanizma 1 iletim süresi ve kanal kapasitesi açısından çok maliyetli olmakla eleştirilebilirken, Mekanizma 2 çok kısıtlayıcıdır. Burada önerdiğimiz düzen, diğer ikisini de kapsayan Mekanizma 3'e dayanmaktadır.
VCD'nin aşağıdaki kontrol tuşlarını içerdiği varsayılır:
- Erase
Görüntü arabelleğini tamamen boşluklarla temizler ve imleci 0 konumuna (ekranın sol üst köşesine) sıfırlar. - Transmit
Klavyeyi kilitler ve VCD'yi sunucu CPU'nun kontrolü altına verir. Tipik olarak sunucu ekranın belirli bölgelerini okur ve klavyeyi tekrar açmadan önce yeni veriler yazabilir. - Break
Transmit ile aynı etkiye sahiptir ve ek olarak sunucu CPU'ya bir kesme mesajı gönderir. Break tuşu, VCD'nin durumundan bağımsız olarak her zaman kesme gönderir. - Reset
Sunucu CPU hemen yanıt vermezse ve kullanıcı yeni ya da farklı bilgiler girmek isterse VCD klavyesinin kilidini açmak için kullanılabilir.
Bunlar saf kontrol tuşları olarak adlandırılabilir çünkü herhangi bir metin karakterine karşılık gelmezler. Aşağıdaki kontrol tuşu ise görüntü arabelleğine bir karakter kaydeder:
- Newline
Görüntü arabelleğine bir Newline (NL) karakteri girer ve imleci bir sonraki satırın başına sıfırlar. Bu karakter bir okuma veya yazma işlemi sırasında karşılaşılırsa yürütülür (yani imleç bir sonraki satırın başına taşınır) ve NL bir karakter olarak sayılır.
Son olarak, imleci ekrandaki herhangi bir adrese elle konumlandırmak için tuşların bulunduğu varsayılır. İmleç konumlandırma tuşları şunları içerebilir: imleç sağa, imleç yukarı, imleç sola (BS), imleç aşağı (LF) ve imleç dönüşü (CR). Bir tab (HT) mekanizması da tanımlanabilir, ancak burada buna yer verilmemiştir.
C. VCD DURUMLARI
VCD'nin iki iç durumu vardır: Local ve Control (bkz. Şekil 2).
Local Durumu:
Klavye kilitsizdir ve tüm tuşlar aktiftir. VCD, sunucudan gelen hiçbir komutu kabul etmez veya tanımaz; yalnızca (ters) Break hariç.
Control Durumu:
Klavye kilitlidir ve yalnızca Break ve Reset tuşları aktiftir. VCD, sunucudan gelen komut segmentlerini kabul eder ve yürütür ve okuma komutlarının sonucu olarak yanıt segmentleri döndürür.
VCD aşağıdaki durumlarda Local durumundan Control durumuna geçer:
- Kullanıcı Transmit tuşuna basarsa; veya
- kullanıcı Break tuşuna basarsa; veya
- sunucu ters Break isteği gönderirse.
Transmit'in tek etkisi Control durumuna girmektir; Break Control durumuna girer ve ayrıca sunucuya bir break isteği (INS ve X'80') gönderir.
VCD aşağıdaki durumlarda tekrar Local durumuna döner:
- Kullanıcı Reset tuşuna basarsa; veya
- VCD sunucudan bir LOCAL komutu ile karşılaşırsa ve ters break senkronizasyonu sürecinde değilse (aşağıdaki E bölümüne bakınız).
CCI ve IBM 2260 karakter ekran konsollarının gerçekte hem Break hem de Transmit işlevlerini yerine getiren yalnızca tek bir kontrol tuşuna sahip olduğunu belirtmeliyiz (CCI'de "Interrupt", 2260'da "Enter"). Bu tek tuş aslında VCD'nin Break tuşunun işlevine sahiptir. Genel kullanım için VCD'ye hem Break hem de Transmit tuşlarını dahil ettik, ancak URSA–NETCRT arabirimi bir Network kullanıcısının URSA'yı ya (1) yalnızca Break tuşunu kullanarak ya da (2) uygun durumlarda Break veya Transmit kullanarak çalıştırabilmesine izin verecek şekilde programlanacaktır. Bu, URSA'nın yalnızca bekleyen okuma komutları varken oluşan break isteklerini (INS mesajları) yok saymasıyla sağlanacaktır.
D. VCD KOMUTLARI
Sunucu VCD'ye bir komut segmentleri dizisi gönderir. Bunlar değişken uzunluktadır ve bir işlem kodu ile sıfır veya daha fazla parametreden oluşur. VCD tarafından tanınan komutlar aşağıdaki gibidir:
1. Görüntü ve Klavye Kontrol Komutları
| Komut | Parametre(ler) | İşlev |
|---|---|---|
| ERASE | yok | Ekranı temizler ve imleci 0'a sıfırlar, yani yerel arabelleği temizler. |
| BLANK | yok | Ekran yenilemeyi devre dışı bırakır (yani ekranı boş gösterir ancak yerel arabelleği temizlemez). |
| UNBLANK | yok | Ekran yenilemeyi etkinleştirir. |
| LOCAL | yok | VCD'yi Local durumuna geçirir. Bunun sonucu komut yorumlamasının askıya alınması ve klavyenin kilidinin açılmasıdır. |
| SYNC | yok | Sunucudan gelen ters Break'i senkronize etmek için kullanılır. SYNC (X'80') sunucu tarafından INS gönderildiği anda akışa yerleştirilir. VCD Control durumuna girer, INS'i BREAK komutuyla senkronize eder (bir sonraki bölüme bakınız) ve komut yorumlamaya devam eder. |
2. İmleç Kontrol Komutları
| Komut | Parametre(ler) | İşlev |
|---|---|---|
| CURSOR | 16 bit tam sayı P | İmleç yazmacını P değerine ayarlar; burada 0 ≤ P ≤ M × N. |
| FIND | X'0001' ardından bir karakter c | İmleci c karakterinin bulunduğu bir konuma taşır. Özellikle mevcut imleç konumundan geriye doğru (daha küçük adreslere doğru) arama yapılır ve c'nin ilk bulunduğu yer alınır (yani en büyük adrese sahip olan). Eğer hiçbir eşleşme bulunmazsa imleç 0 konumunda bırakılır. |
| SAVE | yok | Mevcut imleç adresinin bir kopyasını yerel S yazmacına kaydeder. |
| RESTORE | yok | İmleç yazmacının içeriğini S değeriyle değiştirir. |
3. G/Ç Komutları
| Komut | Parametre(ler) | İşlev |
|---|---|---|
| WRITE | 16 bit tamsayı n, ardından n metin baytı | Geçerli imleç konumundan başlayarak görüntü tamponuna n bayt metin yazar ve her bayt için imleci 1 ilerletir (NL karakteri hariç; NL imleci bir sonraki satırın başına taşır). Burada Σ + n ≤ M × N olmalıdır. |
READ n
READ n
16 bit tamsayı
İmleç konumu \sigma'dan başlayarak n bayt okur ve her bayt için imleci bir konum ilerletir (NL hariç; NL imleci bir sonraki satırın başına taşır). NL bir karakter olarak sayılır. Metni bir yanıt segmenti olarak sunucuya gönderir. Şu koşul sağlanmalıdır:
n + \sigma \le M \times N
SREAD
SREAD
yok
Geçerli imleç konumu \sigma'dan başlayarak, S yazmacında saklanan imleç adresine kadar (bu adres dahil edilmeden) S − \sigma bayt okur. Sonuç olarak imleç S konumunda bırakılır. Metni bir yanıt segmenti olarak sunucuya gönderir.
AWRITE n, text
AWRITE n, text
16 bit tamsayı n, ardından n metin baytı
WRITE n ile aynıdır; ancak karakterler, imleç adresleri S yazmacındaki değerden daha küçükse tamponda saklanmaz.
Bu Komutların URSA'daki Uygulamaları
1. İmlece Kadar Ekranı Okuma
Temel bir URSA terminal işlemi, ekranı x konumundan başlayarak mevcut imleç konumuna kadar (bu konum dahil edilmeden) okumaktır. Bu işlem aşağıdaki VCD komut segmentleri dizisi ile yapılabilir:
SAVE
CURSOR x
SREAD
2. İmleci Koruyarak Ekran Bilgisini Güncelleme
URSA'da yaygın bir diğer işlem, imleci hatırlamak, ekrandaki belirli bilgileri güncellemek ve ardından imleci geri yerleştirmektir. Bu işlem aşağıdaki 8 + n baytlık komut segmentleri dizisi ile yapılabilir:
SAVE
CURSOR x
WRITE n, text
RESTORE
3. Start Manual Input (SMI) Okumasını Simüle Etme
URSA'da kullanıcının yanıtını yazacağı alan genellikle sol tarafta bir Start Symbol (grafik "[1]") ile sınırlandırılır. Bu, yalnızca iki donanımsal okuma işleci bulunan IBM 2260'ın tarihsel bir kalıntısıdır: tüm ekranı okuma ve Start Manual Input Symbol (SMI) konumundan imlece kadar okuma. SMI okuma işlemi VCD üzerinde şu şekilde kolayca simüle edilebilir:
SAVE
FIND '[1]'
SREAD
4. Break (Transmit) Tuşunun Kullanımı
VCD üzerindeki Break (veya Transmit) tuşu, bir CCI konsolundaki INTerrupt tuşunun (veya IBM 2260 üzerindeki ENTer tuşunun) işlevini görebilir. URSA çoğu zaman ağ trafiğini en aza indirmek için aşağıdakine benzer bir komut dizisi gönderir (tahsis izin veriyorsa tek bir mesaj içinde):
CURSOR m
WRITE n, text
LOCAL
URSA bir istek yazar; ardından kullanıcı bir yanıt yazar ve BREAK (TRANSMIT) tuşuna basar. URSA daha sonra yanıtı okur:
SAVE
CURSOR p
SREAD
Diğer zamanlarda URSA şu diziyi gönderebilir:
CURSOR m
WRITE n, TEXT
LOCAL
READ 0
ve kullanıcı Break tuşuna bastığında gelen INS'i (veya Transmit tuşuna basarsa sıfır uzunluklu okuma tarafından tetiklenen yanıt segmentini) bekler; ardından URSA uygun okuma komut dizisini gönderir.
F. Ağ Mesaj Biçimleri
VCD, ICP aracılığıyla standart bir sokete bağlanarak sunucuya bağlanır ve böylece VCD ile sunucu arasında bir bağlantı çifti kurulur. Komut segmentleri (sunucudan VCD'ye) ve yanıt segmentleri (VCD'den sunucuya) bu bağlantılar üzerinden, fiziksel mesaj sınırlarına bakılmaksızın, 8 bayt boyutu kullanılarak gönderilir.
VCD'nin karakter başına değil segment başına çalışan bir modda ve yerel yankı ile çalıştığı tanımlanmıştır. Bu nedenle sunucu NETCRT altında hiçbir zaman yankı yapmaz.
Birçok durumda URSA bir dizi komut segmentini aynı anda gönderir; yeterli tahsis varsa bunlar aynı mesaj içinde gönderilir. Kullanıcı tarafı komut segmentlerini önceden tamponlayabiliyorsa yanıt süresi iyileşebilir. Bu tamponlama, kesme senkronizasyonu sorunlarını ortaya çıkarır; bunlar ters yönde (sunucudan kullanıcıya) kesme için şu şekilde çözülür:
Sunucu kontrol bağlantısı üzerinden bir INS gönderir ve aynı zamanda veri bağlantısı üzerinden VCD'ye bir SYNC komutu (X'80') gönderir. Bunlardan herhangi biri alındığında VCD Kontrol Durumuna girer ve ardından INS ile BREAK arasında senkronizasyon sağlar. Eğer INS önce gelirse, VCD ana makinesinde tamponlanmış tüm komutları normal şekilde yürütür, ancak SYNC görünene kadar LOCAL komutlarını yok sayar. Senkronizasyon sağlandıktan sonra VCD normal komut yorumlamaya devam eder (sonraki LOCAL komutlarını yok saymadan).
Bu yöntemle sunucu, istediği herhangi bir zamanda yeni bilgi yazmak için VCD'nin kontrolünü yeniden elde edebilir. Örneğin URSA, NETCRT altında kullanıldığında çoğu WRITE veya AWRITE dizisinden önce sunucudan bir BREAK gönderilir; çünkü URSA VCD'nin mevcut durumunu bilmez. URSA VCD'yi Kontrol Durumunda bırakmış olsa bile kullanıcı Reset tuşuna basarak VCD'yi manuel olarak Yerel Duruma döndürmüş olabilir.
INS alındıktan sonra VCD, tamponlanmış komutları yok saymak yerine yürütür; böylece kullanıcı tarafındaki işlem geçici olarak durmuşsa bekleyen yazma işlemleri kaybolmaz. Sunucu bir INS gönderdikten sonra yürütülen okuma komutları sunucu açısından ilgisiz olabilir; sunucu karşılık gelen yanıt segmentlerini yok sayabilir. Bunu yapmak için sunucu gönderilen okuma komutlarının sayısını ve alınan yanıt segmentlerinin sayısını eşleştirerek takip eder.
Komut Segmenti Biçimleri
Form 1 (Parametresiz)
q : OPCODE(8)
burada:
q = X'80'SYNC anlamına gelirX'91'LOCAL anlamına gelirX'92'ERASE anlamına gelirX'93'BLANK anlamına gelirX'94'UNBLANK anlamına gelirX'95'SAVE anlamına gelirX'96'RESTORE anlamına gelirX'97'SREAD anlamına gelir
Form 2 (16 Bit Tamsayı)
q : OPCODE(8) + n : INTEGER(16)
burada:
q = X'9E'READ n anlamına gelirq = X'9C'CURSOR n anlamına gelir
Her iki durumda da:
0 \le n \le M \times N
Form 3 (Sayı ve Metin)
q : OPCODE(8) + n : LENGTH(16) + TEXT(8) = n
burada:
q = X'9D'WRITE anlamına gelirq = X'9A'AWRITE anlamına gelirq = X'9F'ven = 1FIND anlamına gelir
Yanıt Segmenti Biçimi
Bir READ veya SREAD komutunun neden olduğu yanıt segmenti aşağıdaki biçime sahiptir:
X'A1' + CURSOR(16) + n : LENGTH(16) + TEXT(8) = n
burada n > 0 gerçekten okunan karakter sayısıdır. CURSOR(16) ilgili okuma komutundan sonra imlecin son konumunu veren bir tamsayıdır.
Komut READ 0'ın geçerli olduğuna ve sunucu tarafından mevcut imleç konumunu bulmak veya kullanıcının Transmit tuşuna ne zaman bastığını öğrenmek için kullanılabileceğine dikkat edin.
E. Ekran Boyutu
Basitlik ve URSA ile tutarlılık açısından imleç tek bir tamsayı olarak ele alınır. Bu, VCD ile sunucunun sütun sayısı M üzerinde anlaşması gerektiği anlamına gelir; ayrıca sunucunun N değerini bilmesi de arzu edilir.
M ve N üzerinde anlaşma tek taraflı bir müzakere yoluyla gerçekleşir. Sunucunun hangi değerleri işleyebileceğini bildiği varsayılır ve bunları kullanıcı siteleri için yayınlar. VCD ilk kez sunucuya bağlandığında M ve N değerlerini içeren bir Open yanıt segmenti göndermelidir:
X'B1' + M(8) + N(8) + X'0000'
Eğer VCD bu segmenti göndermezse veya sunucu değerleri uygun bulmazsa, sunucu bağlantıları kapatır ve kullanıcı oturumu kapatılmış kabul edilir.
Son Notlar
[1] Başlangıç sembolünün grafik gösterimi: yan yatmış gölgeli üçgen.
Şekil 1. Sanal Karakter Görüntüleyici
+---------------+
| |
| G Ö R Ü N T Ü |
+---------------+
^
| Yenileme
|
+---------------+
| YEREL | Adres
| TAMPON || İMLEÇ ADRESİ|
| | | KONTROL | | YAZMACI |
| | +---------------+ +---------------+
| | ^ | ^
| | | | |
| | | | |
| | | | |
| | | | v
| | | | +---------------+
| | | | | S |
| | | | | YAZMACI |
| | | | +---------------+
| | | v
| | +---------------+
| | | İLETİŞİM |
| | | ARAYÜZÜ |
| | +---------------+
| | ^ |
| | | |
| | | v
| | KOMUTLAR YANITLAR
| |
| +-- metin
|
+-------------+
| KLAVYE |
+-------------+
Şekil 2. VCD Durumları
Klavye Kilitsiz
Komut Yürütülmedi
+--------------------+
| |
+------>| YEREL |------+
| +--->| Durum | |
| | +--------------------+ |
| | | | |
| | | | |
| | | Break | | INS alındı
| | | tuşu | |
| | | [INS gönder | |
| | | ve X'80'] | |
| | | |Transmit|
| | Reset | | |
| | tuşu | | tuşu |
| | v v |
| | +--------------------+ |
| +---| Kontrol |<------+
| | Durum |
+------| |
+--------------------+
^
| Klavye kilitli,
| Komutları yürüt
INS alındıktan sonra LOCAL
komutu, SYNC (X'80')
karşılaşılıncaya kadar yok sayılır
Bu RFC, çevrimiçi RFC arşivlerine eklenmek üzere Lorrie Shiota tarafından 02/02 tarihinde makine tarafından okunabilir biçime dönüştürülmüştür.