Vrystelling van ToaruOS 1.14-bedryfstelsel en Kuroko 1.1-programmeertaal

Die vrystelling van die ToaruOS 1.14-projek is beskikbaar, wat 'n Unix-agtige bedryfstelsel ontwikkel wat van nuuts af geskryf is met sy eie kern, selflaailaaier, standaard C-biblioteek, pakketbestuurder, gebruikersruimtekomponente en 'n grafiese koppelvlak met 'n saamgestelde vensterbestuurder. Op die huidige stadium van ontwikkeling is die stelsel se vermoëns voldoende om Python 3 en GCC te laat loop. Die projekkode is in C geskryf en onder die BSD-lisensie versprei. 'n Regstreekse beeld van 14 MB groot is voorberei vir aflaai, wat in QEMU, VMware of VirtualBox getoets kan word.

Vrystelling van ToaruOS 1.14-bedryfstelsel en Kuroko 1.1-programmeertaal

Die projek het in 2010 by die Universiteit van Illinois begin en aanvanklik ontwikkel as navorsingswerk op die gebied van die skep van nuwe saamgestelde grafiese koppelvlakke. Sedert 2012 het die ontwikkeling omskep in die ToaruOS-bedryfstelsel, wat aanvanklik as 'n studenteprojek ontwikkel is, en toe gegroei het tot 'n naweekstokperdjie, opgetel deur die gemeenskap wat rondom die projek gevorm het. In sy huidige vorm is die stelsel toegerus met 'n saamgestelde vensterbestuurder, ondersteun dinamies gekoppelde uitvoerbare lêers in ELF-formaat, multitasking, grafika en netwerkstapels.

Die pakket bevat 'n poort van die Python 3.6-programmeertaal, wat gebruik word in die ontwikkeling van sommige ToaruOS-spesifieke grafiese toepassings, soos 'n pakketbestuurder, grafiese redigeerder, PDF-kyker, sakrekenaar en eenvoudige speletjies. Derdeparty-programme wat na ToaruOS oorgedra word, sluit in Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs, ens.

ToaruOS is gebaseer op 'n kern wat 'n hibriede modulêre argitektuur gebruik wat 'n monolitiese raamwerk en gereedskap kombineer vir die gebruik van laaibare modules, wat die meerderheid beskikbare toestelbestuurders vorm, soos skyfdrywers (PATA en ATAPI), EXT2 en ISO9660 lêerstelsels, framebuffer , sleutelborde, muise , netwerkkaarte (AMD PCnet FAST, Realtek RTL8139 en Intel PRO/1000), klankskyfies (Intel AC'97), asook VirtualBox-byvoegings vir gastestelsels.

Die primitiewe wat deur die kern verskaf word, sluit in Unix-drade, TTY, virtuele lêerstelsel, multithreading, IPC, gedeelde geheue, multitasking en ander standaardkenmerke. ext2 word as die lêerstelsel gebruik. Om met die kern te kommunikeer, word 'n pseudo-FS /proc-implementering verskaf, wat in analogie met Linux geskep is.

Planne vir 2021 sluit werk aan die 64-bis x86-64-argitektuur in (vir nou word samestellings slegs vir 32-bis x86-stelsels gegenereer) en ondersteuning vir multiverwerkerstelsels (SMP). Ander doelwitte sluit in die verbetering van verenigbaarheid met POSIX-spesifikasies op die gebied van seinverwerking en sinchronisasiemetodes, om die standaard C-biblioteek na die Newlib-vlak te bring, en die implementering van sy eie C-taalsamesteller en -ontwikkelingsinstrumente.

Die projek ontwikkel ook sy eie dinamiese programmeertaal, Kuroko, wat ontwerp is om Python te vervang wanneer nutsprogramme en pasgemaakte toepassings vir die stelsel ontwikkel word. Die taal ondersteun bytecode samestelling en interpretasie, sy sintaksis lyk soos Python (dit is geposisioneer as 'n verkorte dialek van Python met eksplisiete definisie van veranderlikes) en het 'n baie kompakte implementering. Die bytecode-tolk verskaf 'n vullisverwyderaar en ondersteun multithreading sonder om globale sluiting te gebruik. Die samesteller en tolk kan saamgestel word in die vorm van 'n klein gedeelde biblioteek (~500KB), geïntegreer met ander programme en uitbreibaar deur die C API. Benewens ToaruOS, kan die taal op Linux, macOS, Windows gebruik word en in blaaiers gebruik word wat WebAssembly ondersteun.

Die nuwe vrystelling van ToaruOS het gefokus op die ontwikkeling van die standaard C-biblioteek en die Kuroko-programmeertaal. Byvoorbeeld, wiskundige funksies wat nodig is vir die korrekte berekening van beligtingsparameters in die Quake-speletjie is by libc gevoeg. Die vermoë om in VirtualBox in EFI-modus te begin, is verbeter. Die grootte van die iso-beeld is verminder deur die gebruik van kompressie van die ramskyfbeeld.

Die nuwe vrystelling van die Kuroko 1.1-taal voeg ondersteuning by vir async and await, implementeer multithreading, verbeter verenigbaarheid met Python 3, ondersteun veelvuldige waarde-toewysings, brei die gereedskap uit vir die skryf van hanteerders in die C-taal, voeg ondersteuning by vir tipe aantekeninge vir funksies, voeg die sleutelwoorde "opbrengs" en "opbrengs van", die os-, dis-, fileio- en tydmodules is geïntegreer, nuwe metodes is in str, list, dict en grepe geïmplementeer, ondersteuning vir voorafsamestelling in greepkode is bygevoeg, die lisensie het verander na MIT (voorheen was daar 'n kombinasie van MIT en ISC).

Bron: opennet.ru

Voeg 'n opmerking