Programowe sterowanie przepływem - Software flow control

Programowe sterowanie przepływem jest metodą sterowania przepływem użytego w komputer łączy danych , zwłaszcza szeregowego RS-232 . Wykorzystuje specjalne kody, transmitowana w paśmie , na głównego kanału komunikacyjnego. Kody te nazywane są ogólnie xOff Änd xON (od „przekazuje się” i „nadawać”, odpowiednio). Tak więc „sterowanie przepływem oprogramowanie” jest czasami nazywane „kontrola przepływu XON / XOFF”. Jest to w przeciwieństwie do kontroli przepływu poprzez dedykowany out-of-band sygnałów - " sprzętowego sterowania przepływem " - takich jak RS-232 RTS / CTS .

Reprezentacja

Dla systemów wykorzystujących ASCII kod znaku, XOFF jest na ogół reprezentowane za pomocą znaku lub bajt o wartości dziesiętnej 19; XON o wartości 17.

Standardowa ASCII nie rezerwuje żadnych znaków sterujących do stosowania jako XON / XOFF konkretnie. Jednakże, nie zapewniają cztery rodzajowe „Control Device” znaków (DC1 przez DC4). Teletype model 33 ASR przyjęła dwie z nich, DC3 i DC1, do stosowania jako XOFF i XON, odpowiednio. Ten zwyczaj został skopiowany przez innych, a obecnie jest de facto standardem . Ekwiwalenty klawiaturowe Ctrl+ Sdla XOFF i Ctrl+ Qdla XON, również czerpać z tego użytkowania.

XOFF / XON reprezentacje ASCII
Kod Znaczenie ASCII grudzień Klątwa Klawiatura
XOFF transmisja pauza DC3 19 13 Ctrl+S
XON transmisja resume DC1 17 11 Ctrl+Q

Mechanizm

Kiedy jeden koniec łącza danych jest w stanie przyjąć więcej danych (lub zbliża się do tego punktu), wysyła XOFF na drugim końcu. Drugi koniec odbierze kod XOFF i zawiesza transmisję . Raz pierwszy koniec jest znów gotowy do odbioru danych, wysyła XON, a drugi koniec wznawia transmisję.

Na przykład, wyobrazić sobie komputer wysyła dane do powolnego drukarki . Ponieważ komputer jest szybszy niż przy wysyłaniu danych drukarka może wydrukować drukarka odstaje i zbliża się do sytuacji, w której byłoby Przytłoczony danych. Drukarka reaguje na tę sytuację poprzez wysłanie XOFF do komputera, który tymczasowo przestanie wysyłać dane. Gdy drukarka jest ponownie gotowy do odbioru większej ilości danych, wysyła XON do komputera, który uruchamia ponownie wysłać dane.

XOFF / XON mogą być stosowane w obu kierunkach, na przykład dwa dalekopisy połączone ze sobą.

Porównanie z kontrolą przepływu sprzętu

Główną zaletą sterowania przepływem oprogramowanie jest zmniejszenie liczby przewodów elektrycznych między nadawcą i odbiorcą. Biorąc pod uwagę bezsporne , tylko dwa sygnały są potrzebne, aby wysłać jeden, a drugi do odbioru. Sterowanie działaniem sprzętu wymaga dodatkowych przewodów pomiędzy dwoma urządzeniami. Wymaga to również realizację konkretnego sprzętu, który miał bardziej znaczących kosztów w poprzednich dniach computing (czyli 1960 i 70.).

Jednak kontrola przepływu oprogramowanie nie jest bez problemów. Wysyłanie XOFF wymaga co najmniej jeden raz znaków transmisji i mogą być ustawiane w kolejce już za przesyłane dane nadal w buforach. Sygnały sprzętowe można dochodzić niemal natychmiast i out-of-order.

Jak sama nazwa „sterowanie przepływem oprogramowanie” oznacza, kontroli przepływu przy użyciu tej metody jest zazwyczaj realizowane w oprogramowaniu (lub przynajmniej wyższym poziomie firmware ), które mogą spowodować dalsze opóźnienia w odpowiedzi XOFF. Kontrola przepływu narzędzia jest typowo pod bezpośrednią kontrolą nadawczego UART , który jest w stanie natychmiast przerwać transmisję, bez interwencji wyższych poziomów.

Wreszcie, ponieważ XOFF / XON kody wysyłane są w paśmie, nie mogą pojawić się w danych przesyłanych bez mylone poleceń sterujących przepływem. Danych zawierających kody XOFF / xON muszą zatem być zakodowana w pewien sposób dla odpowiedniego przekazywania, z odpowiednimi narzutu. To jest często wykonywane z pewnego rodzaju sekwencji ucieczki . Dla urządzeń drukujących, które bezpośrednio interpretować kody ASCII, nie jest to duży problem, ponieważ XON i XOFF użyć kodów ASCII „Control Device” numery kodowe.

Aplikacje

Programowe sterowanie przepływem jest szeroko stosowane w urządzeniach o niskiej prędkości, zwłaszcza starszych drukarek i głupich terminali , aby wskazać, że są chwilowo w stanie przyjąć więcej danych. Zwykle jest to spowodowane kombinacją ograniczonej wyjściowej szybkości i wszelkich buforów był pełny. Niektóre pakiety kontrolne końcowe, takie jak termcap , zatrudniają „wyściółkę” (krótkie opóźnienia przy użyciu milisekundy ziarnistość), aby umożliwić taki sprzęt wystarczającą ilość czasu na wykonanie żądanej czynności bez konieczności dochodzenia XOFF.

XOFF / XON nadal są czasami używane ręcznie przez operatorów komputerowych, aby zatrzymać i ponownie uruchomić wyjście, które w przeciwnym razie przewijać wyłączenie wyświetlacza zbyt szybko.

Emulator terminala oprogramowanie zazwyczaj realizuje wsparcie XOFF / XON jako podstawowej funkcji. To na ogół obejmuje konsolę systemową na nowoczesnych Unix i Linux maszyn, jak również GUI emulatory takie jak xterm i konsoli Win32 .

Niezawodne XON jest techniką, aby ponownie uruchomić komunikację, na wszelki wypadek został zatrzymany przez przypadkowo otrzymał XOFF. Urządzenie odbiorcze wysyła okresowe znaki XON kiedy może odbierać dane, a linia jest bezczynny. Jednym z powszechnych zastosowań jest drukarek szeregowych (takich jak HP LaserJet II), aby wskazać, że są online i gotowa do odbioru danych. XON jest wysyłany co 1 do 30 sekund w zależności od firmware konstrukcji drukarki.

Zobacz też

Referencje