Переверзев: С периферией тоже неплохо - есть поддержка USB, то есть клавиатуры и мышки работают.
- Что ещё планируется добавлять в обозримом будущем?
Переверзев: Трудно сказать, тут всё зависит от личного времени разработчиков.
Солодуха: Cейчас, например, на форуме появился человек, который вроде бы хотел реализовать Unicode, по крайней мере, поднимал такой вопрос.
- А сейчас какая кодировка?
Переверзев: Сейчас в системе де-факто 866, изменённая для поддержки русского, украинского, эстонского, латышского и ещё нескольких языков. Но в файловой системе используется Unicode, так что потихоньку переходим на него.
- Кстати, какие файловые системы поддерживаются?
Переверзев: FAT12, 16 и 32 - для записи и чтения, плюс ISO 9660 (это компакт-диски), и на чтение поддерживается NTFS, Ext2 и Ext3.
- Как в "Колибри" реализована многозадачность?
Переверзев: Можно создавать потоки, а вот процессов как таковых нет. Процесс - это множество потоков с общим адресом пространства.
- А защищённая память?
Солодуха: Есть стандартная для архитектуры x86 защита страниц.
- Межпроцессорное взаимодействие как-то реализовано?
Переверзев: Есть IPC и есть расшаренная память. То есть можно создать образ общей памяти и обмениваться данными между приложениями. Есть ещё общесистемный буфер обмена.
- Вы упомянули, что для "Колибри" существует около двухсот программ...
Переверзев: На самом деле их гораздо больше. Двести актуальных, которые хорошо работают.
- Что это за программы?
Переверзев: По статистике, больше всего игр - больше ста.
- Какие игры?
Солодуха: По большей части небольшие логические игры.
- Портированные с каких других систем?
Солодуха: Нет, это написанные для "Колибри".
Переверзев: На самом деле, написать игру гораздо проще, чем сделать что-то серьёзное вроде текстового или графического редактора. Поэтому программисты часто пробуют свои силы на небольших играх.
Солодуха: Есть аналоги игр с других систем - "сапёры", пасьянсы и так далее. Они написаны для "Колибри" с нуля. Но есть и полезные программы - несколько файловых менеджеров, включая клон Windows Explorer, клон Far Manager и Total Commander.
- Из известных игр что-нибудь портировали?
Переверзев: Есть Quake и Doom. Из эмуляторов есть DOSBox и эмулятор Nintendo. Кстати, в DOSBox можно запустить Windows 98 - я пробовал. Есть реализация языка Lua самой последней версии - 5.2. Есть рендер шрифтов Freetype и Mesa 3D - реализация библиотек OpenGL. Очень важная вещь: есть кодеки ffmpeg. Интересный факт: на несильной машине запускали двадцать-тридцать видеороликов одновременно, и загрузка процессора не превышала 50 процентов. В "Колибри" вообще оказалось довольно сложно загрузить процессор полностью.
- На чём в основном пишут программы?
Переверзев: На ассемблере.
- На высокоуровневых языках вообще не пишут?
Переверзев: Иногда пишут или портируют что-нибудь на Си или Паскале. Есть несколько программ на Lua.
Солодуха: Я ещё могу вспомнить, что кто-то из ребят пишет на таком языке, как Sphinx C--.
Переверзев: Кстати, это любопытный язык. Это такой Си, каким он мог бы когда-то быть. Когда-то давно Си был транслятором в ассемблер, а C-- им и остался, просто добавился синтаксический сахар в стиле языка Си. На нём написано много интересных программ.
- Я слышал, была реализация Python.
Солодуха: Есть tinypy, но программ на нём пока нет, и на нём не выйдет запустить произвольную программу на Python без изменений. Там нет некоторых важных особенностей языка - к примеру, генераторов и кортежей.
- Виртуальные машины есть? Не было ли идей, к примеру, портировать Java?
Переверзев: Сейчас ведутся разговоры о целесообразности этого. В принципе, технически это возможно. Вообще эталонную реализацию Sun я даже компилировал сам в "Колибри", но лицензия не позволяет её кому-нибудь показывать.
- Есть ли какие-нибудь идеи о коммерческом применении "Колибри"?