10.3 ТЕРМИНАЛЬНЫЕ ДРАЙВЕРЫ

10.3 ТЕРМИНАЛЬНЫЕ ДРАЙВЕРЫ

Терминальные драйверы выполняют ту же функцию, что и остальные драйверы: управление передачей данных от и на терминалы. Однако, терминалы имеют одну особенность, связанную с тем, что они обеспечивают интерфейс пользователя с системой. Обеспечивая интерактивное использование системы UNIX, терминальные драйверы имеют свой внутренний интерфейс с модулями, интерпретирующими ввод и вывод строк. В каноническом режиме интерпретаторы строк преобразуют неструктурированные последовательности данных, введенные с клавиатуры, в каноническую форму (то есть в форму, соответствующую тому, что пользователь имел ввиду на самом деле) прежде, чем послать эти данные принимающему процессу; строковый интерфейс также преобразует неструктурированные последовательности выходных данных, созданных процессом, в формат, необходимый пользователю. В режиме без обработки строковый интерфейс передает данные между процессами и терминалом без каких-либо преобразований.

Программисты, например, работают на клавиатуре терминала довольно быстро, но с ошибками. На этот случай терминалы имеют клавишу стирания ("erase"; клавиша может быть обозначена таким образом), чтобы пользователь имел возможность стирать часть введенной строки и вводить коррективы. Терминалы пересылают машине всю введенную последовательность, включая и символы стирания[32]. В каноническом режиме строковый интерфейс буферизует информацию в строки (набор символов, заканчивающийся символом возврата каретки[33]) и процессы стирают символы у себя, прежде чем переслать исправленную последовательность считывающему процессу.

В функции строкового интерфейса входят:

• построчный разбор введенных последовательностей;

• обработка символов стирания;

• обработка символов "удаления", отменяющих все остальные символы, введенные до того в текущей строке;

• отображение символов, полученных терминалом;

• расширение выходных данных, например, преобразование символов табуляции в последовательности пробелов;

• сигнализирование процессам о зависании терминалов и прерывании строк или в ответ на нажатие пользователем клавиши удаления;

• предоставление возможности не обрабатывать специальные символы, такие как символы стирания, удаления и возврата каретки.

Функционирование без обработки подразумевает использование асинхронного терминала, поскольку процессы могут считывать символы в том виде, в каком они были введены, вместо того, чтобы ждать, когда пользователь нажмет клавишу ввода или возврата каретки.

Ричи отметил, что первые строковые интерфейсы, используемые еще при разработке системы в начале 70-х годов, работали в составе программ командного процессора и редактора, но не в ядре (см. [Ritchie 84], стр.1580). Однако, поскольку в их функциях нуждается множество программ, их место в составе ядра. Несмотря на то, что строковый интерфейс выполняет такие функции, из которых логически вытекает его место между терминальным драйвером и остальной частью ядра, ядро не запускает строковый интерфейс иначе, чем через терминальный драйвер. На Рисунке 10.9 показаны поток данных, проходящий через терминальный драйвер и строковый интерфейс, и соответствующие ему управляющие воздействия, проходящие через терминальный драйвер. Пользователи могут указать, какой строковый интерфейс используется посредством вызова системной функции ioctl, но реализовать схему, по которой одно устройство использовало бы несколько строковых интерфейсов одновременно, при чем каждый интерфейсный модуль, в свою очередь, успешно вызывал бы следующий модуль для обработки данных, довольно трудно.

Рисунок 10.9. Последовательность обращений и поток данных через строковый интерфейс

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Глава 13. Драйверы

Из книги Секреты сканирования на ПК автора Леонтьев Б К

Глава 13. Драйверы Как известно, для управления устройствами, входящими в состав компьютера, служат небольшие программы — драйверы. Для нормальной работы сканера также необходим драйвер, причем для каждой модели эта программа разрабатывается отдельно. Но «услуги»


УСТАНАВЛИВАЕМ ДРАЙВЕРЫ

Из книги Пингвиний BUNT автора Яворских Евгений

УСТАНАВЛИВАЕМ ДРАЙВЕРЫ Еще один настоятельный совет: перед началом установки видеодрайверов создайте резервную копию конфигурационного файла xorg.conf (в нем записаны настройки графического сервера X.Org), расположенного в каталоге /etc/X11. В ряде случаев после установки


10.2 ДИСКОВЫЕ ДРАЙВЕРЫ

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

10.2 ДИСКОВЫЕ ДРАЙВЕРЫ Так сложилось исторически, что дисковые устройства в системах UNIX разбивались на разделы, содержащие различные файловые системы, что означало "деление [дискового] пакета на несколько управляемых по-своему частей" (см. [System V 84b]). Например, если на диске


12.3.3.3 Драйверы

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

12.3.3.3 Драйверы В многопроцессорной реализации вычислительной системы на базе компьютеров AT&T 3B20 семафоры в структуру загрузочного кода драйверов не включаются, а операции типа P и V выполняются в точках входа в каждый драйвер (см. [Bach 84]). В главе 10 мы говорили о том, что


9.1. Драйверы устройств

Из книги Защити свой компьютер на 100% от вирусов и хакеров автора Бойцев Олег Михайлович

9.1. Драйверы устройств Как уже говорилось выше, одной из основных задач операционной системы является управление аппаратной частью. Ту программу или тот кусок программного кода, который предназначен для управления конкретным устройством, и называют обычно драйвером


Драйверы с цифровой подписью

Из книги Asterisk™: будущее телефонии Второе издание автора Меггелен Джим Ван

Драйверы с цифровой подписью Никто не будет отрицать, что значительная часть потенциальных проблем безопасности операционных систем связана именно с драйверами. По заявлениям Microsoft, x64-версии Vista будут допускать установку драйверов исключительно с цифровой подписью.


Драйверы телефонии Zapata

Из книги MySQL: руководство профессионала автора Паутов Алексей В

Драйверы телефонии Zapata Компиляция драйверов телефонии Zapata для использования с оборудованием Digium проста; однако из-за различия сред сборки в версиях 1.2 и 1.4 для этого применяются немного разные методы. Сначала необходимо выполнить команду . /configu re, чтобы определить, какие


5.2.8. Условия и драйверы

Из книги Сетевые средства Linux автора Смит Родерик В.

5.2.8. Условия и драйверы Некоторые условия могут требовать специфической обработки. Эти условия могут касаться ошибок или общего управления потоком данных внутри


Драйверы, встроенные в ядро, и драйверы, реализуемые в виде модулей

Из книги Ubuntu Linux: базовый курс автора Котенок Дмитрий

Драйверы, встроенные в ядро, и драйверы, реализуемые в виде модулей Как вы уже знаете, при настройке ядра можно включить или отключить некоторые свойства ядра, например, вы можете разрешить или запретить использование конкретного Ethernet-адаптера. На рис. 1.1 видно, что


Драйверы

Из книги Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx» автора Неворотин Вадим

Драйверы Поговорим об очередном преимуществе Ubuntu Linux.Если вспомнить момент установки Windows, когда установка прошла, но осталось поставить драйвера, то я уверен, что каждый может вспомнить копание по полкам и шкафам в поисках дров к нашему ненаглядному компьютеру. Ubuntu


24.2 Драйверы

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

24.2 Драйверы Вообще говоря, в Ubuntu по умолчанию присутствуют все необходимые драйверы для всего поддерживаемого оборудования. Однако для некоторых устройств существуют также проприетарные драйверы от производителя, которые из-за забористых лицензий необходимо


Терминальные серверы

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

Терминальные серверы Firebird успешно используется в средах MTS и IBM Citrix. Во всех случаях используется протокол TCP/IP для соединений по сетевым IP-адресам.! ! !ВНИМАНИЕ! Весьма нежелательно инсталлировать на одном и том же узле терминальный сервер и сервер базы данных. Тем не менее


Драйверы JayBird JDBC

Из книги Операционная система UNIX автора Робачевский Андрей М.


Драйверы

Из книги автора

Драйверы Драйверы — это специальные программы, управляющие работой оборудования, для которого они были написаны. Сейчас практически каждое устройство — от оптической мыши до видеокамеры — требует для своего взаимодействия с компьютером отдельный драйвер. Конечно, не


Драйверы устройств

Из книги автора

Драйверы устройств Драйверы устройств обеспечивают интерфейс между ядром UNIX и аппаратной частью компьютера. Благодаря этому от остальной части ядра скрыты архитектурные особенности компьютера, что значительно упрощает перенос системы и поддержку работы различных