Izdanje ToaruOS 1.14 operativnog sistema i Kuroko 1.1 programskog jezika

Dostupno je izdanje ToaruOS 1.14 projekta, razvijajući operativni sistem sličan Unixu napisan od nule sa sopstvenim kernelom, boot loaderom, standardnom C bibliotekom, menadžerom paketa, komponentama korisničkog prostora i grafičkim interfejsom sa kompozitnim menadžerom prozora. U trenutnoj fazi razvoja, mogućnosti sistema su dovoljne za pokretanje Python 3 i GCC-a. Kod projekta je napisan u C i distribuiran pod BSD licencom. Za preuzimanje je pripremljena živa slika veličine 14 MB koja se može testirati u QEMU, VMware ili VirtualBox-u.

Izdanje ToaruOS 1.14 operativnog sistema i Kuroko 1.1 programskog jezika

Projekat je započeo 2010. godine na Univerzitetu Illinois i prvobitno se razvijao kao istraživački rad u oblasti kreiranja novih kompozitnih grafičkih interfejsa. Od 2012. godine razvoj se transformisao u operativni sistem ToaruOS, koji je prvobitno razvijen kao studentski projekat, a zatim je prerastao u vikend hobi, koji je pokupila zajednica koja se formirala oko projekta. U svom sadašnjem obliku, sistem je opremljen kompozitnim menadžerom prozora, podržava dinamički povezane izvršne datoteke u ELF formatu, multitasking, grafiku i mrežne stekove.

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

ToaruOS je baziran na kernelu koji koristi hibridnu modularnu arhitekturu koja kombinuje monolitni okvir i alate za korišćenje modula koji se mogu učitati, koji čine većinu dostupnih drajvera uređaja, kao što su drajveri diska (PATA i ATAPI), EXT2 i ISO9660 sistemi datoteka, framebuffer , tastature, 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 sisteme.

Primitivi koje pruža kernel uključuju Unix niti, TTY, virtuelni sistem datoteka, multithreading, IPC, zajedničku memoriju, multitasking i druge standardne karakteristike. ext2 se koristi kao sistem datoteka. Za interakciju sa kernelom, obezbeđena je pseudo-FS /proc implementacija, kreirana po analogiji sa Linuxom.

Planovi za 2021. uključuju rad na 64-bitnoj x86-64 arhitekturi (za sada se sklopovi generišu samo za 32-bitne x86 sisteme) i podršku za višeprocesorske sisteme (SMP). Ostali ciljevi uključuju poboljšanje kompatibilnosti sa POSIX specifikacijama u oblasti obrade signala i metoda sinhronizacije, dovođenje standardne C biblioteke na nivo Newlib, i implementaciju sopstvenog kompajlera jezika C i razvojnih alata.

Projekat takođe razvija sopstveni dinamički programski jezik, Kuroko, dizajniran da zameni Python prilikom razvoja uslužnih programa i prilagođenih aplikacija za sistem. Jezik podržava kompilaciju i interpretaciju bajtkoda, njegova sintaksa liči na Python (pozicioniran je kao skraćeni dijalekt Pythona sa eksplicitnom definicijom varijabli) i ima vrlo kompaktnu implementaciju. Interpretator bajtkoda obezbjeđuje sakupljač smeća i podržava višenitnost bez korištenja globalnog zaključavanja. Kompajler i interpreter se mogu kompajlirati u obliku male zajedničke biblioteke (~500 KB), integrisane sa drugim programima i proširive preko C API-ja. Pored ToaruOS-a, jezik se može koristiti na Linuxu, macOS-u, Windows-u i pokrenuti u pretraživačima koji podržavaju WebAssembly.

Novo izdanje ToaruOS-a fokusiralo se na razvoj standardne C biblioteke i programskog jezika Kuroko. Na primjer, matematičke funkcije potrebne za ispravan proračun parametara osvjetljenja u igrici Quake dodane su u libc. Poboljšana je mogućnost pokretanja VirtualBox-a u EFI modu. Veličina iso slike je smanjena 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 sa Pythonom 3, podržava višestruke dodjele vrijednosti, proširuje alate za rukovanje pisanjem u jeziku C, dodaje podršku za napomene tipa za funkcije, dodaje ključne riječi “yield” i “yield from”, moduli os, dis, fileio i time su integrisani, nove metode su implementirane u str, list, dict i bajtove, dodata je podrška za prekompilaciju u bytecode, licenca je promijenjeno u MIT (ranije je postojala kombinacija MIT-a i ISC-a).

izvor: opennet.ru

Dodajte komentar