Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
June 01 2026 08:16:21   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 36423
Учимся удалять!... 33313
Примеры, синони... 24509
Декартовы коорд... 24028
Просмотр готовы... 23859
FAST (методика ... 22593
содержание - се... 21975
Просмотр готовы... 20894
Работа с инстру... 16533
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 9,955
новичок: Logyattella
Друзья сайта
Ramblers Top100
Рейтинг@Mail.ru

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
10.3 ТЕРМИНАЛЬНЫЕ ДРАЙВЕРЫ
Терминальные драйверы выполняют ту же функцию, что и остальные драйверы: управление передачей данных от и на терминалы. Однако, терминалы имеют одну особенность, связанную с тем, что они обеспечивают интерфейс пользователя с системой. Обеспечивая интерактивное использование системы UNIX, терминальные драйверы имеют свой внутренний интерфейс с модулями, интерпретирующими ввод и вывод строк. В каноническом режиме интерпретаторы строк преобразуют неструктурированные последовательности данных, введенные с клавиатуры, в каноническую форму (то есть в форму, соответствующую тому, что пользователь имел ввиду на самом деле) прежде, чем послать эти данные принимающему процессу; строковый интерфейс также преобразует неструктурированные последовательности выходных данных, созданных процессом, в формат, необходимый пользователю. В режиме без обработки строковый интерфейс передает данные между процессами и терминалом без каких-либо преобразований.
Программисты, например, работают на клавиатуре терминала довольно быстро, но с ошибками. На этот случай терминалы имеют клавишу стирания ("erase"; клавиша может быть обозначена таким образом), чтобы пользователь имел возможность стирать часть введенной строки и вводить коррективы. Терминалы пересылают машине всю введенную последовательность, включая и символы стирания [32] . В каноническом режиме строковый интерфейс буферизует информацию в строки (набор символов, заканчивающийся символом возврата каретки [33] ) и процессы стирают символы у себя, прежде чем переслать исправленную последовательность считывающему процессу.
В функции строкового интерфейса входят:
• построчный разбор введенных последовательностей;
• обработка символов стирания;
• обработка символов "удаления", отменяющих все остальные символы, введенные до того в текущей строке;
• отображение символов, полученных терминалом;
• расширение выходных данных, например, преобразование символов табуляции в последовательности пробелов;
• сигнализирование процессам о зависании терминалов и прерывании строк или в ответ на нажатие пользователем клавиши удаления;
• предоставление возможности не обрабатывать специальные символы, такие как символы стирания, удаления и возврата каретки.
Функционирование без обработки подразумевает использование асинхронного терминала, поскольку процессы могут считывать символы в том виде, в каком они были введены, вместо того, чтобы ждать, когда пользователь нажмет клавишу ввода или возврата каретки.
Ричи отметил, что первые строковые интерфейсы, используемые еще при разработке системы в начале 70-х годов, работали в составе программ командного процессора и редактора, но не в ядре (см. [Ritchie 84], стр.1580). Однако, поскольку в их функциях нуждается множество программ, их место в составе ядра. Несмотря на то, что строковый интерфейс выполняет такие функции, из которых логически вытекает его место между терминальным драйвером и остальной частью ядра, ядро не запускает строковый интерфейс иначе, чем через терминальный драйвер. На Рисунке 10.9 показаны поток данных, проходящий через терминальный драйвер и строковый интерфейс, и соответствующие ему управляющие воздействия, проходящие через терминальный драйвер. Пользователи могут указать, какой строковый интерфейс используется посредством вызова системной функции ioctl, но реализовать схему, по которой одно устройство использовало бы несколько строковых интерфейсов одновременно, при чем каждый интерфейсный модуль, в свою очередь, успешно вызывал бы следующий модуль для обработки данных, довольно трудно.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Случайные статьи
Манчестерское коди...
Глава 7. Pocket N...
. Система терминов...
Водозащищенность
Исчисление предик...
11.6 УПРАЖНЕНИЯ
4. Особенности выд...
7.2.2. Необходимые...
Немного о КПК Mita...
Меры предосторожности
Глава 3. Принцип р...
7.2.5. Проверка в...
1. Линейно-функцио...
4.12.3.5 Система с...
2.4. Цифровые кана...
Релевантность
Глава 13. INTERPHA...
7.1 СОЗДАНИЕ ПРОЦЕССА
10.6 УПРАЖНЕНИЯ
Промежуточный хара...
Патч-антенна
7.3.2. Концепци...
Разделение отношен...
7.5. Применение пр...
Свойства САПР отли...
Мультиплексный
Всем ребятам — при...
«Логик-теоретик»
Что выбрать?
5.20 УПРАЖНЕНИЯ
Глава 11. BOTTOM L...
Из чего состоит GPS?
Что такое интелле...
ПРЕДИСЛОВИЕ
Выводы 2
Глава 15. FF2112
Существуют ли друг...
1.5 Классификация...
1.1. Зрелые и незр...
Необходимые предпо...
Мини-чат
Вам необходимо залогиниться.

Нет присланных сообщений.
Copyright © 2009