
Добавил:
Hist
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лекции 2012 / Лекция5.ppt
X
- •Каналы
- •Каналы
- •Неименованные каналы
- •Системные вызовы
- •Последовательность
- •Каналы предназначены только для передачи информации в одном направлении.
- •Правила для каналов (1)
- •Правила для каналов (2)
- •Правила для каналов (3)
- •Правила для каналов (4)
- •Правила для каналов (5)
- •Режим без блокировки
- •Именованные каналы (1)
- •Именованные каналы (2)
- •Именованные каналы (3)
- •Именованные каналы (4)
- •Именованные каналы (5)
- •Конвейер команд
- •Создание канала в конвейере команд
- •Блокировки
- •Блокировки файлов
- •Блокировки файлов
- •Поля структуры flock
- •Системный вызов fcntl
- •Подсистема
- •Драйверы устройств
- •Символьные драйверы
- •Блочные драйверы
- •Драйверы низкого уровня
- •Драйверы устройств UNIX
- •Программные драйверы
- •Архитектура драйверов
- •Доступ к драйверу
- •Элемент массива коммутатора устройств (1)
- •Элемент массива коммутатора устройств (2)
- •Вызов функции драйвера
- •Драйвер как набор функций
- •Некоторые функции (1)
- •Некоторые функции (2)
- •Некоторые функции (3)
- •Некоторые функции (4)
- •Некоторые функции (5)
- •Некоторые функции (6)
- •Некоторые функции (7)
- •Некоторые функции (8)
- •Некоторые функции (9)
- •Обращение к драйверу
- •Три контекста вызова
- •Доступ к драйверу символьного устройства
- •Доступ к драйверу блочного устройства
- •Синхронная и асинхронная
- •Файловый интерфейс
- •Работа с простым
- •Работа с драйвером
- •Клоны
- •Работа с клонами
- •Связь драйвера с ядром
- •Динамическая установка
- •Динамическая установка
- •Доступ к блочным
- •Различные типы доступа
- •Буферизация при работе с символьным драйвером
- •Архитектура терминального доступа
- •Два режима работы
- •Дисциплина линии
- •Работа драйвера терминала
- •Псевдотерминалы
- •Взаимодействие процессов
- •Удаленный доступ

Различные типы доступа

Буферизация при работе с символьным драйвером
Если устройство поддерживает прерывания, то используется функция xxintr()
Если устройство не поддерживает прерывания, то – xxpoll()

Архитектура терминального доступа
Последовательный интерфейс, называемый терминальной линией.
Дисциплина линии – предварительная обработка данных после ввода или перед выводом.

Два режима работы
•Канонический (в виде законченных строк с использованием дисциплины линии)
•Прозрачный (напрямую с устройством)

Дисциплина линии
•Построчный разбор введенных последовательностей
•Обработка символов стирания и удаления всего ввода
•Отображение вводимых символов (эхо)
•Расширение вывода (табуляция)

Работа драйвера терминала

Псевдотерминалы
Эмулятор терминала. Драйвер состоит из двух частей: обычный терминальный драйвер (подчиненный slave) и управляющий (основной master).

Взаимодействие процессов
с использованием псевдотерминала

Удаленный доступ
Соседние файлы в папке Лекции 2012