Utgivelse av operativsystemet ToaruOS 1.14 og programmeringsspråket Kuroko 1.1

Utgivelsen av ToaruOS 1.14-prosjektet er tilgjengelig, og utvikler et Unix-lignende operativsystem skrevet fra bunnen av med sin egen kjerne, oppstartslaster, standard C-bibliotek, pakkebehandling, brukerplasskomponenter og et grafisk grensesnitt med en sammensatt vindusbehandling. På det nåværende utviklingsstadiet er systemets evner tilstrekkelige til å kjøre Python 3 og GCC. Prosjektkoden er skrevet i C og distribuert under BSD-lisensen. Et levende bilde på 14 MB i størrelse er forberedt for nedlasting, som kan testes i QEMU, VMware eller VirtualBox.

Utgivelse av operativsystemet ToaruOS 1.14 og programmeringsspråket Kuroko 1.1

Prosjektet startet i 2010 ved University of Illinois og utviklet seg opprinnelig som forskningsarbeid innen feltet for å lage nye sammensatte grafiske grensesnitt. Siden 2012 har utviklingen forvandlet seg til operativsystemet ToaruOS, som opprinnelig ble utviklet som et studentprosjekt, og deretter vokste til en helgehobby, plukket opp av fellesskapet som dannet seg rundt prosjektet. I sin nåværende form er systemet utstyrt med en sammensatt vindusbehandling, støtter dynamisk koblede kjørbare filer i ELF-format, multitasking, grafikk og nettverksstabler.

Pakken inkluderer en port av programmeringsspråket Python 3.6, som brukes i utviklingen av noen ToaruOS-spesifikke grafiske applikasjoner, for eksempel en pakkebehandling, grafisk editor, PDF-visning, kalkulator og enkle spill. Tredjepartsprogrammer portert til ToaruOS inkluderer Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs, etc.

ToaruOS er basert på en kjerne som bruker en hybrid modulær arkitektur som kombinerer et monolitisk rammeverk og verktøy for bruk av lastbare moduler, som utgjør flertallet av tilgjengelige enhetsdrivere, som diskdrivere (PATA og ATAPI), EXT2 og ISO9660 filsystemer, framebuffer , tastaturer, mus , nettverkskort (AMD PCnet FAST, Realtek RTL8139 og Intel PRO/1000), lydbrikker (Intel AC'97), samt VirtualBox-tillegg for gjestesystemer.

Primitivene levert av kjernen inkluderer Unix-tråder, TTY, virtuelt filsystem, multithreading, IPC, delt minne, multitasking og andre standardfunksjoner. ext2 brukes som filsystem. For å samhandle med kjernen, leveres en pseudo-FS /proc-implementering, laget i analogi med Linux.

Planer for 2021 inkluderer arbeid med 64-bit x86-64-arkitekturen (foreløpig genereres sammenstillinger kun for 32-bits x86-systemer) og støtte for multiprosessorsystemer (SMP). Andre mål inkluderer å forbedre kompatibiliteten med POSIX-spesifikasjoner innen signalbehandling og synkroniseringsmetoder, bringe standard C-biblioteket til Newlib-nivået og implementere egne C-språkkompilatorer og utviklingsverktøy.

Prosjektet utvikler også sitt eget dynamiske programmeringsspråk, Kuroko, designet for å erstatte Python ved utvikling av verktøy og tilpassede applikasjoner for systemet. Språket støtter kompilering og tolkning av bytekode, syntaksen ligner Python (det er plassert som en forkortet dialekt av Python med eksplisitt definisjon av variabler) og har en veldig kompakt implementering. Bytekodetolken gir en søppeloppsamler og støtter multithreading uten å bruke global låsing. Kompileren og tolken kan kompileres i form av et lite delt bibliotek (~500KB), integrert med andre programmer og utvidbart gjennom C API. I tillegg til ToaruOS kan språket brukes på Linux, macOS, Windows og kjøres i nettlesere som støtter WebAssembly.

Den nye utgivelsen av ToaruOS fokuserte på utviklingen av standard C-biblioteket og programmeringsspråket Kuroko. For eksempel er matematiske funksjoner som er nødvendige for korrekt beregning av lysparametere i Quake-spillet lagt til libc. Muligheten til å starte opp i VirtualBox i EFI-modus er forbedret. Størrelsen på iso-bildet er redusert ved å bruke komprimering av ram-diskbildet.

Den nye utgivelsen av Kuroko 1.1-språket legger til støtte for async and await, implementerer multithreading, forbedrer kompatibiliteten med Python 3, støtter flere verditilordninger, utvider verktøyene for skrivebehandlere på C-språket, legger til støtte for typekommentarer for funksjoner, legger til nøkkelordene "yield" og "yield from", os, dis, fileio og time-modulene er integrert, nye metoder er implementert i str, list, dict og bytes, støtte for prekompilering til bytecode er lagt til, lisensen har blitt endret til MIT (tidligere var det en kombinasjon av MIT og ISC).

Kilde: opennet.ru

Legg til en kommentar