Яка різниця між "сирим" та "приготованим" драйвером пристрою?


27

Чи застосовується ця концепція лише до драйверів терміналів (що стосується більшості сайтів) або до будь-якого драйвера взагалі?

Відповіді:


30

Терміни сирі та варені застосовуються лише до драйверів терміналів. "Приготовлений" називається канонічним, а "сирий" - неканонічним режимом.

За замовчуванням драйвер терміналу - це система на основі рядків: символи буферуються всередині до повернення каретки ( Enterабо Return) до того, як вона буде передана програмі - це називається "приготовлено". Це дозволяє деякі символи повинні бути оброблені (див stty(1)), такі як Cntl-D, Cntl-S, Ctrl-U Backspace); по суті рудиментарне редагування рядків. Драйвер терміналу "готує" символів, перш ніж їх обслуговувати.

Термінал може бути переведений в "сировинний" режим, коли символи не обробляються драйвером терміналу, а надсилаються прямо через нього (можна встановити, що символи INTR та QUIT все ще обробляються). Це дозволяє таким програмам, як emacsі viлегше використовувати весь екран.

Детальніше про це ви можете прочитати в розділі "Канонічний режим" сторінки сторінки termios(3).


11

Терміни звикають до опису вводу-виводу терміналів та дисків, але означають різні речі у кожному контексті.

Сирий і приготовлений режими обробки обкладинки термінальних пристроїв (символи одночасно та рядки за часом, є також кілька інших відмінностей).

"Сирий" дисковий пристрій ( /dev/rdsk/*) є символьним пристроєм, а /dev/dsk/блок - пристроєм. Основна відмінність IIRC полягає в тому, що блоковий пристрій має буферизацію ядра, а тонкий зернистий контроль над режимами вводу / виводу, такими як прямий / відображений вхід / вивід, може бути визначений в необробленому дефіці.

Опис сирих та варених режимів можна знайти тут. Повідомлення про дискові пристрої з сирої та вареної дивіться тут.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.