Что такое Linux?

Linux — это не единая система, а целое семейство систем на базе ядра Linux. Ядро — это главный программный модуль, который отвечает за базовые возможности системы, например работу с памятью и железом.

Ядро Linux бесплатное и распространяется по свободной лицензии. На основе этого ядра создано большое количество операционных систем, которые решают какие-то конкретные задачи. Различные операционные системы на ядре Linux собирают с определенным набором программ, которые получили название дистрибутивов. Дистрибутивы Linux могут быть коммерческими (например, RedHat, Astra Linux, AltLinux, Ubuntu и многие другие) и некоммерческие (например, Debian, CentOS, Gentoo, ArchLinux и многие другие).

Tux Tux

Сегодня устройства с операционными системами, основанные на ядре Linux, занимают более 70% от всех устройств, выходящих в интернет. Это и смартфоны на операционной системе Андроид, системы умный дом, роутеры, маршрутизаторы, серверы, музыкальные центры, цифровые тюнеры, домашние компьютеры и ноутбуки и др. То есть Linux окружил нас со всех сторон. При этом Linux остается невидимым, как должна работать любая нормальная операционная система. Задача Linux запустить нужное приложение и обеспечить ему максимальное быстродействие и безопасность.

Немного истории

Создатель ядра Linux — финский разработчик Линус Торвальдс. Дата рождения Linux считается 25 августа 1991 года, когда Линус опубликовал в сети Usenet первый пост о своей операционной системе. Он опубликовал ядро Linux под свободной лицензией и к проекту подсоединились разработчики со всего мира.

В самом ядре Linux было мало программ и Линус объединил усилия с проектом GNU, основанным Ричардом Столлманом. В итоге общий проект стал называться GNU/Linux (это, кстати, более правильное название). Но со временем некотрые стали сокращать это название до простого названия Linux, что не является верным, в том числе и с юридической точки зрения.

В 1996 году вышла новая версия Linux 2.0 и тогда же у Linux появился талисман — пингвин Tux.

Где используется Linux?

Linux используется во множестве областей — от медицины до машиностроения, от робототехники до платёжной инфраструктуры. Коротко перечислим основные сферы, где без этой операционки сегодня не обойтись.

Суперкомпьютеры. Благодаря гибкости и близости к железу Linux позволяет выжимать максимум из суперкомпьютеров. Все 500 машин из списка самых мощных суперкомпьютеров в мире работают под управлением Linux.

Веб-серверы. Linux используется практически на всех серверах в Сети. Согласно опросам агентства W3Techs, 82% веб-сайтов развёрнуты на машинах с установленным Linux- и Unix-системами. Остальные используют Windows.

Смартфоны. Операционная система Android, которая установлена на большинстве смартфонов в мире, работает на ядре Linux. Кстати, яблочная iOS, как и Android, — Unix-подобная система, так что не очень и далеко друг от друга они ушли в плане архитектуры.

Роутеры. Операционные системы, установленные в Wi-Fi-маршрутизаторах, также основаны на ядре Linux.

Умный дом. Linux используют многие устройства в умных домах: холодильники, телевизоры, стиральные машины. Например, прошивки для телевизоров Samsung, LG, Philips и Panasonic работают на базе ядра Linux.

Авиация и транспорт. Linux установлена на бортовых компьютерах автомобилей и в машинах с автопилотом от Google. Ещё Linux используется в авиации: большинство американских систем для отслеживания трафика самолётов разработано на базе Linux.

Из чего состоит Linux

Как и любая операционка, Linux — это посредник между софтом и железом компьютера. Вот её основные компоненты.

Ядро. Сердце любой операционной системы. Связывает программное и аппаратное обеспечение, распределяет ресурсы компьютера между процессами, запускает процессы ввода-вывода и передаёт их на выполнение центральному процессору. При запуске ОС ядро загружается первым и остаётся в оперативной памяти постоянно. В коде ядра содержатся драйверы, которые загружаются в память по мере необходимости.

Оболочка. Командная строка, которая позволяет пользователю взаимодействовать с ядром напрямую. Работает так: вы набираете команды для оболочки на специальном языке, она их интерпретирует и передаёт операционной системе, а та запускает нужные программы.

Самая популярная командная оболочка для Linux — Bash.

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

Графика. Состоит из трёх главных компонентов:

  • Графический сервер — система для отрисовки элементов интерфейса: окон, кнопок и меню, а также для предоставления доступа к ним с помощью клавиатуры и мыши. Приложению не нужно думать о том, как отобразить графику, — всё это берёт на себя графический сервер.
  • Менеджер входа — тот самый экран, который спрашивает у вас логин, пароль и другие данные аутентификации перед входом в систему.
  • Среда рабочего стола. Всё, что вы видите на экране при работе с системой: файловый менеджер, окна, обои, статус-бары, панели задач и другие инструменты. Чаще всего в дистрибутивах Linux используется среда GNOME, пришедшая из вышеупомянутой GNU.
    Другая популярная среда — KDE — сильно напоминает Windows, а потому её часто выбирают пользователи, переезжающие с одной системы на другую.

Компиляторы. Преобразуют текст, написанный на «человеческих» языках программирования, в машинный код. Обычно компиляторы не входят в сборку из коробки — их устанавливают отдельно либо вместе со средой разработки.

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

Плюсы и минусы Linux

Для начала назовём достоинства этой операционной системы:

Плюсы Linux

Open source. Это означает, что ядра всех дистрибутивов, модули и программное обеспечение для работы под Linux имеют открытый исходный код. Каждый пользователь может изучать, модифицировать и распространять любую программу и само ядро. Он может опубликовать результаты своих работ в соответствии с лицензией.

Бесплатность. Большинство дистрибутивов Linux, как и многие программы для них, можно бесплатно скачать и установить на свой компьютер.

Безопасность. В мире Linux сильная культура безопасности. Авторы популярных дистрибутивов Linux регулярно выпускают обновления, которые исправляют уязвимости и обеспечивают безопасность системы. Также почти все сборки Linux включают средства для настройки сетевой безопасности: брандмауэры, фильтрацию пакетов и инструменты для обнаружения и предотвращения атак.

Нетребовательность к ресурсам. Многие дистрибутивы можно установить даже на старые компьютеры с маломощными процессорами и небольшим объёмом оперативной памяти. К таким дистрибутивам относятся, например, Tiny Core Linux, Puppy Linux, Slitaz и другие. А если в дистрибутиве нет графического окружения, его можно запустить хоть на самом древнем динозавре из девяностых.

Инструменты для разработчиков. Linux поддерживает множество компиляторов, интерпретаторов и других средств разработки. Например, для C и C++ в Linux есть компилятор GCC, для Python — CPython, для Ruby — JRuby. Также версии для Linux есть у большинства популярных IDE, включая Visual Studio, Sublime Text, Eclipse, IntelliJ IDEA и другие.

Удобная установка и менеджмент программ. Для этого в Linux есть менеджеры пакетов. Они позволяют управлять программными пакетами: устанавливать, обновлять и удалять их. Это, например: APT (для Debian и Ubuntu), YUM (для CentOS и Fedora), Pacman (для Arch Linux) и другие.

Минусы Linux

Сложность освоения. Тем, кто привык работать на Windows и macOS, бывает сложно переходить на Linux. У неё другая философия, которая требует большего участия в настройке системы. Кроме того, нужно будет разобраться в менеджерах пакетов, репозиториях, политике безопасности и других вещах.

Отсутствие некоторых популярных программ. Например, для Linux не разработаны Photoshop, Microsoft Office, AutoCAD и многое другое. Конечно, их можно запускать в виртуальной машине, а у многих программ есть аналоги, но это не подходит тем, кто хочет работать с неповторимыми оригиналами.

Сложности с драйверами. Да, в Linux есть драйверы почти для любого железа, включая процессоры и видеокарты, ОЗУ и периферию. Но ключевое слово — «почти». Бывает так, что производитель не стал заморачиваться с драйверами для Linux, а свободные разработчики ещё не успели до него добраться — и не факт, что вообще когда-нибудь доберутся.

Вполне вероятна ситуация, когда после установки системы не будет работать звук, тачпад или веб-камера и придётся несколько часов танцевать с бубном, чтобы найти нужный драйвер. И это в лучшем случае — в худшем вам придётся писать его самостоятельно.

«Сделай сам» — это вообще квинтэссенция философии Linux, если верить её создателю Линусу Торвальдсу.