kolibri os

18
Kolibri OS 1

Upload: it-club-mykolayiv

Post on 15-Jun-2015

465 views

Category:

Technology


8 download

DESCRIPTION

Кирилл Липатов, разработчик KolibriOS: KolibriOS - самая миниатюрная OS в мире - Отличительные особенности - История появления - Технические характеристики - Программирование под KolibriOS - Практическое применение - План на будущее

TRANSCRIPT

Page 1: Kolibri OS

1

Kolibri OS

Page 2: Kolibri OS

2

Особенности KolibriOS

• миниатюрность• скорость• графическое окружение

Page 3: Kolibri OS

3

Файловый менеджер Eolite, менеджер виртуальных дисков (RAM-) дисков

Page 4: Kolibri OS

4

Видеоплеер FPlay, просмотрщик изображений KIV, Палитра

Page 5: Kolibri OS

5

Минимальные системные требования

• Intel 586 совместимый процессор на частоте 50 MHz

• 8 Mb оперативной памяти• VGA/Vesa совместимая видеокарта• 1.44 Мб на загрузочном устройстве

Page 6: Kolibri OS

6

• предшественник Колибри• проект закрытMenuet32

Page 7: Kolibri OS

7

• учтены ошибки• поддержка х64• исходники закрыты

• требует 768 Мб ОЗУ• неплохой браузерMenuet64

Page 8: Kolibri OS

8

Возможности KolibriOS• вытесняющая многозадачность, возможность создания

потоков, параллельное исполнение системных вызовов• страничная адресация• звуковые карты (AC’97, HDAudio, SoundBlaster)• TCP/IP-стек, поддержка популярных сетевых карт• поддержка аппаратного ускорения для видеокарт ATI и

Intel, для других используется стандартный драйвер Vesa

• USB стек (OHCI, UHCI, EHCI), поддержка мышек, клавиатур и флешек

• полная поддержка FAT 12/16/32; только чтение ISO9660 (Joliet), NTFS, XFS* и EXT 2/3/4*

Page 9: Kolibri OS

9

Программирование в KolibriOS

Описание KolibriOS с Википедии:

«Система рассчитана на использование ассемблера для написания приложений, но есть и программы, написанные на языках Ада, Си, C++, Free Pascal, Forth.»

Page 10: Kolibri OS

10

Функция 1 - поставить точку в окне.Параметры: • eax = 1 - номер функции • ebx = x-координата (относительно окна) • ecx = y-координата (относительно окна) • edx = 0x00RRGGBB - цвет точки

edx = 0x01xxxxxx - инвертировать цвет точки (младшие 24 бита игнорируются)

Возвращаемое значение: функция не возвращает значения

Примеры написания кода на ассемблере

Документация

Код на ассемблере

mov eax, 1mov ebx, 10mov ecx, 20mov edx, 0x00CCCCCCint 0x40

Ассемблер + макрос mcall 1,10,20,0x00CCCCCC

Page 11: Kolibri OS

11

Примеры написания кода на ЯВУ

Процедура в библиотеке MSVC

Код в программе

void kos_PutPixel( Dword x, Dword y, Dword colour ){

__asm{mov eax, 1mov ebx, xmov ecx, ymov edx, colourint 0x40

}}

kos_PutPixel(10, 20, 0x00CCCCCC);

Page 12: Kolibri OS

12

FASM• много библиотек• много примеров• компиляция через редактор TinyPad, файловый

менеджер KFar и сам FASM• простота использования и компиляции

Page 13: Kolibri OS

13

Другие компиляторы иинтерпретаторы под Колибри

• TinyC• Порт LUA последней версии 5.2• Порт Pyton (TinyPy)• Интерпретатор Brainf#ck

Page 14: Kolibri OS

14

Кросскомпиляция• MSVC++• GCC, G++ (библиотеки libc и newlib)• Borland C++• Sphinx C—• Free Pascal и Pascal Pro• Ассемблеры FASM, NASM, MASM• XDS Modula-2/Oberon-2 compiler• Среда Delphi• Open Watcom

Примеры http://kolibri-n.org/inf/hll/hll.php

Page 15: Kolibri OS

15

• непортируемость• слабая библиотека GUI элеменетнов• нехватка программного обеспечения и

драйверов• мелкие и не масштабируемые шрифты• отсутствие нормального браузера

Проблемы Kolibri

Page 16: Kolibri OS

16

Варианты использования• для восстановления данных после

падения системы • для маломощных дешёвых

компьютеров [цифры для сравнения]• для домашнего и офисного

использования• как сервер• как встраиваемая система• для управления техпроцессом• для обучения программированию

Page 17: Kolibri OS

17

Планы

• больше открытости и социальности• расширение поддержки сети• лучше организация и координация• хороший софт• попытки покорения новых рынков,

например, встроенного оборудования

Page 18: Kolibri OS

18