Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #47, ОКТЯБРЬ 2004 г.

Отец демона и пингвина

Vint (vint@vpost.ru)

Спецвыпуск: Хакер, номер #047, стр. 047-008-5


Я хочу продолжить рассказ о схеме загрузки UNIX-систем, так как загрузка является еще одним архитектурным решением сообщества разработчиков ОС. Существует две основные схемы загрузки UNIX и его клонов: BSD и System V. BSD-тип применяется во многих BSD-системах и в некоторых дистрибутивах Linux (Gentoo, Slackware). Схема BSD проще System V, но и возможностей у нее меньше. Рассмотрим более прогрессивную System V. Сначала загружается ядро ОС, будь то UNIX, BSD-клон или Linux-клон, после этого ядро монтирует корневую файловую систему, ссылка на которую ему передана параметром загрузчика. При удачном завершении операции начинается поиск служебного каталога /sbin; если он не обнаруживается, то система выдает “Kernel panic”. Затем происходит запуск главного процесса Init: отдается команда /sbin/init. После чего уже Init обращается к каталогу /etc и ищет там файл inittab, где указан необходимый уровень запуска. Осталось не так уж много: init читает и анализирует содержимое своего конфигурационного файла, а затем запускает необходимые сервисы, монтирует локальные файловые системы, поднимает сетевые интерфейсы, монтирует уваленные файловые системы и запускает оставшиеся сервисы. На завершение процесса загрузки укажет (если система загрузится не в multiuser mode) появившееся приглашение ввести логин и пароль пользователя.

Ядро – всему голова!

Главным, определяющим архитектуру системы звеном является ядро. Все ядра *nix-систем должны выполнять следующие функции:

- управление работой процессов: создание, завершение и организация взаимодействия между ними.

- планирование очередности работы процессов, переключение выполняемых задач. Сюда входит и расстановка приоритетов для задачи управления мультипроцессорными системами.

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

Назад на стр. 047-008-4  Содержание  Вперед на стр. 047-008-6