Vydání operačního systému ToaruOS 1.14 a programovacího jazyka Kuroko 1.1

Je k dispozici vydání projektu ToaruOS 1.14, který vyvíjí operační systém podobný Unixu napsaný od začátku s vlastním jádrem, zavaděčem, standardní knihovnou C, správcem balíčků, komponentami uživatelského prostoru a grafickým rozhraním s kompozitním správcem oken. V současné fázi vývoje jsou možnosti systému dostatečné pro běh Pythonu 3 a GCC. Kód projektu je napsán v jazyce C a distribuován pod licencí BSD. Ke stažení je připraven živý obraz o velikosti 14 MB, který lze otestovat v QEMU, VMware nebo VirtualBoxu.

Vydání operačního systému ToaruOS 1.14 a programovacího jazyka Kuroko 1.1

Projekt začal v roce 2010 na University of Illinois a zpočátku se vyvíjel jako výzkumná práce v oblasti vytváření nových kompozitních grafických rozhraní. Od roku 2012 se vývoj transformoval do operačního systému ToaruOS, který byl původně vyvíjen jako studentský projekt, a poté přerostl ve víkendový koníček, kterého se chopila komunita, která se kolem projektu vytvořila. V současné podobě je systém vybaven kompozitním správcem oken, podporuje dynamicky propojené spustitelné soubory ve formátu ELF, multitasking, grafiku a síťové zásobníky.

Balíček obsahuje port programovacího jazyka Python 3.6, který se používá při vývoji některých grafických aplikací specifických pro ToaruOS, jako je správce balíčků, grafický editor, prohlížeč PDF, kalkulačka a jednoduché hry. Mezi programy třetích stran portované na ToaruOS patří Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulátor Super Nintendo, Bochs atd.

ToaruOS je založen na jádře, které používá hybridní modulární architekturu, která kombinuje monolitický rámec a nástroje pro použití zaváděcích modulů, které tvoří většinu dostupných ovladačů zařízení, jako jsou ovladače disků (PATA a ATAPI), souborové systémy EXT2 a ISO9660, framebuffer , klávesnice, myši, síťové karty (AMD PCnet FAST, Realtek RTL8139 a Intel PRO/1000), zvukové čipy (Intel AC'97) a také doplňky VirtualBox pro hostující systémy.

Primitiva poskytovaná jádrem zahrnují unixová vlákna, TTY, virtuální souborový systém, multithreading, IPC, sdílenou paměť, multitasking a další standardní funkce. Jako souborový systém se používá ext2. Pro interakci s jádrem je k dispozici implementace pseudo-FS /proc vytvořená analogicky s Linuxem.

Plány na rok 2021 zahrnují práci na 64bitové architektuře x86-64 (zatím se sestavy generují pouze pro 32bitové systémy x86) a podporu víceprocesorových systémů (SMP). Mezi další cíle patří zlepšení kompatibility se specifikacemi POSIX v oblasti metod zpracování signálů a synchronizace, převedení standardní knihovny C na úroveň Newlib a implementace vlastního kompilátoru jazyka C a vývojových nástrojů.

Projekt také vyvíjí svůj vlastní dynamický programovací jazyk Kuroko, který má nahradit Python při vývoji utilit a vlastních aplikací pro systém. Jazyk podporuje kompilaci a interpretaci bytecode, jeho syntaxe připomíná Python (je umístěn jako zkrácený dialekt Pythonu s explicitní definicí proměnných) a má velmi kompaktní implementaci. Interpret bajtového kódu poskytuje garbage collector a podporuje multithreading bez použití globálního zamykání. Kompilátor a interpret lze zkompilovat ve formě malé sdílené knihovny (~500 KB), integrovat s jinými programy a rozšířit pomocí C API. Kromě ToaruOS lze jazyk použít na Linuxu, macOS, Windows a spustit v prohlížečích, které podporují WebAssembly.

Nové vydání ToaruOS se zaměřilo na vývoj standardní knihovny C a programovacího jazyka Kuroko. Do libc přibyly například matematické funkce nutné pro správný výpočet parametrů osvětlení ve hře Quake. Byla vylepšena možnost spouštění do VirtualBoxu v režimu EFI. Velikost obrazu iso byla zmenšena použitím komprese obrazu ram disku.

Nové vydání jazyka Kuroko 1.1 přidává podporu pro async and wait, implementuje multithreading, zlepšuje kompatibilitu s Pythonem 3, podporuje vícenásobné přiřazení hodnot, rozšiřuje nástroje pro psaní handlerů v jazyce C, přidává podporu pro typové anotace pro funkce, přidává klíčová slova „yield“ a „yield from“, byly integrovány moduly os, dis, fileio a time, byly implementovány nové metody v str, list, dict a bytes, přidána podpora pro prekompilaci do bytecode, licence byla změněna na MIT (dříve existovala kombinace MIT a ISC).

Zdroj: opennet.ru

Přidat komentář