1

Тема: Почему нельзя создать передовую ОС, реализуя концепции POSIX?

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

Поскольку POSIX не обладает новизной, POSIX-совместимая ОС может рассчитывать только на самобытность. Но и тут ей придется несладко. За долгие годы в экосистеме POSIX было создано несметное число самобытностей -- sh/ksh/bash/tsh, CDE/Motif/KDE/Gnome и пр. Разработчику очередной POSIX-ОС волей-неволей придется с ними конкурировать, чтобы вытоптать себе поляну. Для одиночки без финансирования эта задача выглядит невыполнимой.

Поэтому разработка POSIX-совместимой ОС не имеет никаких перспектив -- ни в рамках новизны, ни в рамках самобытности.

2

Re: Почему нельзя создать передовую ОС, реализуя концепции POSIX?

Поэтому разработка POSIX-совместимой ОС не имеет никаких перспектив -- ни в рамках новизны, ни в рамках самобытности.

Если какая-то система придерживается каких-то стандартов, это не повод объявлять ей неуникальной, лишённой новизны. Для полной уникальности нужна уникальность во всём, но вряд ли это возможно в отраслях, имеющих историю, а не возникших с нуля.
Если какая-то процессорная архитектура придерживается стандарта, в котором минимально адресуемой единицей является байт с 8 битами, это не повод объявлять её неуникальной. «Пусть у вас в байте будет 9 бит – вот это уникально».
«Ваша ОС многозадачна?» «Да.» «Она неуникальна!»
«В вашей ОС есть виртуальная память?» «Да.» «Она неуникальна!»
«Ваша ОС использует кодировку utf-8?» «Да.» «Она неуникальна!»
То же самое и с POSIX.
Мне кажется, разговор о новизне и самобытности несколько схоластичен. Конечно, для защиты диссертации новизна – необходимое условие. Но в жизни больше востребованы не критерии новизны и самобытности, а критерии полезности и применимости. Зачастую поддержка старых стандартов препятствует новизне, которая вступает в конфликт с применимостью. Поддержка POSIX или WinAPI не препятствует появлению новизны в каких-то других аспектах, но повышает полезность и применимость.

3

Re: Почему нельзя создать передовую ОС, реализуя концепции POSIX?

Всё ждал, что в этой теме ответит кто-то еще, но так и не дождался. Что же, придется самому.

Юрий пишет:

Если какая-то система придерживается каких-то стандартов, это не повод объявлять ей неуникальной, лишённой новизны. Для полной уникальности нужна уникальность во всём, но вряд ли это возможно в отраслях, имеющих историю, а не возникших с нуля.

"POSIX-совместимая ОС" в контексте темы -- эвфемизм любительского проекта, питающего иллюзии относительно своей полезности. Такой проект обычно подразумевает реализацию ядра по учебнику Танненбаума и базовой подсистемы POSIX (fork/exec/ioctl, что еще там?), чтобы получить возможность компилировать под себя готовый код, написанный под POSIX/UNIX. Такая ОС может иметь какие-то мелкие нововведения, которые можно считать самобытностью, но они обычно заметны лишь автору, а для стороннего наблюдателя тонут в море других самобытностей, созданных за время существования учебника Танненбаума.

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

Юрий пишет:

Поддержка POSIX или WinAPI не препятствует появлению новизны в каких-то других аспектах, но повышает полезность и применимость.

Декларируемая поддержка POSIX или WinAPI в 99,99% случаев является спекуляцией или обманом. Вы знаете это не хуже меня. Единичные исключения только подтвержают правило.

Для развития темы полезно привести примеры самобытности и новизны в языках программирования. Попробуйте кто-нибудь. Мне нужно понять, удалось раскрыть тему самобытности и новизны или нет.

4

Re: Почему нельзя создать передовую ОС, реализуя концепции POSIX?

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

Яр пишет:

проще взять фау-2 разобраться что да как и строить сатану чем бросать дротики мечтая что приснишь как построить баллистическую ракету.

5

Re: Почему нельзя создать передовую ОС, реализуя концепции POSIX?

Для доказательства бесполезности POSIX через дротики и ракеты нужно непредвзято применить логику к обоим технологиям (Фау-2 и POSIX), чтобы понять, какое копирование оправдано, а какое нет.

Итак, переносимся в 1945 год. Война только закочилась, СССР и союзниками захвачены чертежи Фау-2, готовые ракеты и специалисты, работавшие над проектом. Как оценивать трофеи?

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

Возвращаемся в 2017 год и смотрим на POSIX. Первые спецификации POSIX принимались с 1993 по 1999 год. В 2001 году они были объединены в единый стандарт и слиты со спецификациями Single UNIX Specification. После этого принимались расширения и уточнения, вместе с которыми POSIX считается актуальной и поныне. Стало быть, в зависимости от аганжированности, рождением POSIX можно считать 1993 или 2001 годы, а в 2017-м возраст POSIX — 21 год или 16 лет. Много это или мало? Является ли POSIX передовой технологией?

Сравним с ракетной отраслью 1945 года. Во время войны был скачкообразный рост ракетных технологий. В наше время ИТ-отрасль росла тоже немаленькими темпами, так что должно быть соизмеримо. Так и быть, берем минимальную цифру, 1945 - 16 = 1929. С чем сравнить?

Важной вехой развития ракетной техники в СССР стало создание легендарной ГИРД — группы изучения реактивного движения c Королевым и Цандером. Но... ГИРД была создана только в 1931 году! Стало быть, копируя POSIX, мы не просто не работаем с Фау-2, а у нас даже ГИРД еще нет! О каких передовых технологиях речь?!

Рассуждая от противного, чтобы получить Фау-2 в ИТ, нужно взять ОС/технологию возрастом 3-5 лет, причем это должен быть как минимум действующий прототип, доказавший свою применимость на реальных задачах, как было с суборбитальным полетом Фау-2. К сожалению, сейчас подобной технологии не наблюдается. По всей видимости, темп развития снизился. Ближайшей к нам по времени является ОС и технология Android, вышедшая в 2008 году, 9 лет назад. Ее исходники открыты, их можно копировать и заимствовать. Однако, для соответствия уровню Фау-2 простого копирования недостаточно, наша технология должна превосходить ее.

Если считать Android разновидностью ОС с объектами и предтечей полноценной объектно-ориентированной ОС, получается, что «Канторовы системы», разрабатывающие теорию объектно-ориентированной ОС, объясняющую в том числе и Android, стоят намного ближе к Фау-2, нежели поклонники POSIX. То есть, всё с точностью до наоборот: кидать дротики — копировать POSIX, а заниматься объектно-ориентированной ОС — запускать Фау-2.

Эта логика настолько тривиальна, что сложилась в голове в момент прочтения «совета». Отписаться сразу посчитал неинтересным, вот и решил сделать из нее задачку по анализу. Жалко, что никто так и не справился.