Izdanje operativnog sustava ToaruOS 1.14 i programskog jezika Kuroko 1.1

Dostupno je izdanje ToaruOS 1.14 projekta, koji razvija operativni sustav sličan Unixu napisan od nule s vlastitim kernelom, boot loaderom, standardnom C bibliotekom, upraviteljem paketa, komponentama korisničkog prostora i grafičkim sučeljem sa složenim upraviteljem prozora. U trenutnoj fazi razvoja, mogućnosti sustava dovoljne su za pokretanje Python 3 i GCC. Projektni kod je napisan u C-u i distribuira se pod BSD licencom. Za preuzimanje je pripremljen live image veličine 14 MB koji se može testirati u QEMU, VMware ili VirtualBox.

Izdanje operativnog sustava ToaruOS 1.14 i programskog jezika Kuroko 1.1

Projekt je započeo 2010. godine na Sveučilištu Illinois i u početku se razvijao kao istraživački rad na području stvaranja novih kompozitnih grafičkih sučelja. Od 2012. razvoj se transformirao u operativni sustav ToaruOS, koji je u početku razvijen kao studentski projekt, a zatim je prerastao u vikend hobi, kojeg je prihvatila zajednica koja se formirala oko projekta. U svom trenutnom obliku, sustav je opremljen kompozitnim upraviteljem prozora, podržava dinamički povezane izvršne datoteke u ELF formatu, multitasking, grafiku i mrežne hrpe.

Paket uključuje port programskog jezika Python 3.6, koji se koristi u razvoju nekih grafičkih aplikacija specifičnih za ToaruOS, kao što su upravitelj paketa, grafički uređivač, PDF preglednik, kalkulator i jednostavne igre. Programi trećih strana preneseni na ToaruOS uključuju Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs itd.

ToaruOS se temelji na kernelu koji koristi hibridnu modularnu arhitekturu koja kombinira monolitni okvir i alate za korištenje modula koji se mogu učitavati, a koji čine većinu dostupnih upravljačkih programa uređaja, kao što su upravljački programi diska (PATA i ATAPI), EXT2 i ISO9660 datotečni sustavi, međuspremnik okvira , tipkovnice, miševi , mrežne kartice (AMD PCnet FAST, Realtek RTL8139 i Intel PRO/1000), zvučni čipovi (Intel AC'97), kao i VirtualBox dodaci za gostujuće sustave.

Primitive koje pruža kernel uključuju Unix niti, TTY, virtualni datotečni sustav, multithreading, IPC, zajedničku memoriju, multitasking i druge standardne značajke. ext2 se koristi kao datotečni sustav. Za interakciju s jezgrom osigurana je implementacija pseudo-FS /proc, stvorena analogijom s Linuxom.

Planovi za 2021. uključuju rad na 64-bitnoj x86-64 arhitekturi (za sada se sklopovi generiraju samo za 32-bitne x86 sustave) i podršku za višeprocesorske sustave (SMP). Ostali ciljevi uključuju poboljšanje kompatibilnosti s POSIX specifikacijama u području obrade signala i metoda sinkronizacije, dovođenje standardne C biblioteke na razinu Newlib te implementaciju vlastitog prevoditelja C jezika i razvojnih alata.

Projekt također razvija vlastiti dinamički programski jezik, Kuroko, dizajniran da zamijeni Python pri razvoju uslužnih programa i prilagođenih aplikacija za sustav. Jezik podržava kompilaciju i interpretaciju bajtkoda, njegova sintaksa nalikuje Pythonu (pozicioniran je kao skraćeni dijalekt Pythona s eksplicitnom definicijom varijabli) i ima vrlo kompaktnu implementaciju. Tumač bajt-koda pruža skupljač smeća i podržava višenitnost bez korištenja globalnog zaključavanja. Kompajler i interpreter mogu se kompajlirati u obliku male zajedničke knjižnice (~500 KB), integrirane s drugim programima i proširive kroz C API. Osim ToaruOS-a, jezik se može koristiti na Linuxu, macOS-u, Windowsima i pokrenuti u preglednicima koji podržavaju WebAssembly.

Novo izdanje ToaruOS-a fokusirano je na razvoj standardne C biblioteke i Kuroko programskog jezika. Na primjer, u libc su dodane matematičke funkcije potrebne za točan izračun parametara osvjetljenja u igri Quake. Mogućnost pokretanja VirtualBoxa u EFI modu je poboljšana. Veličina iso slike smanjena je korištenjem kompresije slike ram diska.

Novo izdanje jezika Kuroko 1.1 dodaje podršku za async i await, implementira višenitnost, poboljšava kompatibilnost s Python 3, podržava višestruke dodjele vrijednosti, proširuje alate za pisanje rukovatelja u jeziku C, dodaje podršku za oznake tipa za funkcije, dodaje ključne riječi "yield" i "yield from", moduli os, dis, fileio i time su integrirani, nove metode su implementirane u str, list, dict i bytes, podrška za predkompilaciju u bajt kod je dodana, licenca je promijenjen u MIT (prije je postojala kombinacija MIT-a i ISC-a).

Izvor: opennet.ru

Dodajte komentar