Yoda писал(а):
Freeman писал(а):
Не бессмысленно, а рано. Нужно написать все остальное, и уже под него -- ядро
Не, вот с этим я точно не могу согласиться.
Совершенно согласен. Кроме того, если не пытаться впихнуть в ядро всё подряд, то потребный от него функционал оказывается сравнительно прост и хорошо изучен -- ядра осей уже больше полувека создают. Пока нет принципиальных изменений в железе, его принципах работы и т.д., нет никаких причин вносить принципиальные изменения в собственно ядро. Всё же остальное можно "оформить" прослойками более высокого уровня, если это окажется необходимым.
Цитата:
Freeman писал(а):
Попытка делать малую ОС на массовом оборудовании -- либо хобби, либо подмена понятий, особенно если автор провозглашает "вендекапец".
Вообще говоря, браться за разработку с мыслью "кому-то-капец" - изначально неправильное целеполагание. Правильное целеполагание - это когда ты делаешь то, в чём есть насущная потребность.
И делаешь это хорошо. А если в результате кому-то настанет капец -- это уже побочный эффект. Вообще, цели всегда должны быть позитивными (что-то создать), а не негативными (что-то уничтожить).
Цитата:
Freeman писал(а):
Примеры других ОС на x86 -- Netware, BeOS, OS/2 и прочих оставляю в качестве домашнего задания.
Это очень интересные примеры. Особенно Novell Netware. Это была хорошая ОС, очень востребованная, написанная с нуля, и, полагаю, разработка также началась в первую очередь с ядра. Другое дело, что она устарела и поэтому сошла с рынка. Но многие её концепции до сих пор меня восторгают и я с сожалением вздыхаю, что сейчас этого нет.
Думаю, что сошла из-за ошибок фирмы, а не из-за устарелости как таковой...
Цитата:
Himik писал(а):
Наверно это и правильно, и наверно универсальной ОС не бывает. Даже Windows выходит в десяти вариантах.
Это не из-за неуниверсальности. Это чисто коммерческий приём
Тем не менее, с универсальностью определённые проблемы всё равно есть. В частности, если система разрабатывается не как ОСРВ, то для задач реального времени она не подойдёт, какой бы удачной она ни была в других классах. Ну а чтобы она удовлетворяла требованиям обработки в РВ (помимо само собой разумеющейся надёжности, они сводятся фактически к гарантированно понятному поведению, в частности, к обеспечению гарантированной скорости реакции на внешние события на любом заранее заданном программно-аппаратном комплексе), её изначально надо писать с прицелом на такое использование. Вообще, несколько лет назад я как-то высказал мысль, что хорошая ОСРВ может быть превращена в хорошую настольную, мобильную, серверную и т.д. ОС, но обратно -- никогда.
Цитата:
Himik писал(а):
К сожалению С/С++ культовым скорее всего не станет, потому что он занимает промежуточную позицию между низко в высокоуровневыми ЯП.
"С" был культовым языком на протяжении длительного времени. Другое дело, что он совершенно устарел. "С++" тоже был, но не долго. Проблема С++ в том, что он не смог преодолеть недостатков С.
Причём устарел ещё до своего создания -- уже на тот момент была ясна необходимость в надёжном инструменте, а не абы каком. Ну а все позднейшие попытки получить что-то путное, не отходя полностью от его синтаксиса, заранее обречены на провал, поскольку синтаксис Си порочен в самой своей основе. Можно устранить отдельные недостатки (ввести намного более строгую проверку типов, добавить поддержку модульности и т.д.), но нельзя сделать по-настоящему читабельный язык, не отказавшись от какой-бы то ни было "совместимости" полностью.
Кстати, "культовыми" (ну и просто популярными) вещами крайне редко становятся вещи, действительно того заслуживающие. Дело, надо полагать, в психологии, "стадном инстинкте" -- стоит набраться некоей критической массе, как основное большинство людей кидаются в соответствующую сторону независимо от того, насколько это правильно.