Открыть сервис

Операционная система Solaris

Solaris — это операционная система, основанная на ядре Unix System V Release 4 (SVR4), разработанная компанией Sun Microsystems (впоследствии приобретена корпорацией Oracle). Относится к классу проприетарных Unix-подобных операционных систем, предназначенных для работы на серверах, рабочих станциях и суперкомпьютерах. Ключевыми характеристиками Solaris являются высокая масштабируемость, поддержка многопроцессорных систем (SMP), встроенная файловая система ZFS, виртуализация на уровне ядра (контейнеры Solaris Zones) и продвинутые механизмы управления ресурсами.

История

Разработка Sun Microsystems

История Solaris начинается в 1987 году, когда Sun Microsystems и AT&T объявили о совместной разработке Unix System V Release 4. Целью было объединение лучших черт существовавших веток Unix: BSD, System V и Xenix. Первая версия, Solaris 1.0, вышла в 1992 году и фактически представляла собой SunOS 4.1.x с графической оболочкой OpenWindows. Однако настоящим прорывом стал Solaris 2.0 (1993 год), который базировался на новом ядре SVR4 и полностью отказался от кодовой базы BSD.

В 1994 году вышла версия Solaris 2.4, которая стала первой, поддерживающей архитектуру x86. Это позволило устанавливать систему на обычные персональные компьютеры, что расширило её рынок. В 1997 году появилась Solaris 2.6, которая принесла поддержку 64-битных вычислений на платформе UltraSPARC.

Эра OpenSolaris

В 2005 году Sun Microsystems предприняла беспрецедентный шаг: под лицензией CDDL (Common Development and Distribution License) был открыт исходный код ядра Solaris, а также значительной части пользовательских утилит. Проект получил название OpenSolaris. Это позволило сообществу разработчиков вносить изменения, создавать дистрибутивы и портировать систему на другие архитектуры, включая PowerPC и ARM. На базе OpenSolaris возникли такие проекты, как OpenIndiana, NexentaStor и BeleniX.

Поглощение Oracle

В 2010 году корпорация Oracle завершила приобретение Sun Microsystems. Сразу после этого политика в отношении Solaris изменилась: Oracle прекратила выпуск обновлений для OpenSolaris, а сама операционная система стала развиваться исключительно как проприетарный продукт. Версия Solaris 11, выпущенная в 2011 году, стала первой, полностью разработанной под управлением Oracle. Она отказалась от модели «выпуск-обновление» в пользу модели «постоянного обновления» (rolling release) с помощью механизма IPS (Image Packaging System).

Архитектура и ядро

Ядро Solaris

Ядро Solaris является монолитным с возможностью динамической загрузки модулей. Оно поддерживает симметричную многопроцессорную обработку (SMP) с масштабируемостью до нескольких тысяч процессоров. В основе лежит планировщик задач, реализующий приоритетное вытесняющее многозадачное выполнение с поддержкой реального времени. Ключевые особенности ядра:

  • Многопоточность (Kernel Threads): ядро использует легковесные процессы (LWP) для эффективного управления потоками.
  • Модульность: драйверы устройств и файловые системы загружаются динамически через механизм STREAMS.
  • Поддержка NUMA: оптимизация работы с неоднородным доступом к памяти на многопроцессорных системах.

Динамическое отслеживание (DTrace)

DTrace — это встроенная в Solaris инфраструктура динамического трассирования, позволяющая в реальном времени анализировать работу ядра и приложений без необходимости перезагрузки системы. Она предоставляет возможность отслеживать системные вызовы, использование памяти, сетевые операции и производительность дисков. DTrace считается одной из самых мощных систем диагностики в Unix-мире и была портирована в другие операционные системы, включая FreeBSD и macOS.

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

ZFS (Zettabyte File System)

ZFS — это 128-битная файловая система, разработанная Sun Microsystems для Solaris. Она объединяет функции файловой системы и менеджера томов. Основные возможности:

  • Объединение пулов хранения (Storage Pools): несколько физических дисков объединяются в единый пул, из которого динамически выделяются тома.
  • Контроль целостности данных: ZFS использует контрольные суммы для всех блоков данных, что позволяет обнаруживать и исправлять ошибки «тихого повреждения» (silent data corruption).
  • Снапшоты и клоны: создание мгновенных снимков состояния файловой системы без затрат дискового пространства.
  • Сжатие и дедупликация: встроенные алгоритмы сжатия (LZ4, ZLE, gzip) и дедупликации данных.
  • RAID-Z: реализация программного RAID, аналогичного RAID 5, но без проблемы «записи с дырой».

UFS (Unix File System)

До появления ZFS основной файловой системой Solaris была UFS (Unix File System), основанная на BSD Fast File System. UFS поддерживала журналирование (logging) и была оптимизирована для работы с большими файлами.

Виртуализация и контейнеризация

Solaris Zones

Solaris Zones (также называемые контейнерами) — это технология виртуализации на уровне операционной системы. Каждая зона представляет собой изолированное окружение с собственным сетевым стеком, файловой системой и процессами. Зоны используют одно ядро с глобальной зоной (host), что обеспечивает минимальные накладные расходы. Различают:

  • Глобальная зона: управляющая среда, в которой работают все остальные зоны.
  • Неглобальные зоны: изолированные экземпляры, каждый из которых имеет собственный IP-адрес, файловую систему и набор пользователей.
  • Зоны с брендированием (Branded Zones): позволяют запускать приложения, скомпилированные для других версий Solaris или даже для Linux (через механизм Solaris Linux Branded Zones).

LDOM (Logical Domains)

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

Сетевые возможности

IP Filter и IPsec

Solaris включает встроенный брандмауэр IP Filter, который поддерживает фильтрацию пакетов, NAT и трансляцию адресов. Также реализована поддержка IPsec для шифрования сетевого трафика на уровне ядра.

Сетевые виртуализации

Solaris поддерживает создание виртуальных сетевых интерфейсов (VNIC) и виртуальных коммутаторов (Virtual Switch), что позволяет строить сложные сетевые топологии внутри одной физической машины. Технология Crossbow предоставляет возможность управления пропускной способностью и качеством обслуживания (QoS) для каждого виртуального интерфейса.

Применение

Серверные решения

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

Суперкомпьютеры

Операционная система Solaris используется на некоторых суперкомпьютерах, особенно на архитектуре SPARC. Например, система Sun Constellation System на базе процессоров SPARC и Solaris входила в список TOP500 самых мощных суперкомпьютеров мира.

Разработка и тестирование

Благодаря DTrace и контейнерам Solaris широко применяется для разработки и отладки программного обеспечения. Возможность создавать изолированные окружения с различными версиями библиотек и утилит упрощает тестирование совместимости.

Критика и ограничения

Закрытие OpenSolaris

Решение Oracle прекратить поддержку OpenSolaris вызвало негативную реакцию в сообществе разработчиков. Многие проекты, основанные на открытом коде, были заморожены или перешли на другие платформы. Это привело к снижению популярности Solaris среди независимых разработчиков и энтузиастов.

Ограниченная поддержка оборудования

Solaris, особенно версии для архитектуры x86, имеет ограниченную поддержку современного оборудования. Драйверы для новых сетевых карт, видеокарт и контроллеров часто отсутствуют или не обновляются. Это делает установку Solaris на обычные ПК проблематичной.

Сложность лицензирования

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

Снижение доли рынка

С начала 2010-х годов доля Solaris на рынке серверных операционных систем неуклонно снижается. Основные конкуренты — Linux (особенно дистрибутивы Red Hat Enterprise Linux и SUSE Linux Enterprise Server) и Microsoft Windows Server — предлагают более широкую поддержку оборудования, большее количество приложений и более низкую стоимость владения.

Интересные факты

  • Solaris была первой операционной системой, которая реализовала поддержку 64-битных вычислений на архитектуре SPARC (Solaris 7, 1998 год).
  • Механизм DTrace был впервые представлен в Solaris 10 (2005 год) и с тех пор считается эталоном для систем динамического трассирования.
  • Файловая система ZFS, разработанная для Solaris, была портирована в Linux (через проект OpenZFS) и FreeBSD, где активно используется в системах хранения данных.
  • В Solaris 11.4 (2018 год) была добавлена поддержка загрузки с UEFI и GPT, что улучшило совместимость с современным оборудованием.

Источники

  • «Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture» — Richard McDougall, Jim Mauro.
  • Официальная документация Oracle Solaris 11 (Oracle Corporation).
  • «The Design and Implementation of the Solaris Operating System» — Sun Microsystems Press.
  • Статья «OpenSolaris: A History» — журнал «Linux Journal», 2010 год.
  • «ZFS: The Last Word in File Systems» — Jeff Bonwick, Sun Microsystems.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →