Cum se instalează Kolibri OS ca prim sistem. Semnificația practică a KolibriOS

KolibriOS este un furk al MenuetOS și nu are legătură cu niciunul familia UNIX, nici cu Standard POSIX. Sistemul este scris în programul de asamblare multi-pass disponibil gratuit. Acest fapt asigură miniaturizare, viteză mare și cerințe hardware reduse. LiveCD bootabil ocupă aproximativ 7 megaocteți, iar componentele principale pot încăpea pe o dischetă (1,44 MB).

Dar greutatea ușoară nu înseamnă lipsă de funcționalitate. Implementează o interfață de utilizator bazată pe VESA, un set de drivere, un browser, procesor de text, editor grafic și vizualizator, instrumente de dezvoltare, jocuri simple și multe alte programe. Dintre sistemele de fișiere, FAT12, FAT16, FAT32 sunt pe deplin acceptate și parțial (numai pentru citire) - NTFS, ISO9660, Ext2, Ext3, Ext4.

Cerințe de sistem

  • CPU: Intel Pentium/ AMD 5x86 / Cyrix 5x86 fără MMX cu o frecvență de 100 MHz
  • RAM: 8 Mb
  • Placa video: suporta VGA (mod 640*480*16) sau Vesa
  • Tastatură: AT
  • Mouse: COM sau PS/2

Dispozitive de pornire acceptate

  • Dischetă 3.5
  • IDE HDD LBA
  • CD/DVD
  • USB Flash

Limbile disponibile sunt engleza, rusa, italiana si spaniola.

Instalare

  • Pe dischetă:
  1. Descărcați imaginea universală
  2. Înregistrarea imaginii
  • din Linux:
    • dd if=kolibri.img of=/dev/fd0

  • din Windows:
    • rawrite2 -f kolibri.img -d A

  • Pe hard disk (folosind GRUB sau GRUB2):
    1. Descărcați imaginea universală
    2. Despachetați-l în folderul kolibri din rădăcina discului
    3. Configurarea bootloader-ului
    • GRUB. Adăugați următoarele rânduri la menu.lst:
      • eticheta KolibriOS
        rădăcină ( hd0.0)
        kernel /kolibri/HD_Load/memdisk
        initrd /kolibri/kolibri.img

    • GRUB2. Adăugați următoarele linii la grub.cfg:
      • titlu KolibriOS
        căutare --no-floppy --fs-uuid --set=root UUID
        linux16 /kolibri/HD_Load/memdisk
        initrd16 /kolibri/kolibri.img

  • Pe o unitate flash USB:
    1. Descărcați imaginea universală
    2. Despachetați-l în orice folder
    3. Instalarea bootloader-ului
    • din Windows:
      • Rulați fișierul HD_Load\USB_Boot\inst.exe
      • Copiați kolibri.img la rădăcina unității flash
    • din Linux:
      • Instalați GRUB2 pe un card flash: grub-install /dev/sdb
      • Următorii pași sunt aceiași cu instalarea pe un hard disk.
  • Pe CD:
    1. Descărcați Bootable LiveCD
    2. O scriem presei
    De fapt, există multe modalități de a instala un sistem pe un hard disk sau pe o unitate flash. Am indicat doar cele mai populare și orientate către faptul că orice altă distribuție Linux este deja disponibilă.

    Și da, aproape am uitat: (hd0,0), UUID și /dev/sdb sunt variabile. Prin urmare, ar trebui să înlocuiți aceste valori cu propriile valori. Iată cum să le recunoașteți:
    (hd0.0). Primul număr este numărul hard diskului. Al doilea număr este numărul partiției de pe hard diskul dorit. Numărarea începe de la 0.
    UUID. ID pentru secțiunea dorită. Îl puteți obține cu comanda ls -l /dev/disk/by-uuid din terminal orice Linux sisteme.
    /dev/sdb. Fișierul dispozitivului în linux. Îl puteți afla fie din managerul de fișiere, fie din utilitarul de partiționare consolă sau disc. Arată ca /dev/sdX pentru dispozitivele SATA și /dev/hdX pentru unitățile conectate la IDE.

    Sper că ați finalizat cu succes instalarea.
    Dacă aveți întrebări/probleme, vă rugăm să le întrebați în comentarii.

    Acum este timpul să ne uităm în jurul KolibriOS.

    Capturi de ecran

    Nota: click pe imagine pentru a o mari


    Începeți să descărcați KolibriOS


    Selectarea unui mod video din lista celor acceptate






    Conținutul meniului „Jocuri” > „Logică”.


    Conținutul meniului Jocuri > Arcade


    Conținutul meniului „Demo” > „3D” (demonstrarea capacităților sistemului grafic)


    Conținutul meniului Grafică



    Conținutul meniului Dezvoltare > Exemple


    Conținutul meniului „Sistem” > „Setări”.


    Conținutul meniului „Sistem” > „Senzori de sistem”



    Conținutul meniului „Sistem” > „Testare”


    Conținutul meniului Sistem > Accesibilitate


    Conținutul meniului „Procesarea datelor”.


    Conținutul meniului Rețea > Servere



    Conținutul meniului Diverse





    Sudoku, dragă mine, dame




    Monitor de sistem. Se deschide prin apăsare ceva roșu este în tavă



    Fereastra de închidere

    Interfața sistemului prezintă un interes deosebit. La urma urmei, dimensiunea sa este extrem de mică și ați putea crede că interfața este slabă. Dar acest lucru nu este în întregime adevărat. Aici trebuie să luați în considerare criterii precum aspectul și funcționalitatea. Aspect Am fost mulțumit: este perceput la fel cu managerii de ferestre în sisteme Linux.

    Rezultate

    Mi-a plăcut KolibriOS. Da, puțini oameni îl vor folosi ca sistem de operare principal. Dar pentru mine a devenit un simbol al perseverenței, al credinței în puterea și succesul cuiva. Hummingbird se dezvoltă în asamblare fasm de 9 ani. S-au făcut deja multe, dar proiectul continuă să trăiască și să se dezvolte. Recent, de exemplu, a existat Suport USB. Și în fiecare zi (!) sunt lansate versiuni de noapte care implementează noi funcții.
    Unul dintre principalele dezavantaje este lipsa programelor familiare. Și asta nu este bine. Dar este posibil

    Salut din nou! Acesta este un programator începător și utilizator ThreshBox Vadim. Vă prezint al doilea număr al VadBox. Tema acestui număr a fost sistemul de operare KolibriOS în miniatură.
    Acest sistem este localizat pe 1,44 MB de memorie, ceea ce este o bucată de praf pe ecranul Gorilla Glass în comparație cu iPad și iPhone. Ceea ce mă bucură este că proiectul este „viu” și continuă să se dezvolte. Și nu de altcineva, ci de programatorii noștri ruși. Pe în acest moment KolibriOS a ajuns din urmă cu Windows 95 în dezvoltare, dar îl depășește din toate punctele de vedere. Acestea sunt viteza, dimensiunea, calitatea etc. Peste 30 de jocuri, browser, grafică și editori de text, media player și multe altele, inclusiv imnul rus în format audio. De exemplu, jocul Tetris cântărește doar 1125 de octeți. Sistemul necesită doar 8 MB pentru a funcționa RAM si un procesor x86. Când m-am întâlnit prima dată, am fost surprins de cât de repede a pornit laptopul pe acest sistem - a durat doar un moment! Nimic nu se învârtea, nimic nu se revărsa (ca în Windows), doar am apăsat butonul ON și sistemul a pornit instantaneu. Mai multe detalii despre sistem pot fi găsite sub tăietură.

    Poveste


    Cunoașteți numele MenuetOS? Acesta este primul sistem creat cu mult înainte de Hummingbird, dar cu speranța de a deveni cel mai rapid OS grafic (motor Assembler). La dezvoltare au lucrat oameni de diferite naționalități, în principal din țările URSS. În curând autorul s-a săturat de acest sistem, a decis să facă ceva mai interesant. Dar planurile lui au eșuat. Partea rusă a dezvoltatorilor a trecut la dezvoltarea propriului sistem de operare bazat pe Minuet, AtomOS. În 2005, acest proiect a luat sfârșit. Dar echipa de dezvoltatori din Rusia și țările CSI nu intenționează să renunțe la realizările lor. În 2004, a fost lansat un proiect independent KolibriOS, bazat pe același Minuet. Proiectul este în permanență îmbunătățit și extins, ceea ce mă face fericit.

    Informații generale


    Apariția lui Kolibri OS


    Firmware oficial foarte asemănător cu Windows Vista, ceea ce adaugă ușurință în utilizare. Puteți schimba ecranul desktopului, pictogramele etc. Pe site-ul oficial al sistemului de operare Kolibri există chiar și un shell grafic care este similar cu desktopul Masa Mac OS. Până acum există un singur virus pentru acest sistem, Menuet.Oxymorot. Cu toate acestea, este ușor de detectat de antivirusul MenAV încorporat, care are o singură intrare în baza de date. Sistemul de operare este perfect pentru a naviga pe internet, dar de ceva timp browserul nu a deschis corect toate paginile. M-am dezabonat cu cod html obișnuit, fără conversie.

    Instalarea KolibriOS


    Sistemul de operare Hummingbird în emulator QEMU


    Nu recomand să-l instalați ca sistem de operare principal. Cu toate acestea, există încă puține oportunități. Dar sunt bine să-l instalez pe o mașină virtuală :). Va funcționa cu viteză mare pe emulatorul Limbo pentru Android. Este foarte ușor să porniți, urmați informațiile din subiect Pe computerul dvs. puteți porni sistemul direct de la disc terminat. Voi scrie mai multe despre asta în recenzia Hummingbird (în următoarele VadBoxes).

    Puțină practică

    Deoarece sunt un programator începător, am în creier informații despre dezvoltarea software-ului pe KolibriOS. Deoarece acest sistem este deschis, puteți scrie programe direct în sistemul de operare. Pentru a crea un program simplu, scrieți codul în editorul TinyPad încorporat:
    #include
    #include
    #include
    #define FONT0 0
    #define FONT1 0x10000000

    Char header=("Bună lume!");

    #define BT_NORMAL 0
    #define BT_DEL 0x80000000
    #define BT_HIDE 0x40000000
    #define BT_NOFRAME 0x20000000

    Void draw_window())(
    _ksys_window_redraw(1);
    _ksys_draw_window(100, 100, 300, 120, 0xaabbcc, 4, 0x5080d0, 0, 0x5080d0);
    _ksys_write_text(50,30,FONT0, header, strlen(header));
    _ksys_window_redraw(2);
    }
    int main(int argc, char **argv)(

    În timp ce(!0)(
    comutați(_ksys_wait_for_event(10))(
    cazul 2:retur 0;

    Cazul 3:
    if(_ksys_get_button_id() == 1)return 0;
    pauză;

    Implicit:
    draw_window();
    pauză;
    }
    }
    }

    Salvați în format *.c. Deschideți folosind sistemul încorporat Programe Shell.
    Ar trebui să obțineți următoarele:


    Acum voi încerca să explic în detaliu semnificațiile codului.
    Desenarea unei ferestre, cod _ksys_window_redraw(1) atunci_ksys_window_redraw(2). Pentru a naviga în spațiu, folosim codul _ksys_draw_window, responsabil pentru coordonatele x/y, culoare, lățime, înălțime, tip etc.
    Pentru a face textul să apară, utilizați codul _ksys_write_text.
    Tipuri de ferestre:
    0 - tip I - fereastra dimensiuni fixe(fara piele)
    1 - definiți doar zona ferestrei, nu desenați nimic
    2 - tip II - fereastra redimensionabil(fara piele)
    3 - fereastră cu piele (redimensionabilă)
    4 - fereastra cu o piele de dimensiuni fixe
    A funcționat? Programul este scris în C, care a devenit recent susținut de Kolibri.
    Ți-a plăcut acest sistem de operare în miniatură? Vrei să fac o recenzie video a unui astfel de sistem? Este util acest articol? Trebuie să continui să vărs informații de programare din creier? Scrieți răspunsurile dvs. la toate aceste întrebări în comentarii și adresați-vă pe ale dvs. Puteți descărca Hummingbird de pe site-ul oficial:

    KolibriOS este o furcă a sistemului de operare pe 32 de biți, cândva foarte popular, MenuetOS în Rusia. MenuetOS a fost împărțit artificial în două ramuri: deschis pentru procesoarele pe 32 de biți și închis pentru procesoarele pe 64 de biți. Această diviziune artificială nu este prezentă în KolibriOS, care rulează atât pe procesoare pe 32, cât și pe 64 de biți. KolibriOS este distribuit absolut gratuit, sub licență GPL, la fel ca Menuet32.

    Chiar și în scurtă descriere Istoria KolibriOS nu poate să nu menționeze evenimentele care au precedat apariția sa, mai ales că sunt destul de interesante.

    Început

    În a doua jumătate a anilor 1990, studentul finlandez Ville Turjanmaa a scris un shell grafic pentru DOS. El dorea ca programele lui Pascal să ruleze în modul multitasking protejat și să aibă o interfață grafică cu ferestre. Shell-ul a fost numit Program MultiRun pentru IBM-PC. Programul a crescut în capacități și de-a lungul timpului s-a transformat într-un sistem de operare autosuficient (nu mai era necesar DOS), care a fost lansat de pe o dischetă. Acest sistem de operare a fost numit MrOS, iar volumul textelor sale sursă în Pascal a fost de 25 de mii de rânduri. Distribuția a inclus trei duzini de programe precum un ceas, un player AudioCD, jocuri, un sintetizator de pian, un control al volumului... În ultimele versiuni s-a lucrat la bootloader-ul fișiere executabile Formatul ELF, dar a venit mileniul, iar programatorii din întreaga lume au început să vorbească despre Java, XML, limbaje de scripting și alte tehnologii.

    Ville și-a dat seama că sistemul său de operare pe 16 biți era depășit și trebuia schimbat ceva. Pe de altă parte, nu i-a plăcut execuția lentă a programelor scrise în limbaje interpretate, prezența unor straturi între program și hardware. A decis să scrie cel mai rapid nucleu din lume și singurul limbaj potrivit Pentru asta a fost asamblerul. O schimbare atât de radicală a cursului a provocat nedumerire în rândul colegului său de la MrOS. Jan-Michael Brümmer a început proiectul TabOS asemănător Unix, deși mai târziu a scris ceva cod și pentru MenuetOS.

    Câteva luni mai târziu, MenuetOS 0.01 a fost lansat. Numele a fost inventat pe vremea MrOS, dar Ville l-a salvat pentru noul sistem de operare. Provine de la cuvintele Menu și Menuet, deoarece utilizarea sistemului de operare ar trebui să fie simplă (cum ar fi lucrul cu meniurile de programe) și distractivă (cum ar fi dansul). La acel moment a fost dezvoltat folosind asamblatorul Nasm și interfața sa era similară cu cea a MrOS original. De exemplu, unele părți ale interfeței MrOS (pictograma M gotică și designul trandafir de pe ecranul de închidere) au fost folosite în MenuetOS de câțiva ani. Comunitatea de dezvoltatori MenuetOS a fost foarte mică până pe 5 septembrie 2001, când a fost publicat un interviu pe site-ul popular OSNews. Un sistem de operare cu interfață grafică, scris în limbaj de asamblare și încadrat pe o dischetă – lumea nu a mai văzut așa ceva de atunci PC/GEOSînceputul anilor 1990. Oamenii au descărcat acest sistem de operare, au răspândit vestea despre el pe forumuri și au creat site-uri web dedicate acestuia. Rețineți că site-urile rusești au fost create literalmente la o săptămână după interviu. Evenimentele din 11 septembrie 2001 au distors atenția de la MenuetOS, dar dezvoltarea a continuat.

    MenuetOS era încă un proiect brut și lipseau multe din el. Dezvoltatorii au început să se alăture Villa. La începutul anului 2002, asamblatorul FASM a fost portat și a devenit posibilă compilarea nucleului și a programelor direct în MenuetOS.

    MenuetOS RE

    În toamna anului 2004, Ivan Poddubny a lansat 3 beta ale distribuției RE#8 (Ediția Rusă), care includea un nou subsistem de randare GUI și un player de fișiere wav pentru plăci de bază cu sunet încorporat. În acest timp, Mike Hibbett s-a trezit prea ocupat la muncă și ia returnat frâiele lui Villa la sfârșitul lunii decembrie.

    În primăvara anului 2005, Ivan Poddubny a lansat un nucleu, a cărui dimensiune a fost redusă cu 20% față de cel oficial cu funcționalitate mai mare. Acest nucleu a stat la baza distribuțiilor Kolibri 3 și Kolibri 3 SE, care au introdus o interfață de utilizator îmbunătățită (ferestre minimizate și o bară de activități modificată), set extins funcțiile sistemuluiși suport pentru formatul rtf.

    În acest moment, s-a pus întrebarea liderului de proiect. Ville era ocupat cu dezvoltarea Menuet64 și nu putea lansa distribuții, așa că l-a propus pe Jaroslav Pelczar drept lider. După dispute pe o serie de probleme (de ce un programator C devine liderul unui sistem de operare în limbaj de asamblare, de ce dezvoltatorii din comunitatea de limbă rusă nu pot revendica rolul de lider), el a fost aprobat de forum. Toată lumea avea mari speranțe pentru el după lansarea lui 0.79pre1 și competiția pentru scrierea de jocuri noi. Dar s-a mutat în comunitatea sistemului de operare Syllab după câteva luni.

    Distribuția Kolibri 4, lansată în iunie, a adus detecție automată mouse-ul și partițiile de discuri/hard disk, precum și un nou ecran de încărcare care vă permite să selectați frecvența de scanare verticală a monitorului.

    În iunie 2005, Menuet64 0.01 a fost lansat și Ville a spus clar că dezvoltarea acestui sistem de operare ar trebui să fie obiectivul principal nu numai pentru el, ci pentru întreaga comunitate (deși în acel moment nimeni în afară de el nu avea computere pe 64 de biți). Codul sursă Menuet64 a fost închis, așa că nu a atras programatorii de frunte ai comunității Menuet32. Au continuat lucrările la distribuția Kolibri. Dezvoltarea lui Kolibri l-a iritat pe Ville, iar acesta a avut o ceartă cu echipa noastră, ceea ce a dus la o ruptură a relațiilor.

    KolibriOS

    Lansarea următoarei versiuni de Kolibri în octombrie 2005 a devenit un reper (anunț pe site-ul web de atunci): suport pentru FAT12 și managementul memoriei, un driver de disc RAM îmbunătățit și o nouă semantică pentru accesare hard disk-uri. Diferența dintre nucleul Kolibri și MenuetOS a ajuns la 50% - semn că s-a născut un nou sistem de operare! Această versiune a fost numită KolibriOS 0.50 ca semn al menținerii continuității din distribuția Kolibri.

    Modificările în versiunile 0.52 și 0.53 au vizat îmbunătățiri ale ecranului de încărcare, afișare a fonturilor, manevrarea mouse-ului, GUI OS. S-a adăugat suport pentru fișierele MIDI. În versiunea 0.58 au existat schimbări serioase în lucrul cu hard disk-uri(inclusiv suport pentru nume lungi de fișiere), au apărut suport pentru sistemul de fișiere CDFS și standardul de gestionare a energiei APM. Versiunea 0.60 a inclus îmbunătățiri pentru unele moduri grafice, în lucrul cu un mouse și hard disk-uri, a adăugat și suport pentru ieșirea șirurilor ASCIIZ. Lansarea KolibriOS 0.63 a fost asociată cu introducerea suportului pentru drivere externe și biblioteci dinamice, suport DMA pentru hard disk-uriși format fișiere muzicale mp3. Versiunea 0.65 include suport pentru fișiere sisteme NTFS(numai citire și rulați programe), cursoare de mouse non-standard și modificări în câteva zeci de programe.

    În vara lui 2007, nucleul a fost rescris pentru a utiliza un model de memorie plată pentru a accelera funcționarea și stabilitatea aplicațiilor. Această modificare a făcut imposibilă rularea programelor Menuet32 pe KolibriOS, dar am pierdut puțin, deoarece Menuet32 nu este practic dezvoltat.

    S-a făcut deja începutul unei biblioteci unificate de elemente de interfață grafică, care va grăbi dezvoltarea de noi programe și funcționalitatea acestora. Planurile dezvoltatorilor: suport fonturi normale; îmbunătățirea programelor multimedia, de birou și de rețea; portarea compilatorului limbajului C (există deja dezvoltări pe Tiny C Compiler și Open Watcom); extinderea funcționalității în lucrul cu sistemele de fișiere; crearea unui clipboard de sistem; Suport USB.

    Cine o dezvoltă?

    ÎN momentul prezent KolibriOS se dezvoltă datorită eforturilor a trei duzini de oameni, printre care se numără reprezentanți ai Belarus, Belgia, Germania, Kazahstan, Moldova, Rusia, Uzbekistan, Ucraina, Estonia și o serie de alte țări. Unii membri ai echipei noastre de dezvoltare au participat odată la dezvoltarea MenuetOS original. Înainte de versiunea 0.58.1, kiturile de distribuție au fost asamblate de Marat „Mario79” Zakiyanov și începând cu versiunea 0.60 - de Evgeniy „Diamond” Grechnikov. În iulie 2006, site-ul oficial a fost deschis. Puțin mai târziu vor fi un forum, un server SVN, un wiki și un blog.

    Ce oferă utilizatorului și programatorului?

    Peste 250 de programe au fost dezvoltate pentru KolibriOS. Desigur, acest lucru nu este mult în comparație cu sistemele de operare, a căror dezvoltare a început încă din anii 80-90 (Windows, Linux, BeOS, *BSD), dar absența programelor atrage dezvoltatorii, acționând ca o bună oportunitate de a-și încerca mână. Datorită DOSBox portat, este posibil să rulați mai multe mii de programe scrise pentru DOS.
    Există puține programe de birou, dar editorul de text TINYPAD este destul de avansat (interfață cu mai multe documente, codificare modificată, evidențierea sintaxei, numerotarea liniilor, compilarea textelor sursă direct din editor) în comparație cu analogii din orice alt sistem de operare. De asemenea, este posibil să vizualizați fișiere rtf în programul RTFREAD. Există un editor de tabele TABLE cu suport pentru formule, un program pentru construirea de grafice. Desigur, există un calendar, un calculator și un dicționar englez-rus. Puteți vizualiza arhivele în formate 7z, zip.

    Pentru fanii divertismentului multimedia, există posibilitatea de a vizualiza fișiere grafice în formatele bmp, gif, jpeg, png, tga, pcx, ico, cur și 3ds, de a asculta fișiere muzicale în formate mid, mp3, wav, xm și audio obișnuit. discuri. Editorul grafic ANIMAGE vă permite să creați și să editați desene. KolibriOS este echipat cu un screensaver excelent, sincer. :)

    De dintr-un motiv necunoscut cel mai dezvoltat pentru MenuetOS și KolibriOS manageri de fișiere(cel putin 7). Acum, cei mai des actualizați manageri sunt Eolite și KFAR (analog cu FAR). Există și KFM ( analog cu Total Comandant), care nu mai este actualizat, însă, conform ultimelor declarații, autorul își va rezolva puțin restul treburilor și va începe să lucreze la KFM. Ceea ce este o veste bună.

    Pentru KolibriOS sunt scrise un număr mare de jocuri mici: „KFara”, „Mower”, cunoscutul și iubitul „Tetris”, „Arkanoid”, „15”, „Mineweeper”, „Checkers”, „Clicks” și altele, precum jocurile sunt portate precum Doom și Quake. Multe jocuri pot fi rulate în emulatori: XFCE (pentru Dandy), DOSBox și ScummVM.

    Există mai multe programe de identificare, monitorizare a stării, testare hardware de calculator(procesor, placa de baza si alte dispozitive).

    Deşi stiva de rețeaîncă în curs de finalizare, dar programe de rețea deja acolo.

    Există chiar și două programe științifice - tabelul periodic și un program pentru spectroscopie Mössbauer.

    Principalul limbaj de dezvoltare este FASM, alegerea a căzut asupra lui, deoarece este singurul asamblator care se dezvoltă activ și este foarte puternic și gratuit. Dar un dezvoltator poate scrie biblioteci, drivere și programe nu numai în limbaj de asamblare, ci și în limbaje de nivel înalt, cum ar fi C++, C, C--, FreePascal, Forth și altele. Instrucțiunile pentru utilizarea multor compilatoare sunt în acest articol. Există compresoare de fișiere executabile, editori hex și instrumente de depanare. Pentru a accelera dezvoltarea, există un emulator KbrInWin pentru rularea programelor KolibriOS pe Windows.

    Concluzie

    Avantajele incontestabile ale KolibriOS față de multe alte sisteme de operare floppy sunt: ​​performanță ridicată, capacitatea de acces extern unități de discși salvarea rezultatelor muncii, interfață personalizabilă și plăcută, cod sursă deschis.

    Poate fi recomandat programatorilor care doresc să încerce să creeze un sistem de operare sau să învețe asamblare. Dacă Windows oprește încărcarea, KolibriOS va ajuta la copiarea datelor importante din partițiile NTFS (EXT 2/3 sau FAT) pe o altă partiție, în ciuda faptului că timpul de pornire este de 5 secunde, iar viteza de copiere este cu 6-8% mai mare decât în ​​Windows . Disponibilitatea Dandy și emulator DOS plus setul jocuri interesante poate atrage atenția copiilor care învață să folosească un computer. În același timp, este destul de funcțional și poate fi folosit pentru a înlocui Windows într-o serie de sarcini. Unul dintre companii americane folosește MenuetOS și KolibriOS pe computerele sale de câțiva ani, în timp ce în Rusia KolibriOS este folosit în producție.

    Compania israeliană „Green Gadgets Ltd” plănuia să vândă computere ultra-ieftine cu Hummingbird la bord (mai multe detalii în acest subiect). Unii dezvoltatori au primit gadget-urile companiei pentru a adapta sistemul pentru ei și pentru a scrie drivere. Cu toate acestea, un an mai târziu, compania s-a prăbușit și Hummingbird a zburat mai departe...

    Există chiar și un proiect extrem de ambițios încorporați pasărea colibri în BIOS placii de baza Placi de arhitectura AMD/HT. Mai multe despre asta pe wiki și în acest thread. Prima versiune a acestui proiect KolibriA este deja închis, dar i-a oferit autorului cunoștințe valoroase și o experiență unică, fără de care nu ar fi putut obține niciodată Loc de muncă bunîntr-o firmă cunoscută specializată în dezvoltarea sistemelor tehnice de viziune. Nu cu mult timp în urmă a început o nouă rundă a proiectului KolibriB cu putere proaspătă și cunoștințe acumulate.


    Întrucât KolibriOS este dezvoltat în principal de dezvoltatori din CSI și este distribuit gratuit, cei interesați nu vor avea probleme să se familiarizeze cu sistemul de operare și să stabilească contacte cu comunitatea. Încercați, explorați și vizitați forumul nostru.

    Foarte des ni se pun întrebările „De ce este dezvoltat KolibriOS?” sau „Care este scopul sistemului de operare?” Prin urmare, s-a decis să spunem mai detaliat despre unde și cum poate fi utilizat KolibriOS și, de asemenea, poate și mai interesant, unde și cum este DEJA utilizat.

    Acest articol este în mare parte o prezentare generală. Acesta va descrie idei și posibilități de utilizare a KolibriOS, atât teoretice, cât și aduse la implementare. Cum este folosit astăzi va fi discutat în următorul articol.

    Cea mai promițătoare direcție este aplicarea industrială și dezvoltarea încorporată. Caracteristici ale KolibriOS care îl fac atractiv pentru utilizarea în aceste domenii:

    • Nucleu open source compact;
    • Simplitatea și comoditatea minimalistă a subsistemului grafic;
    • O interfață de utilizator destul de dezvoltată;
    • Serviciu decent de sistem de nivel scăzut;
    • Suport pentru cele mai populare protocoale de rețeași sisteme de fișiere.
    O dovadă clară în acest sens este Kolibri-A, o furcă de la art_zh.

    Kolibri-A- un sistem experimental util numai inginerilor de sisteme calificați, programatorilor de sisteme, precum și dezvoltatorilor și reglatorilor de echipamente informatice. Multe mecanisme standard protectia sistemuluiși controlul accesului la resursele critice ale sistemului din Kolibri-A sunt dezactivate pentru a facilita cel mai liber și mai convenabil acces la echipamente.

    Câteva caracteristici ale lui Kolibri-A

    • Cerințe crescute pentru platforma hardware.
    • Un serviciu API suplimentar care oferă utilizatorului un serviciu avansat și acces rapid la nivel scăzut I/O.
    • DMA fără șofer și controlul echipamentelor non-standard printr-un buffer de sistem static accesibil din spațiul utilizatorului.
    • Suport extins pentru funcțiile PCI-express cu elemente de antrenament autobuz, MSI și controlul modului de alimentare.
    • Dimensiunea nucleului a fost redusă semnificativ - multe structuri și funcții de sistem redundante, foarte specializate și rudimentare au fost eliminate:
      • moduri video excluse rezoluție scăzută(sub 800x600);
      • singurul mod video rămas (VESA2, adâncimea culorii 32bpp);
      • Dintre sistemele de fișiere, a mai rămas doar FAT.
      • Suportul APM este eliminat; Este implementat controlul direct al puterii.

    Este foarte posibil să îl încorporați în ROM și să furnizați computere x86 compacte, eficiente din punct de vedere energetic, cu KolibriOS în loc de BIOS, potrivite pentru utilizare în sisteme încorporate sau ca noduri centrale ale diferitelor sisteme.
    Aceasta este ceea ce a fost demonstrat art_zh(firul forumului).

    Text ascuns

    Și acum - subiectul real:
    (kolibri.img este conectat în ROM, mouse-ul și tastatura sunt dezactivate ca fiind inutile)



    Mai târziu a repetat aceeași realizare Anthony Lu pe un mini-computer eBox industrial (subiect de pe forumul nostru).

    Pentru eficiență mai mare aplicații în aceste domenii, este necesar să se dezvolte o placă specializată pentru KolibriOS (este posibil să se modifice puțin KolibriOS în sine), care va folosi pe deplin capacitățile sistemului de operare. Dacă există persoane interesate gata să finanțeze ideea, implementarea este posibilă de către participanții actuali la proiect.

    Dintre plăcile deja disponibile pe piață, 86Duino este potrivită. Unul dintre participanții noștri, hiddenplayr, a fost efectuată o descărcare cu succes pe 86duino one folosind o placă VGA Vortex86 (pentru aceasta, au implementat și suport pentru modul VESA 16bpp în nucleu în versiune) și au fost pregătite instrucțiuni de descărcare.

    Ei bine, acum câteva exemple de utilizare reală a KolibriOS:

    Pe baza celor de mai sus, se pot distinge mai multe domenii de utilizare:

    • „Acasă inteligentă”;
    • Automatizarea proceselor de producție industrială;
    • Electronica de bord vehicule(De ce nu?);
    • Colectarea și procesarea unor cantități mari de date (de exemplu, stații meteo).

    De asemenea, trebuie menționat că MenuetOS/KolibriOS a fost instalat cu succes într-un bancomat și, în principiu, este foarte posibil să scrieți software-ul bancar corespunzător.

    Text ascuns


    Acest lucru indică posibilitatea de a utiliza KolibriOS ca înlocuitor pentru DOS și mai vechi versiuni Windows pe calculatoare de diferite stări organizații precum Administrația Căilor Ferate și Oficiul Poștal. În acest caz, actualizarea echipamentului nu este deloc necesară, ci software-ul (dacă este disponibil) cod sursă) poate fi portat. Arhiva interactivă

    KolibriOS se potrivește pe o dischetă și pornește în câteva secunde. Există aproximativ 200 de aplicații pentru acesta, iar dezvoltatorii văd câteva aplicații de succes pentru sistemul lor.

    Ideea de a scrie un întreg sistem de operare în limbaj de asamblare este ciudată, dar atrăgătoare. Principalele sale avantaje sunt performanța excepțională și cantitatea mică de cod executabil. Dezavantajele sunt, de asemenea, evidente - complexitate și conexiune strictă la arhitectura computerului. Cu toate acestea, există încă suflete curajoase.

    Cel mai faimos proiect de acest gen este MenuetOS și ramurile sale KolibriOS, dezvoltate mai ales în Rusia. Istoria acestor sisteme de operare nu este lipsit de intrigi și dezacord și există motive pentru aceasta: în primul rând, proiectul este gratuit (licență - GNU GPL versiunea 2), adică participanții săi nu lucrează pentru profit, ci pentru o idee. În al doilea rând, decizii precum alegerea arhitecturii procesorului, datorită naturii proiectului, sunt dramatice. Un grup de dezvoltatori care decid să schimbe platforma este sortit să refacă aproape complet codul sursă.

    În comparație cu alte sisteme de operare, MenuetOS este destul de tânăr. A fost dezvoltat din 2000 și a reușit să devină celebru în cercurile de programare (de exemplu, articolul „Small spool, but expensive”, scris de Yakov Uvarov pentru Computerra în 2005). KolibriOS este și mai tânăr - s-a desprins de la Menuet în 2004.

    În acest timp, dezvoltatorii au reușit să scrie aproximativ 7,5 MB de cod în pur asamblare. Sursele Linux au aproximativ aceeași dimensiune, scrise în principal în C și acesta este doar nucleul, în timp ce distribuția KolibriOS include un shell grafic și un set mic programe de aplicație(Pentru distracție, observăm că, conform estimărilor bazate pe celebra „scurgere” din 2004, codul Microsoft Windows 2000 a luat aproximativ 1,5 GB).

    În același timp, „Hummingbird” nu mai este o „dovadă de concept” sau o jucărie, ci destul de sistem functional, pentru care sunt scrise programe și care pot fi folosite efectiv pentru o anumită gamă (deși nu deosebit de largă) de sarcini serioase.

    Computerra a discutat cu doi dezvoltatori KolibriOS - Dmitry Pereverzev și Igor Solodukha.

    - Ce este KolibriOS?

    Pereverzev:„Hummingbird” este un sistem de operare mic, cu capabilități bogate. Ai putea spune că acesta este un DOS modern.

    - După cum am înțeles, nu doar mic, ci în general minuscul?

    Pereverzev: Nucleul ocupă aproximativ 80 KB. Adică, comparabil cu dimensiunea MS-DOS din versiunile recente. Și mai sunt multe posibilități.

    - Care este istoria „Colibri”?

    Pereverzev:În 2001, studentul finlandez Ville Turjanmaa și-a scris sistemul de operare în limbaj de asamblare. În 2004, a decis că computerele pe treizeci și doi de biți erau moarte și a trecut la dezvoltarea MenuetOS 64, o versiune pe șaizeci și patru de biți a sistemului său de operare. Comunității nu i-a plăcut acest lucru și a continuat să dezvolte versiunea pe treizeci și doi de biți pe cont propriu. Și când mai mult de jumătate din cod a fost schimbat, proiectul a fost numit „Hummingbird” în onoarea unuia dintre ansamblurile sistemelor rusești.

    - Și cine a făcut asta? Ai fost deja implicat atunci?

    Pereverzev: Am venit la proiect cam un an mai târziu. Atunci Marat Zakiyanov făcea asta. Distribuții de sistem colectate.

    - Este și el în echipă acum?

    Pereverzev: Da, acum este în echipă, dezvoltă kernel-ul, un manager de fișiere (clona lui Total Commander), dialoguri de fișiere și un vizualizator de grafică - minunatul zSea.

    - Care este stadiul actual de dezvoltare?

    Pereverzev:În prezent așteptăm lansarea unei noi versiuni, dar încă nu ne-am hotărât asupra numărului. Cel precedent a fost 0.7.7.0, iar acesta va fi fie 0.8, fie 0.9. Se crede că în comparație cu versiunea anterioară sunt multe schimbari. De exemplu, va exista sprijin dispozitive USB. A trecut aproximativ un an de la ultima lansare.

    - Ce fel de echipă ai? Câți oameni ajută activ?

    Pereverzev: Acum sunt vreo zece dezvoltatori foarte activi și vreo treizeci de dezvoltatori care apar din când în când pe forum.

    - Care este geografia? Dezvoltatorii sunt în mare parte din Rusia?

    Pereverzev:În principal CSI, deși există și dezvoltatori din Belgia, vorbitori de limbă rusă din Anglia. Eu sunt din regiunea Stavropol.

    Care sunt caracteristicile Kolibri în comparație cu alte sisteme, inclusiv în comparație cu alte sisteme minimaliste?

    Pereverzev:În comparație cu alte sisteme minimaliste, „Kolibri” este cel mai minimalist! În plus, dintre sistemele din aceeași categorie de greutate, „Kolibri” este cel mai funcțional. De exemplu, există un sistem bun, Visopsys, este și compact și se potrivește pe o dischetă, dar nu poate face nimic.

    Care sunt principalele diferențe dintre Hummingbird și sistemele de operare „mari”? Ce nu există încă și ce vei adăuga?

    Pereverzev: Suportul pe internet este foarte important în lumea modernă. TCP/IP și drivere plăci de rețea„Hummingbird” îl are deja. În prezent lucrăm la un browser, toți participanții fac ceva pentru ca acesta să apară într-un fel sau altul. Până acum există doar text, cu suport grafic limitat. Desigur, el este încă departe de a fi perfect.

    Malţ: Prezența unui browser înseamnă utilizatori noi și popularitatea sistemului.

    Poate că un astfel de sistem ar fi în general popular ca un analog al Google ChromeOS - un strat minim de sistem de operare plus un browser. Cum crezi?

    Pereverzev: Este foarte posibil, mai ales că avem deja o implementare minimă de Flash. Nu complet, dar în asamblare.

    - Ce alte aplicații de succes vedeți?

    Pereverzev: Sisteme embedded, sisteme de achizitie de informatii si management al productiei, thin clients. În plus, „Hummingbird” poate fi un sistem de operare bun pentru computerele învechite.

    Malţ: Există, de asemenea, sisteme care sunt dezvoltate pentru propriul lor hardware. Plăcile sunt proiectate pentru ei de la zero, iar ramura „Kolibri A” este în prezent în curs de redactare pentru ei.

    - Care sunt avantajele Kolibri, pe lângă ușurință și viteză?

    Malţ: De exemplu, „Hummingbird” poate fi încărcat nu numai fără un disc, ci și fără BIOS. Porniți computerul și, după testarea echipamentului, apare imediat „Hummingbird”. În orice caz, încărcarea durează trei până la patru secunde după pornire.

    - Ce arhitecturi sunt suportate în prezent?

    Pereverzev: Acum doar procesoare x86, adică de la 486 la cel mai recent Core i7. Dar numai în modul de treizeci și doi de biți.

    - Există versiunea pe șaizeci și patru de biți sau pur și simplu a murit?

    Pereverzev: MenuetOS 64 există, dar este foarte departe de strămoșul său.

    - O altă echipă îl dezvoltă?

    Pereverzev:În general, este dezvoltat de o singură persoană. Tot același student, dar probabil că nu mai este student. În prezent, executăm experimente pe sisteme multi-core. Miezul de treizeci și doi de biți al sistemului rulează pe un nucleu de treizeci și doi de biți, iar al doilea nucleu de procesor rulează în modul de șaizeci și patru de biți. Asta e, într-un mod viclean.

    Malţ: Da, acest lucru este posibil în hardware.

    - Mai ai o versiune în timp real, nu?

    Pereverzev: Nu este în întregime în timp real, dar însuși autorul thread-ului spune că, cu unele modificări la care acum se lucrează activ, „Hummingbird” poate fi folosit pentru sistemele încorporate în care timpul de răspuns garantat este important.

    Malţ:Și acum timpul de răspuns este deja foarte scurt. Pe forumul nostru puteți privi rezultatele testelor aceluiași program, lucrând direct cu echipamentul, în Windows XP și în Hummingbird. În „Hummingbird” iese mult mai repede. Acum, pentru a implementa o funcționalitate reală în timp real, trebuie să asigurăm un timp de răspuns garantat.

    - Vă place „Kolibri” cu suport pentru diferite chipset-uri (inclusiv video)?

    Pereverzev: VESA este suportat de toate plăcile video moderne și avem și un port Linux drivere ATI, și chiar suportă ultimele plăci video ATI. Este, desigur, puțin greu - ocupă mai mult de 100 de kiloocteți, dar vă permite să utilizați orice mod video și chiar accelerare hardware. În plus, este actualizat în mod regulat.

    - Ce se suportă de la periferie?

    Pereverzev: Perifericele sunt de asemenea bune - există suport USB, adică tastaturile și mouse-urile funcționează.

    - Ce altceva ai de gând să adaugi în viitorul apropiat?

    Pereverzev: Este greu de spus, totul depinde de timpul personal al dezvoltatorilor.

    Malţ: Acum, de exemplu, pe forum a apărut o persoană care părea că vrea să implementeze Unicode, sau cel puțin a ridicat o astfel de întrebare.

    - Care este codificarea acum?

    Pereverzev: Acum sistemul are de facto 866, modificat pentru a suporta rusă, ucraineană, estonă, letonă și alte câteva limbi. Dar sistemul de fișiere folosește Unicode, așa că trecem încet la el.

    - Apropo, ce sisteme de fișiere sunt suportate?

    Pereverzev: FAT12, 16 și 32 sunt pentru scriere și citire, plus ISO 9660 (acestea sunt CD-uri), iar NTFS, Ext2 și Ext3 sunt acceptate pentru citire.

    - Cum este implementat multitasking-ul în Hummingbird?

    Pereverzev: Puteți crea fire de execuție, dar nu există procese ca atare. Un proces este un set de fire cu adresa generala spaţiu.

    - Dar memoria protejată?

    Malţ: Există o protecție standard a paginii pentru arhitectura x86.

    - Comunicarea interprocesor este cumva implementată?

    Pereverzev: Există IPC și există memorie partajată. Adică, puteți crea o imagine a memoriei partajate și puteți face schimb de date între aplicații. Există, de asemenea, un clipboard la nivelul întregului sistem.

    - Ai menționat că există vreo două sute de programe pentru Hummingbird...

    Pereverzev: De fapt, sunt mult mai multe dintre ele. Două sute de actuale care funcționează bine.

    - Ce fel de programe sunt acestea?

    Pereverzev: Conform statisticilor, cele mai multe jocuri sunt peste o sută.

    - Ce jocuri?

    Malţ:În mare parte mici jocuri de logică.

    - Portat de la ce alte sisteme?

    Malţ: Nu, acestea au fost scrise pentru „Hummingbird”.

    Pereverzev: De fapt, a scrie un joc este mult mai ușor decât a face ceva serios, cum ar fi textul sau editor grafic. De aceea, programatorii își încearcă adesea mâna la jocuri mici.

    Malţ: Există analogi ale jocurilor din alte sisteme - „sappers”, solitaire și așa mai departe. Au fost scrise pentru „Hummingbird” de la zero. Dar există și programe utile- mai mulți manageri de fișiere, inclusiv clonare Windows Explorer, o clonă a Far Manager și Total Commander.

    - A fost portat vreunul dintre jocurile celebre?

    Pereverzev: Există Quake și Doom. Emulatoarele includ DOSBox și un emulator Nintendo. Apropo, puteți rula Windows 98 în DOSBox - am încercat. Există o implementare a limbajului Lua în sine ultima versiune- 5.2. Există o redare a fonturilor Freetype și Mesa 3D - o implementare a bibliotecilor OpenGL. Un lucru foarte important: există codecuri ffmpeg. Fapt interesant: pe o mașină slabă, douăzeci până la treizeci de videoclipuri au fost lansate simultan, iar sarcina procesorului nu a depășit 50 la sută. În „Hummingbird” sa dovedit a fi destul de dificil să încărcați complet procesorul.

    - În ce sunt cele mai multe programe scrise?

    Pereverzev:În asamblator.

    - Nu scriu deloc în limbi de nivel înalt?

    Pereverzev: Uneori scriu sau port ceva în C sau Pascal. Există mai multe programe în Lua.

    Malţ:Îmi amintesc, de asemenea, că unul dintre tipi scrie într-o limbă precum Sphinx C--.

    Pereverzev: Apropo, aceasta este o limbă curioasă. Acesta este C așa cum ar fi putut fi cândva. Cândva, C a fost un traducător în asamblator, iar C a rămas așa, doar a adăugat zahăr sintactic în stilul limbajului C. Pe el sunt scrise multe programe interesante.

    - Am auzit că a existat o implementare Python.

    Malţ: Există tinypy, dar nu există încă programe pe el și nu va fi posibil să rulați un program Python arbitrar pe el fără modificări. Nu sunt unii caracteristici importante limbaj - de exemplu, generatoare și tupluri.

    - Mașini virtuale Există? Au existat idei, de exemplu, pentru a porta Java?

    Pereverzev: Acum se vorbește despre fezabilitatea acestui lucru. În principiu, acest lucru este posibil din punct de vedere tehnic. De fapt, chiar și eu am compilat implementarea de referință Sun în Hummingbird, dar licența nu permite să fie afișată nimănui.

    - Există idei despre utilizarea comercială a „Kolibri”?

    Malţ: Cooperăm cu compania israeliană Green Gadgets, care produce computere eBox și Edubook. Principalul profil al companiei îl reprezintă gadgeturile cu consum redus, care pot funcționa chiar și cu baterii. De exemplu, eBox-3300 pe care am arătat Hummingbird consumă doar aproximativ 4,5 wați. El nu are nici unul hard disk, fara fani, este complet silentios.