Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

ПРИМЕЧАНИЕ. Проще всего происходит загрузка систем, ядро которых вместе со всеми дополнительными модулями собрано в единый загрузочный модуль.

Читайте также:
  1. КонсультантПлюс: примечание.
  2. КонсультантПлюс: примечание.
  3. КонсультантПлюс: примечание.
  4. Логическое примечание
  5. ПРИМЕЧАНИЕ
  6. Примечание
  7. Примечание
  8. Примечание
  9. Примечание
  10. Примечание

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

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

Сложная загрузка. Сборка в момент загрузки

Большинство современных ОС используют более сложную форму загрузки, при которой дополнительные модули подгружаются уже после старта самого ядра. В терминах предыдущих разделов это называется "сборка в момент загрузки". список модулей, которые необходимо загрузить, а также параметры настройки ядра, собраны в специальном файле или нескольких файлах. У DOS и OS/2 этот файл называется CONFIG.SYS, у Win 32 – систем – реестром (registry).

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

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

Некоторые системы, например DOS, могут грузиться только с устройств, поддерживающих BIOS, и только из одного типа файловой системы – FAT, драйвер которой скомпонован с ядром. Любопытное развитие этой идеи представляет Linux, модули которого могут присоединяться к ядру как статически, так и динамически. Динамически могут подгружаться любые модули кроме драйверов загрузочного диска и загрузочной файловой системы.

Сложная загрузка - развитие

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

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

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

Так, системы семейства UNIX имеют специальную инициализационную программу, которая называется – init. Эта программа запускает различные процессы, например, – программу, которая умеет запускать другие заданные ей программы в заданные ей моменты времени, различные сетевые сервисы, программы, которые ждут ввода с терминальных устройств, и т. д. Набор запускаемых программ задается в файле /etc/inittab (в разных версиях системы этот файл может иметь разные имена). Администратор системы может редактировать этот файл и устанавливать те сервисы, которые в данный момент нужны, избавляться от тех, которые не требуются, и т. д.

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

Аналогичный инициализационный сервис в той или иной форме предоставляют все современные операционные системы.

Загрузка с помощью другой ОС

Существуют ОС, которые не умеют самостоятельно выполнять весь цикл бутстрапа. Они используют более примитивную операционную систему, которая исполняет их вторичный загрузчик, и помогает этому загрузчику поместить память ядро ОС. На процессорах x86 в качестве стартовой системы часто используется MS/DR DOS, а загрузчик новой ОС оформляется в виде EXE – файла.

Таким образом устроены системы MS Windows 95/98/ME, DesqView и ряд других "многозадачников" для MS DOS. Таким же образом загружается сервер Nowell Netware, система Oberon для x86, программы, написанные для различных расширителях DOS (DOS extenders) и т. д. Многие из перечисленных систем, например Windows используют DOS и во время работы в качестве дисковой подсистемы.

 




Дата добавления: 2015-01-30; просмотров: 17 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав