Objavljena je bila izdaja Unixu podobnega operacijskega sistema ToaruOS 2.1, napisanega iz nič in opremljenega z lastnim jedrom, zagonskim nalagalnikom, standardno knjižnico C, upraviteljem paketov, komponentami uporabniškega prostora in grafičnim vmesnikom s sestavljenim upraviteljem oken. Projekt se je sprva razvil na Univerzi v Illinoisu kot raziskovalno delo na področju ustvarjanja novih sestavljenih grafičnih vmesnikov, nato pa se je preoblikoval v ločen operacijski sistem. Projektna koda je napisana v C in se distribuira pod licenco BSD. Za prenos je pripravljena živa slika velikosti 14.4 MB, ki jo lahko testirate v QEMU, VMware ali VirtualBox.

ToaruOS temelji na jedru, ki uporablja hibridno modularno arhitekturo, ki združuje monolitno ogrodje in orodja za uporabo naložljivih modulov, ki tvorijo večino razpoložljivih gonilnikov naprav, kot so gonilniki diskov (PATA in ATAPI), datotečni sistemi EXT2 in ISO9660, medpomnilnik okvirjev. , tipkovnice, miške , omrežne kartice (AMD PCnet FAST, Realtek RTL8139 in Intel PRO/1000), zvočne čipe (Intel AC'97), kot tudi dodatke VirtualBox za sisteme za goste. Jedro podpira niti Unix, TTY, virtualni datotečni sistem, psevdo datotečni sistem /proc, večnitnost, IPC, ramdisk, ptrace, skupni pomnilnik, večopravilnost in druge standardne funkcije.
Sistem je opremljen s sestavljenim upravljalnikom oken, podpira dinamično povezane izvedljive datoteke v formatu ELF, večopravilnost, grafični sklad, lahko poganja Python 3 in GCC, kot datotečni sistem se uporablja Ext2. Zagonski nalagalnik podpira BIOS in EFI. Omrežni sklad omogoča uporabo API-jev vtičnic v slogu BSD in podpira omrežne vmesnike, vključno s povratno zanko.
Med domačimi aplikacijami izstopa Vi podoben urejevalnik kode Bim, ki se zadnjih nekaj let uporablja za razvoj aplikacij, specifičnih za ToaruOS, kot so upravitelj datotek, terminalski emulator, grafična plošča s podporo za widgete, upravitelj paketov itd. kot knjižnice za podporo slikam (PNG, JPEG) in pisavam TrueType. Programi, kot so Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs itd., so bili preneseni v ToaruOS.
Projekt razvija tudi lasten dinamični programski jezik Kuroko, ki bo nadomestil Python pri razvoju pripomočkov in uporabniških aplikacij za sistem. Jezik je sintaktično podoben Pythonu (pozicioniran je kot skrajšano narečje Pythona z eksplicitnimi definicijami spremenljivk) in ima zelo kompaktno implementacijo. Podprto je prevajanje in interpretacija bajtne kode. Interpretator bajtne kode ponuja zbiralnik smeti in podpira večnitnost brez uporabe globalnega zaklepanja. Prevajalnik in interpreter je mogoče prevesti kot majhno deljeno knjižnico (~500 KB), integrirati z drugimi programi in razširiti prek C API-ja. Poleg ToaruOS se jezik lahko uporablja tudi v Linux, macOS, Windows in se izvajajo v brskalnikih, ki podpirajo WebAssembly.
V novi izdaji:
- Dodana začetna podpora za arhitekturo AArch64 (ARMv8), vključno z eksperimentalno možnostjo uporabe ToaruOS na plošči Raspberry Pi 400 in v emulatorju QEMU.
- Prenovljena je obdelava in prenos signalov do procesov v uporabniškem prostoru. Implementirani klici sigaction, sigprocmask, sigwait in sigsuspend.
- Izboljšano upravljanje pomnilnika v uporabniškem prostoru. Dodan sistemski klic munmap.
- Sestavljeni upravitelj implementira učinek zameglitve in predela obravnavo dogodkov, ko se spremeni velikost okna.
- Terminalsko upodabljanje je bilo izboljšano, uvedeno je bilo leno upodabljanje in dodan je predpomnilnik glifov za pisave TrueType.
- Zmogljivosti skladatelja so bile razširjene.
- Dodani so bili mehanizmi za nastavitev ure, vključno s sistemskim klicem settimeofday in razširjenimi zmožnostmi pripomočka za datum.
- Izboljšan omrežni sklad. Pripomoček ifconfig je dodal podporo za nastavitev naslovov IPv4 in nastavitev usmerjanja. Omogočeno delovanje vtičnic ICMP. Dodana podpora za funkcijo recvfrom za vtičnice UDP in ICMP.
- Zagonski nalagalnik je dodal možnost dela s tipkovnicami USB.
- V kontekstni meni upravitelja datotek je bil dodan element za brisanje datotek.
- Izboljšan prikaz grafov v sistemskem monitorju.
- Dodan pripomoček grep s podporo za regularne izraze.
- Izboljšan izpis ukaza ps (dodani dodatni stolpci).

Vir: opennet.ru
