ToaruOS 1.14 operatsioonisüsteemi ja programmeerimiskeele Kuroko 1.1 väljalaskmine

ToaruOS 1.14 projekti uus väljaanne on nüüd saadaval. See arendab nullist kirjutatud Unix-taolist operatsioonisüsteemi, millel on oma tuum, laadija, standardne C-raamatukogu, paketihaldur, kasutajaruumi komponendid ja komposiitakende halduriga graafiline liides. Praegusel arenguastmel on süsteemi võimalused piisavad Python 3 ja GCC teostamiseks. Projekti kood on kirjutatud C keeles ja levitatakse BSD litsentsi alusel. Laadimiseks on ette valmistatud 14 MB suurune live-pilt, mida saab testida QEMU, VMware või VirtualBoxis.

ToaruOS 1.14 operatsioonisüsteemi ja programmeerimiskeele Kuroko 1.1 väljalaskmine

Projekt algas 2010. aastal Illinois'i ülikoolis ja arenes alguses välja teaduslikust tööst, mis oli suunatud uute komposiitgraafiliste liideste loomisele. Alates 2012. aastast on arendus ümber kujundatud ToaruOS operatsioonisüsteemiks, mis alguses oli tudengiprojekt, kuid hiljem kasvas nädalavahetuse hobiks, mille ümber tekkis projektiga seotud kogukond. Praeguses vormis on süsteem varustatud komposiitakna halduriga, toetab dünaamiliselt lingitud ELF-failiformaate, mitmeülesanne, graafilisi ja võrgu protokolle.

Kohal on Python 3.6 programmeerimiskeele port, mida on kasutatud ToaruOS'i spetsiifiliste graafiliste rakenduste, nagu pakihaldur, graafikaredaktor, PDF-vaataja, kalkulaator, lihtsad mängud, arendamisel. ToaruOS'ile portitud kolmandate osapoolte programmide seas on märgitavad Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulaator, Bochs jne.

ToaruOS põhineb tuumal, mis kasutab hübriidset moodulaarset arhitektuuri, ühendades monoliitse aluse ja võimaluse laadida sisseehitatud mooduleid, mille vormingus on esitatud enamus seadme draivereid, nagu näiteks ketas (PATA ja ATAPI) draiverid, failisüsteem EXT2 ja ISO9660, framebuffer, klaviatuurid, hiired, võrkaart (AMD PCnet FAST, Realtek RTL8139 ja Intel PRO/1000), helikiibid (Intel AC’97) ning ka VirtualBoxi laiendused külalisüsteemidele.

Tuumal pakutavad primitiivid hõlmavad Unix-keemete, TTY, virtuaalset failisüsteemi, mitme ülesande täitmist, IPC, jagatud mälu, mitmeühenduse ja teisi tüüpilisi võimeid. Failisüsteemina kasutatakse ext2. Interaktsiooniks tuumaga on saadaval pseudo-failisüsteemi /proc rakendus, mis on loodud analoogina Linuxile.

2021. aasta plaanides on välja toodud 64-bitise x86-64 arhitektuuriga töötamine (hetkel koostatakse versioone vaid 32-bitiste x86 süsteemide jaoks) ja mitme protsessori süsteemide (SMP) tugi. Teiste eesmärkidena nimetatakse POSIX spetsifikatsioonidega signaali töötlemise ja sünkroonimismeetodite ühilduvuse parandamist, standardse C-raamatukogu viimist Newlib tasemele, ning oma C keele kompilaatori ja arendustööriistade loomist.

Projekt arendab ka oma dünaamilist programmeerimiskeelt Kuroko, mis on mõeldud Python'i asendamiseks utiliitide ja kasutajarakenduste arendamisel. Keel toetab bytecode kompileerimist ja tõlgendamist, meenutab süntaksilt Pythonit (positionsiooni ametlikult lühem Python'i dialekt, kus muutujad on selgelt määratletud) ning eristub väga kompaktse rakendusega. Bytecode'i tõlgendaja pakub prügikogujat, toetab mitme lõime töötlemist ilma globaalsete lukustuseta. Kompilaator ja tõlgendaja saab kokku panna väikese jagatud teegina (~500 KB), mis on integreeritav teiste programmidega ja laiendatav C API kaudu. Lisaks ToaruOS'ile saab keelt kasutada Linux'is, macOS'is, Windows'is ja käitada brauserites, kus on toe WebAssembly.

Uues ToaruOS väljaandes keskenduti C standardraamatukogu ja Kuroko programmeerimiskeele arendamisele. Näiteks lisati libc-sse matemaatilised funktsioonid, mis on vajalikud valgustuse parameetrite õigeks arvutamiseks mängus Quake. EFI režiimis VirtualBoxi laadimise võimalus on nüüd töökorras. ISO-pildi suurust on vähendatud ram-disk-pildi kokkusurumise abil.

Kuroko 1.1 keeles on lisatud async ja await tugi, realiseeritud mitme lõime tugi, parandatud ühilduvus Python 3-ga, lisatud mitme väärtuse andmise tugi, laiendatud vahendeid C keeles kirjutamiseks, lisatud tüüpide märgistamise tugi funktsioonide jaoks, lisatud märksõnad "yield" ja "yield from", integreeritud moodulid os, dis, fileio ja time, lisatud uued meetodid str, list, dict ja bytes, lisatud tugi eelkompileerimiseks bytecode'iks ja litsents muudetud MIT-ks (varasemalt oli see MIT ja ISC segu).

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster