stringtranslate.com

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

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

Описание

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

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

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

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

Алгоритм

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

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

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

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

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

Типы

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

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

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

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

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

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

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

Сообщение опроса представляет собой сообщение подтверждения контроля.

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

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

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

Ссылки

  1. ^ ab "Multi-Drop Polling". RAD Data Communications/Pulse Supply. 2007. Архивировано из оригинала 2014-02-17 . Получено 2014-07-13 .