Опрос (информатика) - Polling (computer science)

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

Описание

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

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

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

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

Алгоритм

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

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

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

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

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

Типы

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

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

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

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

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

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

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

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

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

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

Смотрите также

Рекомендации

  1. ^ а б «Многоточечный опрос». Передача данных RAD / Импульсное питание. 2007. Архивировано с оригинал на 2014-02-17. Получено 2014-07-13.