По сути, ОСРВ может гарантировать, что может обслуживать IRQ (запрос прерывания) в определенный (обычно низкий) период времени. Стандартные операционные системы не имеют такой гарантии.
В большинстве современных систем большинство устройств могут генерировать IRQ. Это приводит к тому, что процессор останавливает (то есть прерывается) то, что он делает, и запускает программу обслуживания прерываний. Идея состоит в том, что эта сервисная программа делает все, что нужно устройству, то есть получает данные с устройства в ОЗУ, сообщает устройству, что делать дальше и т. Д.
На платформе x86, поскольку у него есть только 1 строка IRQ на ЦПУ, при получении прерывания дальнейшие прерывания автоматически отключаются (за исключением NMI, RESET и SMI), пока ЦП не распознает источник прерывания и не включит его снова. Таким образом, хорошие драйверы устройств в стандартном Windows i386 / amd64 будут выполнять минимальную обработку в этом состоянии, достаточно, чтобы можно было возобновить прерывания, а затем отложить полную обработку прерывания на более поздний срок (поскольку технически система может обрабатывать только 1 прерывание на процессор ядро за раз). Я не уверен, но я верю, что Linux делает то же самое. Тем не менее, нет точной гарантии того, что прерывание будет обслуживаться.
Для большинства ПК-устройств, таких как диски, клавиатуры, сетевые платы, если есть небольшая задержка в обслуживании их IRQ, ничего плохого не произойдет, кроме потери производительности. Это может быть большей проблемой для таких устройств, как аудио и видео вход, где устройство ничего не буферизует, и ПК действительно должен не отставать от входящего потока данных.