Привет, Хабр! Мы в компании Friflex запустили подкаст «Гости из IT». Вместе с экспертами из разных областей IT разбираемся в технологиях и обсуждаем, как они меняют нашу жизнь и работу.

Сегодня размышляем об операционных системах: зачем они нужны, какие задачи решают и можно ли в принципе ими владеть.

Своими мыслями делятся Роман Аляутдин, директор департамента разработки ОС «Аврора» в «ОМП», и Алексей Хорошилов, ведущий научный сотрудник Института системного программирования им. Иванникова РАН, руководитель Технологического центра исследования безопасности ядра Linux. Модерировали дискуссию ведущий Антон Комолов и CEO Friflex Петр Чернышев.

Что такое операционная система?

Алексей Хорошилов: Операционная система — это прослойка между приложениями и железом. Приложения должны работать на разном железе, не задумываясь об этом. Например, если каждое приложение само будет учиться работать с каждой моделью принтера — это будет кошмар. 

Операционная система предоставляет унифицированный интерфейс, с которым используется каждое приложение. Поэтому вы можете печатать на каждом принтере, который поддерживает операционная система вашего компьютера.

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

Если вы дадите пользователям десктопную операционку, в которой будет только терминал, как 30 лет назад, пользователи не поймут. Все ждут, что там будет файловый менеджер, куча встроенных приложений. То же самое касается и сегмента серверных операционных систем.

Роман Аляутдин: Задача операционной системы — организовать вычислительный процесс. Управлять железом, периферией и предоставлять интерфейс как прикладным программам, так и пользователям. Предоставлять графический интерфейс, если мы говорим о мобильных или о десктопных операционных системах. 

Операционные системы используются в разных сегментах. Есть операционные системы для авиации. Есть операционные системы потребительские, для десктопа, для мобильных устройств. Есть встраиваемые операционные системы. Вы приходите домой и включаете стиральную машину, а там — маленькая операционная система. 

Что такое российская операционная система?

Роман Аляутдин: А какая компания или организация может считать операционную систему своей? Почему Android — операционная система Google? Можно дать такой ответ: если компания владеет кодом и у нее есть команда, которая умеет развивать, сопровождать, вносить значимые изменения и поддерживать кодовую базу такого большого программного продукта, как операционная система, можно сказать, что это операционная система ей принадлежит. 

Почему я вспомнил Android — это очень крупный продукт, им пользуются во всем мире. Но даже такая огромная корпорация с многомиллиардными бюджетами, как Google, строит свой продукт на основе ядра Linux. А его разрабатывает весь мир, в том числе российские программисты. 

Даже такая огромная корпорация не делает все от бита до бита у себя в подвале. Крупные мировые вендоры сегодня стараются объединяться и общие компоненты разрабатывать вместе через проекты с открытым исходным кодом.

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

Как развиваются операционные системы

Алексей Хорошилов: Нельзя смотреть на операционную систему как на что-то статичное. ОС — это живой организм, он должен жить, развиваться, в нем нужно исправлять ошибки, убирать уязвимости. Нельзя сказать, что мы вложили столько-то человеко-лет и завершили разработку. Если продуктом начинает кто-то пользоваться, он требует постоянного внимания и вложений.

Роман Аляутдин: Да, именно поэтому вы видите новые релизы операционных систем. Даже если бы туда не вносили нового функционала, эти новые релизы все равно бы были — чтобы исправлять ошибки и убирать уязвимости. Их бы выпускали, чтобы сохранить тот уровень свойств продукта, который был при выпуске. 

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

В операционной системе Аврора мы стараемся постоянно поддерживать баланс между оригинальным интерфейсом и универсальным пользовательским опытом. Когда человеку выдают на работе планшет на Авроре, он не должен впадать в ступор, переключаясь со своего телефона на Android или IOS. 

Мы проводим исследования. Например, собираем фокус-группы. Раздаем пользователям телефоны с Авророй. Они ими пользуются, выполняют разные задачи и пишут отчеты. Мы изучаем отчеты и на основе обратной связи решаем, что делать дальше.

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

Полностью выпуск можно послушать на разных платформах:

Apple Подкасты

Яндекс Музыка

Google Подкасты

Castbox

PocketCasts

Overcast

Castro

RadioPublic

Комментарии (0)