1

Тема: ☭ Требования к национальной ОС

Это черновик документа из внутренней постановки "Канторовых систем", который после доработки должен занять свое место в правой колонке блога, в разделе "Постановка задачи".

Национальная ОС
  1. Двоично несовместима с другими платформами.

  2. Предназначена для многопроцессорных/многоядерных рабочих станций с несколькими мониторами.

  3. ОС общего назначения — не встраиваемая, не реального времени, не для специального оборудования и пр.

  4. Сама себя собирает. Нужно для пунктов 1 и 6.

  5. Имеет публичный API ко всем системным и прикладным компонентам. Нужно для пунктов 1, 4 и 6.

  6. Имеет свой браузер, собираемый инструментами из пункта 4 с использованием API из пункта 5.

  7. Имеет русскую локализацию и русскую документацию для пунктов 1, 4, 5 и 6.

  8. Имеет экспортный потенциал.

Все пункты опциональны и дополняют друг друга (инклюзивны). Зависимые требования проверяют друг друга, остальные проверяются совестью разработчиков и доверием пользователей. Реализация каждого нового пункта делает платформу всё более самостоятельной, реализация всех — делает Россию независимой ИТ-державой.

Двоичная несовместимость

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

Многоядерная рабочая станция с несколькими мониторами

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

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

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

ОС общего назначения

Уточняет предыдущий пункт,  отсекая заведомо специальные ниши как на основе традиционных встраиваемых систем, так и рабочие станции на базе  специального оборудования, вроде выпускавшихся раньше SGI или ЭВМ на "Эльбрусе".

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

Возможно, тут стоит добавить про переносимость, но я не уверен. Рабочих станций на ARM пока нет. У некоторых переносимость вызывает недержание или превращается в фетиш.

Сама себя собирает

В промышленности это называют производством полного цикла. Его противоположность — крупноузловая  промышленная сборка. Градации между ними — степени локализации производства. Те же критерии применимы и к  производству ПО.

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

Публичный API

Наличие публичного API исключает недокументированные возможности и зависимость от одного поставщика, а также отсекает закрытые военные и прочие специальные ОС.

Для любительских ОС и проектов на ранних стадиях развития  — публичный API — минимально необходимый критерий, позволяющий причислить разработку к классу операционных  систем.

Браузер

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

Выбор именно браузера обусловлен еще и тем, что, в  отличие от офисных пакетов, каждый из которых имеет свой формат документов, работа браузера описывается открытыми  стандартами, которым (в теории) следуют все разработчики браузеров.

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

Русская локализация и документация

Определяет национальную принадлежность ОС и не вызывает  сомнений в своей разумности. Любые другие требования кому-то могут показаться жесткими, кому-то — абсурдными, что  приведет к ненужным спорам и разделению на враждующие лагеря.

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

Экспортный потенциал

Этот пункт поднимает значимость собственных разработок по сравнению с заимствованными. Глупо рассчитывать, что заимствованные с Запада и локализованные в России решения удастся продвинуть обратно на Запад как российские. Тут либо процент локализации должен быть настолько большим, а доработки настолько уникальными, чтобы не вызывать сомнений, либо же это сразу должна быть чисто местная разработка, с нуля.

Добавлено 03.07.2015 в 0:26

Какие требования не будут включены в список
  • Каждая программа по умолчанию имеет доступ только к своему каталогу, к своей песочнице. Заражённая вирусом программа удаляется вместе со своей песочницей и, следовательно, вирусами. Программу можно восстановить из её персональной резервной копии, которая создаётся  в момент инсталляции.

  • Исполняемые (и интерпретируемые тоже) файлы не могут храниться в произвольном месте.

  • Пользователь имеет список программ, которые он имеет право запустить. Всё остальное – под запретом. Права назначает администратор при инсталляции: «Выберите пользователей из списка, имеющих право её запускать».

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

Добавлено 08.07.2015 в 18:19

Отклики из чата "Колибри", где я давал ссылку:

XProger пишет:

пункт про экспортный потенциал очень сомнительный, т.к. в списке нет сравнения с существующими системами. Про браузер тоже очень сомнительно, т.к. W3C меняет стандарты как перчатки и область веб-софта в России отсутствует впринципе, а рассчитывать что использование google docs сделает национальную ОС независимой как-то опрометчиво.

пункт про песочницу понравился, он правильный и в iOS/Android всё устроено также, только в случае второго пользователь бездумно может права приложениям назначать (да и впринципе вся система раздачи прав самим пользователем ущербна и излишня)

kiv пишет:

требования норм, а кто их реализовывать будет?

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

Добавлено 13.01.2016 в 11:51

На каком-то из форумов или даже на Хабре была фраза: "Браузеры сейчас — как ОС". Теперь время от времени наталкиваюсь на нее. Мысль пошла по Рунету. Думаю, уже можно использовать как аргумент.

Радует, что моя аналитика в который раз оказалась верной.

2

Re: ☭ Требования к национальной ОС

По поводу п.6 Мелкософт вроде проиграл как-то суд из-за прямых поставок Ослика в своих Осях в Европе. Типа навязывание не нужной юзеру услуги, безальтернативность. Так что тут вопрос требует проработки. Ну или хотя бы 2-х браузеров smile или какого-то юридического бумагомарательства, типа при установке ставить опционально и т.д.

3

Re: ☭ Требования к национальной ОС

utkin295 пишет:

По поводу п.6 Мелкософт вроде проиграл как-то суд из-за прямых поставок Ослика в своих Осях в Европе.

Microsoft является монополистом на рынке настольных ОС. Нашей ОС сначала надо стать монополистом, а потом уже можно бояться подобных исков.

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

4

Re: ☭ Требования к национальной ОС

От принятых судебных решений Мелкософт немного похудел. На несколько миллионов евро. Я вот к этому, а не к ослику веду. Насчет монополизма - может сразу избегать подводных камней, чем надеяться на русский авось?

5

Re: ☭ Требования к национальной ОС

Технические решения Microsoft верны. Браузер -- это функция ОС. Исходя из этого, браузер должен быть абстрагирован и документирован так же, как и другие функции и компоненты ОС. У Microsoft браузер абстрагирован (COM) и документирован (интерфейсы IE в MSDN). Другие производители ПО не стали следовать принятым в Microsoft стандартам, поскольку обладают равноценными технологиями. Поэтому системный браузер в Windows один, а остальные идут как довески-программы.

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

6 (изменено: atzx, 15.08.2016 в 02:20)

Re: ☭ Требования к национальной ОС

Если что то меняется желательно делать аннотацию изменений (diff), так как нет смысла перечитывать одно и тоже несколько раз (это я к посту в твитере).

7

Re: ☭ Требования к национальной ОС

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

8

Re: ☭ Требования к национальной ОС

Перекрестная ссылка на тему в группе и новость на форуме с подшитыми к ней видео обсуждения (раз, два).

9

Re: ☭ Требования к национальной ОС

Про (не)важность браузера в статье «Chrome победил» на Хабре:

Изначальной миссией Mozilla было создание веба путём создания браузера. Мобильный рынок основательно подорвал эту миссию. На мобильных устройствах браузер не настолько важен и нужен, а тем более сторонний мобильный браузер. На мобильных устройствах браузер — это функция приложений Facebook и Twitter, а не продукт. Для влияния на веб через мобильные устройства Mozilla должна была выстроить весь стек с вебом в своём ядре.

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

10 (изменено: Freeman, 09.12.2018 в 10:54)

Re: ☭ Требования к национальной ОС

После новости об отказе Microsoft от Edge можно констатировать, что с браузером мы угадали (анализ оказался верным — ежели по-умному). Русский браузер должен быть таким, чтобы ради него Microsoft отказалась от своего.

За это время уже сложилось, что требования к национальной ОС можно свести к 3 пунктам:

  • Двоично несовместимая — ради лидерства.

  • Со своим стеком технологий — ради независимости.

  • С браузером — ради пользователей.

Инновационность, импортозамещение, экспортная пригодность и всё остальное логично вырастает из перечисленного.