Vydanie operačného systému ToaruOS 1.14 a programovacieho jazyka Kuroko 1.1

K dispozícii je vydanie projektu ToaruOS 1.14, ktorý vyvíja operačný systém podobný Unixu napísaný od začiatku s vlastným jadrom, zavádzačom, štandardnou knižnicou C, správcom balíkov, komponentmi používateľského priestoru a grafickým rozhraním s kompozitným správcom okien. V súčasnej fáze vývoja sú možnosti systému dostatočné na spustenie Pythonu 3 a GCC. Kód projektu je napísaný v jazyku C a distribuovaný pod licenciou BSD. Na stiahnutie je pripravený živý obraz o veľkosti 14 MB, ktorý je možné otestovať v QEMU, VMware alebo VirtualBoxe.

Vydanie operačného systému ToaruOS 1.14 a programovacieho jazyka Kuroko 1.1

Projekt začal v roku 2010 na University of Illinois a pôvodne sa vyvinul ako výskumná práca v oblasti vytvárania nových kompozitných grafických rozhraní. Od roku 2012 sa vývoj pretransformoval do operačného systému ToaruOS, ktorý bol pôvodne vyvinutý ako študentský projekt a potom prerástol do víkendového koníčka, ktorého sa ujala komunita, ktorá sa okolo projektu vytvorila. V súčasnej podobe je systém vybavený kompozitným správcom okien, podporuje dynamicky prepojené spustiteľné súbory vo formáte ELF, multitasking, grafiku a sieťové zásobníky.

Balík obsahuje port programovacieho jazyka Python 3.6, ktorý sa používa pri vývoji niektorých grafických aplikácií špecifických pre ToaruOS, ako je správca balíkov, grafický editor, prehliadač PDF, kalkulačka a jednoduché hry. Programy tretích strán portované na ToaruOS zahŕňajú Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulátor Super Nintendo, Bochs atď.

ToaruOS je založený na jadre, ktoré využíva hybridnú modulárnu architektúru, ktorá kombinuje monolitický rámec a nástroje na používanie načítateľných modulov, ktoré tvoria väčšinu dostupných ovládačov zariadení, ako sú ovládače diskov (PATA a ATAPI), súborové systémy EXT2 a ISO9660, framebuffer , klávesnice, myši, sieťové karty (AMD PCnet FAST, Realtek RTL8139 a Intel PRO/1000), zvukové čipy (Intel AC'97), ako aj doplnky VirtualBox pre hosťujúce systémy.

Medzi primitívy poskytované jadrom patria vlákna Unix, TTY, virtuálny súborový systém, multithreading, IPC, zdieľaná pamäť, multitasking a ďalšie štandardné funkcie. Ext2 sa používa ako súborový systém. Na interakciu s jadrom je poskytnutá implementácia pseudo-FS /proc, vytvorená analogicky s Linuxom.

Plány na rok 2021 zahŕňajú prácu na 64-bitovej architektúre x86-64 (zatiaľ sa zostavy generujú len pre 32-bitové x86 systémy) a podporu pre viacprocesorové systémy (SMP). Medzi ďalšie ciele patrí zlepšenie kompatibility so špecifikáciami POSIX v oblasti metód spracovania signálu a synchronizácie, pozdvihnutie štandardnej knižnice C na úroveň Newlib a implementácia vlastného kompilátora a vývojových nástrojov jazyka C.

Projekt tiež vyvíja svoj vlastný dynamický programovací jazyk Kuroko, ktorý má nahradiť Python pri vývoji utilít a vlastných aplikácií pre systém. Jazyk podporuje kompiláciu a interpretáciu bajtkódu, jeho syntax pripomína Python (je umiestnený ako skrátený dialekt Pythonu s explicitnou definíciou premenných) a má veľmi kompaktnú implementáciu. Interpret bajtového kódu poskytuje zberač odpadu a podporuje multithreading bez použitia globálneho uzamykania. Kompilátor a tlmočník môžu byť skompilované vo forme malej zdieľanej knižnice (~500 kB), integrovanej s inými programami a rozšíriteľnej prostredníctvom C API. Okrem ToaruOS je možné jazyk použiť na Linuxe, MacOS, Windows a spustiť v prehliadačoch, ktoré podporujú WebAssembly.

Nové vydanie ToaruOS sa zameralo na vývoj štandardnej knižnice C a programovacieho jazyka Kuroko. Do knižnice libc pribudli napríklad matematické funkcie potrebné pre správny výpočet parametrov osvetlenia v hre Quake. Schopnosť zaviesť systém VirtualBox v režime EFI bola vylepšená. Veľkosť obrazu iso sa zmenšila použitím kompresie obrazu ram disku.

Nové vydanie jazyka Kuroko 1.1 pridáva podporu pre async and wait, implementuje multithreading, zlepšuje kompatibilitu s Pythonom 3, podporuje priradenie viacerých hodnôt, rozširuje nástroje na písanie handlerov v jazyku C, pridáva podporu pre typové anotácie pre funkcie, pridáva tzv. kľúčové slová „yield“ a „yield from“, integrovali sa moduly os, dis, fileio a time, implementovali sa nové metódy v str, list, dict a bytes, pribudla podpora prekompilácie do bajtkódu, licencia zmenili na MIT (predtým existovala kombinácia MIT a ISC).

Zdroj: opennet.ru

Pridať komentár