Введение
Процесс выборки состояния устройства. Термин из области информатики.
the computer science term
Опрос, или интеррогация, — это активная выборка состояния внешнего устройства клиентской программой в качестве синхронной операции. Опрос чаще всего используется в контексте ввода-вывода (I/O) и также называется I/O с опросом или I/O, управляемым программно. Хорошим примером аппаратной реализации является сторожевой таймер.
Описание
Опрос — это процесс, при котором компьютер или управляющее устройство ожидает, пока внешнее устройство проверит свою готовность или состояние, часто с использованием аппаратного обеспечения нижнего уровня. Например, когда принтер подключен через параллельный порт, компьютер ждет, пока принтер не получит следующий символ. Эти процессы могут быть настолько малыми, что требуется прочитать всего один бит. Этот метод иногда используется как синоним "активного ожидания" (busy waiting). В этой ситуации, когда требуется операция ввода-вывода, компьютер не выполняет никаких действий, кроме проверки состояния устройства ввода-вывода, пока оно не будет готово, после чего к устройству осуществляется доступ. Иными словами, компьютер ждет, пока устройство не будет готово. Опрос также относится к ситуации, когда устройство многократно проверяется на готовность, и если оно не готово, компьютер возвращается к выполнению другой задачи. Хотя это менее затратно по циклам процессора, чем активное ожидание, как правило, это менее эффективно, чем альтернатива опросу – ввод-вывод, управляемый прерываниями. В простой системе, предназначенной для одной цели, даже активное ожидание вполне допустимо, если никакие действия невозможны до завершения доступа к вводу-выводу, но чаще всего это было следствием простого аппаратного обеспечения или не многозадачных операционных систем. Опрос часто тесно связан с аппаратным обеспечением очень низкого уровня. Например, опрос параллельного порта принтера для проверки его готовности к приему следующего символа может включать в себя проверку всего одного бита байта. Этот бит отражает, в момент считывания, находится ли один провод в кабеле принтера в состоянии низкого или высокого напряжения. Инструкция ввода-вывода, считывающая этот байт, напрямую передает состояние напряжения восьми физических проводов в восемь схем (триггеров), составляющих один байт регистра процессора. Недостатком опроса является то, что если устройств для проверки слишком много, время, необходимое для их опроса, может превысить время, доступное для обслуживания устройства ввода-вывода.
Типы
Цикл опроса — это время, в течение которого каждый элемент проверяется один раз. Оптимальная длительность цикла опроса зависит от нескольких факторов, включая требуемую скорость отклика и накладные расходы опроса (например, время процессора и пропускную способность). При последовательном опросе (roll call polling) устройство или процесс опроса запрашивает каждый элемент в списке в фиксированной последовательности. Поскольку ожидается ответ от каждого элемента, необходим механизм контроля времени для предотвращения зависаний, вызванных элементами, не отвечающими на запросы. Последовательный опрос может быть неэффективным, если накладные расходы на сообщения опроса велики, количество элементов для опроса в каждом цикле велико, а активных элементов мало. При кольцевом опросе (hub polling), также известном как опрос по токену, каждый элемент опрашивает следующий элемент в заданной последовательности. Это продолжается до тех пор, пока не будет достигнут первый элемент, после чего цикл опроса начинается заново. Опрос может применяться в различных вычислительных контекстах для управления последовательностью выполнения или передачи данных между элементами. Например, в многозадачных операционных системах опрос может использоваться для распределения процессорного времени и других ресурсов между конкурирующими процессами. В сетях опрос используется для определения, какие узлы хотят получить доступ к сети. Он также используется протоколами маршрутизации для получения информации о маршрутизации, как, например, в протоколе EGP (протокол внешнего шлюза). Альтернативой опросу является использование прерываний — сигналов, генерируемых устройствами или процессами для указания на необходимость внимания или для обмена данными. Хотя опрос может быть очень простым, во многих ситуациях (например, в многозадачных операционных системах) использование прерываний более эффективно, поскольку это позволяет снизить загрузку процессора и/или потребление пропускной способности.
Сообщение опроса
Сообщение опроса – это управляющее подтверждающее сообщение. В многоточечной линии связи (центральный компьютер и различные терминалы, использующие единую линию связи для обмена данными с компьютером), система использует схему опроса "ведущий-ведомый", при которой центральный компьютер отправляет сообщение (называемое сообщением опроса) конкретному терминалу по исходящей линии. Все терминалы прослушивают исходящую линию, но отвечает только тот терминал, который был опрошен, отправляя любую готовую к передаче информацию по входящей линии. В звездных сетях, состоящих в простейшем случае из одного центрального коммутатора, концентратора или компьютера, выполняющего роль канала для передачи сообщений, опрос не требуется для предотвращения хаоса в линиях связи, но часто используется для обеспечения последовательного получения данных ведущим устройством. Эти сообщения опроса отличаются от сообщений, используемых в многоточечных линиях, тем, что не требуют указания адресов устройств, и каждый терминал получает только те опросы, которые адресованы непосредственно ему.