
14. Алгоритм пробуждения компьютера и инициализации устройств. Этапы процесса загрузки ОС. Драйверы устройств. Порядок вызова драйверов устройств. Этапы пробуждения компьютера:
В процессе пробуждения компьютера происходит поиск, инициализация и проверка его узлов. Выполняемые при этом тестовые процедуры (Power-On Self-Test, POST) информируют о течение процесса и о найденных аппаратных ошибках. Информация об ошибках выдается звуковыми сигналами и текстовыми сообщениями. После успешного завершения процедуры POST начинается процесс инициализации при запуске: BIOS ищет и загружает в память загрузочный сектор (boot sector), BIOS пытается обнаружить загрузочный диск (флоппи-дисководы, жесткие диски, устройства CD-ROM). Современные BIOS позволяют пользователю переконфигурировать этот порядок, называемый последовательностью загрузки (boot sequence). Если при этом дисковод А: включен в последовательность загрузки первым, и в нем находится дискета, BIOS попытается использовать эту дискету в качестве загрузочной. Если дискеты в дисководе нет, BIOS проверяет первый жесткий диск, который к этому времени уже инициализировался. Для запуска огромное значение имеет первый сектор жесткого диска, который содержит главную загрузочную запись (Master Boot Record, MBR) и таблицу разделов (partition table). Системная BIOS считывает главную загрузочную запись и загружает ее в память, а затем передает ей управление. Код, содержащийся в главной загрузочной записи, сканирует таблицу разделов в поисках системного раздела. Найдя системный раздел, MBR загружает в память его нулевой сектор и исполняет код, содержащийся в этом секторе. Сектор 0 на системном разделе, так называемый загрузочный сектор раздела (partition boot sector), содержит загрузочный код операционной системы. Этот код и осуществляет запуск операционной системы по способу, определенному данной операционной системой. Процессы, происходящие при успешном запуске компьютера:
- Выбор операционной системы (при наличии нескольких систем) - Опознавание аппаратных средств - Выбор конфигурации
|
- Инициализация ядра Теперь ядро инициализирует низкоуровневые драйверы устройств, которые были загружены на стадии загрузки ядра. В случае ошибки при инициализации одного из драйверов система предпринимает корректирующее действие, основываясь на данных, определенных параметром реестра HKEY_LOCAL_ MACHINESYSTEM. Обработка ошибок в процессе инициализации драйверов устройств основывается на значении параметра ErrorControl . 5. Регистрация пользователя Вывод: Пробуждение начинается с POST, потом драйверы в ROM BIOS , а потом начинается работа самого ROM BIOS, т.е. программы начальной загрузки. Процесс загрузки компьютера без установленного менеджера загрузки:
В случае установки на компьютер «Менеджера загрузки», процесс загрузки меняется: менеджер загрузки помещает в MBR вызов своей программы, которая загружает в память не загрузочный сектор операционной системы, а меню с возможными вариантами загрузки: операционные системы с Windows 2000 имеют встроенные менеджер загрузки. Вывод: для установки Windows 98, XP, Vista, сначала устанавливается Windows 98, а потом Windows XP, Vista. Драйвер принимает запросы на обращения к устройствам и преобразует эти запросы в команду управления устройствами. Каждый компьютер оснащается специфичными для выпускаемой его фирмы драйверами, которые хранятся в микросхеме BIOS, и осуществляет управление аппаратурой с особенностями конкретной модели. Драйверы стандартных устройств, которые необходимы в процессе загрузки компьютера, загружаются из ROMBIOS. Модули расширения BIOS предназначены для подключения к системе дополнительных драйверов устройств и замене существующих (стандартных) драйверов устройств.
Системный реестр – база данных, в которой в том числе, заполняется вся информация о конфигурации операционной системы и оборудовании. Вывод: данная система работы освобождает компоненты операционной системы и другие приложения от знания и учета особенностей управления оборудования, тем самым обеспечивается независимость программного обеспечения от аппаратного. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16.,17. Распределение системных ресурсов. Линии запросов прерываний, каналы прямого доступа. Схема обработки прерывания Прерывание – это базовый механизм реакции вычислительной системы на возникающие события. При необходимости использовать ресурсы процессора любое устройство посылает процессору особый сигнал – запрос на прерывание (Interrupt ReQuest). После поступления такого сигнала происходит прерывание текущей работы процессора, и он приступает к обработке запроса. Устройство, которое нуждается в обслуживании, процессор определяет по номеру запроса. На первых персональных ЭВМ было предусмотрено 8 линий. На современных ПК имеется 16 линий. Для обработки прерываний в компьютере имеется специальный контроллер – микросхема Intel 8259.
IRQ
Каждая линия прерывания имеет приоритет. В случае прихода запроса на прерывание, одновременно по нескольким линиям, обрабатывается тот запрос, который имеет более высокий приоритет 0,1… и т.д.
IRQ
приоритет стандартная
функция примечание 0 1 таймер жестко
запрограммированы изменить нельзя 1 2 клавиатура 2 - недоступен программируемое
прерывание соединено с IRQ 9 3* 11 com
2 можно
переназначить на другое устройство 4* 12 com
1 5 13 звуковая
карта 6 14 контроллер
гибких дисков
переназначен
быть не может 7 15 LPT
1 может
быть переназначен 8 3 системные
CMOS и часы 9 4 режим
ACPI может
быть переназначен 10 5 используют
устройства на шине PCI, AGP, PCI Express свободны
для использования 11 6 12 7 PS/2 13 8
математический
сопроцессор 14 9
первичный
канал ЖД типа IDE 15 10 вторичный
канал ЖД |
Чтобы не было конфликта необходимо, чтобы каждая линия прерывания обслуживало только одно устройство. Исключение: локальная шина PCI была спроектирована с учетом совместного использования прерываний. Каждое устройство PCI должно корректно работать с другим PCI устройством. Условно схема обработки прерывания выглядит следующим образом:
Прямой доступ к памяти Для обеспечения высокой скорости работы некоторые устройства используют специальный контролер, который способен обращаться к операционной системе напрямую, не задействовав процессор, что может заметно снизить нагрузку на процессор и повысить общую производительность системы. Режим DMA позволяет освободить процессор от рутинной пересылки данных между внешними устройствами к памяти, отдав эту работу контроллеру DMA. Процессор в это время может обрабатывать другие данные. В современных ПВМ у контроллера DMA имеется 8 каналов. Необходимо, чтобы каждый канал обслуживал одно устройство.
канал
DMA разрядность
стандартная
функция 0 8
бит свободно
для внешних устройств 2 8
бит контроллер
Floppy - дисковода
3 8
бит свободен 4 16
бит свободен 5 16
бит звуковая
карта 6 16
бит свободен 7 16
бит свободен |