28. aprill ja 5. mai üritused toimusid Unix-taolise operatsioonisüsteemi versioonide 2.3 ja 2.3.1 väljaandmine ToaruOS, mis on loodud nullist ja sisaldab oma tuuma, laadijat, standardset C-teeki, pakihaldurit, kasutajaruumi komponente ja komposiitakende halduriga graafilise liidese.
Alguses arenes projekt Illinois ülikoolis uurimistööna uute komposiitgraafiliste liideste loomisel, kuid seejärel muutus see iseseisvaks operatsioonisüsteemiks. Projekti kood on kirjutatud C keeles ja GNU Üldine Avaliku litsentsi alusel. BSD-litsentsi alusel. Laadimiseks on valmistatud live-pilt (2.3.1), suurusega 7.4 MB, mida saab testida QEMU, VMware või VirtualBoxis.
ToaruOS põhinev kernel kasutab hübriidmoodulite arhitektuuri, mis ühendab monoliitsed põhielemendid laaditavate moodulite kasutamise vahenditega, milles on vormistatud enamiku olemasolevate seadme draiverite, nagu ketasdraiverid (PATA ja ATAPI), FS Ext2 ja ISO9660, framebuffer, klaviatuurid, hiired, võrkaartid (AMD PCnet FAST, Realtek RTL8139 ja Intel PRO/1000), helikaardid (Intel AC’97) ja ka VirtualBoxi külgsüsteemide lisand. Kernel toetab Unix-i sisendeid, TTY-d, virtuaalset FS-i, pseudofailisüsteemi /proc, mitme lõime toe, IPC-d, ramdisk-i, ptrace-i, jagatud mälu, ja mitut ülesannet ja muid tüüpilisi võimalusi.
Süsteem on varustatud komposiitakende halduriga, toetab dünaamiliselt linkitavaid täidetavaid faile ELF-formaadis, mitmeülesandeid, graafilist kuhja ning suudab käitada Python 3 ja GCC. Failisüsteemina kasutatakse ext2. Käivitaja toetab BIOS-i ja EFI-d. Võrguharu võimaldab kasutada BSD-süsteemide soklite API-d ja toetab võrgu liideseid, sealhulgas loopbacki.
ToaruOS-ile on välja töötatud sarnane Vi koodi redaktor nimega Bim, mida on viimased paar aastat kasutatud ToaruOS-rakenduste, näiteks failihalduri, terminääri emulaatori, vidinatoega graafikapaneeli, pakihalduri, samuti piltide (PNG, JPEG) ja TrueType-fontide toetamiseks mõeldud raamatukogude arendamiseks. ToaruOS-ile on portitud selliseid programme nagu Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulaator, Bochs jne.
Projekt arendab ka oma dünaamilist programmeerimiskeelt. Kuroko, mis rohkem kui Python, et arendada utiliite ja kasutajarakendusi süsteemi jaoks. Süntaksilt sarnaneb see Pythoniga (esitatakse kui lühendatud Python dialekt, kus on selgelt määratletud muutujad) ning eristub väga kompaktse teostuse poolest. Toetab bitekoodi kompileerimist ja tõlgendamist. Bitekoomi tõlkija pakub prügikogujat, toetab mitme lõime kasutamist ilma globaalse lukustamiseta. Kompilaator ja tõlkija saavad olla kokkupandud väikese jagatava teegina (~500KB), mis on integreeritav teiste programmidega ja laiendatav läbi C API. Lõppkokkuvõttes saab keelt kasutada Linuxis, macOS-is, Windowsis ja kasutada veebibrauserites, mis toetavad WebAssemblyt.
- Terminali emulaatorisse on lisatud vahekaartede tugi, mille vahel saab vahetada Alt-numbrijada abil. Tõhusat rasvase kirja emulatsiooni on saavutatud paarikordse glüfide kattumise kaudu. Lisatud on alammenüüd „Terminali olek”, et aktiveerida erinevate režiimide olekute näitamine, ning „Saada signaal” taustprotsesside signaalide saatmiseks.
- Rakendatud on süsteemi juhendite vaatamisseade, mis toetab roff formaadis man-lehti.
- Kontekstimenüüsse on lisatud alamenüü akende mosaiikkompositsiooni haldamiseks.
- Ytme on rakendatud uusi süsteemikõnesid, sealhulgas pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage ja fcntl. Lisatud on FD_CLOEXEC ja FD_CLOFORK lippude tugi. Teostatud on tuuma laadimisadresse randomiseerimise tugi. Süsteemikõnede ABI on muudetud syscall/sysret käskude kasutamiseks.
- Virtuaalse konsooli (TTY) võimalusi on sageli laiendatud, tagades tekstirežiimi VGA emulatsiooni raami bufferi põhjal.
- Aarch64 arhitektuuri versioonis on võimaldatud käitamine QEMU-põhistes virtuaalmasinates.
- Võrgustiku paigutusse on lisatud tugi samaaegseks töötamiseks mitmete ICMP soketidega.
- Standardse libc teeki on lisatud funktsioonid getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
- Lisatud on uued standardutiliidid rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Uued valikud ls, grep ja fgrep. Utilityd ps, top, pstree, killall ja pidof on ümber kirjutatud uue raamatukogu libtoaru_procfs baasil, mis ühtlustab toimimist pseudofailisüsteemiga /proc. Kommando tõlgendaja esh on laiendatud.
- Lisatud on utiliit check-image, mis kontrollib graafikaraamatukogu võimet laadida pilti ja näidata pildi suurust.
- Programmeerimiskeel Kuroko on uuendatud versioonile 1.5rc2.
- Tekstiredaktor on uuendatud versioonile 3.2 Bim (github.com), mis on loodud silmas pidades Vim-i. Uues versioonis on parendatud süntaksihõlbustust, laiendatud Kuroko keele skriptide tuge ja lisatud uus automaatse täitmise süsteem.
Allikas: linux.org.ru
