Logo CitForum CITForum на CD Форумы Газета Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

09.02.2010

Google
WWW CITForum.ru

Новости мира IT:

Архив новостей

UNIX мертв, а я еще жив

Сергей Кузнецов

На самом деле, как и в случае Б.Г., мы живы оба и, скорее всего, он переживет меня :-( (как и рок-н-ролл явно переживет бедного Боба). Живучая получилась операционная система. Причем, чем дольше живет, тем больше сил набирается. Когда отдельные странные люди говорят, что с приходом Windows NT (а до этого OS/2 и т.д.) эпоха ОС UNIX закончилась, я тихо смеюсь про себя. В чем же состоит жизненная сила операционной системы (а точнее, семейства ОС) UNIX?

По-моему, наиболее важным фактором является то, что исторически система не является принадлежащей какой-либо компании, производящей аппаратные или программные средства. Так получилось, что на протяжении многих лет ОС UNIX занимались телекоммуникационная компания AT&T (для которой средства программного обеспечения всегда не являлись основным бизнесом) и университеты. В результате технология операционной системы и даже ее исходные тексты стали доступными для широкой публики, включая академические и коммерческие ее части. Как говорил классик, идея должна овладеть массами. В данном случае она ими овладела. Но в чем же, собственно, состоит идея?

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

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

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

Многие люди были просто счастливы, обнаружив, что при использовании ОС UNIX они имеют более или менее единообразную операционную среду на разных аппаратных платформах. Вспомните как мы мучались раньше при переходе от БЭСМ-6 к ЕС ЭВМ, а потом к СМ ЭВМ и т.д. Операционные системы этих машин были настолько различны, что иногда приходилось тратить несколько месяцев для вхождения в новую ОС (я помню, как были потрачены около 3-х месяцев времени квалифицированных специалистов в области операционных систем - ваш покорный слуга в их числе - на чтение документации, освоение и генерацию ОС RSX-11 компании DEC).

Именно ОС UNIX дала нам новую жизнь. Примитивная операционная система, ограниченные возможности, но обеспечение стабильности. Мы (разработчики операционных систем) плевались вначале, ругались с Российскими фанами UNIX и, конечно же, были правы. Но мы не понимали в то время, что иногда приходится жертвовать фигуру в пользу качества. Первые программы в среде ОС UNIX поражали своей тривиальностью. Но как было интересно обнаружить, что эти тривиальные программы действительно работают после повторной компиляции совсем на других компьютерах.

Конечно, расцвет ОС UNIX в России стал возможен только после окончательного краха Российской вычислительной техники. Это не та ОС, которая снисходительна к отдельным недостаткам вычислительной техники, в особенности к весьма уязвимым периферийным устройствам (в свое время мне пришлось попробовать установить ОС Демос на ЭВМ "Электроника-82, и должен заметить, что это принесло массу головной боли и никакого удовольствия). После перехода на использование качественной западной вычислительной техники мы больше никогда не имели проблем с ОС UNIX. Более того, с каждым годом использования этой ОС количество проблем уменьшается.

Операционная система UNIX дала жизнь концепции Открытых Систем. Этот подход обеспечивает возможности разработки мобильных (легко переносимых с одной аппаратной платформы на другую) приложений, масштабируемости (возможности почти линейного наращивания эффективности приложений при возрастании аппаратных возможностей), интероперабельности (возможности совместного использования независимо разработанных приложений). Хотя проектировщики и разработчики ОС UNIX не ставили перед собой эту задачу, счастливая звезда UNIX дала возможность этой ОС стать практической основой Открытых Систем. Но все ли так хорошо в жизни ОС UNIX? Конечно же, нет. Мое личное мнение по этому поводу состоит в том, что UNIX, достигая в последнее время возможностей наиболее развитых операционных систем, в то же время приобретает их отрицательные качества - перегруженность, чрезмерную сложность и т.д. В частности, в последние годы в большинстве коммерческих версий ОС UNIX в последние годы появился механизм легковесных процессов (threads). С одной стороны, понятно, что такое решение было наиболее простым для потенциального обеспечения использования возможностей симметричных мультипроцессорных вычислительных систем (SMP).

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

Посмотрим, что произойдет с UNIX в будущем... Мне было больно слышать, как отрекался от своего детища Деннис Ритчи. "Это совсем не та система, которую мы делали",- говорил он. С другой стороны, мы видим сегодня замечательные примеры свободно распространяемых вариантов ОС UNIX (FreeBSD, Linux), наблюдаем интересные опыты более удачной структуризации системы (Mach, Chorus). Мне кажется, что мы еще поживем...

Последние комментарии:

Я не верю в iPad (23)
9 февраля, 12:46

Подписка на новости CITForum.ru

Новые публикации:

3 февраля

  • Дом на песке

  • Реальное переосмысление "формальных методов"

  • Интервью с Найджелом Пендзом

    Газета:

  • iPad. Первый взгляд на долгожданный планшет от Apple

  • Я не верю в iPad

    20 января

  • SQL/MapReduce: практический подход к поддержке самоописываемых, полиморфных и параллелизуемых функций, определяемых пользователями

  • Данные на лету: как технология потокового SQL помогает преодолеть кризис

    Обзоры журнала Computer:

    2 декабря

  • Сергей Кузнецов. Год эпохи перемен в технологии баз данных

    18 ноября

  • Генерация тестовых программ для подсистемы управления памятью микропроцессора

  • Сравнительный анализ современных технологий разработки тестов для моделей аппаратного обеспечения

    11 ноября

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

  • Применение технологии UniTESK для функционального тестирования инфаструктурного ПО Грид

    28 октября

  • Remoting с сервером на Unmanaged C++ или Вторая жизнь старых приложений

  • Методы обеспечения переносимости ПО

  • Организация сложных тестовых наборов

    22 октября

    Обзоры журнала Computer:

    14 октября

  • МОГучие способности: новые приемы анализа больших данных

  • Учимся регулярно выражаться

    8 октября

  • Записки исследователя NTFS

  • Создание кросс-платформенных графических интерфейсов на wxPerl

    Все публикации >>>


  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 6608306, ICQ 232284597 Пресс-релизы — pr@citforum.ru
    Послать комментарий
    Информация для авторов

    Редакция раздаёт котят!

    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2009 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...


    Влагозащищенные светильники - продажа с доставкой от компании "Компакт-Оптима"