Глава 25 Управляемый сигналом ввод-вывод

Глава 25

Управляемый сигналом ввод-вывод

25.1. Введение

Ввод-вывод, управляемый сигналом, подразумевает, что мы указываем ядру проинформировать нас сигналом, если что-либо произойдет с дескриптором. Исторически такой ввод-вывод назвали асинхронным вводом-выводом, но в действительности описанный далее управляемый сигналом ввод-вывод асинхронным не является. Последний обычно определяется как операция ввода-вывода с немедленным возвратом управления процессу после инициирования операции в ядре. Процесс продолжает выполняться во время того, как производится ввод-вывод. Когда операция ввода-вывода завершается или обнаруживается некоторая ошибка, процесс некоторым образом оповещается. В разделе 6.2 проводилось сравнение всех возможных типов ввода-вывода и было показано различие между вводом-выводом, управляемым сигналом, и асинхронным вводом-выводом.

Следует отметить, что неблокируемый ввод-вывод, описанный в главе 16, также не является асинхронным. При неблокируемом вводе-выводе ядро не возвращает управление после инициирования операции ввода-вывода. Управление возвращается немедленно, только если операция не может быть выполнена без блокирования процесса.

ПРИМЕЧАНИЕ

Стандарт POSIX обеспечивает истинный асинхронный ввод-вывод с помощью функций aio_XXX. Эти функции позволяют процессу решить, генерировать ли при завершении ввода-вывода сигнал, и какой именно.

Беркли-реализации поддерживают ввод-вывод, управляемый сигналом, для сокетов и устройств вывода с помощью сигнала SIGIO. SVR4 поддерживает ввод- вывод, управляемый сигналом, для устройств STREAMS с помощью сигнала SIGPOLL, который в данном случае приравнивается к SIGIO.

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

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

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

Ввод/Вывод

Из книги Давайте создадим компилятор! автора Креншоу Джек


Ввод/вывод

Из книги Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT автора Фролов Александр Вячеславович

Ввод/вывод Как вы знаете, операторы << и >> выполняют сдвиг числового значения влево и вправо на опеределенное число бит. В программах, приведенных в нашей книге, эти операторы также используются для ввода информации с клавиатуры и вывода на экран.Если с левой стороны


Ввод и вывод

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Ввод и вывод Два класса библиотеки KERNEL обеспечивают основные средства ввода и вывода: FILE и STD_FILES.Среди операций, определенных для объекта f типа FILE, есть следующие:create f.make ("name") -- Связывает f с файлом по имени name.f.open_write -- Открытие f для записиf.open_read -- Открытие f для


ГЛАВА 14 Асинхронный ввод/вывод и порты завершения

Из книги Системное программирование в среде Windows автора Харт Джонсон М

ГЛАВА 14 Асинхронный ввод/вывод и порты завершения Операциям ввода и вывода присуща более медленная скорость выполнения по сравнению с другими видами обработки. Причиной такого замедления являются следующие факторы:• Задержки, обусловленные затратами времени на поиск


Глава 10. Ввод/вывод и хранение данных

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Глава 10. Ввод/вывод и хранение данных На чистом диске можно искать бесконечно. Томас Б. Стил младший Вычислительные машины хороши для вычислений. В этой тавтологии больше смысла, чем кажется на первый взгляд. Если бы программа только потребляла процессорное время да


Глава 6 Ввод и вывод

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

Глава 6 Ввод и вывод В этой главе мы рассмотрим некоторые встроенные средства для записи данных в файл и считывания их из файла. Такие средства можно также применять и для форматирования объектов данных программы, чтобы получить желаемую форму их внешнего представления.


Ввод и вывод

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

Ввод и вывод Функции ввода и вывода в стандартной библиотеке Си позволяют читать данные из файлов или получать их с устройств ввода (например, с клавиатуры) и записывать данные в файлы, или выводить их на различные устройства (например, на принтер).Функции ввода/вывода


Глава 4 Файлы и файловый ввод/вывод

Из книги Linux программирование в примерах автора Роббинс Арнольд

Глава 4 Файлы и файловый ввод/вывод Данная глава описывает базовые файловые операции: открытие и создание файлов, чтение и запись в них, перемещение в них и их закрытие. По ходу дела она представляет стандартные механизмы для обнаружения ошибок и сообщений о них. Глава


4.4. Ввод и вывод

Из книги Основы программирования на Java автора Сухов С. А.

4.4. Ввод и вывод Все операции Linux по вводу/выводу осуществляются посредством дескрипторов файлов. Данный раздел знакомит с дескрипторами файлов, описывает, как их получать и освобождать, и объясняет, как выполнять с их помощью


Глава 16 Неблокируемый ввод-вывод

Из книги QT 4: программирование GUI на С++ автора Бланшет Жасмин

Глава 16 Неблокируемый ввод-вывод 16.1. Введение По умолчанию сокеты блокируют выполнение процесса. Это означает, что, когда мы вызываем на сокете функцию, которая не может выполниться немедленно, наш процесс переходит в «спящее» состояние и ждет, когда будет выполнено


25.2. Управляемый сигналом ввод-вывод для сокетов

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

25.2. Управляемый сигналом ввод-вывод для сокетов Для использования управляемого сигналом ввода-вывода с сокетом (SIGIO) необходимо, чтобы процесс выполнил три следующих действия:1. Установил обработчик сигнала SIGIO.2. Задал владельца сокета. Обычно это выполняется с помощью


Глава 12. Ввод—вывод

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

Глава 12. Ввод—вывод Почти в каждом приложении приходится читать или записывать файлы или выполнять другие операции ввода—вывода. Qt обеспечивает великолепную поддержку ввода—вывода при помощи QIODevice — мощной абстракции «устройств», способных читать и записывать


Ввод и вывод

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

Ввод и вывод Также мне кажется очень важным, чтобы мои результаты подпитывались соответствующим «вводом». Написание программного кода – творческая работа. Обычно мои творческие способности в наибольшей степени проявляются тогда, когда я сталкиваюсь с творческим