Дайджест KolibriOS #6: последняя осень

    Мы рады представить вам новый выпуск дайджеста изменений, сделанных в KolibriOS. По нескольким причинам, было решено делать не ежемесячный, а ежеквартальный дайджест. Именно поэтому он так долго не выходил. Но сейчас ноябрь, конец осени, а значит, пришло время поделиться новостями. Если интересно, добро пожаловать под кат.

    Также вынуждены не без сожаления сказать, что этот дайджест может оказаться последней публикацией в нашем блоге. Действие подписки нашего блога заканчивается завтра, и пока нам его не продлили. Так что его дальнейшая судьба пока неизвестна.


    Обозначения
    — реализация новой программы, драйвера или библиотеки
    — реализация чего-либо в рамках GSoC
    — ссылка на загрузку


    Общесистемные изменения:


    • Слияние ветки kolibri-process с «транком» (основной веткой). В рамках ветки kolibri-process разрабатывалась новая модель процессов и потоков, более схожая с моделью больших ОС.
    • Конвертация всех драйверов в формат PE. Формат PE позволяет упростить загрузку драйверов и подключение библиотек в Колибри, по сравнению с форматом COFF, используемым ранее. После успешной конвертации, была удалена поддержка драйверов в COFF формате.
    • Обновление драйверов для видеокарт Intel и ATI
    • exif.obj: библиотека для извлечения данных EXIF из изображений;
    • Поддержка всех IDE — контроллеров (ранее поддерживались только PCI 01018x)
    • Повышена скорость загрузки на некоторых конфигурациях
    • Добавлена поддержка 16bpp видео-режимов (для старых видеокарт и дешёвых встроенных x86-систем, где отсутствует поддержка 24/32bpp — в частности, используется в 86duino с vortex86 VGA)
    • TinyGL: форк на FASM
    • Драйвер COM-мыши: поддержка третьей кнопки;
    • Сетевая подсистема — исправление множества багов (в драйверах сетевых карт, в утилитах)
    • Обновлены SDK для разработки на C/C++: NewLib и MenuetLibC


    Изменения в прикладном ПО:


    • Eolite: копирование выделенных файлов (выделение по Insert).
    • RDsave: исправление ошибок; использование системных цветов.
    • Game Center: переход на использование ini для хранения списка игр.
    • scrshoot: поддержка 16bpp режима.
    • tengine: Самописный движок для создания 2D-игр портирован в Колибри.
      Скрытый текст
      Возможности:
      • готовый мультиплатформенный функционал, в том числе для платформы kolibrios
      • блиттер для рендеринга
      • поддержка многопоточности
      • возможность попиксельной проверки границ игрового объекта сложной формы
      • поддержка тайловой карты, скроллинг
      • поддержка полупрозрачности
      • поддержка смешивания данных изображения с указанным цветом
      • поддержка пропорциональных шрифтов


      Пример работы физики Верле


      Invaders

    Прочее:


    • Перевод системы автосборки на Tup (подробнее здесь). В результате почти все программы и игры из дистрибутива КолибриОС, написанные на ЯВУ, собираются из исходников (включая QUAKE и др.). Инструкция на английском языке находится здесь.

    Напоминаем вам, что вы можете принять участие в новогоднем конкурсе разработчиков игр для КолибриОС.
    KolibriOS Project Team
    68.55
    Быстрая операционная система для бизнеса и хобби
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 80

      +7
      во всем молодцы, но есть пожелания:
      — не перегружайте ядро, иначе теряется смысл делать его на ASM, если оно будет монстром…
      — плохая тенденция с программами и библиотеками некоторыми, которые поставляются у вас без исходников

      А так — молодцы и удачи!
        +4
        Буду очень признателен, если Вы сможете привести конкретные примеры обоих пожеланий (где именно перегружено ядро, какие программы и библиотеки идут без исходников), чтобы мы могли исправить, что можно.
          +1
          ну, во-первых, вывести графику и сеть из ядра(!), к примеру. Кроме того, система сборки сильно усложнена, это же fasm!), и собираться образ должен fasm kernel.asm ))
          Считаю вкорень неправильным включение драйверов да и много другого кода на C — в желании угодить в поддержке всех драйверов видеокарт система сама себя поглотит и превратится в «Kolibri на С ну и кое-то на fasm». Изюминка же как раз в ASM — пусть не будет поддержки каких-то карт, но пусть это будет чистый проет fasm.

          Ну в любом случае, это мое мнение, у вас уже многолетний опыт — и вам виднее, без шуток. Сколько людей — столько мнений.
            0
            У ядра сборка простая, просто тут учитывается создание сборок под разные языки (тот же экран настроек при старте системы, для каждой сборки он на родном языке). А в остальном система сбоки делает образы при коммитах на свн. Драйвера у системы в основном на fasm, на С/С++ написаны только драйвера для ATI и i915.
            и хотелось бы узнать о программах используемых в офф сборках без доступных сорцев? Если кто-то написал программу или игру, и не хочет делится исходным кодом, то это его право, но в офф сборку они не попадут, так как для этого наличие исходных кодов на SVN обязательно.
              +1
              ну на с больше — ac97snd, ktcc к примеру, imgview и т.п. — т.е. идет плавный переход на С, это проги, в самом ядре слава богу пока нету с.
              Но тут главное не это, главное — упор колибри на GUI… а ведь, между тем, наивно пологать на использование ее в реальности для игр\веб-просмотра и т.п., т.к. есть обычные оси для этого. В то же время, упор на не игровой\не GUI движок не делается — большинство разработок под колибри — это игры, вьюверы, и т.п.

              Опять же. на мой скромный взгляд, я бы делал упор на консоль — таким образом можно уменьшить размер ядра со 100Кб (насколько я помню) до 30-40 как минимум — а кому надо — уже вручную смогут запустить оболочку (ну, как в иксах). Зато можно высвободить много человеческих ресурсов для портирования действительно нужных программ на Asm (или хотя б на C под Kolibri) — qemu, sql, компиляторы, perl/php,… вместо разработки очередного Doom\Paint\Calculator.

              А вот чему удивляюсь в вашем проекте — это USB стек, Gmon, lzma и т.п. на asme (ну, кроме собственно ядра, конечно же) — тут молодцы!
                0
                Да, программы на С/С++ есть, но их не так уж и много (между прочим, все просмоторщики картинок нс асме). Насчет конольного режима вместо гуя, Колибри это в первую очередь легкая и быстрая графическая ОС. Пиикладное ПО также важно, я например использую Колибри в повседневности на стареньком IBM ThinkPad 600E, на плечи которого легло много задач в виду поломки основного ноута. И эти «просмоторщики» картинок помогают спасти мою сессию от фейла.
                  +1
                  )) хм… вы бы выложили на хабр или на kolibrios статейку об использовании kolibri на реальном железе — вот это интересно действительно. Я пока даже на ReactOS стремаюсь перейти… а колибри — только в qemu…
                    +1
                    Если проблема с блогом решится положительно, то по возможности подготовю. А LiveCD ReactOS на этом же IBM пользовался, вполне норм работал. Поставить не смог, так как жесткий на этгм ноуте уже не в лучшем состоянии мягко говоря.
                      0
                      В этой статье есть примеры: habrahabr.ru/company/kolibrios/blog/197360
                      Из новых мест применения, Колибри используется здесь: www.wessextech.co.uk (информация взята отсюда)
                    +1
                    можно высвободить много человеческих ресурсов для портирования действительно нужных программ на Asm (или хотя б на C под Kolibri) — qemu… компиляторы...

                    На асме — абсолютно бессмысленно.
                      +7
                      Фанатики, ау. Какой смысл переписывать на асме софт, который разрабатывается на С коллективами куда более мощными, чем коллектив разработчиков колибри? Даже если удастся сделать начальные порты, кто будет заниматься их дальнейшей поддержкой?
                        0
                        Да ладно, я тут летом USB-стек с си на асм под мелкоконтроллер переписал без особых усилий практически. В этом и огромный плюс чистого С. Вот с плюсами (++ которые) затык бы был :)
                          +2
                          я тут летом USB-стек с си на асм под мелкоконтроллер переписал без особых усилий

                          Отлично. Если вас не затруднит, расскажите мне пожалуйста следующие вещи:
                          — сколько было строк исходного кода стека на С и какого размера получался бинарник после компиляции исходников на С?
                          — каким стал объём бинарника после компиляции вашей версии на ассемблере?
                          — всю ли функциональность исходного стека вы портировали?
                          — если нет, можно ли было отредактировать исходный стек с целью уменьшения его функциональности?
                          — отслеживаете ли вы багфиксы исходного стека с целью их портирования в вашу версию?
                            +3
                            Ок. Пришлось посчитать:
                            исходный код на С:
                            20 файлов, 2995 строк с осмысленными комментариями (не считал заголовочные комментарии с копирайтами и прочим)
                            Ассемблер:
                            6 файлов, 2884 строки с осмысленными комментариями.
                            По объему исходники почти вровень идут :)
                            Скомпиленный фирменный стек занимает ~2393 слова памяти.
                            Скомпиленный мой ~1898 слов.
                            Приблизительно, потому что постарался не учитывать нестековый пользовательский код, но могу и ошибиться.
                            По функциональности — передирал строчка в строчку, с целью разобраться как это работает, цели оптимизировать не ставил, посему оптимизировал слегка, где явно напрашивались упрощения. В паре мест смотрел ассемблер после С-компилятора, очень интересные способы оптимизации подглядел ;)
                            Фирменный стек использует 168 байт оперативной памяти, мой — 96 байт :)
                            Насчет багфиксов, т.к передирал функция-в-функцию, то, обнаружив изменения исходных кодов производителя, не составит труда внести изменения в свой код.
                              +2
                              Спасибо.

                              Для сравнения:
                              qemu: 2689 файлов *.h/*.c, 1086080 строк кода, поддерживает 8 хост-архитектур,
                              gcc: 30110 файлов *.h/*.c (а есть ещё *.md, из которых генерируется код), 3945062 строк кода, поддерживает 44 архитектуры.
                                +1
                                Ужас, кросскомпилятор Small C для CP/M под DOS и 3 тысяч сток не имел.
                                +4
                                Насчет багфиксов, т.к передирал функция-в-функцию, то, обнаружив изменения исходных кодов производителя, не составит труда внести изменения в свой код.

                                Можно написать специальную программу, которая поможет это сделать! Ну такую, которой дадим на вход текст на Си, а она выдаст готовый ассемблер! Wait, oh shi…
                                  0
                                  Чую, где-то подвох :)
                            +4
                            Какой смысл переписывать на асме софт, который разрабатывается на С коллективами куда более мощными, чем коллектив разработчиков колибри?

                            Just for fun?
                              –1
                              Just for fun?

                              В чём фан?
                                +1
                                Уж, тяжело ответить. Кому-то нравиться смотреть на закат, кому-то проводить время с друзьями, заниматься спортом, играть на гитаре и т.д. А кто-то «ловит кайф» от переписывания сложных систем с С на asm.
                                  –2
                                  Т.е. вот даже не писать своё, а переписывать чьё-то чужое? Интересно.
                                  А поддерживать это потом — тоже фан?
                                    +1
                                    Звучит как «Ты дурак, что любишь делать роллы с беконом, японцы тебя не поймут. Почему не придумаешь своё целое блюдо с беконом? О ролле же никто не будет знать, а тебе влом делиться рецептом!»
                                      0
                                      Ваша аналогия мне тоже не понятна, хоть я и не японец.
                                        +1
                                        Да все очень просто. Ваши высказывания сводятся к «Как-то дебильно ты используешь свободное время.»
                                        Вам не нравиться — не проводите его так. Вот и все.
                                          –1
                                          Мне кажется, что у вас сломался сводитель одних высказываний к другим.

                                          В начале ветки я высказал своё мнение о смысле портирования qemu и компиляторов (имея в виду gcc) на ассемблер. Высказал, как человек, ковыряющийся и коммитящий и в qemu и в gcc.
                                          В остальной части ветки я только и делаю, что задаю вопросы, не давая никаких оценок тому, как люди проводят своё время. Если у вас эти вопросы ассоциируются с «как-то дебильно ты используешь свободное время», то, возможно, это ваши собственные мысли, которые вы подавили, а теперь пытаетесь спроецировать на меня.

                                          Последняя ваша фраза — это просто безграмотное хамство. Пожалуйста, следите за своим языком: не все готовы закрывать глаза на недостаток воспитания.
                                            +4
                                            На асме — абсолютно бессмысленно.
                                            Я поставил Вам минус за Ваше первое высказывание не потому, что я сам участвую в проекте, и не потому, что считаю Колибри единственной годной осью (я так не считаю), а потому, что Вы безапелляционно решаете за меня, как мне поступать.

                                            Вы не мой отец, не моя жена/девушка, и даже не платите мне деньги за разработку Колибри — какое право Вы имеете говорить мне, что бессмысленно в моей жизни, а что нет? Ваши последующие высказывания в этой ветке в том же ключе.
                                              0
                                              Вы безапелляционно решаете за меня, как мне поступать

                                              Как интересно. Не могли бы вы указать конкретные слова, которыми я «решаю за вас, как вам поступать»?

                                              какое право Вы имеете говорить мне

                                              Я вам напомню, что у нас в стране пока ещё действует свобода слова, и правила хабра не запрещают мне высказать своё мнение. Ровно как и вам не запрещают на это мнение повлиять.
                                                0
                                                Вы безапелляционно решаете за меня, как мне поступать
                                                Как интересно. Не могли бы вы указать конкретные слова, которыми я «решаю за вас, как вам поступать»?
                                                Я же процитировал Вашу фразу:
                                                На асме — абсолютно бессмысленно.
                                                Вы не находите, что есть небольшая разница между написать "Мне кажется, что на асме — абсолютно бессмысленно." (или "Моё мнение: На асме — абсолютно бессмысленно.") и написать "На асме — абсолютно бессмысленно.".

                                                В первом случае Вы лишь выражаете своё личное мнение, с которым я могу согласиться или не согласиться, а во втором (так, как это написали Вы) — озвучиваете непреложную истину, аксиому, которая не подлежит обсуждению.

                                                Кстати, с момента нашего предыдущего спора, произошедшего 1 год и 1 месяц назад, Вы так и не написали ни одной статьи на Хабре, тем самым лишив меня возможности написать в комментариях к ним «ненужно». Это игра в одни ворота.
                                                  0
                                                  В первом случае Вы лишь выражаете своё личное мнение, с которым я могу согласиться или не согласиться, а во втором (так, как это написали Вы) — озвучиваете непреложную истину, аксиому, которая не подлежит обсуждению

                                                  Какие вы себе интересные правила придумали. Надеюсь, вам удобно с ними жить.

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

                                                  Кстати, с момента нашего предыдущего спора, произошедшего 1 год и 1 месяц назад, Вы так и не написали ни одной статьи на Хабре, тем самым лишив меня возможности написать в комментариях к ним «ненужно».

                                                  Терпение, терпение. Будет и у вас такая возможность.
                                                0
                                                При чем тут «не говорите мне»? Просто есть вещи малоэффективные. Создание проблем вместо их решения. Поэтому удивление вполне закономерно. _Удивление_, не указание, что делать.
                                                  0
                                                  Пожалуйста, смотрите мой ответ выше: habrahabr.ru/company/kolibrios/blog/231433/#comment_8141457
                                                  Есть разница в написании между удивлением/личным мнением, и аксиомой/утверждением.
                                                    +1
                                                    После каждой фразы надо дописывать «я так думаю» или «по моему мнению»? У вас интересное восприятие, право слово. Все, что пишется — по чьему-то мнению. Даже утверждение, выдаваемое за аксиому подразумевает, что оно написано по мнению оппонента. В каких-то случаях оно подкрепляется отсылкой к источникам, в каких-то нет.

                                                    Так, на всякий случай: все, что написано выше — по моему мнению.

                                                    Охота же так болезненно воспринимать чьи-то слова в интернете. Только вдумайтесь — один человек написал, что портирование из Си в асм не имеет смысла. Просто мнение из десятка слов, подкрепленное аргументами. Никакого указания, кому что делать, здесь нет. Вообще. Совсем. Только мнение.
                                                      0
                                                      Охота же так болезненно воспринимать чьи-то слова в интернете. Только вдумайтесь — один человек написал, что портирование из Си в асм не имеет смысла. Просто мнение из десятка слов, подкрепленное аргументами.
                                                      На тот момент, когда я поставил минус jcmvbkbc, никаких аргументов ещё не было, а мнение состояло только из четырёх слов: «На асме — абсолютно бессмысленно.»Вот мамой клянусь, что если бы он написал сразу
                                                      Какой смысл переписывать на асме софт, который разрабатывается на С коллективами куда более мощными, чем коллектив разработчиков колибри? Даже если удастся сделать начальные порты, кто будет заниматься их дальнейшей поддержкой?

                                                      и не писал бы свою первоначальную фразу, то я бы ни минуса ему не ставил, ни в дискуссию с ним не вступал. Но фраза была построена так, что она просто провоцировала разработчиков Колибри на минус и дискуссию. Хотя Вы можете опять ответить, что это у меня такое восприятие интересное.
                                                        0
                                                        Интересное.
                                                        На асме — абсолютно бессмысленно. — просто мнение. Причем, сразу понятно, какие аргументы последуют, ведь бывают разговоры о том, имеет ли смысл писать на ассемблере вообще? Бывают. И тут еще можно что-то обсуждать. (Не надо меня убеждать — я тоже разрабатывал(ю) ОС на ассемблере и знаю все эти скептические ухмылки). Но тут-то предложили переложить код с Си на асм.

                                                        Но фраза была построена так, что она просто провоцировала разработчиков Колибри на минус и дискуссию.

                                                        Нет, фраза была сказана по поводу портирования программ, написанных на ЯВУ на Ассемблер. Не по поводу ОС Колибри, поэтому разработчикам Колибри реагировать было не на что. Тем кто портирует программы с Си на Ассемблер — другое дело.
                                                          0
                                                          Нет, фраза была сказана по поводу портирования программ, написанных на ЯВУ на Ассемблер. Не по поводу ОС Колибри, поэтому разработчикам Колибри реагировать было не на что. Тем кто портирует программы с Си на Ассемблер — другое дело.
                                                          В Колибри мы как раз портировали из Линукса драйверы некоторых сетевых карточек, FTDI, файловых систем, ещё кое-что, с Си на Ассемблер.
                                                            0
                                                            Ядро и драйвера — совсем другое дело. Это целиком в парадигме «ОС на ассемблере». Речь шла о готовых прикладных программах.
                                                –1
                                                Ваше
                                                В остальной части ветки я только и делаю, что задаю вопросы, не давая никаких оценок тому, как люди проводят своё время.

                                                — это немного ложь. Ваши иронические комментарии неплохо так наводят на то как вы воспринимаете этот проект.
                                                Если у вас эти вопросы ассоциируются с «как-то дебильно ты используешь свободное время», то, возможно, это ваши собственные мысли, которые вы подавили, а теперь пытаетесь спроецировать на меня.

                                                Да, именно, так же как и вы.))
                                                Последняя ваша фраза — это просто безграмотное хамство. Пожалуйста, следите за своим языком: не все готовы закрывать глаза на недостаток воспитания.

                                                Моя последняя фраза в том комментарии:
                                                Вот и все.

                                                Особенно неграмотного там ничего нет. Неиспользование буквы ё широко практикуется. Другое дело, что в предпоследней я неправильно употребил «ться» вместо «тся» и, возможно, пунктуация хромала. Здесь согласен.

                                                Насчет хамства не согласен. Хамить в ветке начали вы.
                                                  0
                                                  — это немного ложь. Ваши иронические комментарии неплохо так наводят на то как вы воспринимаете этот проект.

                                                  Интересно, как слова о портировании прикладных программ с переводом из Си в асм соотносятся с проектом, с системой т.е.?
                                                    0
                                                    Никак, конечно. Мы здесь о сферических конях в вакууме говорили.
                                                      0
                                                      Вы говорите о проекте, системе то есть. «Иронические комментарии» были о портировании прикладных программ, то-есть, не о системе, не о проекте.
                                                        0
                                                        Что я понимаю под проектом. Для меня (как пользователя) эта операционная система — это дистрибутив, который можно скачать. А поскольку в дистрибутиве не «голая ось», то и портированные программы я отношу именно к проекту. Суть же этого проекта (моя очень вольная интерпретация) в том, чтобы написать ОС на ассемблере и сделать (портировать) по максимуму программ под нее тоже на нем. Повторюсь, это именно моё видение.

                                                        И вот когда человек говорит наводящими комментариями «зачем и для чего, и так не нужно» или «и так сомневаюсь, что сможете поддерживать» — это глупо. Глупо, потому что это не промышленный проект. Это хобби. Люди делают его для себя, just for fun (по крайней мере на этой стадии), потому что это им безумно интересно. IMHO, здесь просто нельзя говорить людям «не делайте, бессмысленно». Это их дело и время.
                                                          0
                                                          но и портированные программы я отношу именно к проекту.

                                                          Не все же?

                                                          В таком случае, почему мы считаем «операционной системой Windows» дистрибутив, а не все-все-все программы, которые можно под ней запустить?

                                                          Глупо, потому что это не промышленный проект. Это хобби. Люди делают его для себя, just for fun (по крайней мере на этой стадии), потому что это им безумно интересно.

                                                          Нет, не глупо. Изначально шел разговор о том, чтобы написать ОС с графической оболочкой на чистом ассемблере, чтобы работало быстрее и занимало меньше места.
                                                          И я всецело это поддерживаю — сам понемногу пилю свою ОС на ассемблере.
                                                          И писать на асме с нуля тоже здорово.
                                                          Перевести сложный код с Си (сотня-сотни тысяч строк) на ассемблер и поддерживать это — нереально. Что глупого в том, чтобы указать на это?

                                                          IMHO, здесь просто нельзя говорить людям «не делайте, бессмысленно». Это их дело и время.

                                                          Право одного — сказать «не делайте так, это бессмысленно», право другого — проигнорировать и иметь собственное мнение.
                                                            0
                                                            Не все же?

                                                            В таком случае, почему мы считаем «операционной системой Windows» дистрибутив, а не все-все-все программы, которые можно под ней запустить?

                                                            Нет, конечно не все. Я говорю о тех, которые попадут в дистрибутив. А поскольку я, как пользователь, смогу их скачать именно в оффициальном дистрибутиве, то они для меня часть проекта. И, если они будут написаны на ассемблере, то это еще будет и вполне в духе проекта.

                                                            Право одного — сказать «не делайте так, это бессмысленно», право другого — проигнорировать и иметь собственное мнение.

                                                            Вы правы. Но сложилось не так и получился холивар. В этом ничего страшного, так бывает очень часто.

                                                            Спасибо за дискуссию.
                                                              0
                                                              Я говорю о тех, которые попадут в дистрибутив

                                                              Да, но просто множество программ — маленькие, поэтому в дистрибутив включается множество оных. Если же вести речь о больших программах, типа СУБД, они вряд ли попадут в дистрибутив.
                                                                0
                                                                Да, но просто множество программ — маленькие, поэтому в дистрибутив включается множество оных. Если же вести речь о больших программах, типа СУБД, они вряд ли попадут в дистрибутив.

                                                                Пока — нет. Потом, возможно,— попадут. Всё меняется.
                                                            0
                                                            нельзя говорить людям «не делайте, бессмысленно»

                                                            Ещё один. kenn2008 покажите мне, где я говорил «не делайте»?
                                                              0
                                                              Была фраза:
                                                              На асме — абсолютно бессмысленно.

                                                              Согласен, там нет слов «не делайте». Но предполагая, что вы обращаетесь к людям, которые по вашему разумны, вы должны и предполагать какое-то действие, что они сделают чтобы прекратить бессмыслицу, иначе смысл вашего комментария опустится до уровня, когда на такие отвечают «Информируйте нас дальше».
                                                                0
                                                                Согласен, там нет слов «не делайте»

                                                                Отлично. Пожалуйста, больше не приписывайте мне своих слов или мыслей.

                                                                предполагая, что вы обращаетесь к людям, которые по вашему разумны

                                                                Вы верно не заметили, но я обращался к пользователю колибри — человеку, по всей видимости не связанному с разработкой. Представляя себе объёмы и сложность упомянутых программ, я считаю вероятность их портирования на ассемблер командой разработчиков колибри пренебрежимо малой, в виду бессмысленности этого действия с моей точки зрения. Если я и предполагал какие-то действия со стороны пользователей, то разве что коррекцию их ожиданий. Либо аргументы, почему это имеет смысл.
                                                                  0
                                                                  Но коль скоро уж мы добрались до мнения разработчиков колибри, то мне интересно было бы узнать:
                                                                  считаете ли вы, что в портировании на ассемблер монстров типа qemu или gcc есть какой-то смысл?
                                                                  Иными словами, положа руку на сердце, считаете ли вы, что это будет сделано в течение, ну, скажем, ближайших 5 лет?
                                                                    +2
                                                                    Отлично. Пожалуйста, больше не приписывайте мне своих слов или мыслей.

                                                                    Хорошо, «Хобита» Толкина, написали, все же, не вы. А я уже собирался и это повесить.)

                                                                    считаете ли вы, что в портировании на ассемблер монстров типа qemu или gcc есть какой-то смысл?

                                                                    Смысла вообще ни в чем нет, пока его не найдут достаточно харизматичные и прагматичные личности. Для вас смысла нет, для меня тоже не особо. Но это не повод, чтобы полагать, что смысл не может найти кто-то другой. Если у человека есть желание/интерес и время, то я считаю, что этого достаточно в качестве смысла для этого проекта, системы или просто портирования программ.

                                                                    считаете ли вы, что это будет сделано в течение, ну, скажем, ближайших 5 лет?

                                                                    Нет. К сожалению. Но практическая сторона (в данном случае возможность портирования огромного количества кода) не всегда может быть смыслом. Но об этом мнении я не буду спорить.

                                                                    Я искренне полагаю, что пора закрыть ветку. Думаю, что каждый из нас понял, что хотел сказать другой. Я за компромис в смысле, что может и хочет делать человек в своё свободное время, вы — за практичность и прикладное применение этого.
                                                                    Извините, что в множестве случаев я полагался на какой-то поведенческий стереотип, просто слишком привык, что вокруг все недоверчиво и агрессивно относятся к тому, что не слишком практично (на первых порах) и не приносит деньги. Также соглашаюсь, что я был предвзят в своём мнении относительно вас.
                                                                      +1
                                                                      Вы меня приятно удивили. К сожалению, с новыми правилами хабра я не могу поставить вам плюс в карму, хоть и хочу.
                                                                      Со своей стороны я постараюсь формулировать свои тезисы менее категорично, и сразу приводить аргументы, даже когда они кажутся мне очевидными.
                                                                      Спасибо.
                                            +1
                                            Предполагаю что кому-то это тоже будет по фану.
                                  +1
                                  Но зачем быстрая консольная ОС… Если есть Linux? С тысячей отличных утилит и безупречной поддержкой оборудования. И достаточно быстрая, пока…

                                  не использовать графический интерфейс. После каждого startx на атоме, я сразу понимаю, что софт разжирел. И не надо мне говорить про венды, там все намного хуже. От этого уже в 5 раз пытаюсь начать писать под колибри.

                                  А писать под неё просто и приятно. Как минимум потому, что не нужно дергать какой-нибудь gtk, работающий под тяжёленными иксами, тем самым неявно используя пару десятков библиотек, использующих в свою очередь пару уровней libc. Один системный вызов — и у тебя есть окно. Ещё один — кнопка. И не нужно городить сотни уровней абстракций. В этом и уникальность, и смысл колибри, как я считаю.
                                    +1
                                    У winapi похожая философия, сделал вызов — вот тебе окно, сделел ещё один вызов — вот тебе холст, ещё вызов — держи кастомную кисть, ещё один — и у тебя закрашеный твоей текстурой полигон :)
                                      0
                                      Это компенсируется очень убогой сишной библиотекой :(
                                        +1
                                        Зачем вам сишная библиотека? Пишите прямо на асме. На Fasm очень просто писать приложения под Win GUI.
                                        Да даже если и на Си — что из библиотеки вы будете использовать? Выделение памяти?
                                          0
                                          Вообще, я именно про это говорил несколькими уровнями выше. Предыдущий мой комментарий про winapi.
                                          Да даже если и на Си — что из библиотеки вы будете использовать? Выделение памяти?
                                          У колибри и на выделение/перераспределение/освобождение памяти системные вызовы.
                                            +1
                                            У колибри и на выделение/перераспределение/освобождение памяти системные вызовы.

                                            Так пожалуйста — используйте HeapAlloc на здоровье.
                                            Я не в курсе — а в Колибри память выделяется любыми кусками или постранично? Просто если постранично, то это совсем не то же что и malloc. Если постранично, то и в винапи — VirtualAlloc VirtualFree вполне системные.
                                +2
                                Изюминка же как раз в ASM — пусть не будет поддержки каких-то карт, но пусть это будет чистый проет fasm.

                                Это процесс ради процесса. Зачем отсекать громадный сектор — программы на С и людей, пишущих на С? Чем больше пользователей и разработчиков, тем лучше, не? Developers, developers, developers.
                                  +1
                                  У нас просто нет такого количества программистов пишущих на С =) В основном все пишут на ассемблере. Но в последнее время были предприняты меры по облегчению написания кода на С по Колибри
                                    0
                                    Да дело не в самой Колибри, а тех, кто может перейти на нее, или откомпилировать свое ЗАМЕЧАТЕЛЬНОЕ приложение И под Колибри. Ведь, согласитесь, написать на fasm'е с нуля под Колибри и скомпилировать с колибревскими библиотеками ту же программу на С — несопоставимые вещи. Больше разработчиков — больше приложений. Больше приложений — больше пользователей.
                                    А иначе это так и останется хобби-проектом для маленького кружка посвещенных. Что, кмк, тупиково.
                                  +2
                                  Кроме того, система сборки сильно усложнена, это же fasm!), и собираться образ должен fasm kernel.asm ))

                                  После того, как создать lang.inc, ядро нормально собирается командой fasm kernel.asm. Проблемы начинаются дальше:
                                  * ядро в дистрибутиве упаковано, возможность вызывать дополнительный шаг kerpack должна быть и при этом должна быть опциональной, чтобы не увеличивать зря порог вхождения,
                                  * образ системы — намного больше, чем ядро, в образе есть много разных файлов,
                                  * автосборка на сервере должна понимать, что при коммите в файл kernel/trunk/fs/fat.inc нужно пересобрать ядро, но необязательно тратить время на пересборку всего остального, от kernel/trunk/bootloader/floppy1440.inc ядро не зависит, но зависит бутсектор,
                                  * программы на си существуют, в том числе и в дистрибутиве, их тоже нужно уметь собирать — можно, конечно, вести долгие холивары вроде того, что идёт прямо здесь, насчёт включения, но ситуация, когда кто-то когда-то один раз собрал что-то и выложил на форуме в виде бинарника без возможности сборки и никто не может это повторить, очень сильно мешает радикальным изменениям во вполне ассемблерных частях проекта. Которые нужны,
                                  * действия по добавлению/редактированию списка собираемых программ должны быть как можно проще, иначе никто этим не будет заниматься.

                                  Tup сборку очень сильно упрощает.
                              –21
                              Не могу перестать воспринимать разработчиков подобного как фриков, травмированных в детстве ZX Spectrum.
                                +1
                                А процессы вы как в Windows сделали? Один процесс = несколько потоков?
                                  –7
                                  >Также вынуждены не без сожаления сказать, что этот дайджест может оказаться последней публикацией в нашем блоге. Действие подписки нашего блога заканчивается завтра, и пока нам его не продлили.

                                  Давно пора. Монетизация у проекта нулевая и ее никогда не будет. Для кого это делается? Кто ваша целевая аудитория? Преимущества которые дает ваша ос ничтожно малы на фоне ее недостатков.
                                  Ребята, я не хочу никого обидеть, вы молодцы, но это ваше хобби не более того. Я думаю всем бы пошло на пользу если бы вы применили свои навыки на что то более нужное человечеству. Уверен что есть масса проектов где оптимизация некоторых подсистем путем использования asm, могла бы существенно им помочь.
                                    +2
                                    всем бы пошло на пользу если бы вы применили свои навыки на что то более нужное человечеству...

                                    ..., например, написали бы каммент на хабре!
                                      +2
                                      В фильме «формуле любви» была фраза «Экий ты меркантильный ..., о душе бы подумал». В общем, порой стоит делать и что либо для души!

                                      По поводу пользы от проекта, ну как минимум это отличная практика разработки на низком уровне, и для того чтобы можно было бы оптимизировать переписывая на ассемблере (в чем я немного сомневаюсь) нужно набраться опыта, понять детали работы аппаратуры и так далее. Проект в данном случае может служить визитной карточкой команды. А продавать уже услуги по доработке и переработке конечных систем.

                                      Кроме того монетизация может осуществляться за счет университетов. На базе Колибри может быть разработан курс лекций и лабораторных по организации ЭВМ, архитектуре ОС и так далее. Подобные лабораторные работы стоят, насколько я знаю, недешево.

                                        0
                                        архитектуре ОС

                                        Гораздо нагляднее это делать на основе Windows или Linux или Minix. Везде есть исходные тексты на Си, они воспринимаются намного легче, чем асм, если цель — показать ИДЕЮ, а не написать что-то компактное.
                                        +9
                                        Давно пора. Монетизация у проекта нулевая и ее никогда не будет.
                                        Что-то на Хабре в последнее время стало много разработчиков мобильных приложений для iOS/Android, и браузерных игр для Вконтакте, которых только и интересует, что монетизация пользователя. Не монетизацией единой жив человек — бывает ещё Open-Source и Free Software.
                                        +1
                                        Я обожаю проект Колибри! Можете только подсказать, какая ЦО у ОС? Я тоже ни хочу никого обидеть, просто с Колибри знаком уже года два-три, а может, и все четыре, до сих пор не понимаю, куда её можно применить.
                                          0
                                          Расшифруйте, пожалуйста, аббревиатуру «ЦО»? Если имелось в виду «ЦА» (т.е. целевая аудитория), то старые и малопроизводительные компьютеры, встроенные системы, пособие по изучению операционных систем, архитектуры компьютера. Вот в этой статье есть примеры: habrahabr.ru/company/kolibrios/blog/197360
                                          И ещё немного примеров: habrahabr.ru/post/180197/#comment_6261823
                                            +1
                                            Да, ЦА, извините. Спасибо за ответ.
                                        • UFO just landed and posted this here
                                            +1
                                            Поддержка мышек нонмальная была, просто у сом мыши до недавних пор была поддержка только двух кнопок и скроллинга. В остальных до 4-5 кнопок поддержкс есть, как и горизонтальногл и вертикального скроллинга. А вы попробуйте поставить Убунту на Pentium II 366 MHz и поверьте, покс она загрузится вы, успеете посмотреть новую серию любимого сериала.
                                              +2
                                              т.к. ставил Ubuntu 12.04 на старый-старый ноутбук еще Pentium IV и все работало без проблем из коробки.

                                              Ничего себе «старый»!
                                              Колибри влезет на 1.44 дискету и загрузится «из коробки» на 100 МГц первом пне с 8 мегабайтами памяти.
                                              Windows 95 тоже запросто будет работать на этом оборудовании, но места займет под сотню Мб.
                                                0
                                                Где в наше время взять 1.44 дискетку и куда ее потом вставить?

                                                И главный вопрос зачем?
                                                  0
                                                  У меня лежит полно, и приводы есть. Раз в год балуюсь со старьем всяким.
                                                  Флопчик был полезен при инсталляции нестандартных драйверов в Windows (RAID).

                                                  Речь о размере, не о носителе.

                                                  Зачем? Задайте себе вообще вопрос — зачем писать ОС на ассемблере, делая ее быстрой и маленькой? Кому нужна оптимизация по скорости и размеру? Дисковое пространство в ПК соит копейки.
                                                0
                                                у меня честно говоря другой шок: где взять СОМ-порт мышь?
                                                  0
                                                  Купить на eBay, или найти на свалке :-)

                                              Only users with full accounts can post comments. Log in, please.