Асинхронный ввод-вывод: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
одна буква - и другая парадигма
м форматирование даты в шаблоне Нет источника; подстановка даты в шаблон:Нет ссылок
Строка 41:
Доступны в [[BSD]] и [[POSIX]] Unix. Ввод/вывод используется асинхронно, и когда он будет завершен генерируется [[Сигналы_(UNIX)| сигнал]] ([[Прерывание]]). Как и в программировании ядра низкого уровня, для безопасного использования в пределах обработчика сигнала, имеющиеся возможности ограничены, и основной поток процесса можно было бы прервать почти в любой точке, в результате чего, в распоряжении обработчика сигнала имеются несогласованные структуры данных. Обработчик сигнала, как правило, не в состоянии инициировать дополнительные асинхронный ввод/вывод сам по себе.
 
Подход с ''Сигналами'', хотя и относительно прост в реализации в ОС, приводит в прикладной программе к нежелательному грузу по разработке, связанному с прерываниями ядра операционной системы. Его худшей характеристикой является то, что ''каждый'' блокирующий (синхронный) системный вызов потенциально прерываем; программист должен обычно задействовать повторяющийся код при каждом вызове. {{citationНет neededАИ|2|11|date=November 2013}}
 
=== Функции обратного вызова ===
Строка 64:
=== Зарегистрированный ввод/вывод ===
Доступен в [[Windows Server 2012]] и [[Windows 8]]. Оптимизированный для приложений, обрабатывающих большое количество небольших сообщений для достижения более высоких [[IOPS|операций ввода/вывода в секунду]]. С пониженным джиттером и задержкой <ref>[https://technet.microsoft.com/ru-ru/library/hh997032.aspx Зарегистрированные расширения API ввода-вывода<!-- Заголовок добавлен ботом -->]</ref>
 
== Примечания ==
{{примечания}}
 
{{нет источников|дата=2015-03-28}}
 
{{нет источников}}
{{rq|wikify}}