Есть такая общая закономерность.
1. Сначала делают. Получается вроде бы быстро и, кажется, эффективно. Оно распространяется в массах. Когда массы начинают использовать, выясняется, что много чего не было продумано.
2. Думают, как можно обойти недодумки. Пока ещё система не особо распространилась, и
нет стороннего софта, можно исправить хирургически. Иправляют. На этом щастье заканчивается.
3. Появился сторонний софт. Если править хирургически, то весь софт перестанет работать. Тогда начинают решать проблемы методом добавления новых (расширенных) интерфейсов (первая стадия слоновости, - появление функций с суффиксами _ex). Вскоре выясняется, что добавлением интерфейсов решается далеко не всё и надо изменять поведение старых функций.
4. Для сохранения старой функциональности начинают плодить библиотеки. Например, появляются разные, несовместимые друг с другом версии каркаса MFC, фреймворки .NetFX и прочие библиотеки. Система за короткий промежуток времени вырастает в размере в разы, эффективность работы падает. По ходу дела выясняется, что системе присущи фундаментальные недостатки, которые являются следствием изначальной непродуманности и без крови от них избавиться не получится. Так, например, в семействе Windows изначально не был заложен механизм разделения пользователей.
5. Разработчики хватаются за голову и начинают наперебой клепать альтернативные библиотеки с "упрощённой функциональностью", инкапсуляцией мутных функций ОС в "простые и понятные вызовы" и каждый разработчик при этом имеет свою библиотеку привычных функций. Система с установленным софтом за короткий промежуток времени вырастает в размере в десятки раз. Т.к. никто не знает, как решить фундаментальные проблемы, начинает серьёзно страдать безопасность (попробуйте поработать в агрессивной среде без антивируса) и производительность (поживите с работающим антивирусом).
6. Разработчики софта сталкиваются с конфликтом версий их же собственных библиотек из разных софтин и версий софта. Начинается
DLL Hell.
7. В попытке упорядочить этот бардак ОС навязывает новые "унифицированные" интерфейсы (например, COM) и механизмы (реестр). ОС становится ещё более неповоротливой и нормально живёт только до тех пор, пока её не загадили регулярной эксплуатацией пользователи.
8. Пользователи начинают бежать с этой ОС и искать альтернативные пути.
Неужели ты думаешь, что твоя ОС самая продуманная? Как ты собираешься с такими соглашениями о вызовах портировать компиляторы с языков высокого уровня? Я понимаю, что ОС написана на FASM, но ты же не можешь нагнуть всех пользователей и разработчиков на FASM.