Udgaven af Unix-lignende operativsystem ToaruOS 2.0 er blevet offentliggjort. Det er skrevet fra bunden og leveres med sin egen kerne, bootloader, standard C-bibliotek, pakkehåndtering, komponenter til brugerfladen og et grafisk interface med en sammensat vinduesadministrator. Projektets kode er skrevet i C og distribueres under BSD-licensen. Der er forberedt et live-billede på 14,4 MB, som kan afprøves i QEMU, VMware eller VirtualBox.

Projektet startede i 2010 ved University of Illinois og udviklede sig oprindeligt som et forskningsarbejde inden for skabelsen af nye sammensatte grafiske brugerflader. Siden 2012 er udviklingen transformeret til operativsystemet ToaruOS, der nu udvikles af et fællesskab med interesse for udvikling. I sin nuværende form leveres systemet med en sammensat vinduesadministrator, understøtter dynamisk linkede eksekverbare filer i ELF-format, multitasking, et grafisk stack og kan køre Python 3 og GCC.
ToaruOS er baseret på en kerne, der anvender en hybrid modulær arkitektur, som kombinerer en monolitisk grundstruktur og midler til at bruge uploadable moduler, hvoraf de fleste eksisterende enhedsdrivere er udformet. Dette inkluderer drevdrivere (PATA og ATAPI), filsystemer som EXT2 og ISO9660, framebuffer, tastaturer, mus, netværkskort (AMD PCnet FAST, Realtek RTL8139 og Intel PRO/1000), lydchips (Intel AC'97) samt VirtualBox-tilføjelser til gæstesystemer. Kernen understøtter Unix-tråde, TTY, virtuel filsystem, pseudo-filsystemet /proc, multithreading, IPC, ramdisk, ptrace, delt hukommelse, multitasking og andre typiske funktioner.
Filsystemet, der anvendes, er ext2. Bootloaderen understøtter både BIOS og EFI. Netværksstacken muliggør brug af BSD-stil socket API'er og understøtter netværksgrænseflader, inklusive loopback. For ToaruOS er programmer som Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator og Bochs blevet portet. Blandt egne applikationer skiller kodeeditoren Bim, der ligner Vi, sig ud og har været brugt de seneste år til udvikling af specifikke ToaruOS-applikationer, såsom filhåndtering, terminalemulator, grafisk panel med vidensupport, pakkehåndtering og biblioteker til understøttelse af billeder (PNG, JPEG) og TrueType-skrifttyper.
Projektet udvikler også sit eget dynamiske programmeringssprog Kuroko, som er designet til at erstatte Python ved udviklingen af værktøjer og brugerapplikationer til systemet. Sproget minder i syntax om Python (positioneret som en forkortet variant af Python med eksplicit definition af variabler) og adskiller sig ved en meget kompakt implementering. Der understøttes både kompilering og fortolkning af bytecode. Bytecode-fortolkeren tilbyder garbage collection, understøtter multitrådning uden global lock. Kompilatoren og fortolkeren kan samles som et lille delt bibliotek (~500KB), der kan integreres med andre programmer og udvides via C API. Udover ToaruOS kan sproget bruges i Linux, macOS, Windows og køres i browsere med støtte for WebAssembly.
I den nye udgave af ToaruOS:
- Funktionen i Misaka-kernen er blevet udvidet, hvilket muliggør implementering af brugerdefinerede værktøjer såsom top, strace, dbg, ping og cpuwidget.
- Grafikbiblioteks muligheder er blevet udvidet, herunder affine transformationer.
- Windows-frameworkets ydeevne er blevet forbedret.
- Der er tilføjet en rasteriseringsmotor til tekst med support for TrueType-format.
- Der er tilføjet et bibliotek til tekstformatering med markup.
- BIOS-loaderen er forbedret, med øget støtte til hardwarekonfigurationer. EFI-loaderen er blevet omskrevet. Begge dumpere understøtter nu redigering via kommandolinjen i kernen.
- Paneldesign er blevet moderniseret. Widgets har fået støtte til indlæselige biblioteker, dynamisk layout af elementer og nye pop-up vinduer.
- Viseren er blevet omskrevet, og der er tilføjet nye paletter.
- Der er tilføjet en ny implementering af en lommeregner.
- Standardbiblioteket har nu støtte for tidszoner.
- Der er tilføjet en driver til Ensoniq ES1371 chipset, som simuleres i VMware.
- I den næste store version 2.1 forventes støtte til AHCI-enheder, xHCI, USB HID. I version 2.2 planlægges implementering af support for AArch64-arkitekturen.



Kilde: opennet.ru
