Колибри на Chaos Constructions-2011

Everything you can't fit into other forums
  • На самом деле много о чем можно поговорить и обсудить и даже сравнить.
    Например темы общего плана об надежности, устойчивости, падучести ОС, о назначении и потребностях в ОС направлениях, платформах, периферии, проблема проблем драйверные победы и проблемы закрытых документаций, как с этим быть...???
    Много общего может быть, даже не вдаваясь в программирование и типа какой язык или идейное направление ОС лучше (упаси Вас этим заниматься).
  • Так поэтому и говорю, что тема должна быть задана до обсуждения. Тем более, что с нашей стороны будет участвовать прикладник. Без заданной темы дискуссия наверняка скатится в обсуждение каких-то малозначительных деталей, как это обычно бывает у системщиков.
    В разработке: воспроизводственный контур ИТ
  • ну значит два бала организаторам. Дилетанты в данном аспекте, значит по сути или нафиг это им (ОСевики) впало.
  • На сайте CC появился анонс круглого стола:
    В круглом столе примут участие авторы предыдущих докладов, посвященных операционным системам. "Будет обсуждаться мир операционных систем и вопрос века - вечный Unix так сойдёт, или, всё же, надо что-то делать? :)"
    Как понимаю, Филипп Торчинский -- Open Solaris, Дмитрий Завалишин -- Фантом. С учётом того, что до этого будут семинары по какой-то объектно-ориентированной системе, полуоси, Колибри и Фантому, -- все будут ругать UNIX. Становится интересно.
    В разработке: воспроизводственный контур ИТ
  • Могу сделать анонс мероприятия на Хабре. Рискую небольшим количеством кармы. Имеет смысл делать анонс, или нет?
    Сегодня-завтра будет готова моя версия доклада, выложу на всеобщее обозрение на форуме для правок и обсуждения. Презентацию планирую запускать непосредственно для Колибри :P
    Freeman wrote:На сайте CC появился анонс круглого стола
    Как понимаю, Филипп Торчинский -- Open Solaris, Дмитрий Завалишин -- Фантом. С учётом того, что до этого будут семинары по какой-то объектно-ориентированной системе, полуоси, Колибри и Фантому, -- все будут ругать UNIX. Становится интересно.
    И верно, будет очень и очень интересно. :)

    На случай неожиданных вопросов на докладе хотелось бы попросить хотя бы кого-нибудь из компетентных ядерщиков присутствовать в IRC или еще где-нибудь.
  • Если по времени совпадём могу выйти в Скайп.
  • Воскресенье, 28 августа, 15:00
  • Sorcerer, думаю, что будет лучше вместе с выходом 0.7.9.0 (или 0.8.0.0 все таки?) в тексте статьи упомянуть, уже постфактум об участии КОС в этой конференции и сообщить результаты.
  • К слову сказать, OS/Free вроде выпускает релиз к фестивалю.
    В разработке: воспроизводственный контур ИТ
  • Только если 0.7.8.0./0.7.9.0, ибо 0.8.0.0 пока рано (ИМХО). Пилят же USB, сеть, ACPI. Сделают (плюс я ещё некоторые важные вещи в прикладном плане делаю, вроде менеджера обновлений) - можно, наверное, и 0.8.0.0 выкатывать.
  • maximYCH wrote:Sorcerer, думаю, что будет лучше вместе с выходом 0.7.9.0 (или 0.8.0.0 все таки?) в тексте статьи упомянуть, уже постфактум об участии КОС в этой конференции и сообщить результаты.
    Для доклада я готовлю нечто, что может потом превратиться в целую детективную историю :D
    maximYCH, вдруг ты не в курсе, для CC делается особенная сборка. :) Пока что этого достаточно, я думаю.
  • Sorcerer, я в курсе.
    Я говорю только о том, что не следует, с моей точки зрения, присуждать ей свой порядковый номер в нумерации версий.
  • Предварительный вариант первой части доклада. Занимает около 10 минут. Простые программки на ассемблере для Колибри на fasm и Си - во второй части. Доклад будут сопровождать скриншоты системы, программ, фотографии и как минимум один график. Замечания, исправления, улучшения, предложения приветствуются.
    Добрый день! Мы рады видеть всех на этом семинаре :)

    Наша цель сегодня - объяснить, почему и как разрабатываются программы для Колибри.

    ====

    Давным-давно, в далекой галактике существовала свободная операционная система MenuetOS, написанная на ассемблере финном Вилле Турьянмаа. Через несколько лет, в 2004 году, он прекратил разработку Menuet. Вскоре разработка была продолжена силами сообщества. Один из русских дистрибутивов Menuet того времени назывался Kolibri. В октябре 2005 года ядро Колибри отличалось от ядра Menuet более чем на 50%; Колибри окончательно отделилась и отдалилась от Menuet, и стала самостоятельной.

    ====

    Теперь несколько любопытных фактов:
    *Ядро системы полностью написано на ассемблере, и в скомпилированном виде занимает менее 128 килобайт (Колибри отлично подходит для демосцены ;).
    *Минимальные требования - Pentium I, 8 мегабайт ОЗУ и VGA-видеокарта.
    *Исходные коды ядра и большей части драйверов занимают около 30 тысяч строк кода на ассемблере, это примерно в 500 раз меньше, чем ядро Linux.
    *При размерах, сопоставимых с размерами, например, ядра MS-DOS, Колибри предоставляет гораздо больше возможностей: имеется поддержка видеокарт VESA, жестких дисков и дискет с FAT12/16/32, NTFS и ext2/3, компакт-дисков с файловой системой CDFS; есть TCP/IP стек и драйвера нескольких распространенных сетевых карт. В экспериментальной версии ядра ведется работа над поддержкой USB.
    *Имеются драйвера для звуковых карт AC'97 и HD Audio, видеокарт AMD/ATI.
    *Колибри можно загружать без BIOS, прошив как payload проекта coreboot (пока что работает в qemu и на некоторых AMD).
    *Ядро системы оценивается проектом ohloh ("Оло") почти в 300 тысяч долларов.

    Ядро - это еще не вся система. На сегодняшний день для Колибри написано более 200 серьезных программ: на ассемблере, Си, Паскале, Луа, Питоне. Имеются порты DosBox, Quake, Doom, MESA, FFMpeg, Cairo, Freetype 2, Lua, TinyPy, FCEU. Я считаю, что в разумные сроки можно перенести в Колибри основные программы проекта GNU, но не вижу в этом большого смысла. Программы, разрабатываемые с учетом философии Колибри, как правило получаются значительно компактнее и быстрее, чем утилиты GNU.

    ====

    Зачем Колибри? Максимальное быстродействие, минимальный размер, графический интерфейс, близость к "железу".

    Быстродействие:
    Среднее время загрузки Колибри с CD-диска или флешки - около двух секунд.

    Возьмем две одинаковые программы на ассемблере, выполняющие пустой цикл 4 миллиарда раз. Одна написана для Колибри, другая - для Windows. Возьмем чистую установку Kolibri и чистую установку Windows. Угадайте, на 1.8-гигагерцовом Целероне какая из двух программ отработала быстрее на 18% по результатам тестов?

    По мнению Википедии, Колибри является операционной системой реального времени, то есть гарантирующей отклик в течение определенного интервала времени. Для основного дистрибутива это, к сожалению, не так (из-за дисковой подсистемы и других проблем), но существует бранч Kolibri-A для встраиваемых систем, где с этим всё в порядке (по крайней мере, будет).

    Минимальный размер:
    Уже много лет основной дистрибутив Колибри представляет собой образ дискеты размером 1.44 мегабайта.

    "Время дискет прошло. Вместо магнитного носителя пришла пора использовать электронный. Встречайте! NOR Flash memory! (В народе именуемая, ласково, биосом)". "Требования к размеру от этого нисколько не изменились: в BIOS так же мало места, как и на дискете".

    Сколько места на вашем жестком диске занимает операционная система и ее программы? Даже Puppy Linux вряд ли займет меньше 50 мегабайт, а "взрослые системы" требуют 2 и более гигабайт. На нетбуках, неттопах, тонких клиентах и других устройствах с ограниченным количеством дисковой памяти место, занимаемое системой - это серьезная проблема. Компьютер с Колибри можно использовать как текстовый редактор, mp3-плеер, среду разработки на ассемблере или клиент VNC, выделив на жестком диске на систему и ее программы менее 2 мегабайт.

    Графический интерфейс:
    Колибри всегда была графической. Ядро Колибри представляет простой API для работы с окнами, графикой и устройствами ввода. Кроме того, имеется де-факто стандартная библиотека оконных компонентов boxlib, и несколько других, менее распространенных. Это облегчает программирование дружелюбных к пользователю программ.

    Программирование аппаратуры:
    Разработчик, используя Колибри, может легко получить полный доступ к оборудованию - портам COM, LPT, PCI, а в экспериментальной версии ядра - и к USB (OHCI, UHCI). Учитывая, что перезагрузка системы занимает несколько секунд, а средства отладки неплохо развиты, можно тестировать правки драйверов устройств на реальном "железе", не испытывая никаких неудобств. Учитывая все вышесказанное, становится понятно - Колибри является перспективной системой для "слабых" компьютеров, нетбуков, медиаплееров, систем сбора/обработки информации и АСУП. Несколько лет назад вряд ли возможно было представить какой-нибудь медиаплеер с x86-м процессором, сегодня это реальность (например, Logitech Revue).

    ====

    У любой операционной системы есть свои минусы. И у Колибри известно несколько минусов:

    *Приложения Колибри могут делать с железом практически все, что угодно. Это может быть в будущем серьезной угрозой для безопасности компьютера.
    *Еще один аспект безопасности: все запущенные процессы выполняются с одними и теми же правами, причем система является однопользовательской.
    *Документация по многим аспектам работы ядра отсутствует или очень поверхностная. Это компенсируется отзывчивым сообществом разработчиков. Впрочем, прикладные программисты имеют в своем распоряжении исчерпывающую документацию по всем системным функциям и внушительный набор примеров кода.
    *Колибри - не UNIX и не POSIX! (Хотя не очень ясно, минус это или все же плюс).

    ====

    Как можно реализовать свои мечты в Колибри?

    На сегодняшний день в Колибри стабильно работает только один компилятор - fasm. Зато можно пользоваться кросс-компиляторами для Колибри - gcc и freepascal, недавно появились порты brainfuck, lua и tiny python.

    Есть библиотеки для работы с файловой системой, растровой графикой (bmp, gif, jpeg, png), векторной графикой, ini-файлами, архивами, звуком, сетью; имеется эмулятор терминала с поддержкой escape-последовательностей. Из портированных библиотек, напомню, имеются mesa, cairo, freetype2, zlib.
  • Тут текст доклада поделен на блоки - имхо, нужно больше связи между ними, без пауз - фактических и логических. Чтобы весь текст читался "на одном дыхании"
    Наша цель сегодня - объяснить, почему и как разрабатываются программы для Колибри.
    Лучше сказать: "Сегодня я/мы расскажу и покажу вам..."
    авным-давно, в далекой галактике существовала свободная операционная система MenuetOS, написанная на ассемблере финном Вилле Турьянмаа. Через несколько лет, в 2004 году, он прекратил разработку Menuet. Вскоре разработка была продолжена силами сообщества. Один из русских дистрибутивов Menuet того времени назывался Kolibri. В октябре 2005 года ядро Колибри отличалось от ядра Menuet более чем на 50%; Колибри окончательно отделилась и отдалилась от Menuet, и стала самостоятельной.
    Лучше сказать: "Наверное многие из вас слышали о чудо-операционнной системе написанной на ассемблере и умещающейся на дискетке. Еще меньшее количество людей смогут вспомнить ее название - MenuetOS. Начало свое она берет в гггг году, будучи написанной финном... Однако, всвязи с потерей интереса Вилли к своему детищу, команда разработчиков продолжила ее развитие, и назвала ее KolibriOS. Давайте на нее посмотрим: <тут показываем слайд с виндоуз 7 или макос, в зале хохот, говорим "извините, ошибся слайдом", и показываем настоящий скрин>"
    Last edited by XVilka on Fri Aug 19, 2011 6:45 pm, edited 1 time in total.
  • Who is online

    Users browsing this forum: No registered users and 15 guests