ToaruOS 2.1, et Unix-lignende operativsystem skrevet fra bunden og leveret med sin egen kerne, bootloader, standard C-bibliotek, pakkehåndtering, brugerrumskomponenter og grafisk grænseflade med en sammensat vinduesmanager, er blevet frigivet. Projektet begyndte oprindeligt på University of Illinois som et forskningsprojekt i at skabe nye sammensatte grafiske grænseflader, men blev senere omdannet til et separat operativsystem. Projektkoden er skrevet i C og distribueret under BSD-licensen. Et live-billede på 14.4 MB er tilgængeligt til download og kan testes i QEMU, VMware eller VirtualBox.

ToaruOS er baseret på en kerne, der bruger en hybrid modulær arkitektur, der kombinerer en monolitisk base og midler til brug af indlæsbare moduler, som er de fleste af de tilgængelige enhedsdrivere, såsom diskdrivere (PATA og ATAPI), EXT2 og ISO9660 filsystemer, framebuffer, tastatur, mus, netværkskort, AMD RTL8139 F1000, AMD RTL97/FXNUMX, lyd, AMD RTLXNUMX/FXNUMX, AMD RTLXNUMX/FXNUMX), chips (Intel AC'XNUMX), samt VirtualBox-tilføjelser til gæstesystemer. Kernen understøtter Unix-tråde, TTY, virtuel FS, pseudo-FS /proc, multithreading, IPC, ramdisk, ptrace, delt hukommelse, multitasking og andre typiske funktioner.
Systemet er udstyret med en sammensat vinduesmanager, understøtter dynamisk forbundne eksekverbare filer i ELF-format, multitasking, en grafikstak og kan køre Python 3 og GCC. Det anvendte filsystem er ext2. Bootloaderen understøtter BIOS og EFI. Netværksstakken tillader brug af BSD-stil socket API'er og understøtter netværksgrænseflader inklusive loopback.
Blandt de native applikationer skiller den Vi-lignende Bim-kodeeditor sig ud, som er blevet brugt i de sidste par år til at udvikle ToaruOS-specifikke applikationer, såsom en filhåndtering, en terminalemulator, et widget-aktiveret grafisk panel, en pakkehåndtering, samt biblioteker til understøttelse af billeder (PNG, JPEG) og TrueType-skrifttyper. ToaruOS har overført programmer som Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs osv.
Projektet udvikler også sit eget dynamiske programmeringssprog, Kuroko, der er designet til at erstatte Python, når der udvikles værktøjer og brugerapplikationer til systemet. Sproget er syntaktisk lig Python (det er positioneret som en forkortet Python-dialekt med eksplicitte variabeldefinitioner) og har en meget kompakt implementering. Kompilering og fortolkning af bytecode understøttes. Bytecode-fortolkeren leverer en garbage collector og understøtter multithreading uden brug af en global lås. Compileren og fortolkeren kan kompileres som et lille delt bibliotek (~500 KB), integreres med andre programmer og udvides via C API'en. Ud over ToaruOS kan sproget bruges i Linux, macOS, Windows og køre i browsere, der understøtter WebAssembly.
I den nye udgivelse:
- Tilføjet indledende understøttelse af AArch64 (ARMv8)-arkitekturen, inklusive eksperimentel støtte til at køre ToaruOS på Raspberry Pi 400-kortet og i QEMU-emulatoren.
- Omarbejdet håndtering og transmission af signaler til processer i brugerrummet. Implementerede opkald til sigaction, sigprocmask, sigwait og sigsuspend.
- Forbedret hukommelsesstyring i brugerrummet. Tilføjet munmap-systemkald.
- Den sammensatte manager har en sløringseffekt og omarbejdet håndtering af hændelser ved ændring af vinduesstørrelsen.
- Forbedret terminalgengivelse, implementeret udskudt gengivelse og tilføjet en glyph-cache til TrueType-skrifttyper.
- Komponistens muligheder er blevet udvidet.
- Tilføjede mekanismer til indstilling af uret, herunder implementering af systemopkaldet settimeofday og udvidede muligheder for datoværktøjet.
- Forbedret netværksstak. Ifconfig-værktøjet er blevet opdateret til at understøtte indstilling af IPv4-adresser og routingindstillinger. ICMP-stik er nu operationelle. Tilføjet understøttelse af recvfrom-funktionen til UDP- og ICMP-stik.
- Bootloaderen understøtter nu arbejde med USB-tastaturer.
- Et element til sletning af filer er blevet tilføjet til filhåndteringskontekstmenuen.
- Forbedret visning af grafer i systemmonitoren.
- Tilføjet grep-værktøj med understøttelse af regulære udtryk.
- Forbedret ps-kommando-output (tilføjet yderligere kolonner).

Kilde: opennet.ru
