Для создания отечественной операционной системы нам нужны новые Берия и Курчатов.

28 января, 2021 | от analytics | в категориях: Новые идеи, изобретения
Для создания отечественной операционной системы нам нужны новые Берия и Курчатов.
Новые идеи, изобретения
0

Пора создавать отечественную операционную систему как флагман новой IT-отрасли России.

Электромозг

Статьи на тему российской операционной системы (не клона Линукса или «Фряхи») стабильно вызывают большой интерес у читателей и активную их реакцию в комментариях. Очевидно, что вопрос создания настоящей отечественной ОС назрел. И хотя зачастую люди не понимают, что операционная система — это ещё не всё, но подсознательно воспринимают её, как некий символ развития всей IT-отрасли России, что абсолютно верно.

Пора создавать отечественную операционную систему как флагман новой IT-отрасли России

Вокруг «российских» операционных систем на базе Линукса, коих в России уже свыше десятка, IT-отрасль не построишь. Никто не будет активно писать свой новый софт, если есть старый чужой. Никто не будет разрабатывать новые архитектуры и принципы, а всё будет вяло тянуться в рамках общепринятых концепций Линукс.

Да, и на базе Линукса или «Фряхи» при большом желании, наверное, можно придумать что-то новое и прорывное, но это только теоретически. По факту этого нет и не будет. Власти не будут относится к свободному ПО с должным вниманием (оно в любом случае будет работать, а что не будет, то можно заимствовать и всегда чем-то заткнуть дырку, а это провоцирует на банальный «распил бабла»).

В общем, -nix-подобная система никак не сможет стать флагманом российской IT-отрасли, как бы этого ни хотелось фанатам открытого ПО.

Чтобы у программистов действительно горели глаза, флагман должен быть отечественным, собственным, родным. Сделанным с нуля своими руками, начиная с собственной архитектуры, дающей преимущества. Психологию пока ещё никто не отменял. Должен быть соревновательный дух, азарт, мобилизация сил, подпитываемая поддержкой большинства пользователей. Только вокруг такого своего, родного продукта можно строить отечественную IT-отрасль, к которой, кстати, должен быть обязательно приставлен свой условный «Берия».

Зачем нам своя IT-отрасль?

Зачем нам нужна своя отрасль, если можно не вкладываться, и быть придатком отрасли США, постоянно подпитывая её покупками их софта? Всё просто, ответ кроется в самом вопросе. Сейчас наши деньги за операционную систему, офисный пакет и другие крупные программные продукты утекают в США. Если мы вложим деньги в собственную ОС и программы для неё, они будут крутиться и приносить пользу внутри страны.

То есть, постановка вопроса «вкладывая деньги в собственный велосипед мы выбрасываем их на ветер» глупа, как никогда. Все эти деньги остаются внутри страны, в руках наших программистов, и будут тратиться опять же внутри страны, что крайне выгодно экономике. Вместе с тем, мы получаем программную независимость от наших заокеанских партнёров. Так что государство в целом и народ в частности ничего не теряют, чего нельзя сказать про постоянные покупки лицензий на использование зарубежных программ. В этом случае деньги постоянно утекают из нашей экономики.

Зачем создавать свою ось, если нет своего железа?

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

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

А драйверы! Их не будут писать под нашу ось!

Будут. Любой производитель железа хочет максимально расширить свой рынок, и уж, тем более, не будет отказываться от существующего. А поэтому, достаточно разрешить ему продажу компьютеров и комплектующих на территории России только в том случае, если к железу будут прилагаться качественные драйверы под нашу ОС, и они появятся.

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

Стоимость и время создания

В целом западноориентированное по понятным причинам программистское сообщество почему-то считает, что написание собственной ОС и экосистемы ПО с нуля — неподъёмный для России проект. Возможно, они просто не хотят выходить из привычной зоны комфорта, а может банально действуют в мейнстриме оппозиционных настроений, ибо расчёты, пусть и сильно приблизительные, говорят об обратном.

Чтобы определиться со стоимостью и сроками, давайте ради интереса посчитаем, сколько бы нам стоило написание кода, аналогичного коду Windows 10, с нуля, со всем её ворохом конкурирующих экспериментальных технологий сомнительной эффективности и нужности, частично устаревших, но сохранённых для совместимости.

Очень грубым параметром приблизительной оценки трудоёмкости написания ПО является количество строк кода (SLOC — Source Lines of Code). В зависимости от методики подсчёта используются либо физические, либо логические строки. Какие именно используются при подсчёте строк в исходниках Windows 10 для обнародования результатов, я не знаю, но этот параметр по оценкам одного из разработчиков Windows (Кена Грегга) равен 55 MLOC, то есть, 55 миллионов строк. Что-то мне подсказывает, что это именно физические строки с 25% пустых строк, как и положено по такой методике подсчёта. Если хотят поразить объёмом, выбирают методику, дающую максимальный результат 🙂

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

Трудоёмкость: 3 × 55000^1,12 ≈ 600000 человеко-месяцев.

То есть, чтобы написать операционную систему Windows 10 за 10 лет, нам потребуется 5 000 программистов (ранее я говорил на глаз, что 3 000, так что порядок тот же). Медианная зарплата программиста в России чуть больше 100 000 рублей. Считаем, сколько потратим на программистов:

100000 × 12 × 5000 = 6 миллиардов рублей в год. Удивительно, но примерно столько стоит один пассажирский самолёт типа Боинга или Эирбаса.

Итого 60 миллиардов за 10 лет (или 10 самолётов). Прибавим сюда административный персонал, будет, пусть даже, 20 самолётов, и что? Кроме того, деньги останутся в Российской экономике.

Ещё раз напоминаю, что это очень грубая оценка стоимости, чтобы вообще понять примерный порядок цен. Отклонения могут быть даже кратными, но не на порядки. Причём, отклонения возможны в обе стороны. Методика подсчёта разрабатывалась для западных компаний, с их размеренным темпом работ. У нас же своя специфика — способность как к раздолбайству, так и к мобилизации. Поэтому для правильного отклонения условный «Берия» проекту необходим.

Ещё, для сравнения, чтобы было понимание, стоимость космодрома Восточный на текущий момент — около 100 миллиардов, стоимость трассы Адлер — Красная Поляна, построенной к олимпиаде в Сочи, почти в три раза больше. Да и вообще в России куча уже реализованных и реализуемых сегодня проектов, стоимостью существенно выше расчётной стоимости разработки своей ОС.

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

Исходя из всего вышесказанного, написание новой операционной системы не является чем-то неподъёмным и сверхестественным, как об этом пытаются донести нам «специалисты», которые где-то услышали подобное красивое своей авторитетностью мнение от человека якобы «в теме», и с важным видом теперь пересказывают его от своего имени, чтобы другие думали, что они тоже в теме. «Да вы просто не в теме, не представляете, сколько там драйверов, служб, кода…» — мы то как раз представляем, а вы, как выясняется, нет 🙂

Стоимость создания базового набора ПО

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

Офисный пакет: Word, Excel, Access

Графика: Photoshop (10 MLOC), Autocad

Бухгалтерия: 1С (3 MLOC)

Visual Studio

Гипервизор

Очевидно, что весь базовый пакет программ, скорее всего, сравним по количеству кода, с самой операционной системой. То есть, третий и четвёртый условный «Боинг» в год. В масштабах страны как-то даже несерьёзно.

Единственно, что придётся начинать писать код приложений с некоторой задержкой по времени, хотя зная приблизительную архитектуру системы, можно начать писать и отлаживать платформенно-независимые участки параллельно с разработкой системы. При этом можно в значительно большей степени, чем в Windows, унифицировать код с приложениями. Например, не плодить различные движки баы данных, а использовать, для начала, один движок и для файловой системы, и для аналога Access, и для других прикладных программ. То есть, сделать его универсальным и доступным через API, а специализированные движки можно будет писать и добавлять потом, по мере необходимости.

Также нам поможет поэтапность создания операционной системы. Понятно, что 10 лет разработки — это не до первой версии, а до уровня текущей версии операционной системы Windows (или чуть выше, поскольку, естественно, придётся догонять). Но в процессе разработки первую версию отечественной системы можно вполне запустить уже через 3-4 года, а начать реальную отладку прикладных программ под неё и на год раньше.

Заключение

В общем, пора начинать проект создания отечественной IT-отрасли, поставив, для начала, задачу создать с нуля новую ОС на базе новой современной архитектуры и пакета основного ПО для неё.

Кстати, попытки писать свою ось с нуля предпринимаются даже отдельными ООО. Например, вот скриншот QP ОС, которую пишет ООО «научно-техническое предприятие «Криптософт»:

Пора создавать отечественную операционную систему как флагман новой IT-отрасли России

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

zen.yandex.ru

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *