русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Асинхронный и синхронный ввод-вывод


Дата добавления: 2014-11-28; просмотров: 525; Нарушение авторских прав


 

W2K предоставляет два режима выполнения ввода-вывода — асинхронный и синхронный. Асинхронный ввод-вывод используется там, где можно оптими­зировать производительность приложения. При асинхронном вводе-выводе при­ложение инициирует операцию ввода-вывода, а затем может продолжить свою работу (во время выполнения этого запроса). При синхронном вводе-выводе при­ложение блокируется до завершения выполнения операции ввода-вывода.

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

• Сигнал объекту устройства ядра. При завершении операции ввода-вывода
устанавливается индикатор, связанный с объектом устройства. Поток, вы­звавший операцию ввода-вывода, может продолжить свое выполнение до тех пор, пока не достигнет точки, в которой он должен дождаться завер­шения выполнения операции ввода-вывода. В этой точке поток может находиться в состоянии ожидания до завершения операции ввода-вывода, после чего продолжить свою работу. Эта технология проста и легка в ис­пользовании, но не подходит для обработки множественных запросов вво­да-вывода. Например, если потоку необходимо выполнить множество одновременных операций над одним файлом (таких,' как чтение одной и за­пись другой части в файл), то при описанной методике поток будет не в состоянии отличить завершение операции чтения от завершения операции записи. Он будет просто знать о том, что завершена некоторая операция ввода-вывода для этого файла.

• Сигнал объекту события ядра. Эта методика допускает одновременные за­просы ввода-вывода к единственному устройству или файлу. Для каждого запроса поток создает событие; позже поток может ожидать завершения од­ного из этих запросов (или завершения серии запросов).



• Оповещение о вводе-выводе. При этом методе используется очередь, связанная с потоком и известная как очередь вызовов асинхронных процедур
(asynchronous procedure call — АРС). Поток создает запросы ввода-вывода, а диспетчер ввода-вывода размещает результаты этих запросов в очереди АРС вызывающего потока.

• Порты завершения ввода-вывода. Эта технология используется в W2K
Server для оптимизации использования потоков. По сути, для использования доступен пул потоков, так что нет необходимости в создании нового по­тока для обработки нового запроса.



<== предыдущая лекция | следующая лекция ==>
Основные модули ввода-вывода | Программное обеспечение RAID


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.