Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
007.docx
Скачиваний:
105
Добавлен:
13.03.2016
Размер:
7.55 Mб
Скачать

1.6. Завантажувачі. Завдання завантажувачів. Принципи побудови завантажувачів.

Загрузчиком операционной системы принято называть программу, считывающую в оперативную память ядро вашей операционной системы.  Также загрузчик осуществляет запуск программы, которая инициализирует операционную систему Windows и передает данной программе дальнейшее управление. В результате этого ваша операционка получает полный контроль над компьютером.В дальнейшем под управлением ОС проходит вся последующая работа.На данной области жесткого дика располагается небольшой по своему размеру код загрузчика.  Назначение этого кода в том, чтобы передавать процесс управления далее в загрузочные записи требуемого логического раздела на вашем жестком диске.  В вышеуказанной загрузочной записи должен размещаться загрузчик ОС Windows. Кстати в главной загрузочной записи вашего жесткого диска вполне возможно располагать и более гибкие программы, например те, которые могут выводить на дисплей монитора (если на компьютерах установлено более одной операционной системы) меню для выбора загрузки требуемой операционной системы.В настройках BIOS может быть указаны настройки, позволяющие осуществлять загрузку операционной системы с диска или дискеты, а не с жесткого диска.В таких случаях BIOS предпринимает попытки считывать загрузочный сектор компакт-диска иди дискеты вместо загрузчика, находящегося в главной загрузочной записи вашего жесткого диска.  Если этот процесс происходит успешно, то дальнейшее управление передается считанной программе.В случае, если на сменных носителях или на жестком диске не получается обнаружить требуемый загрузочный сектор, на ваш экран выводится предупреждающее сообщение, вид которого зависит от версии и производителя BIOS. После этого прекращается работа системы, поскольку программа из BIOS просто не знает, кому и куда передавать управление.  Поиск загрузчиков на сменных носителях и жестком диске всегда происходит в соответствии с инструкцией о порядке загрузки, которая берется из параметров BIOS. Хочется заметить, что в действительности все происходит гораздо сложнее. Коду, который был считан из загрузочного сектора, управление передается только в случае, если BIOS определяет, что это и в самом деле исполняемый код, а не бессмысленная никому неизвестная последовательность байтов. Кроме того, последовательности подобного рода в большинстве случаев даже не считываются в память. В ситуациях, когда BIOS обнаруживает в загрузочном секторе устройства какую то бессмысленную информацию вместо требуемого кода загрузчика, данная программа может повести себя в дальнейшем по разному. В большинстве случаев, если вместо загрузочного указывается любой сменный носитель (компакт-диск, гибкий диск и т.п.) и загрузочный код не может быть обнаружен в его загрузочном секторе, программа BIOS может прийти к выводу, что в дисковод по оплошности был помещен неправильный диск. В подобных ситуациях программа приостанавливает свою работу и выводит на дисплей сообщение о том, что вам необходимо вставить требуемый загрузочный диск. Потом от пользователя потребуется нажать на клавишу Enter. Затем снова проводится попытка считать загрузочный код из загрузочной области. Если в дисководе вообще не обнаруживается никакого носителя, программа BIOS предпринимает попытки обследовать остальные устройства, которые были указаны в настройках в качестве загрузочных. Практически в большинстве случаев пользователи предпочитают выполнять загрузку операционной системы с жесткого диска, а не со сменных носителей.  Жесткий диск имеет несколько разделов, на которых имеется свой загрузочный сектор, в отличии от прочих носителей. Также на жестком диске в самом начале имеется так называемая главная загрузочная запись. Именно эта запись считывается в память, а ее код уже должен передавать управление загрузчику требуемого раздела вашего жесткого диска. Выше указанный загрузчик выполнит функцию загрузки ядра операционной системы. После этого он запустит программы, инициализирующие устройства и другие программы, которые выполняют подготовку операционной системы к взаимодействию с пользователем. Таким образом можно прийти к выводу, что загрузка операционной системы — это многоступенчатый процесс. Это важно для того, чтобы иметь возможность правильно понять и оценить возможные причины произошедшего сбоя в системе, если подобный сбой возникнет в процессе загрузки ОС.

Загрузчик операционной системы виполняет такие функции:

  • обеспечивает необходимые средства для диалога с пользователем компьютера (например, загрузчик позволяет выбрать операционную систему для загрузки);

  • приводит аппаратуру компьютера в состояние, необходимое для старта ядра операционной системы (например, на не-x86 архитектурах перед запуском ядра загрузчик должен правильно настроить виртуальную память);

  • загружает ядро операционной системы в ОЗУ. Загрузка ядра операционной системы не обязательно происходит с жесткого диска. Загрузчик может получать ядро по сети. Ядро может храниться в ПЗУ или загружаться через последовательные интерфейсы (это может пригодиться на ранней стадии отладки создаваемой компьютерной системы);

  • формирует параметры, передаваемые ядру операционной системы (например, ядру Linux передаются параметры, указывающие способ подключения корневой файловой системы);

  • передаёт управление ядру операционной системы.