Udgivelse af ToaruOS 1.14 operativsystem og Kuroko 1.1 programmeringssprog

Udgivelsen af ​​ToaruOS 1.14-projektet er tilgængelig, der udvikler et Unix-lignende operativsystem skrevet fra bunden med sin egen kerne, boot-loader, standard C-bibliotek, pakkehåndtering, brugerrumskomponenter og en grafisk grænseflade med en sammensat vindueshåndtering. På det nuværende udviklingstrin er systemets muligheder tilstrækkelige til at køre Python 3 og GCC. Projektkoden er skrevet i C og distribueret under BSD-licensen. Der er forberedt et live-billede på 14 MB i størrelse til download, som kan testes i QEMU, VMware eller VirtualBox.

Udgivelse af ToaruOS 1.14 operativsystem og Kuroko 1.1 programmeringssprog

Projektet startede i 2010 ved University of Illinois og udviklede sig oprindeligt som forskningsarbejde inden for skabelse af nye sammensatte grafiske grænseflader. Siden 2012 er udviklingen forvandlet til styresystemet ToaruOS, som oprindeligt blev udviklet som et elevprojekt, og siden voksede til en weekendhobby, samlet op af det fællesskab, der dannede sig omkring projektet. I sin nuværende form er systemet udstyret med en sammensat vinduesmanager, understøtter dynamisk forbundne eksekverbare filer i ELF-format, multitasking, grafik og netværksstakke.

Pakken inkluderer en port til programmeringssproget Python 3.6, som bruges i udviklingen af ​​nogle ToaruOS-specifikke grafiske applikationer, såsom en pakkehåndtering, grafisk editor, PDF-fremviser, lommeregner og simple spil. Tredjepartsprogrammer porteret til ToaruOS inkluderer Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs osv.

ToaruOS er baseret på en kerne, der bruger en hybrid modulær arkitektur, der kombinerer en monolitisk ramme og værktøjer til brug af indlæsbare moduler, som udgør størstedelen af ​​tilgængelige enhedsdrivere, såsom diskdrivere (PATA og ATAPI), EXT2 og ISO9660 filsystemer, 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.

Primitiverne fra kernen inkluderer Unix-tråde, TTY, virtuelt filsystem, multithreading, IPC, delt hukommelse, multitasking og andre standardfunktioner. ext2 bruges som filsystem. For at interagere med kernen leveres en pseudo-FS /proc-implementering, skabt i analogi med Linux.

Planer for 2021 inkluderer arbejde med 64-bit x86-64-arkitekturen (i øjeblikket genereres samlinger kun til 32-bit x86-systemer) og understøttelse af multiprocessorsystemer (SMP). Andre mål inkluderer at forbedre kompatibiliteten med POSIX-specifikationer inden for signalbehandling og synkroniseringsmetoder, bringe standard C-biblioteket til Newlib-niveauet og implementere dets egne C-sprog-kompiler- og udviklingsværktøjer.

Projektet udvikler også sit eget dynamiske programmeringssprog, Kuroko, designet til at erstatte Python ved udvikling af hjælpeprogrammer og brugerdefinerede applikationer til systemet. Sproget understøtter kompilering og fortolkning af bytekode, dets syntaks ligner Python (det er placeret som en forkortet dialekt af Python med eksplicit definition af variabler) og har en meget kompakt implementering. Bytekodefortolkeren leverer en skraldeopsamler og understøtter multithreading uden brug af global låsning. Kompileren og fortolkeren kan kompileres i form af et lille delt bibliotek (~500KB), integreret med andre programmer og kan udvides gennem C API. Udover ToaruOS kan sproget bruges på Linux, macOS, Windows og køre i browsere, der understøtter WebAssembly.

Den nye udgivelse af ToaruOS fokuserede på udviklingen af ​​standard C-biblioteket og Kuroko-programmeringssproget. For eksempel er matematiske funktioner, der er nødvendige for korrekt beregning af lysparametre i Quake spillet, blevet tilføjet til libc. Muligheden for at starte op i VirtualBox i EFI-tilstand er blevet forbedret. Størrelsen af ​​iso-billedet er blevet reduceret ved at bruge komprimering af ram-diskbilledet.

Den nye udgivelse af Kuroko 1.1-sproget tilføjer understøttelse af async and await, implementerer multithreading, forbedrer kompatibiliteten med Python 3, understøtter flere værditildelinger, udvider værktøjerne til skrivehåndterere i C-sproget, tilføjer understøttelse af typeannoteringer til funktioner, tilføjer nøgleordene "yield" og "yield from", os, dis, fileio og time-modulerne er blevet integreret, nye metoder er implementeret i str, list, dict og bytes, understøttelse af prækompilering til bytecode er tilføjet, licensen har blevet ændret til MIT (tidligere var der en kombination af MIT og ISC).

Kilde: opennet.ru

Tilføj en kommentar