Avaldatud Unix-sarnase operatsioonisüsteemi ToaruOS 2.1 väljaanne, mis on kirjutatud nullist ning sisaldab oma tuuma, laadijat, standardset C-raamatukogu, paketihaldurit, kasutajaruumi komponente ja komposiitakende halduriga graafilist liidest. Alguses arendati projekti Illinoisi ülikoolis uute komposiitgraafiliste liideste arendamise uurimisprojektina, kuid hiljem muutus see isesevaks operatsioonisüsteemiks. Projekti kood on kirjutatud C keeles ja levitatakse BSD litsentsi alusel. Allalaadimiseks on valmis 14.4 MB suurune live-pilt, mida saab testida QEMU, VMware või VirtualBoxis.

ToaruOS-i põhjal on tuum, mis kasutab hübriidset modulaarsust, ühendades monoliitse aluse ja vahendid laaditavate moodulite kasutamiseks, kuid enamik seadmedraiveritest, sealhulgas kettadraiverid (PATA ja ATAPI), EXT2 ja ISO9660 failisüsteem, framebuffer, klaviatuurid, hiired, võrkaardid (AMD PCnet FAST, Realtek RTL8139 ja Intel PRO/1000), helikaardid (Intel AC’97), samuti VirtualBoxi lisandmoodulid külgsüsteemide jaoks. Tuum toetab Unix-vooge, TTY-d, virtuaalset failisüsteemi, pseudofailisüsteemi /proc, lõime, IPC-d, ramdiski, ptrace'i, jagatud mälu, mitmeülesanne ja muid tüüpilisi võimalusi.
Süsteem on varustatud komposiitakende halduriga, toetab dünaamiliselt lingitud käivitatavaid faile ELF formaadis, mitme ülesande täitmist, graafikustakki ning suudab käitada Python 3 ja GCC. Failisüsteemina kasutatakse ext2. Laadija toetab BIOS-i ja EFI-d. Võrgustikustakk võimaldab kasutada BSD-süsteemide stiilis sokkel API-d ning toetab võrgu liidesi, sealhulgas loopback.
Enda rakenduste seast paistab silma Vi sarnane koodi redaktor Bim, mida on viimased paar aastat kasutatud ToaruOS-i spetsiifiliste rakenduste, näiteks failihalduri, terminali emulaatori, vidinate toetava graafika paneeli, pakettide halduri ning piltide (PNG, JPEG) ja TrueType fontide toetamisel. ToaruOS-ile on portitud selliseid programme nagu Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulaator, Bochs jne.
Projekt hõlmab ka oma dünaamilise programmeerimiskeele Kuroko väljatöötamist, mis on mõeldud Python’i asendamiseks utiliitide ja kasutajarakenduste arendamisel süsteemi jaoks. Keele süntaks sarnaneb Python’iga (positsioneeritakse kui Python’i lühendatud murde, millel on selge muutujate määratlemine) ning eristub väga kompaktse rakenduse poolest. Toetatakse suurepäraselt bytecode’i kompileerimist ja tõlgendamist. Bytecode’i tõlgendaja pakub jäätmeesitust, toetab mitme lõime kasutamist ilma globaalse lukustamiseta. Kompilaatorit ja tõlgendajat saab koguda väikese jagatava teeki (~500KB) vormis, mis on integreeritav teiste programmidega ja laiendatav C API kaudu. Peale ToaruOS’i saab keelt kasutada ka Linuxis, macOS-is, Windowsis ja käivitada brauserites, mis toetavad WebAssembly’t.
Uues väljaandes:
- Lisatud algne tugi AArch64 (ARMv8) arhitektuurile, sealhulgas eksperimentaalne võimalus kasutada ToaruOS-i Raspberry Pi 400-l ja emulaatoris QEMU.
- Töötlemise ja signaalide edastamise mehhanismid kasutaja ruumis on põhjalikult üle vaadatud. Rakendatud on sigaction, sigprocmask, sigwait ja sigsuspend kutsetead.
- Kasutaja mäluhalduse haldamine on paranenud. Lisatud on süsteemi kutsumine munmap.
- Koostamisjuhendis on rakendatud udustamise efekt ja akna suuruse muutumise sündmuste töötlemine on üle vaadatud.
- Terminali joonistamine on paranenud, rakendatud on viivitusega joonistamine ja lisatud on TrueType fontide glüfide vahemälu.
- Paigutaja võimalusi on laiendatud.
- Kellade seadistamiseks on lisatud mehhanismid, sealhulgas süsteemi kutse settimeofday ja kuupäevatöötlustooted on laienenud.
- Võrgustikustaki on paranenud. Ifconfig utiliidile on lisatud IPv4 aadresside ja marsruutimise seadete seadistamise tugi. ICMP sokettide töö on tagatud. Lisatud on funktsiooni recvfrom tugi UDP ja ICMP sokettide jaoks.
- Käivitajas on lisatud tugi USB-klaviatuuride jaoks.
- Failihalduri kontekstimenüüsse on lisatud element failide kustutamiseks.
- Parandatud graafikute kuvamine süsteemi monitoris.
- Lisatud grep utiliit regulaarsete väljendite toetamisega.
- Parandatud ps käsu väljundit (lisatud täiendavad veerud).

Allikas: opennet.ru
