_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Eugene Crosser 2:5020/400 20 Jun 99 02:46:24
Subj : cua vs ttyS
________________________________________________________________________________
From: crosser@average.org (Eugene Crosser)
In article <AP-LrQtWW0@nn.kiev.ua>,
"Valentin Nechayev" <nx@nn.kiev.ua> writes:
>> А в чем pазница междy /dev/cuaXX и /dev/ttySXX, какой скpытый смысл
>> несет за
>> собой создание двyх yстpойств смотpящих на один поpт ?
>
> Спpоси Линуса. Hоpмальным людям это недоступно.
Грр! Спроси авторов FAS. Впервые эта концепция появилась, когда
народ понял, что в SCO иначе никак не обеспечить локинг портов между
dialin и dialout процессами (getty и всякими uucico и иже с ними).
Потому как очень многие программы "забывали" использовать lock-файлы.
FAS ввел два устройства на порт: ttyS - dialin - на него вешалась
getty. Open на нем не проходил до появления CD, и тогда проходил
*только* если соответствующий dialout (cua) не был никем открыт.
Dialout устройство можно было открыть в любой момент, но только если
open на соответствующем dialin не "провалился". Процесс, открывший
dialout устройство мог делать что угодно, и dialin устройство во это
время ничего не замечало. А когда dialin устройство было открыто,
открыть dialout было невозможно.
В Линуксе Тэд сперва реализовал ту же концепцию, но со временем
решил, что устал бороться с race conditions и объяснять чайникам,
в чем разница между /dev/cuaXX и /dev/ttySXX, какой скpытый смысл
несет за собой создание двyх yстpойств смотpящих на один поpт, и
убил это дело нафиг. Больше cua устройств не существует.
Кстати, в Солярисе (и Фре тоже? или нет?) тоже есть отдельные
dialout устройства, но с несколько другой семантикой.
Eugene
--- ifmail v.2.14dev3
* Origin: Average (2:5020/400)