Новая ветка ядра

Kernel architecture questions
  • Мне кажется, что Колибри ОС - это прежде всего открытый проект. А фразы "открытый проект" и "получая взамен в реальной жизни", на мой взгляд, несколько не совместимы.

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

    Но от участия в проекте нового ядра/ОС я бы не отказался.
  • Mario

    AT&T действительно ужасен. .intel_syntax помогает, но иногда с ним возникали сложности при компиляции.

    Если под "Зачем?" подразумевается PROFIT то самообразование т.е. инвестиции в себя очень хороший вариант.
  • Вообщем-то. Обсуждение, которое не относится к самой проектировке, по-моему:
    1. Разрядность кода.
    Так или иначе, но постепенно 32 битные процессоры уходят с арены. Это уже сейчас заметно, и это не прихоть - это уже почти веление времени. И дело не только в том, что сама по себе технология лучше, интереснее, и т.д. 32 битный режим, как можно помнить позволяет адресовать до 4 Гб памяти (с помощью PAE расширяется до 64 ГБ - там физический адрес 36 бит вместо 32, но ценой приличных извратов). А учитывая темпы развития техники (не ПО, а техники), этого мало.
    2. Проектирование.
    Ну, во первых, у меня есть мысль, что начинать проектирование нужно с API, только в широком смысле -- не просто описать набор функций, а описать достаточно подробно, что они делают, как связаны между собой и т.п. В частности, надо расписать управление памятью и процессами (как процессы могут разделять память друг с другом и т.п.). Это позволит сформировать четкую систему ввода/вывода. Кроме того, есть предложение - реализовывать это все на псевдоязыке или Pascal/Ada изначально, а только потом переносить на ассемблер. Для того, что бы отловить глюки логики работы, алгоритмов, неправильной проектировки.
    Кроме того, я не знаю, насчет формата проектирования и обсуждения - подойдет ли для этих целей форум? Потому что, если да - куда это все запихнуть, если учесть, что микротемы теряются в ходе обсуждения? Выделять для каждой микротемы (Зачем, разрядность и т.д.) свою тему?
    3. Прочие вопросы - инструменты, лицензии, и т.д.
    Ну это потом уже.

    А также, о проектах и вообще кстати Фредерик П.Брукс. Мифический человеко-месяц или как создаются программные системы
  • maximYCH
    При этом нельзя исключать возможность, что с появлением тех или иных наработок для данной системы, ориентация может свернуть в другое русло, к примеру, серверное или десктопное".
    Мне вот интересно - это как гадание на кофейной гуще?
    однако каждый, кто участвует в разработке несет некоторую долю ответственности за свое поведение в проекте, за код и его качество, которое он внес и т.д. Естественно, по факту ответственности нет - однако, если человек матерится на IRC или пишет некачественный наразборчивый код и орет "А чего это тут не так?", то естественно, такого отношения быть не должно. Должны быть какие-то рамки. Ведь этот проект, считайте, пишется _действительно_ для самообучения - ну тогда извольте и учиться жить в программерском коллективе.
    От людей можно что-либо требовать лишь поставив их в зависимость - например ЗП, наличие определенных привилегий, можно еще к затылку приставить пистолет, т.е. угрозой расправы, других способов человечество не придумало.

    tsdima
    А фразы "открытый проект" и "получая взамен в реальной жизни", на мой взгляд, несколько не совместимы.
    Здрасте! А все объяснения что free вообще то свобода, а не бесплатно - в топку?
    Не скрою, мысли о написании ОС с нуля на основе имеющейся в исходниках информации посещала и меня, но я ясно себе представляю, что в одиночку я с этим не справлюсь.
    Каждый из нас ярый индивидуалист и нет цементирующих факторов. Цементирующим фактором была-бы коммерческая выгода, но при таком подходе (полное отрицание), конечно все будет бесполезным.

    Serge
    Про AT&T - это наверное все-таки к Андрею?
    PROFIT то самообразование т.е. инвестиции в себя очень хороший вариант.
    Я все это понимаю, но участие в проекте обеспечивает только базовый уровень. Итого имеем человек придя в проект немного поковырявшись получил базовый уровень, устроился на работу - а там с него требуют этот базовый уровень и плюсом нечто совершенно отличающееся, в результате человек уже проектом не занимается. И так повторяется много, много, много раз. Дальше в проекте остаются в лучшем случае единицы - нету стимула продолжать работу. При наличии поддержки люди могли бы заниматься исключительно проектом и с них можно было бы что-либо спрашивать. Не было бы ситуации когда человек работает, что-то ломает, а потом сматывает удочки и через полгода все начинают орать что не работает. Епть - ответственность хоть какая-то была бы. А так как был бардак, так и останется.

    З.Ы. Ребята вы можете сколько угодно проектировать и писать код, но поезд далеко не уедет пока не будут определена целевая ниша. Ладно походу я опять без всякой пользы ввязываюсь в малополезную (по крайней мере для меня ) дискуссию. Делайте как знаете, но я в таком проекте участвовать не буду.
    Last edited by Mario on Tue Jan 26, 2010 4:11 pm, edited 1 time in total.
  • Mario, ну так предлагай. Я пока не вижу ничего кроме того, что я высказал про самообразование (тогда и целевая ниша автоматом).
  • Ну, да это ведь это я очередной раз начал тему: как все плохо и надо все менять и разумеется я предлагаю философские камни и панацею в огромных количествах. :twisted:
    Максим ты не обижайся, но ты политик, тебе менеджером по продажам работать - вот там реальные успехи пошли бы.
  • Mario, ну ты не первый, кто так говорит. Но я занимаюсь олимпиадным программированием. Я занимаюсь web разработками. Я занимаюсь изучением теории ОСестроения. Но _реализация таких вещей_ - да, в этом я откровенно слаб.
    Собственно, почти все в этой теме высказались про "как все плохо и надо все менять и разумеется я предлагаю философские камни и панацею в огромных количествах", только в разных объемах и в разных областях.
  • Mario wrote:Делайте как знаете, но я в таком проекте участвовать не буду.
    Ну и какой тогда был смысл отвечать в этой теме?

    Пора переименовывать тему в "Споры о целесообразности нового ядра" и поместить её в "Разное".
  • tsdima wrote: Ну и какой тогда был смысл отвечать в этой теме?
    Рассчитывал на добавление и этой задачки в общую диспозицию. Но к сожалению до некоторых вещей надо доходить самому. Раньше я тоже не принимал в расчет такие факторы и это было ошибкой.
  • Размышления на тему,"KolibriOS и коммерция"....

    Необходимо решить задачи.
    1)Какие сегменты рынка должна занимать операционная система.
    2)За счёт чего инвестировать разработку и получать прибыль.
    а)Имеется некая компания OAO "Kolibri systems", которая продвигает операционную систему. Прибыль идёт от адаптации системы под конкретного клиента, разработку драйверов и софта для конкретного клиента.
    б)Система абсолютно открыта и доступна всем. Заинтересовываем крупные компании в инвестиции в систему с целью адаптации системы под конкретное оборудование этой компании. В результате компания продаёт оборудование с этой системой и не платит денег за лицензию.
    3)Разработать саму систему, инструменты для разработки по неё, софт. Если не будет софта, демонстрирующего конкурентоспособность, нечего вообще говорить о какой-либо прибыли, финансировании.

    А теперь насколько это всё реально... Продвигать почти никому не известную систему, когда уже имеется Linux, QNX - это мягко говоря, трудно. windows я не рассматриваю, потому что у KolibriOS на десктопе без поддержки производителей железа шансов конкурировать с windows - нет. Пока не будет реально работающей системы, имеющей достаточную известность в определённых кругах, практически никто не будет вкладывать деньги в систему(за редким исключением).
    KolibriOS-перспективная ос!
    Kolibri is best operation system in the world!
  • andrew_programmer wrote:1)Какие сегменты рынка должна занимать операционная система.
    Там, где существующие системы не подходят. На данный момент у Колибри лишь одно преимущество - она компактная и не требовательная к ресурсам. На ум приходит пока два варианта:
    - старые компьютеры, к сожалению таких всё меньше и меньше ввиду ограниченного их ресурса
    - бездисковые станции, терминалы
    andrew_programmer wrote:2)За счёт чего инвестировать разработку и получать прибыль.
    а)Имеется некая компания OAO "Kolibri systems", которая продвигает операционную систему. Прибыль идёт от адаптации системы под конкретного клиента, разработку драйверов и софта для конкретного клиента.
    Маловероятно. Конкретному клиенту нужны конкретные преимущества над существующими ОС, а этих преимуществ пока мало.
    andrew_programmer wrote:б)Система абсолютно открыта и доступна всем. Заинтересовываем крупные компании в инвестиции в систему с целью адаптации системы под конкретное оборудование этой компании. В результате компания продаёт оборудование с этой системой и не платит денег за лицензию.
    Не реально.
    andrew_programmer wrote:3)Разработать саму систему, инструменты для разработки по неё, софт. Если не будет софта, демонстрирующего конкурентоспособность, нечего вообще говорить о какой-либо прибыли, финансировании.
    Вот это и есть наша реальность. На данный момент.
  • Размышления на тему,"KolibriOS и коммерция"....
    При такой постановке задачи, необходимо будет отказаться от ассемблера, как основного инструмента разработки.

    Основные критерии:
    1) Портируемость под различные архитектуры.
    2) Масштабируемость.
    3) Гибридность.

    Для десктоп систем уровень софта не тот. Возможно применение для встраиваемых систем или для узко специализированных серверов или АРМ(автоматизированное рабочее место).

    В качестве аргумента против существующих систем должны выступать качества такие как:
    1) Скорость выполнения.
    2) Real-time (или мягкий режим) опционально.
    3) Компактность.
    4) Максимальное использование возможностей железа.
    5) Стабильность.

    P.S.
    ИМХО, я не претендую на правильность суждения.
  • SII (22:01:23 26/01/2010)
    "нишу" обсуждать есть смысл разве что применительно к тому, на что ось должна быть способна. Понятное дело, что в десктопах винду не сдвинешь, в серверах -- линух и солярис, во встраиваемых решениях -- ВинЦЕ, КНХ, ЛынхОС... т.е. бессмысленно ставить себе задачу потеснить кого-то из существующих, надо лишь определить, на что ось должна быть способна технически
  • <Lrz>

    Лучше всего этим критериям отвечает микроядро.

    Пишется набор сервисов - подсистем и каждый может конфигурировать систему по своему вкусу.
    Для десктопа нужна POSIX подсистема и Х сервер. Тогда там сможет работать весь gnu софт и Gnome.
    Для особо талантливых POSIX + X + Wine.
    Для встроенных систем posix + rt расширения.
    И для любителей идти своим путём есть native api ядра и самописные оконные менеджеры и файловые системы.
  • Who is online

    Users browsing this forum: No registered users and 3 guests