русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Процесс загрузки Linux. Системы инициализации


Дата добавления: 2013-12-23; просмотров: 277; Нарушение авторских прав


После включения питания компьютера и завершения тестирования аппаратных средств, BIOS определяет загрузочное устройство, и с его нулевого сектора считывает запись MBR (Master Boot Record). Размер этой записи обычно составляет 512 Кб. В этой записи помещаются:

— малая программа-загрузчик (первичный загрузчик);

— таблица разделов диска;

— проверочное число для проверки, действительно ли сектор загрузочный.

Основная задача MBR — найти на диске и считать в память код загрузчика следующего этапа (основного загрузчика) и передать ему управление. В качестве основного загрузчика обычно выступают LILO (LInux LOader) или GRUB (GRand Unified Bootloader).

Загрузчик LILO является стандартным загрузчиком во многих дистрибутивах (например, Alt Linux). Состоит из двух частей: LI (располагается в MBR и служит для вызова основного загрузчика) и LO. LO имеет собственную карту размещения файлов (обычно /boot/map), в которой хранится путь к загружаемому ядру и образу виртуального диска. Виртуальный диск служит для монтирования промежуточной файловой системы, чтобы ядро получило доступ к драйверам и утилитам. Выполняемые LILO операции зависят от настроек конфигурационного файла /etc/lilo.conf.

Загрузчик GRUB является более гибким, чем LILO. Используется по умолчанию в дистритутивах Fedora Core. GRUB поддерживает большинство файловых систем, понимает форматы большинства исполняемых файлов, использует графический интерфейс. Обычно конфигурационный файл находится в /boor/grub/grub.conf.

Основной загрузчик загружает ядро системы в оперативную память. Ядро монтирует корневую файловую систему и запускает процесс init. Это единственный процесс, запускаемый непосредственно ядром, его PID равен 1. Он является предком практически всех процессов в системе.

Процесс init отвечает за продолжение процедуры загрузки и перевод системы в стандартный режим работы, выполняя различные операции. Их состав зависит от т.н. уровня выполнения (run level), определяющего операции, конфигурацию запущенных процессов и состояние системы после загрузки. Существуют 8 основных уровней выполнения:



— 0 — действия по выключению (останову) системы;

— 1 — однопользовательский режим; предназначен для администрирования системы; система полностью сконфигурирована, но не запущен ни один сервис, из пользователей может работать только root;

— 2 — во многих дистрибутивах не используется; в некоторых системах сконфигурирован аналогично 3-му уровню выполнения;

— 3 — многопользовательский режим, стандартный режим для сервера;

— 4 — в ряде дистрибутивов не сконфигурирован, в ряде используется для графического входа в систему;

— 5 — аналогично 4 в зависимости от дистрибутива;

— 6 — действия по перезагрузке системы;

— S (или s) — в основном, аналогичен 1, но иногда указывается в сценариях как отдельный уровень.

Кроме указанных основных уровней иногда используют т.н. «уровни по требованию» (odnemand level), обозначаемые A, B, C… Эти уровни являются фиктивными, при переходе на них запускаются приписанные к ним процессы, но текущий уровень выполнения не меняется.

Конкретные операции каждом уровне определены в конфигурационном файле /etc/inittab.

В процессе развития Unix-подобных систем выделились две основные системы инициализации (наборы сценариев загрузки):

1. BSD (Berkeley Software Distribution). Вместо уровней выполнения используется понятие режима — группа процессов, объединенная общей функциональностью. Каждый режим запускается своим сценарием. Сценарии находятся в каталоге /etc и называются rc.n, где n — номер или буква уровня выполнения.

2. System V. Каждому уровню выполнения соответствует свой каталог с именами rc0.d, rc1.d,… Эти каталоги находятся в каталоге /etc. Сценарии в этих каталогах представляют собой символические ссылки на настоящие сценарии в каталоге /etc/init.d. Имена сценариев начинаются либо с S (запускают процесс, start), либо с K (останавливают процесс, kill). Переключением уровней занимается центральный сценарий /etc/rc.



<== предыдущая лекция | следующая лекция ==>
Сигналы | Виртуальные файловые системы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.002 сек.