Архитектура операционной системы GNU/Linux: ядро, файловая система, компоненты

Операционная система GNU/Linux, которую чаще называют просто "Linux", на самом деле состоит из двух основных частей: собственно ядра системы - Linux и прикладных программ, обеспечивающих возможность работы с ядром, коды которых опубликованы под свободной лицензией GPL.

Лицензия GPL, как и идеология открытого программного обеспечения в целом относятся к проекту UNIX-системы GNU (отсюда и приставка в названии), разработка собственного ядра которой (Hurd) так и не была завершена по сей день. Совместимость системы GNU со стандартами UNIX и POSIX позволила когда-то адаптировать её к различным UNIX-ядрам, Linux, BSD и т.п. И именно комбинация GNU/Linux на сегодняшний день является наиболее распространённой и используемой.

К проекту системы GNU относятся практически все компоненты современных дистрибутивов: рабочие столы Gnome и KDE, офисный пакет OpenOffice, масса мультимедиа-проигрывателей, консольных программ и даже некоторым образом само ядро системы - Linux.

Модульность и открытость системы GNU/Linux так же дали возможность создания дистрибутива (готовой операционной системы) каждому, что и породило на свет сотни разных дистрибутивов этой системы, каждый из которых призван решать свои задачи, своим способом.

Ядро Linux и его загрузка

Linux - монолитное (большое) ядро, оно включает в себя все необходимые для работы системы драйверы и функционирует логически целостно, однако, так же поддерживает динамическое ("горячее") подключение внешних модулей для поддержки оборудования в виде которых и распространяются, например, закрытые (проприетарные) драйверы для видеокарт NVidia и AMD/ATI.

Загрузкой ядра при старте системы в большинстве случаев управляет универсальный загрузчик Grub, код которого записывается обычно в разгрузочных секторах одного из логических разделов основного носителя данных: будь то жесткий диск, флеш-карта или компакт-диск. Файлы конфигурации Grub при этом хранятся в самом разделе (или любом другом).

Стандартный алгоритм установки openSuSE/SuSE Linux (как и большинства других дистрибутивов) для Grub и ядра Linux предусматривает обычно использование корневого раздела системы.

Файловая система

Linux часто называют "просто файловой системой", и в некотором роде это действительно так. При запуске, Linux создает виртуальную файловую систему (адресное пространство) с четким разграничением прав для доступа ко внутренним ресурсам, на чем и основывается безопасность всей системы. Именно эта файловая система и видна впоследствии пользователю как корневая (/).

Для обмена данными между физическими ресурсами компьютера и операционной системой ядро Linux создаёт в этой файловой системе специальные файлы-"порты", по одному для каждого из устройств. Таким образом все устройства в компьютере получают логические адреса, которые начинаются обычно с /dev.

Linux, в отличие от привычного Windows-варианта, использует разделы жёсткого диска не в качестве отдельных виртуальных, а так же как и любое другое физический ресурс - в качестве файлов в папке /dev. Специальная система присоединения (монтирования) файловых систем к основной корневой системе позволяет разворачивать их содержимое во внутренних папках, адреса которых обычно начинаются с /media.

Именно описанным выше способом при загрузке системы в её адресный корень сначала монтируется основная файловая система, содержащая также файлы с записями основных системных настроек, а потом и дополнительные - в отдельные папки. Естественно, современные рабочие столы GNU/Linux, Gnome, KDE и т.п., представляют пользователю подключенные логические разделы в привычном виде, однако в любом файловом менеджере это - всего лишь ссылки на реальные системные адреса.

Среда GNU

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

В частности, третий уровень - пользовательская командная строка, консоль для работы с системой. Первый, второй и четвёртый уровни - системные. Пятый - графический, запуск которого инициализирует запуск оконной системы X11. Шестой - уровень выключения и перезагрузки компьютера.

Гибкость такой системы состоит в том, что каждый из её компонентов, приложений запускаемых на разных уровнях загрузки, заменяем и почти всегда имеет альтернативу. Именно таким образом Вы получаете возможность работы с разными рабочими столами, мультимедийными системами, системами взаимодействия с физическими ресурсами компьютера: аудио-, видео- и другими устройствами.

Комментарии

Спасибо за информацию, теперь стану просветленным в этой области