Инициализация пользовательского пространства До этого момента ядро исполняет хорошо контролируемую последовательность действий, которая определена сравнительно малым количеством разработчиков программного обеспечения. Пространство пользователя в гораздо большей степени обладает модульной структурой. Здесь намного проще увидеть, что происходит в пространстве пользователя при его запуске и работе (9, с.136).
В общих чертах, пространство пользователя запускается следующим образом (9, с.136).
Команда init.
Важнейшие низкоуровневые службы, такие как udevd и syslogd.
Сетевая конфигурация.
Службы среднего и высокого уровня (cron, печать и т. д.).
Приглашение к входу в систему, пользовательский интерфейс и другие приложения высокого уровня.
После загрузки и полной инициализации ядра, оно создает автономные процессы, большинство из которых являются частью реализации ядра. Они не настраиваются и не требуют внимания со стороны пользователей. Их можно распознать по низким значениям PID (идентификаторам процесса). Однако внимания заслуживает демон (сервис) управления системой. Он имеет идентификатор процесса, равный 1, и обычно работает под именем init (7, с.79).
Основное назначение команды init — запуск и остановка важнейших служебных процессов системы, хотя новые версии обладают дополнительными возможностями. В дистрибутивах Linux существует три основные реализации команды init (9, c.136):
System V init. Обычная последовательная команда init. Версия Red Hat Enterprise Linux и некоторые другие используют этот вариант.
systemd. Набирающий популярность стандарт команды init. Во многих дистрибутивах осуществлен переход на команду systemd.
Upstart. Команда init для версий Ubuntu.
Структура файловой системы Файловая система Linux – это структура, в которой хранится вся информация на компьютере. Как и в UNIX, в системах Linux такие элементы, как данные, команды, устройства и каталоги, представлены как часть файловой системы (6, с.130).
Все данные не хранятся в одной папке, а распределены по все файловой системе. В Linux организована древовидная иерархия каталогов, в самом верху которой находится корневой каталог (рис.3).
Рис. 3. Файловая система Linux
Файловая система любого дистрибутива Linux содержит следующие каталоги (4, с.57):
/ - корневой каталог, по сути, сама файловая система Linux;
/bin (binaries) – содержит общие пользовательские программы (cat, cp, ls, ps и т.д.);
/sbin (system binaries) - содержит системные утилиты, выполнять которые имеет право только пользователь root;
/etc (etcetera) - содержит конфигурационные файлы;