Что такое Linux?

Определение Linux

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

  • Прозрачность
  • Совместная работа
  • Ранний и частый выпуск версий
  • Всеобъемлющая меритократия
  • Сообщество

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

Что такое ядро Linux?

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

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

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

  1. Управление памятью: отслеживание того, каким образом и сколько памяти используется.
  2. Управление процессами: определение того, какие процессы и как могут использовать центральный процессор (ЦП).
  3. Драйверы устройств: действуют в качестве посредников между оборудованием и приложениями/процессами.
  4. Системные вызовы и безопасность: получение запросов на обслуживание от процессов приложений.

Linux для разработчиков

Разработчики давно любят Linux, и на то есть веские причины. Linux — мощная, проверенная временем операционная система. Благодаря Oracle Linux, разработчики получают доступ к большому сообществу, где они могут поделиться разработками и к которому могут в любое время обратиться за помощью в устранении неполадок.

Прямо сейчас на нашем портале разработчиков вы можете узнать, как Oracle Linux помогает разработчикам, предлагая учебные пособия по разным языкам программирования (Python, Node.js, Go), приложениям и инфраструктуре, а также о том, как можно использовать Oracle Linux для выбора сценариев использования аппаратных средств.

Кто использует Linux?

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


Видеоролик «Разработчики и Linux» (17:03)

Кому принадлежит Linux?

Владельцем Linux не является какое-либо физическое лицо или компания. Многие люди и корпорации вносят вклад в обновление Linux. Обычно они лицензируют внесенные изменения, используя лицензию на программное обеспечение с открытым исходным кодом, например GPLv2. Авторское право на наименование Linux принадлежит Линусу Торвальдсу, но создать дистрибутив Linux, объединив различные компоненты с открытым исходным кодом, может любой. Часто компании взимают плату за использование своего дистрибутива; они также могут взимать плату только за поддержку дистрибутива или предлагать дистрибутив бесплатно (как правило, без поддержки).


Видеоролик «Каковы отличия Linux?» (2:43)

Что такое дистрибутив Linux?

Дистрибутив Linux (иногда сокращается как «Linux-дистро») — это набор из необходимых и необязательных компонентов, которые объединяются для формирования полноценной операционной системы. Как правило, дистрибутив Linux содержит базовые компоненты, в том числе загрузчик, ядро Linux, систему инициализации, программы-демоны, графический сервер и приложения. Некоторые дистрибутивы имеют дополнительные возможности, такие как высокопроизводительное ядро Linux, инструменты управления, гипервизор или даже специальные компоненты для облачной среды.

Как и где можно использовать различные дистрибутивы Linux

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

Например, ОС Red Hat Enterprise Linux (RHEL) популярна в локальных центрах обработки данных и некоторых облаках, но не поддерживается во всех облаках. Amazon Linux доступна в облаке Amazon Web Services (AWS), но не доступна или не поддерживается в других облаках или локальных средах. Пользователи RHEL, как правило, наоборот, с готовностью оплачивают относительно дорогую годовую поддержку, чтобы получать для своих систем обновления и помощь по телефону. Fedora ориентирована на пользователей, которые не слишком заинтересованы в долгосрочной стабильной конфигурации и стремятся постоянно включать в свои системы последние экспериментальные функции.

Лучшая ОС Linux для любого сценария использования

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

Версии Linux

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

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

Популярные дистрибутивы:

  • IBM Red Hat/Red Hat Enterprise Linux (RHEL или Red Hat Linux)
  • Amazon Linux
  • Fedora
  • Oracle Linux
  • SUSE Linux
  • Ubuntu

Как различные версии ОС Linux управляют обновлениями и исправлениями

Еще одной отличительной чертой является то, как ОС управляет необязательными обновлениями и исправлениями программного обеспечения. Многие (но не все) системы из приведенного списка используют компонент RPM (ранее известный как Red Hat Package Manager). Некоторые другие дистрибутивы Linux используют систему пакетов Debian (dpkg).

Конкретный диспетчер пакетов не слишком важен сам по себе, но он определяет разницу в совместимости между системами, которые используют тот или иной вариант такого диспетчера. Например, в зависимости от используемых возможностей вы можете легко менять одну систему, использующую RPM, на другую (иногда их называют RPM Linux distros), поскольку они могут загружать очень похожие пакеты с аналогичных серверов дистрибутивов.

Можно также легко преобразовать установленные RHEL в Oracle, просто указав диспетчеру пакетов новый сервер обновлений. Это связано, в частности, с тем, что все они используют систему RPM. (Обратите внимание, что это техническое заявление: у поставщиков могут быть дополнительные условия лицензирования, которые необходимо соблюдать, но эти условия выходят за рамки данного документа.) Этот же переход будет более сложным при использовании таких дистрибутивов, как Ubuntu, который использует пакетную систему Debian.

Факторы, которые следует учитывать при выборе дистрибутива Linux

Преимущества нижнего уровня в стеке технологий

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

Но поскольку операционная система Linux находится в нижней части стека (или вблизи нее), она может повлиять на все вышестоящие компоненты. Улучшения в области безопасности, производительности, надежности и возможностей по устранению неполадок на этом низком уровне могут означать улучшение этих факторов на всех уровнях стека. Например, с помощью технологии Ksplice администратор может устанавливать обновления системы безопасности и исправления ошибок без перезагрузки сервера. Само по себе это может показаться незначительным преимуществом. Но если учесть стоимость вывода из эксплуатации бизнес-приложения и альтернативный риск оставить систему без исправления, защищающего от новейшей угрозы безопасности, то возможность исправления без нарушения работы бизнес-приложений неожиданно приобретает очень большое значение.

Эти преимущества могут легко умножаться по мере роста размера стека. Экономия времени на перезагрузку на уровне операционной системы может дать администраторам лишь несколько минут. Но потенциальный эффект от исключения организационных хлопот и планирования простоев важного, ориентированного на заказчиков приложения, может оказаться для дохода таким, что эта цифра в тысячи раз превысит годовую зарплату администратора. И это ничто по сравнению с затратами и ​​рисками для бизнеса, связанными с игнорированием обновления системы безопасности.

Преимущества для производительности

Аналогичным образом может показаться неважным повышение производительности операционной системы, поскольку обычно на непосредственную работу с ней администраторы тратят мало времени, а пользователи — еще меньше. Но в переводе на уровень бизнес-приложений небольшие улучшения в производительности могут быть умножены на миллионы дорогостоящих транзакций, что приведет к снижению стоимости каждой транзакции или даже к конкурентному преимуществу компании за счет более высокой, чем у конкурентов, скорости обработки срочных транзакций.

Почему стоит выбрать Linux?

Это открытая и полная система

Открытая и полная операционная среда Oracle Linux предоставляет инструменты виртуализации, управления и cloud native вычислений вместе с операционной системой в едином предложении поддержки. Oracle Linux на 100 % совместима с RHEL на уровне двоичного кода. Благодаря такой совместимости она, как правило, является хорошей заменой другим дистрибутивам на базе RPM.

Это бесплатная система

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

Это постоянно улучшаемая система

Для поддержания высокой производительности СУБД Oracle инженеры Oracle постоянно совершенствуют ядро Unbreakable Enterprise Kernel. И хотя эти усовершенствования предназначаются для Oracle Database, они, как правило, приносят пользу любому приложению, интенсивно использующему вычисления или память. Некоторые пользователи сообщают о повышении производительности более чем на 30 % при использовании этого варианта ядра Linux.

Эта система поддерживает установку исправлений без простоя

Oracle Linux также включает в себя технологию установки исправлений без простоя под названием Ksplice, которая позволяет регулярно устанавливать пакеты исправлений на серверы, не требуя их перезагрузки или, что более важно, остановки работающих на них бизнес-приложений. Такой подход позволяет чаще устанавливать пакеты исправления ошибок, а значит, повышать безопасность и улучшать соответствие систем нормативным требованиям. Кроме того, таким образом сокращаются административные издержки, характерные для крупных бизнес-приложений, которые требуют значительных усилий по планированию и согласованию перезагрузок со всеми заинтересованными сторонами. Oracle Linux также содержит KVM-гипервизор с открытым исходным кодом, а также (с соглашением о поддержке) диспетчер виртуализации (PDF).

Эта система имеет множество ориентированных на облако инструментов

Многие рабочие нагрузки перемещаются в облачную среду, а те, что остаются в локальных средах, часто проектируются на основе ориентированных на облако шаблонов и технологий, Kubernetes, контейнеров Kata и Istio. Oracle Linux — это основополагающая операционная система для Oracle Cloud Infrastructure (OCI), которая имеет множество ориентированных на облако инструментов, необходимых для этой архитектуры. Это означает, что Oracle Linux проходит тестирование в самой большой и требовательной среде, которая соответствует принципам разработки большинства современных приложений. Уроки, извлеченные в этом горниле, находят прямое отражение в улучшениях операционной системы. Но в отличие от других поставщиков облачных решений, у которых в основе облака лежит собственная система, Oracle Linux доступна в единой конфигурации для всех пользователей, независимо от того, где они находятся: в OCI, в другом облаке или в собственном центре обработки данных.

Это основа для Oracle Autonomous Linux

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

С 2006 года Oracle Linux можно совершенно бесплатно скачать и использовать: бесплатный исходный код, двоичные файлы и обновления. Возможность бесплатного перераспределения. Бесплатно для коммерческого использования.