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