ToaruOS 2.0, et Unix-lignende operativsystem skrevet fra bunden og leveret med sin egen kerne, bootloader, standard C-bibliotek, pakkehåndtering, brugerpladskomponenter og grafisk brugerflade med en compositing-vindueshåndtering, er blevet udgivet. Projektkoden er skrevet i C og distribueret under BSD-licensen. Et live image på 14.4 MB er tilgængeligt til download og kan testes i QEMU, VMware eller VirtualBox.

Projektet startede i 2010 på University of Illinois og udviklede sig oprindeligt som et forskningsprojekt inden for skabelsen af nye sammensatte grafiske grænseflader. Siden 2012 har udviklingen udviklet sig til operativsystemet ToaruOS, udviklet af et fællesskab, der er interesseret i udviklingen. I sin nuværende form er systemet udstyret med en sammensat vindueshåndtering, understøtter dynamisk linkede eksekverbare filer i ELF-format, multitasking, en grafikstak og kan køre Python 3 og GCC.
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.
Det anvendte filsystem er ext2. Bootloaderen understøtter BIOS og EFI. Netværksstakken tillader brugen af BSD-lignende socket-API'er og understøtter netværksgrænseflader, herunder loopback. ToaruOS har porteret programmer som Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs osv. 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.
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 af ToaruOS:
- Misaka-kernen har tilføjet funktionalitet, der tillader implementering af brugerværktøjerne top, strace, dbg, ping og cpuwidget.
- Grafikbibliotekets muligheder er blevet udvidet, herunder tilføjelse af affine transformationer.
- Forbedret ydeevne af vinduesrammen.
- Tilføjet tekstrasterisering med understøttelse af TrueType-format.
- Tilføjet et bibliotek til formatering af tekst med markup.
- BIOS-bootloaderen er blevet forbedret for at give udvidet understøttelse af hardwarekonfigurationer. EFI-bootloaderen er blevet omskrevet. Begge bootloadere understøtter nu redigering af kernelkommandolinjen.
- Panelets design er blevet moderniseret. Widgets understøtter nu biblioteker, der kan downloades, dynamisk layout af elementer og nye pop op-vinduer.
- Fremviseren er blevet omskrevet, og nye paletter er blevet tilføjet.
- Tilføjet ny implementering af lommeregner.
- Understøttelse af tidszoner er blevet tilføjet til standardbiblioteket.
- Tilføjet driver til Ensoniq ES1371-chipsættet emuleret i VMware.
- Den næste større udgivelse 2.1 forventes at understøtte AHCI-, xHCI- og USB HID-enheder. 2.2-grenen er planlagt til at implementere understøttelse af AArch64-arkitekturen.



Kilde: opennet.ru
