GNU/Linux – семейство Unix-подобных операционных систем созданных на базе ядра Linux и набора ПО из проекта GNU (не редко включаются и другие, специализированные, компоненты с закрытым кодом).
Как и ядро Linux, системы на его основе, в большинстве, предоставляются в соответствии с моделью разработки свободного и открытого программного обеспечения – т.е. в основном бесплатно (плата, не редко, взимается за техническую поддержку). Распространяются они, в основном, в виде различных дистрибутивов (в форме, готовой для установки и удобной для сопровождения и обновлений), для «настольных» версий обычно предусмотрен Live-режим (запуск ОС сразу с установочного носителя).
Появившись как комплекс ПО вокруг созданного Линусом Торвальдсом в начале 1990-х годов ядра, уже с начала 2000-х годов системы Linux являются основными для суперкомпьютеров и серверов, расширяется применение их для встраиваемых систем и мобильных устройств, некоторое распространение системы получили и для персональных компьютеров.
За счёт использования свободного программного обеспечения и привлечения волонтёров каждая из систем Linux обладает значительными программными возможностями, трудно реализуемыми в прочих моделях разработки (другими словами, например, чтобы «с нуля» разработать достаточно универсальную операционную систему с набором прикладного ПО – потребовалось бы затратить, минимум, сто миллиардов рублей, а себестоимость написания только ядра аналогичного Linux составила бы порядка десяти миллиардов рублей).
Семейство систем, включающих в качестве компонентов основные программы проекта GNU (такие как bash, gcc, glibc, coreutils и ряд других) иногда идентифицируется как GNU/Linux. Так как традиционно большинство систем было именно таким, т.е. под «Linux» обычно подразумеваются именно они; притом существует спор об именовании GNU/Linux. Существует проект стандартизации внутренней структуры Linux-систем – Linux Standard Base, часть документов которого зарегистрирована в качестве стандартов ISO; но далеко не все системы сертифицируются по нему, и в целом для Linux-систем не существует какой-либо общепризнанной стандартной комплектации или формальных условий включения в семейство.
Есть ряд систем на базе ядра Linux не имеющих в основе зависимости от программ GNU, поэтому их не называют «GNU/Linux» (пример таких систем – Android и Chrome OS).
Талисманом и официальным логотипом Linux является пингвин Tux, созданный в 1996 году Ларри Юингом (автор графического редактора GIMP для Linux). Торговая марка «Linux» принадлежит создателю ядра Линусу Торвальдсу. При этом сам проект Linux, в широком смысле, не имеет конкретного владельца, а вклад в его развитие и распространение осуществляют тысячи независимых компаний и разработчиков, одним из инструментов взаимодействия которых являются группы пользователей Linux.
Существует ряд некоммерческих организаций, основной задача которых продвижение и развитие Linux (например, The Linux Foundation). Также существует и значительный сегмент коммерческих организаций, в основном специализирующихся на технической поддержке Linux-систем (тут доминирует Red Hat, с 2019 года принадлежащая IBM).
Архитектура, интерфейсы и окружение
Linux работает на множестве аппаратных комплексов с самыми разными процессорами: x86, PowerPC, ARM, RISC-V, Alpha AXP, SPARC, SuperH, IBM System/390, Motorola 680×0, MIPS, PA-RISC, AXIS CRIS, Atmel AVR32, Renesas H8/300, Renesas M32R, NEC V850, Tensilica Xtensa, «Эльбрус», «Байкал» и многих других.
В целом системы Linux реализуются на модульных принципах, соглашениях и стандартах, заложенных в Unix в течение 1970-х и 1980-х годов. При этом ядро у системы монолитное и оно управляет процессами, сетевыми функциями, периферией, а также доступом к файловой системе. Драйверы устройств либо интегрированы в ядро, либо добавлены в виде модулей (загружаемых во время работы системы).
Отдельные программы, взаимодействуя с ядром, обеспечивают системе функционал более высокого уровня. Например, пользовательские компоненты GNU являются важной частью большинства Linux-систем, включающей в себя, к примеру, реализации библиотеки языка C, графические оболочки для ОС и многие другие инструменты для выполнения основных задач.
Для Linux представлено не мало и закрытых систем, т.к. открытый код платформы снижает себестоимость разработки и позволяет снизить цену коммерческого ПО. В результате Linux стал популярной платформой для таких продуктов, как Informix, Adaptive Server Enterprise, Oracle Database, DB2, SAP R/3, Domino.
Интерфейсов взаимодействия с Linux-системами, условно, три:
- командная строка (CLI),
- графический интерфейс пользователя (GUI),
- для встраиваемых систем, кроме GUI, возможны собственные программно-аппаратные средства управления.
Большинство низкоуровневых компонентов (в любой системе Linux) и некоторые серверные дистрибутивы (в целом) используют командную строку как единственный доступный интерфейс.
В «настольных» системах Linux (не исключая серверные) графический интерфейс пользователя построен на основе X Window System или на базе более современного Wayland. Популярные варианты реализации среды рабочего стола – GNOME, KDE Plasma Desktop и Xfce… и др. Командная строка, при использовании GUI, также доступна, но уже через эмулятор терминала.
Программирование в/для Linux
Стандартным семейством компиляторов для большинства Linux-систем является GNU Compiler Collection (GCC). Кроме того, GCC обеспечивает front-end для Java, C и C++. Большинство дистрибутивов включает интерпретаторы Perl, Bash, Python и других сценарных языков.
Существует ряд сред для разработки (IDE): Eclipse, KDevelop, NetBeans, Lazarus, Code::Blocks, IntelliJ IDEA и другие; также доступны и традиционные текстовые редакторы (Emacs и Vim).
Наиболее распространёнными библиотеками визуальных элементов для создания GUI являются GTK и Qt.
Широта вариантов применения
Если считать Android частью Linux-семейства, то ≈70% клиентов сети Интернет – устройства с Linux «на борту». В целом мобильный сегмент уже давно «завоёван» Android – более 70% смартфонов и около 60% планшетов работают под управлением этой ОС. При том, что среди настольных компьютеров (включая ноутбуки) распространённость Linux не более 2.5%, тут доминирует Windows (≈75%) и macOS (≈15%).
С «противоположенной стороны сетевого кабеля» (в серверном сегменте), без всяких «но и если», Linux-системами управляется ≈40% серверов (ещё столько же «родственными» Unix-системами, остальное Windows).
Кроме того, Linux занимает около половины сегмента встраиваемых устройств (от бытовых концепций «умный дом» и «интернет вещей» до узкопрофильных).
В мировой киноиндустрии около 90% серверов и рабочих станций задействованных в производстве анимации и визуальных эффектов – используют Linux.
Госструктуры различных стран всё больше внимания уделяют Linux-системам. Так, например, в Бразилии, Испании и Португалии, в Китае и Северной Корее – активно используют собственные дистрбутивы Linux в работе госучреждений. Франция, Германия и Индия – также предпринимают шаги в этом направлении.
В России Министерство обороны и Федеральная служба судебных приставов стали пионерами в освоении специализированных национальных систем Linux-семейства, другие ведомства, корпоративный сектор и образовательные учреждения – постепенно присоединяются к процессу перехода на «отечественный Linux».
Linux в роли настольной ОС
Раннее широкому применению Linux-систем на домашних ПК и ноутбуках, кроме ограниченного (в сравнении с проприетарными) набора прикладного ПО, серьёзно препятствовали сложности в установке и настройке таких ОС (практически любое изменение настроек системы требовало, как минимум, базовых навыков администрирования, не говоря уже о установке системы и прикладного ПО, что было под силу только профессионалам).
Сегодня уже достаточно дистрибутивов Linux, установка которых даже проще чем Windows. Свободного прикладного ПО также вполне достаточно, а его функциональность не уступает аналогам из сред Windows и macOS. Основные же препятствия переходу на Linux для обывателя это «слабая мотивация» и «сила привычки». Как бы то ни было, даже без агрессивного маркетинга, доля Linux на «рабочих столах» рядовых пользователей ПК постепенно растёт и прогнозируется, что к 2027 году она составит около 20%.