Dyscyplina liniowa

Dyscyplina liniowa ( LDISC ) to warstwa w podsystemie terminali w niektórych systemach uniksopodobnych . Podsystem terminala składa się z trzech warstw: górnej warstwy zapewniającej urządzenia znakowego , niższego sterownika sprzętowego do komunikacji ze sprzętem lub pseudoterminalem oraz środkowej linii dyscypliny do implementacji zachowań typowych dla urządzeń końcowych.

Dyscyplina liniowa łączy kod sterownika urządzenia niskiego poziomu z ogólnymi procedurami interfejsu wysokiego poziomu (takimi jak read(2), write(2) i ioctl (2)) i jest odpowiedzialna za implementację semantyki związanej z urządzeniem. Zasady są oddzielone od sterownika urządzenia, dzięki czemu ten sam sterownik sprzętu szeregowego może być używany przez urządzenia wymagające innej obsługi danych.

Na przykład standardowa dyscyplina liniowa przetwarza dane, które otrzymuje ze sterownika sprzętu i aplikacji zapisujących na urządzeniu zgodnie z wymaganiami terminala w systemie uniksopodobnym . Na wejściu obsługuje znaki specjalne, takie jak znak przerwania (zwykle Control-C ) oraz znaki kasowania i zabijania (zwykle odpowiednio backspace lub delete i Control-U ), a na wyjściu zastępuje wszystkie znaki LF znakiem Sekwencja CR / LF .

Port szeregowy może być również używany do połączenia telefonicznego z Internetem za pomocą modemu szeregowego i protokołu PPP . W takim przypadku zastosowano dyscyplinę liniową PPP; gromadziłby dane wejściowe z linii szeregowej w pakietach wejściowych PPP, dostarczając je do stosu sieciowego, a nie do urządzenia znakowego, i przesyłałby pakiety dostarczone do niego przez stos sieciowy na linii szeregowej.

Niektóre systemy uniksopodobne używają STREAMS do implementacji dyscyplin liniowych.