Кормилицын Сергей Владимирович (serh) wrote,
Кормилицын Сергей Владимирович
serh

Category:

Крах нынешних операционных систем

Довелось тут чуть меньше месяца назад сделать интервью с очень интересным товарищем - программистом и главой компании DZ-Systems Дмитрием Завалишиным. Прекрасный собеседник, должен сказать. Очень жалко, что он не стремится быть публичной персоной, - спикер был бы просто отличный для любого издания, пишущего на IT-тематику. Встретились мы с ним на конференции OS DAY 2018, поэтому в тексте довольно много именно про это мероприятие. Но мне показалось интересным как раз то, что он рассказал, так сказать, походя. Про перспективы современного программирования. И вообще про наше будущее. :-)
В общем, дайте-ка я с вами этим текстом поделюсь. :-))

Дмитрий Завалишин: «Крах сегодняшних ОС может стать если не крахом нашей цивилизации, то чем-то очень близким к тому»

В конце мая в Москве, в здании Российской академии наук, состоялась V конференция OS DAY, посвященная вопросам надежности программного обеспечения. О том, как следует понимать термин «надежность» в применении к системному программированию, какие опасности подстерегают современное ПО и всю нашу цивилизацию и почему работа программиста с каждым годом становится все ответственнее, рассказал один из основателей OS DAY Дмитрий Завалишин, генеральный директор DZ Systems.

(с)

– Почему темой конференции стала именно надежность, а не безопасность? Все-таки в последнее время на слуху в большей степени хакерские атаки, а не программные сбои…
– Потому что сегодня надежность программного обеспечения важна, как никогда. И я не говорю о таких областях использования софтверных систем, как космос, медицина, армия, а имею в виду очень широкий спектр их применения. Еще несколько лет назад софтверные системы были во многом вторичны, исполняли вспомогательные функции, обеспечивали комфорт, но и не более. Без них было можно в принципе обойтись. Но к нынешнему дню они стали зачастую играть ключевую роль, стали жизненно необходимыми.
Если 5-10 лет назад вышедший из строя компьютер был крупной неприятностью, то сегодня его поломка чревата остановкой бизнес-процессов. Как следствие – повышение требований к надежности. Настолько серьезное, что сегодня надежность из сферы космоса, медицины и так далее перенесена в повседневную жизнь.
– Все настолько серьезно?
– Более чем. Крах ОС может стать если не крахом нашей цивилизации – это пока что было бы слишком громко сказано, – то чем-то очень близким к тому. Именно поэтому системы, которые мы проектируем, – даже бытовые – это ПО, требования к надежности которого оказываются очень жесткими.
– И все-таки: почему надежность, а не безопасность?
– В определенный момент оказалось, что надежность и безопасность – это одно и то же. Рассматривая уязвимости программного кода, позволяющие хакеру получить доступ к данным, необходимо понимать, что они же являются потенциальными источниками сбоев самой программы. Если в системе есть уязвимость, то она неизбежно станет проблемой. Либо сама, и тогда это будет сбой, либо под умышленным воздействием извне. Иными словами, говоря слово «надежность», мы подразумеваем устойчивость к программным сбоям и хакерским атакам одновременно. В результате понятие надежности охватывает весь спектр деятельности системных разработчиков.
– Как достигается надежность ПО? Есть какие-то особые направления деятельности?
– Очень четко видно, что сейчас сформировались два подхода к понятию надежности. Один – это создание на базе традиционных подходов новых аналитических инструментов, позволяющих найти проблемные точки – уязвимости и ошибки. Другой – поиск новой парадигмы, позволяющей строить принципиально новые системы.
– Можно ли создать совершенный код, не содержащий ошибок? Это реально?
– К этому, безусловно, нужно стремиться. Теоретически это, разумеется, возможно. Как минимум если мы будем придерживаться идеи о том, что надежность сложной системы означает надежность каждого ее компонента в отдельности. Здесь средством достижения цели будет создание четко проработанных отдельных компонентных структур.
Работая с такими элементами, собирая систему из максимально выверенных и верифицированных компонент, мы добиваемся лучшего результата: системы получаются более разумно устроенными, оказываются в итоге дешевле, потому что компоненты можно использовать повторно. И надежность их значительно выше.
– Но это требует серьезного приложения сил и средств…
– Это можно сказать вообще обо всей отрасли системного программирования. Она неизбежно движется в сторону индустриализации. Двадцать лет назад программирование было волшебством – кудесники где-то в темной комнате в одиночку писали софт. Сегодня это индустрия, конвейер, фабрики и заводы, которые системным образом производят ПО. Эта системность, структурность очень важна для развития системного программирования в целом. А надежность –один из ее драйверов.
– Как вы оцениваете прошедшую конференцию OS DAY?
– Как очень действенный инструмент, позволяющий в режиме on-line отслеживать тенденции развития не только системного программирования, но и всей ИТ-отрасли в целом.
Вот отличный пример. Три года назад мы пригласили на нашу конференцию несколько российских разработчиков процессоров: хотелось, чтобы разработчики отечественного софта с ними поближе познакомились и начали взаимодействовать. И по итогам той конференции многие меня спрашивали: «Ну и что такое российский процессор? Зачем он вообще нужен? Пошли, купили у компании ARM права на ядро процессора, заверстали его в чип, сделанный в Китае, и где тут мы? Где уникальность?» В общем-то, ответы на эти вопросы у меня были уже тогда, но то, что я увидел на OS DAY 2018, – ответ не только хороший, но еще и наглядный. И, как мне кажется, в том, чтобы его получить, наша конференция тоже сыграла свою роль.
На конференции было представлено описание проекта, в котором компания интегрирует несколько разных процессорных ядер в периферию и компоненты взаимодействия и строит на этой основе решение, для которого процессоры являются «кубиками лего». У него есть понятная функциональная смысловая картина, под которую оно делается, и оно эффективно. Это значит, что тогда, два-три года назад, мы, фигурально выражаясь, научились буквам. А сегодня мы начинаем говорить слова. Вышли на принципиально новый уровень. И я очень горжусь этим, считаю, что это большое достижение.
– И в каком направлении будет развиваться системное программирование дальше?
– На этот вопрос относительно просто ответить. Сложность в том, что при полной ясности ответа «как», остается загадкой «когда». Дело в том, что, наверное, в каждой отрасли есть определенная проблема – абсолютно одна и та же, но проявляющаяся по-разному. Это проблема отработанных технологий.
Везде, в том числе и в системном программировании, существуют мощные наработки, которые исторически настолько сильны и непререкаемо авторитетны, что уйти от них трудно. При этом собственный потенциал развития они уже исчерпали и в результате начинают тормозить развитие отрасли в целом. В металлургии, например, такую роль играли мартеновские печи, от которых удалось отказаться только буквально вчера. А в системном программировании, с моей точки зрения, сегодня в таком положении оказалась операционная система Linux.
– Но ведь Linux – классика!
– Именно так. Это, вне всякого сомнения, сейчас главный конь в упряжке мирового программирования. Фантазия отказаться от Linux не придет в голову ни одному разумному программисту. Между тем по очень многим аспектам, в том числе по надежности, он уже не дотягивает до современных требований. В результате сейчас идет два параллельных процесса.
Один – это попытка усовершенствовать Linux посредством дополнений, новых компонент и т.д., дать ему возможность дальнейшего развития. Другой – поиск новых технологий, которые шагают дальше, за сегодняшние пределы, потому что развитие необходимо, а в нынешней парадигме его потенциал уже практически исчерпан.
Аналогичным образом обстоит дело с языками программирования, например С, несмотря на то что на этот язык завязаны сегодня все основные процессы создания ПО. С его недостатками связана масса проблем, и этой ситуации на OS DAY 2018 было посвящено много докладов, общий смысл которых сводится к поиску путей компенсации недостатков этого языка.
Иными словами, мы сейчас достигли очень интересной точки в развитии системного программирования – точки перехода. Судя по всему, следует ждать новой волны, которая похоронит современное программирование и перенесет нас в совершенно другую парадигму, в совершенно другую картину мира. Понятно, что это произойдет, вопрос только в том, насколько скоро это случится.

Оригинал текста лежит ВОТ ТУТ, на сайте газеты "Поиск".
Tags: #журналюжество, #хорошие_люди
Subscribe

Recent Posts from This Journal

  • Если город пахнет мимозой

    Среди всей череды праздников, которые мы отмечаем в течение года, есть по-настоящему масштабные, всемирные, известные и любимые, как говорится,…

  • Королевско-советский рецепт, или "ром отдельно"

    В преддверии первого весеннего праздника сильная половина человечества приходит в состояние муторной задумчивости: чем поразить-порадовать любимую?…

  • Завтрак в сырную неделю

    Гастрономическая мода переменчива. Еще, казалось бы, недавно на вершине славы были фрикадельки, то есть, простите, митболы. Потом на короткое время…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments