Опрос (информатика)

редактировать

Опрос или операция опроса в информатика относится к активной выборке состояния внешнего устройства с помощью клиентской программы как синхронного действия. Опрос чаще всего используется в терминах ввода / вывода (I / O), а также называется вводом / выводом с опросом или программным вводом / выводом .

Содержание
  • 1 Описание
    • 1.1 Алгоритм
  • 2 Типы
  • 3 Сообщение опроса
  • 4 См. Также
  • 5 Ссылки
Описание

Опрос - это процесс, в котором компьютер или управляющее устройство ожидает, пока внешнее устройство проверит его готовность или состояние, часто с помощью низкоуровневого оборудования. Например, когда принтер подключен через параллельный порт, компьютер ждет, пока принтер не получит следующий символ. Эти процессы могут длиться столь же незначительно, как только чтение одного бита. Иногда это используется как синоним опроса «занято-ожидание ». В этой ситуации, когда требуется операция ввода-вывода, компьютер не делает ничего, кроме проверки состояния устройства ввода-вывода, пока оно не будет готово, после чего к устройству будет осуществлен доступ. Другими словами, компьютер ждет, пока устройство не будет готово. Опрос также относится к ситуации, когда устройство повторно проверяется на готовность, и если это не так, компьютер возвращается к другой задаче. Хотя это не так расточительно из-за циклов CPU, как ожидание занятости, это обычно не так эффективно, как альтернатива опросу, прерывания -driven I / O.

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

Опрос часто тесно связан с оборудованием низкого уровня. Например, опрос параллельного порта принтера, чтобы проверить, готов ли он к другому символу, включает проверку всего лишь одного бита из байта. Этот бит во время считывания показывает, находится ли один провод в кабеле принтера под низким или высоким напряжением. Команда ввода / вывода, которая считывает этот байт, напрямую передает состояние напряжения восьми реальных проводов восьми схемам (триггеры ), которые составляют один байт регистра ЦП.

Опрос имеет тот недостаток, что при слишком большом количестве устройств для проверки время, необходимое для их опроса, может превышать время, доступное для обслуживания устройства ввода-вывода.

Алгоритм

Опрос можно описать следующими шагами:

Действия хоста:

  1. Хост повторно считывает бит занятости контроллера. до тех пор, пока он не станет ясным.
  2. Когда он очищен, хост записывает в командный регистр и записывает байт в регистр вывода данных.
  3. Хост устанавливает команду: бит готовности (установлен в 1).

Действия контроллера:

  1. Когда контроллер определяет, что бит готовности команды установлен, он устанавливает бит занятости.
  2. Контроллер читает регистр команд, и поскольку бит записи установлен установлен, он выполняет необходимые операции ввода-вывода на устройстве. Если бит чтения установлен в единицу, а не бит записи, данные с устройства загружаются в регистр ввода данных, который далее считывается хостом.
  3. Контроллер сбрасывает бит готовности команды, когда все заканчивается, он очищает бит ошибки, чтобы показать успешную операцию и сбрасывает бит занятости (0).
Типы

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

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

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

Опрос может использоваться в различных вычислительных контекстах для управления выполнением или последовательностью передачи задействованных элементов. Например, в многозадачных операционных системах опрос может использоваться для выделения процессорного времени и других ресурсов различным конкурирующим процессам.

В сетях опрос используется для определения того, какие узлы хотят получить доступ к сети. Он также используется протоколами маршрутизации для получения информации о маршрутизации, как в случае с EGP (протокол внешнего шлюза ).

Альтернативой опросу является использование прерываний, которые представляют собой сигналы, генерируемые устройствами или процессами, чтобы указать, что им нужно внимание, они хотят общаться и т. Д. Хотя опрос может быть очень простым, во многих ситуациях (например, в многозадачных операционных системах) более эффективно использовать прерывания, поскольку это может снизить использование процессора и / или потребление полосы пропускания.

Сообщение опроса

A сообщение опроса - это сообщение подтверждения управления.

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

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

См. Также
Ссылки
Последняя правка сделана 2021-06-02 10:16:12
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте