Sun Microsystems со времени своего создания в 1982 году является последовательным приверженцем открытых решений. Непрерывный динамичный рост компании Sun Microsystems во многом является результатом усилий по превращению Solaris, открытой операционной системы типа UNIX, в передовую промышленную операционную систему. Это был процесс роста ОС как в смысле расширения ее функциональных возможностей, так и в смысле создания наиболее эффективного и надежного ядра операционной системы.
Все это время Sun Microsystems вкладывал (и продолжает делать это и по сей день) огромные средства в развитие высокопроизводительного программного обеспечения, соответствующего открытым стандартам. Первым результатом было создание операционной системы SunOS как некоторой разновидности Berkley UNIX, с добавлением изощренного сетевого программного обеспечения, а также легкого в использовании и эффективного оконного интерфейса.
В 1985 году фирма Sun предложила программное обеспечение NFS (Network File Systems), которое с тех пор превратилось в фактический отраслевой стандарт для сетевых файловых систем. Операционная система SunOS оказалась наиболее привлекательной платформой для технических и научных областей применения, став необычайно популярной в компьютерном мире.
В 1991 году Sun Microsystems выделил в отдельное подразделение SunSoft, c целью обеспечения максимальной концентрации усилий на развитие операционной системы и примыкающего математического обеспечения. SunSoft самостоятельно обеспечивает лицензиями на программное обеспечение OEM, дистрибьютеров, партнеров и конечных пользователей. В сентябре 1991 года он объявил о выходе новой операционной системы Solaris, основанной на двух базовых разновидностях UNIX'а - Berkley 4.2/4.3 (BSD) и AT&T System V.
Solaris представляет собой мощную и гибкую операционную систему (ОС), существующую в вариантах для процессоров SPARC и Intel x86. Созданная как основа сетевой среды, Solaris предполагает многозадачный, многопотоковый, многопользовательский режим функционирования и соответствует большинству признанных международных промышленных стандартов.
С самых ранних этапов разработки Solaris предназначалась для работы в корпоративных вычислительных сетях. Она обеспечивает чрезвычайно эффективный и надежный доступ к системам в целом, серверам, базам данных, принтерам и другим сетевым ресурсам. В Solaris встроены и оптимизированы на уровне ядра операционной системы средства обеспечения взаимодействия прикладных программ, создания распределенных файловых систем, поддержки полностью распределенной среды Java и Web-вычислений.
Solaris является также общепризнанной платформой для разработки сложного программного обеспечения с целым арсеналом средств, позволяющим сократить время разработки, повысить надежность функционирования приложений. По-видимому, не будет большим преувеличением сказать, что ни одна другая комбинация аппаратной платформы и собственно операционной системы, призванная поддерживать "сетецентричную" среду для приложений типа клиент-сервер, не позволяет добиться такого сочетания мощности, надежности, гибкости и открытости.
Выросшая из SunOS, система Solaris обладает широкой функциональностью и высокой степенью соответствия промышленным стандартам (X/Open UNIX 95, POSIX 1003.1, X11R6 и т.д.) и выделяется одним уникальным свойством-масштабируемостью. Действительно, эта операционная система используется и на однопроцессорных рабочих станциях, и на серверах масштаба рабочей группы, и на 64-х процессорном сервере Sun Enterprise 10000-сервере масштаба предприятия. Для широкого круга приложений ОС Solaris обеспечивает практически линейный рост производительности при увеличении числа процессоров в системе. Это в буквальном смысле слова воплощение концепции симметричных многопроцессорных вычислений (SMP - Symmetric Multi-Processing).
Построение крупных вычислительных систем предполагает наличие средств, позволяющих наладить эффективное и надежное сетевое взаимодействие между системами различных типов и производителей. Solaris, используя в качестве основного сетевого протокола TCP/IP, может также поддерживать связь по протоколам SNA, DECnet и обеспечивает интеграцию сетей персональных компьютеров. Серверы с операционной системой Solaris могут встраиваться в сети и домены сетей Novell и Microsoft. Такие серверы становятся центральным элементом вычислительной среды. Ключевое свойство Solaris - масштабируемость, позволяет поднимать производительность систем без коренной переработки приложений, функционирующих в сети предприятия.
Практически все современные операционные системы в той или иной степени поддерживают многопотоковый режим работы - Multithreading (иногда при переводе используют другой термин-работа с нитями исполнения). Принципиальное отличие такого подхода от способа построения традиционных версий UNIX (и операционных систем других типов) состоит в выделении внутри каждого вычислительного процесса некоторого нового (или новых) объекта, состоящего из области резервной памяти (стека) данной нити исполнения и содержимого регистров процессора. Поток или нить исполнения (thread) не содержат внутри себя собственно областей памяти, что значительно уменьшает их размеры по сравнению с традиционными процессами и соответственно - накладные расходы ресурсов системы при их создании и манипулировании ими. Основная задача потоков дать возможность нескольким разным процессорам SMP-системы работать над одной задачей или другими словами над общей областью памяти. Сама же память задачи приписана к процессу, как и все потоки (нити исполнения).
Во многих операционных системах применение такого подхода вызывает к жизни необычайно изящные программные решения. В качестве примера можно предложить свойство некоторых операционных систем - принудительное вытеснение ядра ОС (preempted kernel). Это свойство означает, что операционная система позволяет создавать процессы с приоритетов выше, чем у ядра операционной системы и при этом гарантируется, что данный процесс в случае необходимости может захватить процессор через гарантированно малый промежуток времени даже, если процессор занят ядром операционной системы. Это время различно для разных операционных систем и даже для разных версий одной и той же операционной системы.
Для Solaris время "захвата" лежит в диапазоне 10-50 мксек в зависимости от версии ОС и является необходимым условием при работе в режиме реального времени, так называемый "мягкий" режим реального времени. Требования к ОС , способной работать в таком режиме, описываются стандартом POSIX 1003.1b и ОС Solaris удовлетворяет требованиям этого стандарта (POSIX 1003.1b, draft 14).
Главное отличие Solaris от других операционных систем, работающих с потоками (нитями исполнения), состоит в механизме взаимодействия между потоками внутри ядра операционной системы и потоками в адресном пространстве задач пользователя. Именно реализация нового механизма взаимодействия позволяет Solaris "поднять планку", увеличить максимально допустимое число процессоров в системе. Для многих ОС, например Windows NT 4.0, считается, что предельное число процессоров в системе - 8. Это то число процессоров, для которого еще возможно эффективное распараллеливание задач. Solaris демонстрирует эффективное распараллеливание и на 64-х процессорных системах Sun Enterprise 10000.
Это отличие сводится к очень простой идее: дать возможность потокам внутри задачи пользователя взаимодействовать с потоками внутри ядра операционной системы не по жесткой схеме один - к одному или многие - к одному, а через промежуточные "виртуальные" объединения. Несколько потоков (или один поток) внутри задачи пользователя обращаются к некоторой совокупности потоков (или единственному потоку) внутри ядра операционной системы. Этим достигается значительная экономия системных ресурсов. Каждый новый поток внутри задачи пользователя, с одной стороны, не обязан порождать для себя новый поток внутри ядра операционной системы, что дает возможность избежать соответствующих накладных расходов на их порождение, и, с другой стороны, вставать с неизбежностью в очередь к единственному потоку внутри ядра операционной системы для обработки системных вызовов. Политика сочетания потоков внутри ядра операционной системы и потоков внутри задачи пользователя определяется разработчиком для каждого конкретного случая, когда он может выбрать наиболее эффективный путь для распараллеливания прикладной задачи.
Применение такой техники программирования и обеспечивает ОС Solaris и приложениям, созданным для него, особую гибкость и эффективность применения. На основе этой операционной системы работают мощные вычислительные машины масштаба предприятия, первые из UNIX-систем класса мейнфрейм. В то же время, с сохранением полной бинарной совместимости, на одной и той же версии операционной системы функционируют и серверы масштаба отделения и серверы рабочей группы. Рабочие станции Sun Microsystems используют ту же самую операционную систему. Различия версий ОС для серверов и рабочих станций связаны только с различием в дополнительных наборах программного обеспечения.
О широком спектре возможностей ОС Solaris говорит сам процесс развития вычислительных систем Sun Microsystems. Sun всегда занимал лидирующие позиции на рынке UNIX-рабочих станций. Объявив два года назад новую серию серверов масштаба предприятия Enterprise 3000, 4000, 5000 и 6000, Sun Microsystems буквально ворвался в тройку крупнейших поставщиков серверов на базе ОС UNIX. Этот результат был закреплен с выпуском в начале 1997 года первого UNIX-сервера, обладающего возможностями систем класса мейнфрейм - Sun Enterprise 10000.
Затем, как бы совершив полный оборот, Sun Microsystems создал UNIX-компьютеры в самой низкой ценовой группе. По ценам, сопоставимым с ценами систем на базе процессоров Intel, Sun Microsystems предложил заказчикам 4-х процессорный сервер рабочей группы Sun Enterprise 450 и новое семейство рабочих станций: Ultra 5, Ultra 10 и двухпроцессорную Ultra 60. Полная функциональность UNIX-систем, производительность, значительно превосходящая уровень PC или рабочих станций на базе PC, новое семейство трехмерных графических ускорителей - основные черты нового семейства.
В настоящий момент ОС Solaris является стабильной высокопроизводительной 32-битной операционной средой, уже имеющей многие особенности 64-х разрядных операционных систем, такие как поддержка файлов размером до одного терабайта или работа с оперативной памятью с размерами более двух гигабайт.
Sun Microsystems предлагает эволюционный путь к полностью 64-х разрядной операционной системе с сохранением и интеграцией существующих 32-битных приложений.
В последней версии Sоlaris 2.6 нашла свое воплощение концепция Web-гудка (WebTone). Sun Microsystems считает, что доступ к Web должен быть очевидным и вошедшим в привычный обиход. Ближайшая аналогия - появление гудка в телефонной трубке, когда практически никто не задумывается о сложной технологии, стоящей за этим событием. Пользователи, предприятия, частные лица нуждаются в круглосуточном доступе к сетевым ресурсам. Это превращается, и во многих случаях уже превратилось, в жизненную потребность. Solaris как раз и является такой операционной средой, которая позволяет обеспечить непрерывный и надежный гудок Web и реальную платформу для развертывания технологии Java. Sun Microsystems, вместе со многими поставщиками услуг Интернет, рассматривает Solaris как основу для сетевых вычислений XXI века.
При таком подходе создание Web-интерфейса для многих привычных утилит операционной системы просто неизбежен. Так, в Solaris 2.6 реализован Web-старт, значительно облегчающий установку операционной системы. Система подсказок Answerbook2 также реализована через Web. Навигатор HotJava обеспечивает интуитивный, легко адаптируемый интерфейс для доступа ко всем Web-страницам в Интернете и во внутренней сети предприятия.
Естественно, что поставленная задача - обеспечить лучшее средство для реализации концепции Web-гудка-выдвинула новые требования к производительности систем с Solaris и прежде всего к обеспечиваемому уровню производительности для Web-серверов и баз данных. Внесенные в ОС изменения позволили поднять производительность баз данных на задачах оперативной обработки транзакций (on-line transaction processing,OLTP) на 10-20%. Значительный прирост производительности получен и при работе Web-серверов.
С выходом новой версии ОС Solaris Sun Microsystems установил целый ряд рекордов по тестам Web96, TPC-C, TPC-D, SAP R/3. Эти рекордные результаты иллюстрируют потенциальные возможности данной аппаратной и программной платформы при решении реальных задач пользователя. Часть этих данных приведена в предыдущей статье(см. "Автоматизация проектирования", N1, 1998).
Мы рекомендуем читателям обратиться к Web-страницам организаций, занимающихся регистрацией полученных результатов, например: www.tpc.org, и, конечно же, посетить Web-страницы Sun Microsystems: www.sun.com, www.sun.ru