LINUX.ORG.RU

Интервью с разработчиками KolibriOS в «Компьютерре»

 ,


0

1

В 2001 году финский студент Вилле Турьянмаа написал свою операционную систему на ассемблере. В 2004 году он решил, что тридцатидвухбитные компьютеры погибли, и перешёл на разработку MenuetOS 64 шестидесятичетырёхразрядной версии своей операционной системы. Сообществу это не понравилось, и оно продолжило разработку тридцатидвухбитной версии своими силами. И когда более половины кода было изменено, проект получил название «Колибри» в честь одной из русских сборок систем.

«Компьютерра» побеседовала с двумя разработчиками KolibriOS - Дмитрием Переверзевым и Игорем Солодухой. Они рассказали о возможностях и перспективах операционной системы, написанной целиком на ассемблере.

Переверзев, кстати, отвечает на вопросы в комментариях к интервью под ником Sourcerer.

>>> Разработчики "Колибри" об ОС на ассемблере

Ответ на: комментарий от anonymous

> >>брали от фонаря

Самокритично,да.

5.2.0-beta (July 8, 2011)


Ага, и таковой останется ещё с пол года, а то и больше. Апприори падучую вещь используют? Или думают что между 5.1.4 и 5.2 ноль разницы, что всё заработает сходу?

FeyFre ★★★★ ()
Ответ на: комментарий от anonymous

> Но да-ОС прекрасна,имбы запилить порт на «смартфоны»

Придётся всё переписывать или засовывать в телефон процессор побольше.

bloodredfrog ★★ ()
Ответ на: комментарий от JustGuest

> 2) Например, слабое железо. Лучше юзать софт без свистелок, чем вообще никакой.

Насколько слабым должно быть железо? И зачем его использовать?

bloodredfrog ★★ ()
Ответ на: комментарий от anonymous

> man chromium

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

bloodredfrog ★★ ()
Ответ на: комментарий от pitekantrop

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

Надпись «Java Man» на аватарке добавляет жирноты Вашему высказыванию.

yurkis ()
Ответ на: комментарий от rtvd

>И что характерно, упорно пилят софт для загибающихся платформ. Может скоро портанете свое колибри на Z80? А че, круто будет.

Z80 еще совсем недавно выпускался. Вполне возможно что и выпускается до сих пор (как и многие другие 8 и 16-битные контроллеры).

yurkis ()

Классная ОСь, я раньше у вас на форуме частенько бывал, да и вообще мне очень понравилось что на одной дискетке и операционка и приложения и даже игрушки :-) Как у вас там с браузером то дело, помню что там было подобие, но не юзабельное, браузер бы хотя бы функциональности dillo.

splinter ★★★★★ ()
Ответ на: комментарий от nihil

>>запилить порт на «смартфоны»/планшету

хоть кто то допёр.

Нуда, ну да.... А еще в мобилах процов пачки.... И тебе такой, и такой... Гуглидиоты что выбрали Java. И Покойник Жопс с LLVM. И МС с его .NET Даешь мобилы на Z80 и чтоб на 100 лет.

demmsnt ()
Ответ на: комментарий от yurkis

> Надпись «Java Man» на аватарке добавляет жирноты Вашему высказыванию.

Дружище, прогуляйся до Википедии, ну или хотя бы загляни в словарь :)

AP ★★★★★ ()
Ответ на: комментарий от JustGuest

>Сравнивают. И кажется слегка завидуют :)

Я думаю они без проблем получат место драйверописателя в любой конторе от IBM до ORACLE. Просто драйверописцы это нынешние шахтеры. Я вот например дрова от ATI которые .NET требуют или 170 метров дров к звуковухе всегда не понимаю. Сколько весил драйвер HIMEM.SYS Вот это асм. А нонче если JavaScript в видеодровах будет я не удивлюсь

demmsnt ()
Ответ на: комментарий от geekless

> Т.е. между двумя программами с одинаковыми возможностями ты выберешь ту, которую писали с большим геморроем, и, следовательно, в ней может бы больше багов и меньше вероятность их исправления?

Я считаю, что ассемблер должен исчезнуть. Как и ручное переключение передач на автомобилях. Этого пока не произошло из-за недостатка в технологиях.

Всё. Хватит мне приписывать лабуду и пытаться с ней спорить.

pitekantrop ★★★ ()
Ответ на: комментарий от demmsnt

> или 170 метров дров к звуковухе

Ты их HEX-редактором поковыряй. Туда наверняка жёсткое индийское порно кодерами вставлено. Ну, ты знаешь какое кино индусы снимают: если в первой сцене есть мужская пиписька, то в финальной сцене она пляшет и поёт. И так — два часа. А сам драйвер так — для отмазки.

AP ★★★★★ ()
Ответ на: комментарий от pitekantrop

>Я считаю, что ассемблер должен исчезнуть. Как и ручное переключение передач на автомобилях. Этого пока не произошло из-за недостатка в технологиях.

8-ми битные микроконтроллеры и DSP с Вами не вполне согласны.

yurkis ()
Ответ на: комментарий от pitekantrop

> С одной стороны — тупиковая ветвь эволюции, с другой — демонстрация слабости высокоуровневых средств разработки.

Знаешь почему у Линуса флеш упал? Потому что memcpy написана на асме!

anonymous ()
Ответ на: комментарий от AP

>если в первой сцене есть мужская пиписька, то в финальной сцене она пляшет и поёт.

Оффтопик, но я тебя боюсь.

demmsnt ()
Ответ на: комментарий от yurkis

>8-ми битные микроконтроллеры и DSP с Вами не вполне согласны.

Это не плохо. Все VM именно потому и делались. Другой вопрос если ассемблра не будет, кто будет разбираться в VM? И что самое главное крутые асемблерные кодеры не с неба падают. И VM дизайнеры тоже. Не имея необходимости в ассемблере мы уже лет через 10 не найдем спеца который поймет почему в пентиуме баг.

demmsnt ()

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

demmsnt ()
Ответ на: комментарий от JustGuest

1. Тут у нас, вообще-то, x86-ассемблер, так что речь вряд ли шла о мобилках.

2. Не особо интересуюсь смартфонами, но у жены в смарте двухлетней давности процессор с частотой 600 МГц. Подозреваю, что сейчас уже вполне 1 ГГц перешагнули, а то и не с одним ядром. Так что производительность отнюдь не как у первопня. И для них уже написана куча софта, которых по количеству свистелок не сильно уступает десктопному. Поэтому альтернатива «либо юзать софт без свистелок, либо не юзать никакой» выглядит не совсем уместной.

3. А мобилка — она и есть мобилка. По ней звонят.

bloodredfrog ★★ ()
Ответ на: комментарий от demmsnt

>>8-ми битные микроконтроллеры и DSP с Вами не вполне согласны.

Это не плохо. Все VM именно потому и делались.

Это на самом деле плохо. Плохо когда вместо копеечной зверюшки ставят нифига себе проц «потому что С++ туды не влааааазит». Кроме того, существуют специализированые DSP со своими заточеными под DSP инструкциями.

Я сам двумя руками за LLVM, например. Но асемблер был, есть, и по-видимому будет есть еще очень долго, хотя это и не очевидно для пользователей ПК.

Другой вопрос если ассемблра не будет, кто будет разбираться в VM?

Да и компиляторы (в т.ч. и JIT) кому-то нужно делать.

yurkis ()
Ответ на: комментарий от demmsnt

>Поэтому мы тут с вами ржем, а пацаны себе феррари зарабатывают.

Вот это весьма возможно. Не смотря на расцвет ембедовки в мировом масштабе, спецов по низкоуровнему программированию больше не становится.

yurkis ()
Ответ на: комментарий от yurkis

>>Не смотря на расцвет ембедовки в мировом масштабе
Так джава ведь.

anonymous ()
Ответ на: комментарий от pitekantrop

> Я считаю, что ассемблер должен исчезнуть. Как и ручное переключение передач на автомобилях.

ты такой смешной.

ibraim ()
Ответ на: комментарий от yurkis

Короче у нас с тобой песня одна, но плохо или нет получается в разнобой.

Еще 10 лет назад я мог тебе найдти человека 4 которые делали ассемблерные вставки в код. Сейчас уже нет.

demmsnt ()
Ответ на: комментарий от g1itch

в ХР вроде надо было оснастку дополнительно ставить, но она в коробке шла

qwerty013 ()
Ответ на: комментарий от g1itch

> Ухты. На шиндошс уже из коробки NAT можно поднять?

Здрасте. В Windows XP всю её жизнь был урезанный (без настроек) NAT для раздачи инета.

geekless ★★ ()
Ответ на: комментарий от FeyFre

> Переверзев: Вполне возможно, тем более что минимальная реализация Flash у нас уже есть. Не совсем полноценная, зато на ассемблере.

Oo

Таки есть. И svg есть. Правда, не у всех.

Солодуха: К примеру, «Колибри» можно загружать не только без диска, но и вообще без BIOS.
Реквестирую объяснение и пример.

http://forum.osdev.org/viewtopic.php?f=2&t=23545&start=0&hilit=co...

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

Отладчик имеется, очень качественный. С процессами что-нибудь придумаем. Модель памяти поменяли, драйверы и библиотеки прикрутили, так что и с процессами все будет гуд.

Также отпал другой вопрос: а портировать готовый браузер вместо написания своего? Точнее так: портируем какой-нибудь glibc а за ним тянем и всё остальное?

Я самолично портировал основные компоненты браузера NetSurf (тот, что на Амигах). Но эта хрень получилась размером 4 мегабайта - совсем не круто. Большие шансы быть портированным у Dillo - но для него нужен FLTK. История получается как с freetype и моим рендером шрифтов. Я перенес freetype, и библиотека занимала от 60 до 300 килобайт, со всеми плюсами и минусами freetype. После этого я сделал свой растеризатор с нуля (статью можете поискать на Хабре), и он на глифах размером меньше 600x600 рвет по скорости работы freetype, дает качество, сопоставимое с ним, и при этом занимает менее 20 килобайт. Правда, ассемблерная версия до сих пор не готова (она парсит svg в контуры, но ничего не выводит), а потому в дистрибутив не входит. Вот и верьте после этого в code reuse.

anonymous ()
Ответ на: комментарий от Axon

>Вот она, настоящая игровая ОС. А вы всё: виндовс, виндовс... После портирования ZSNES (осенью) на Колибри, который работает, кстати говоря, со звуком, для моего недобука наступил линуксокапец. mp3 + игрушки + текстовый редактор.

anonymous ()
Ответ на: комментарий от goingUp

>Ну так и чтобы создать браузер с полной функциональностью (html4 и js) и хотя бы с производительностью ФФ (производительность хуже ФФ в ассемблерной ос смотрелась бы странно) надо затратить в разы больше усилий, чем на эту ОС)

Едва ли. Мини-Js у меня работает в экспериментальном порядке, парсинг html - тоже. Парсер css пишет другой человек. Библиотеки графики имеются. На всё про всё ушло вечеров пять-шесть. Еще десять раз по пять-шесть вечеров, и будет быстрый маленький веб-браузер с поддержкой html4 (частично html5 и css3) и javascript. Первоочередная цель - запустить злых птичек для Хрома.

anonymous ()
Ответ на: комментарий от FeyFre

ответ FeyFre

Колибри в BIOS:

http://board.kolibrios.org/viewtopic.php?f=25&t=1368&start=78

В Колибри есть полноценный нативный отладчик MTDBG, без него действительно фиг что забубенишь.

Работы по портированию библиотек (и браузеров!) ведутся.

anonymous ()
Ответ на: комментарий от anonymous

> После этого я сделал свой растеризатор с нуля (статью можете поискать на Хабре), и он на глифах размером меньше 600x600 рвет по скорости работы freetype, дает качество, сопоставимое с ним, и при этом занимает менее 20 килобайт.

И поддерживает все те же форматы? Ври дальше. ^__^

Но скрины растерезаций с хабры довольно качественные, не могу не признать.

geekless ★★ ()
Ответ на: комментарий от ibraim

все остальное строго на С и С++ с Qt, софт, который ставится просто распаковкой архива в одну директорию

Или имелись ввиду бинари?

lmtea ()
Ответ на: комментарий от yurkis

Стало интересно, погуглил.Оказывается, сейчас выпускается eZ80 — 8-разрядный процессор с тактовой частотой 50 МГц и улучшенной архитектурой. Стоит 500-1000 рублей, в зависмости от модификации и поставщика.

Oleaster ★★★ ()
Ответ на: комментарий от anonymous

Знаешь почему у Линуса флеш упал? Потому что memcpy написана на асме!

Вообще-то, флэш+memcpy заглючил не потому, что memcpy написана на ассемблере, а потому, что лемминги из adobe заложились на недокументированное поведение и использовали memcpy для перекрывающихся регионов.

no-dashi ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.