`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

OpenSolaris – UNIX XXI века

Статья опубликована в №28 (547) от 25 июля

0 
 

Немногим более года назад в софтверном мире одной открытой операционной системой стало больше – компания Sun Microsystems запустила проект OpenSolaris, начав поэтапную публикацию исходных материалов ОС Solaris и передав около 1700 относящихся к ней патентов в свободное пользование сообществу Open Source.

И все доступно уж, эхма!
Теперь для нашего ума!
Николай Носов.
Рассказы о Незнайке

Истоки и цели OpenSolaris

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

В конце 70-х годов в пору своей молодости Билл Джой (Bill Joy), выпускник Калифорнийского университета в Беркли и просто одаренный программист, принимает активнейшее участие в разработке BSD UNIX – собственной университетской UNIX-реализации. Его «усовершенствования Berkeley» выходят в свет в 1979 г. как 4.1BSD. В 1982 г. Билл Джой, Скотт МакНили (Scott McNealy), Андреас Бехтолшейм (Andreas Bechtolsheim) и Винод Хосла (Vinod Khosla) основывают компанию Sun Microsystems (напомним, что SUN в данном случае – аббревиатура от Stanford University Network). Для выпускаемых ею рабочих станций команда разработчиков под руководством Джоя создает ОС SunOS, в основу которой положена та самая 4.1BSD. На протяжении десяти лет (1982–1992), вплоть до последних версий 4.1.х (Solaris 1.x), SunOS остается преимущественно производной от BSD.

В конце 80-х годов в Sun Microsystems происходит смена приоритетов, и компания заключает партнерское соглашение с небезызвестной AT&T, в это время занимающейся разработкой революционного релиза UNIX System V. Результатом сотрудничества стал выход в 1992 г. SunOS 5.0 (Solaris 2.0), базирующейся уже не на BSD, а именно на UNIX System V Release 4.

OpenSolaris – UNIX XXI века
Благодаря своей легковесности и быстроте старая добрая пользовательская оболочка Xfce – неизменный спутник многих UNIX-систем. Обратите внимание на результат выполнения команды uname -a – мы работаем с SunOS 5.11, т. е. с Solaris завтрашнего дня под номером 11

1993 г. ознаменовался первой попыткой портировать Solaris на платформу x86 (версия 2.1), а с 1994 г. (версия 2.4) ее поддержка становится постоянной. В 2002 г., в связи с изменением стратегии, Sun Microsystems хотела закрыть данный проект, однако вынуждена была уступить натиску сообщества сторонников, организовавших движение протеста (solaris-x86.org).

Немного запутанной представляется система наименования и нумерации операционных систем Sun Microsystems. Так, текущие версии Solaris нередко называют SunOS 5, в то время как ранние версии SunOS – Solaris 1. Еще больше сбивает с толку то, что Sun Microsystems сейчас ссылается на Solaris, указывая его так называемый «пойнт-релиз», т. е. Solaris 7, 8, 9, 10 вместо 2.7, 2.8, 2.9, 2.10 соответственно.

Наконец, в июне 2005 г. около 5 млн строк кода ОС Solaris были открыты. Что же побудило компанию совершить этот поступок? Среди преследуемых целей можно выделить следующие:

  • стимулировать расширение и развитие «экосистемы» ОС Solaris;
  • способствовать инновациям и сотрудничеству между разработчиками, клиентами и партнерами;
  • вызвать увеличение спроса на другие продукты компании за счет расширения инсталляционной базы;
  • выйти на новые рынки – развлечений, правительственных и образовательных учреждений;
  • создать сильного конкурента для ОС Linux на массовом рынке.

Для координации действий в рамках проекта OpenSolaris была также учреждена специальная комиссия Community Advisory Board (CAB). В ее состав вошли: два сотрудника Sun Microsystems – ведущий технолог Саймон Фиппс (Simon Phipps) и старший инженер Каспар Дик (Caspar Dik), два члена сообщества OpenSolaris Pilot – Рич Тир (Rich Teer), независимый консультант и автор книги Solaris Systems Programming, и Эл Хоппер (Al Hopper), инженер-консультант компании Logical Approach, и, наконец, один из ярких представителей Open Source – Рой Филдинг (Roy Fielding), сооснователь Apache Software Foundation и руководитель исследовательских работ в компании Day Software.

О лицензировании, не бередя раны

Вопрос лицензирования открытого ПО – не из легких. И он, по большому счету, не вызывает особого интереса у простых смертных. Поэтому мы затронем его по возможности кратко.

OpenSolaris – UNIX XXI века
Разобравшись в настройках Xfce, новоявленной UNIX XXI можно придать привлекательный и достаточно современный вид

Значительная часть кода OpenSolaris предлагается на условиях Common Development and Distribution License (CDDL). Это новая лицензия Sun Microsystems, базирующаяся на Mozilla Public License (MPL) и утвержденная советом директоров организации Open Source Initiative. Причина, по которой компания отдала предпочтение именно MPL, а не другим вариантам, скажем, той же GNU Public License, заключается в том, что присутствующие в них ограничения не позволили бы распространять код Solaris вместе со сторонними модулями, в частности, драйверами, обычно реализующимися на условиях коммерческих и несовместимых с Open Source лицензий.

К тому же CDDL, по словам официальных представителей компании, обеспечивает полную патентную защиту производных проектов на основе OpenSolaris. Разработчики, которые планируют развивать исходный код Solaris, должны предоставлять свои результаты сообществу, даже если собираются распространять их в бинарном виде. Если же модификации стороннего кода не предполагаются, можно объединять его с файлами из других источников и использовать в коммерческих продуктах без подобного предоставления. Права на товарный знак Solaris Sun Microsystems, естественно, сохранила за собой.

Поддерживаемое оборудование

Пожалуй, самым серьезным препятствием, которое потребуется преодолеть проекту OpenSolaris, является проблема доступности драйверов устройств для платформы x86. Несомненно, одна из сильных сторон Linux, выстраданная годами напряженного труда и мучений энтузиастов, – внушительный список поддерживаемого оборудования. У Solaris он пока значительно короче.

Хотя возможность исполнения Solaris на архитектуре x86 предоставляется уже, ни много ни мало, тринадцать лет, существенная часть периферии драйверной поддержки в ОС не имеет. То же самое относится и к базовому оборудованию, вроде материнских плат и пр., причем сертифицированные устройства можно пересчитать по пальцам, остальные числятся, как «совместимые по отзывам пользователей». На сайте компании также выложен список примерно 700 готовых систем, корректно функционирующих под управлением x86/x64 Solaris 10. Однако если разобраться, то станет понятным, что более-менее полная реализация недорогих десктопов и серверов для Solaris пока под вопросом.

Все дело в том, что годами Sun Microsystems отдавала предпочтение высокоуровневому оборудованию производства Compaq, Digital и др., а не более дешевым потребительским товарам, популярным у пользователей Windows и Linux. Возьмем, к примеру, сетевые карты. Mainstream-продукты производства 3Com, Digital, Intel и пр. поддерживаются на должном уровне, в то время как устройства сравнительно небольших вендоров вроде Linksys достаточной поддержки не имеют. Это же справедливо для накопителей, видео и мультимедиаустройств (особенно звуковых карт).

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

Версии и дистрибутивы

Sun Microsystems распространяет два дистрибутива OpenSolaris – Solaris Express и Solaris Express Community Release (SXCR).

Первый – это ежемесячно обновляемый бинарный релиз системы, ориентированный на конечных пользователей. Он является официальным, включает некоторые дополнительные технологии, не входящие в исходный код OpenSolaris, и для него Sun Microsystems предоставляет ограниченную поддержку. Solaris Express главным образом предназначен для тех, кто желает собственноручно испытать новейшие технические решения, которые в скором времени найдут отражение в основном продукте компании (т. е. в Solaris).

OpenSolaris – UNIX XXI века
В дистрибутиве BeleniX 0.4.4 нашлось место для таких популярных в UNIX/Linux-сообществе приложений, как графическая настольная среда KDE, Web-браузер Mozilla Firefox, графический редактор GIMP и плеер XMMS

SXCR – это обновляемый каждые две недели бинарный релиз для разработчиков. Он представляет собой самый последний вариант рабочего кода и в силу этого поддержкой не обеспечивается. Зато каждая версия получает собственное название, например, текущая носит имя Nevada. В SXCR также включен ряд дополнительных технологий, не входящих в исходный код OpenSolaris.

Собственно проектом OpenSolaris распространяется лишь базовый код ОС, который составляют компоненты, называемые «консолидациями» (consolidations). В настоящее время его недостаточно для создания функционирующей системы, поэтому для построения OpenSolaris из исходных текстов необходимо наличие полного дистрибутива, роль которого выполняет SXCR.

Кроме трех официальных релизов OpenSolaris, имеется и ряд созданных сторонними разработчиками (естественно, на основе базового кода), в том числе:

  • SchilliX – LiveCD-дистрибутив, собранный немецким программистом Йоргом Шиллингом (Jorg Schilling). По словам разработчиков, он был первым в своем роде;
  • BeleniX – еще один LiveCD, но с возможностью установки системы, разработанный в индийском городе Бангалор в India Engineering Center компании Sun Microsystems. Помимо собственно ОС, OpenSolaris включает также открытое ПО проекта GNU;
  • NexentaOS – так называемая GNU ОС на базе OpenSolaris. Особенностью данного дистрибутива является огромное количество включенного в него популярного Open Source ПО (Apache, MySQL, Perl/Python/PHP, Firefox, Evolution, Gaim IM, всевозможные средства разработки, администрирования, графические программы и пр.). Дистрибутив распространяется в виде InstallCD, LiveCD и VMware-образа.

Вы хотели революцию?

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

По количеству инновационных концепций и технологий, которым сообщество разработчиков придает первоочередное значение, OpenSolaris сегодня оставляет далеко позади другие UNIX-подобные ОС. Опишем лишь некоторые из них.

Контейнеры (Containers, в текстах фигурирует также как N1 Grid Containers) по праву считаются передовой технологией в области системной виртуализации и утилизации ресурсов. Она основывается на «зонах» (Zones) и компоненте управления ресурсами (Resource Management).

Под «зонами» понимаются легковесные виртуальные машины, функционирующие как отдельные экземпляры ОС Solaris. Каждая из них изолирована как от основной ОС, так и от себе подобных и у нее собственное пространство памяти, сетевые адреса, файловая система и даже база пользователей. Одна машина может иметь много «зон», каждая из которых отвечает за какой-нибудь сервис. К примеру, одна из них будет предназначена для Web-сервера Apache. В ней для всех исполняемых файлов можно установить атрибут «только для чтения», что автоматически повысит уровень защиты от атак извне. При этом «зоны» допускают достаточно гибкую настройку, вплоть до назначения разного числа виртуальных процессоров.

Достоинства данной технологии очевидны. Изоляция каждой «зоны» гарантирует защиту размещенных в них сервисов от сбоев и ошибок, а легковесность (в каждой «зоне» обеспечивается лишь видимость полноценной ОС, поскольку код ядра, системные интерфейсы и драйверы устройств не дублируются) позволяет значительно снизить накладные расходы по сравнению с традиционными решениями из области виртуализации. Тем не менее к концу осени нынешнего года Sun Microsystems обещает внедрить в OpenSolaris полную поддержку технологии Xen.

В свою очередь, компонент Resource Management призван эффективно распределять физические ресурсы системы между «зонами», пользователями, процессами и группами задач и предотвращать различные критические ситуации.

Еще одна интересная концепция – Dynamic Tracing, или DTrace – в сущности, комбинация мощного средства трассировки и довольно гибкого отладчика. Она, в частности, позволяет:

  • анализировать взаимодействие пользовательских процессов в системе и находить узкие места в их работе;
  • определять причины сбоя в функционировании процессов;
  • отслеживать проблемы производительности на нескольких программных уровнях;
  • использовать собственные скрипты, написанные на относительно легком в освоении специальном языке D, для проведения индивидуального анализа.

Заслуживает внимания и ZFS (Zetabyte File System). Разработанная с мыслью об администраторах, она представляет собой самовосстанавливающуюся, самоуправляемую 128-разрядную файловую систему общего назначения, пригодную для использования и в десктопах, и в центрах данных. ZFS обеспечивает:

  • защиту посредством 64-разрядных контрольных сумм, которые позволяют выявлять и исправлять нарушения целостности данных;
  • объем хранилищ, в 16·1018 раз превышающий потенциал современных 32- или 64-разрядных файловых систем, а также простоту организации и управления томами;
  • высокую производительность за счет использования конвейерной обработки данных с учетом текущих показателей и планирования зависимостей;
  • автоматизацию процессов администрирования.

Технология упреждающего самовосстановления PSH (Predictive Self-Healing) обеспечивается компонентами защиты от ошибок и неисправностей (Fault Management) и управления сервисами (Service Management). Собственно, их названия говорят сами за себя: первый осуществляет диагностику аппаратных ресурсов системы и при необходимости пытается изменять режимы их работы, не доводя ситуацию до возможного сбоя; второй следит за функционированием системных сервисов, контролирует их состояние и в случае отказа автоматически их (а не всю ОС) перезапускает. В результате повышается уровень доступности системы, а также значительно упрощается поддержка ее работоспособности при выполнении критически важных задач. Естественно, в отличие от других способов достижения отказоустойчивости, основанных на принципе избыточности, PSH сулит и определенную экономию.

Наконец, стоит упомянуть BrandZ (Branded Zones, ранее известную как Project Janus) – технологию (пока еще довольно сырую), призванную обеспечить возможность запуска в среде Solaris приложений Linux. Причем их бинарный код при этом не интерпретируется, а выполняется в нативном режиме, что дает существенный выигрыш в производительности по сравнению с эмуляторами. Кроме того, остаются доступными все реализованные в Solaris ключевые концепции, включая Containers и DTrace. В настоящее время также ведутся работы над механизмом запуска в «зонах» экземпляров Linux – он выйдет под названием Solaris Containers for Linux Applications.

К сожалению, в рамках одной статьи сложно подробно остановиться на абсолютно всех интересных функциональных особенностях OpenSolaris – их достаточно много. Так, в OpenSolaris применяется технология Process Rights Management, которая позволяет устанавливать дополнительные права не только пользователям, но и исполняющимся процессам. Security Toolkit автоматически настраивает систему на максимум безопасности, минимизируя набор запущенных сервисов и права доступа. Имеется встроенная защита от переполнения буфера.

Понятно, что обилие дополнительных технологий и функций не может не сказаться на общей ресурсоемкости системы. Это именно тот момент, в котором OpenSolaris вряд ли по силам тягаться с Linux. Однако, принимая во внимание, насколько бурно сегодня развивается аппаратное обеспечение для x86/x64, такую цену можно считать вполне приемлемой. Зато мы наверняка сможем на деле ощутить преимущества многоядерных архитектур и прочих новинок.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT