stringtranslate.com

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

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

Описание

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

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

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

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

Алгоритм

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

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

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

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

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

Типы

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

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

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

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

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

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

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

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

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

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

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

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

  1. ^ ab «Многоточечный опрос». Передача данных RAD/подача импульсов. 2007. Архивировано из оригинала 17 февраля 2014 г. Проверено 13 июля 2014 г.