Что такое Linux? В чём разница между ядром и дистрибутивом?
Linux — семейство Unix-подобных операционных систем, основанных на ядре Linux, которое создал Линус Торвальдс в 1991 году. Распространяется под лицензией GPL (GNU General Public License).
Аналогия из жизни: ядро Linux — это двигатель автомобиля. Сам по себе двигатель ехать не может: нужен кузов, колёса и салон. Дистрибутив — это готовый автомобиль, собранный вокруг этого двигателя.
Ядро Linux (Linux Kernel)
Центральная часть операционной системы:
- Управляет аппаратными ресурсами (процессор, память, устройства ввода-вывода)
- Обеспечивает многозадачность и планирование процессов
- Предоставляет системные вызовы (system calls) — интерфейс между пользовательскими программами и оборудованием
- Управляет файловыми системами, сетевым стеком, драйверами устройств
- Обеспечивает изоляцию процессов и защиту памяти
Ядро само по себе не является полноценной операционной системой — это лишь её основа.
Дистрибутив Linux
Полноценная операционная система, построенная на основе ядра Linux:
- Само ядро Linux определённой версии
- Набор системных утилит (обычно из проекта GNU:
bash,coreutils,grep,sed,awk) - Менеджер пакетов для установки и обновления программ
- Система инициализации (обычно
systemd) - Графическое окружение (опционально)
- Предустановленные приложения и конфигурации
Пример
┌─────────────────────────────────────────┐
│ Приложения пользователя │
├─────────────────────────────────────────┤
│ Системные утилиты (GNU) │
├─────────────────────────────────────────┤
│ Системные библиотеки │
├─────────────────────────────────────────┤
│ Системные вызовы (System Calls) │
├─────────────────────────────────────────┤
│ Ядро Linux (Linux Kernel) │
├─────────────────────────────────────────┤
│ Оборудование │
└─────────────────────────────────────────┘
Корректное название — GNU/Linux, поскольку операционная система состоит из ядра Linux и утилит GNU.
На собеседовании: интервьюер ожидает, что вы чётко разграничите ядро и дистрибутив. Частая ошибка — говорить «Linux» как синоним операционной системы, хотя Linux — это только ядро. Покажите, что понимаете многослойность: ядро, системные утилиты, пакетный менеджер.