Системные ресурсы и их распределение
Основные сведения о ресурсах
Современный компьютер состоит из большого количества разнообразных устройств, и для нормальной работы они должны поддерживаться процессором, им нужен доступ к оперативной памяти и возможность обмена данными с периферией. Необходимо также, чтобы устройства не мешали друг другу, что достигается распределением между ними системных ресурсов.
Системными являются следующие ресурсы.
1.Прерывания. С их помощью устройства могут использовать процессор для обработки возникших в них событий. Далее мы рассмотрим распределение прерываний более подробно.
2.Каналы прямого доступа к памяти (DMA). Используются для обмена данными между устройством и оперативной памятью без участия процессора. Для реализации этой технологии в каждой системной плате есть контроллер DMA, поддерживающий до восьми каналов обмена данными. За контроллером дискет, например, закреплен канал DMA 2; для параллельного порта, работающего в режиме ESP, обычно выделяется DMA 3; DMA 4 используется самим контроллером DMA. Остальные каналы часто свободные, поскольку эта технология редко применяется в новых устройствах. Распределение каналов DMA почти всегда выполняется успешно, и во многих современных версиях BIOS вообще нет настроек, с ним связанных.
3.Порты ввода/вывода. Служат для обмена данными между устройством и процессором. Это диапазоны адресов в шестнадцатеричпом виде, по которым процессор может записывать или читать данные с помощью специальных команд IN или OUT. Для этих портов выделен диапазон в 64 Кбайт, большая часть которого свободна, поэтому конфликты с их использованием очень редки.
4.Области оперативной памяти, специально выделенные для определенного устройства. Как и в случае с портами ввода/вывода, конфликты с областями памяти встречаются редко.
Прерывания
В работе компьютера часто возникают ситуации, когда процессору необходимо отложить на время выполнение основной программы и обработать нажатие клавиши на клавиатуре, щелчок кнопкой мыши или другое событие, возникшее в одном из устройств. Для реализации этой задачи во всех компьютерах используют механизм прерываний. Прерывание (INT) — это приостановка процессором выполнения основной программы для обработки события, поступившего от внешнего устройства. В общем случае обработка прерывания происходит следующим образом:
1. когда возникает ситуация, требующая вмешательства процессора (например, была нажата клавиша), устройство посылает специальный сигнал — запрос на прерывание (IRQ);
2. запрос на прерывание обрабатывается контроллером прерываний, после чего передается процессору;
3. процессор, получив запрос на прерывание, приостанавливает выполнение основной программы, сохраняет в оперативной памяти текущее состояние своих регистров и запускает подпрограмму обработки данного прерывания;
4. завершив обработку прерывания, процессор восстанавливает из памяти свое исходное состояние и продолжает выполнять основную программу.
Прерывания могут накладываться друг на друга, и если во время обработки одного прерывания возникнет другое с более высоким приоритетом, то выполнение текущего будет приостановлено, и процессор перейдет к более важному.
Процессор может обрабатывать тысячи прерываний в секунду, но пользователи не замечают этого, поскольку скорость его работы достаточно высока.
Все прерывания можно условно разделить на несколько групп.

Системные ресурсы и их распределение
1. Немаскируемые прерывания (Non-Maskable Interrupt, NMI). Они имеют наивысший приоритет. Эти прерывания обрабатываются при аварийных ситуациях, связанных с ошибками в работе оперативной памяти или других устройств.
Все современные процессоры также поддерживают другой тип немаскируемого прерывания SMI (System Management Interrupt), которое используется в схемах управления электропитанием.
2. Маскируемые прерывания. В отличие от немаскируемых, их выполнение может быть временно приостановлено программным способом. К ним относят все прерывания от устройств, обрабатываемые контроллером прерываний. Обычно он позволяет обращаться к 16 прерываниям от различных устройств; их назначение приведено в таблице ниже:
В большинстве современных компьютеров используется так называемый расширенный контроллер прерываний (ЛР1С), который изначально разрабатывался для многопроцессорных систем. APIC ускоряет обработку прерываний и увеличивает их количество до 24.
3. Программные прерывания. Они полностью реализуются программным способом без участия контроллера прерываний. Эти прерывания, по сути, — подпрограммы, решающие определенные задачи. Например, все версии BIOS содержат набор программных прерываний, которые выполняют основные операции ввода/вывода, и любая программа может их использовать, или, другими словами, . вызывать прерывания BIOS. Свои программные прерывания есть у операционной системы, а также у некоторых прикладных программ.

Назначение аппаратных прерываний

Назначение аппаратных прерываний
Технология Plug and Play
В старых компьютерах ресурсы для некоторых плат расширения настраивались вручную, при этом нередко возникали конфликты, особенно после установки новой платы расширения. Решить проблему распределения ресурсов позволила технология Plug and Play, которая выполняет автоматическое конфигурирование подключаемых устройств.
Чтобы воспользоваться всеми преимуществами Plug and Play, необходима поддержка этой технологии со стороны BIOS, операционной системы и подключаемого устройства. На сегодняшний день она полностью применяется как в аппаратном, так и программном обеспечении, а устройства без ее поддержки уже являются редкостью.
В системе, отвечающей стандарту Plug and Play, ресурсы частично распределяются операционной системой, а системная BIOS во время загрузки выполняет следующие операции:
1. инициализирует устройства, которые используются в процессе загрузки системы;
2. распределяет ресурсы между устройствами, не поддерживающими Plug and Play;
3. опрашивает устройства, поддерживающие Plug and Play, и распределяет между ними оставшиеся ресурсы;
4. формирует таблицы распределения ресурсов ESCD (Extended System Configuration Data — данные расширенной системной конфигурации);
5. записывает данные ESCD, которые будут использованы для распределения ресурсов при следующей загрузке, в NVRAM — память с автономным питанием.
Работа с ресурсами в Windows
Операционные системы семейства Windows полностью совместимы со стандартом Plug and Play и предоставляют пользователям удобные средства, управляющие ресурсами. Рассмотрим особенности работы с ними на примере наиболее популярной системы — Windows ХР.
Чтобы определить устройство, вызывающее конфликт ресурсов, достаточно открыть Диспетчер устройств. Для этого щелкните правой кнопкой мыши на значке Компьютер, выберите в контекстном меню команду Свойства, в появившемся окне перейдите по ссылке Диспетчер устройств. Все устройства, работающие с ошибками, будут отмечены восклицательным знаком на желтом фоне. Дважды щелкнув на значке любого устройства, вы откроете окно его свойств, где можно будет узнать о причине некорректной работы устройства.
