Liberazione di u sistema operatore ToaruOS 1.14 è a lingua di prugrammazione Kuroko 1.1

A liberazione di u prughjettu ToaruOS 1.14 hè dispunibule, sviluppatu un sistema operatore Unix-like scrittu da zero cù u so propiu kernel, boot loader, libreria C standard, gestore di pacchetti, cumpunenti di u spaziu di l'utilizatori è una interfaccia grafica cù un gestore di finestra compostu. In u stadiu attuale di sviluppu, e capacità di u sistema sò abbastanza per eseguisce Python 3 è GCC. U codice di u prugettu hè scrittu in C è distribuitu sottu a licenza BSD. Una maghjina in diretta di 14 MB di dimensione hè stata preparata per u scaricamentu, chì pò esse pruvata in QEMU, VMware o VirtualBox.

Liberazione di u sistema operatore ToaruOS 1.14 è a lingua di prugrammazione Kuroko 1.1

U prughjettu hà iniziatu in 2010 à l'Università di l'Illinois è inizialmente sviluppatu cum'è travagliu di ricerca in u campu di a creazione di novi interfacce gràfiche composite. Dapoi u 2012, u sviluppu hè trasfurmatu in u sistema upirativu ToaruOS, chì hè statu sviluppatu inizialmente cum'è un prughjettu studiente, è poi hè diventatu un hobby di u weekend, cullatu da a cumunità chì si furmava intornu à u prugettu. In a so forma attuale, u sistema hè dotatu di un gestore di finestra compostu, supporta i fugliali eseguibili ligati dinamicamente in formatu ELF, multitasking, gràfiche è pile di rete.

U pacchettu include un portu di u linguaghju di prugrammazione Python 3.6, chì hè utilizatu in u sviluppu di alcune applicazioni grafiche specifiche ToaruOS, cum'è un gestore di pacchetti, editore graficu, visualizatore PDF, calculatrice è ghjochi simplici. I prugrammi di terze parti portati à ToaruOS includenu Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulatore Super Nintendo, Bochs, etc.

ToaruOS hè basatu annantu à un kernel chì usa una architettura modulare hibrida chì combina un quadru monoliticu è arnesi per l'usu di moduli caricabili, chì formanu a maiò parte di i driver di dispositivi dispunibili, cum'è i driver di discu (PATA è ATAPI), i sistemi di schedari EXT2 è ISO9660, framebuffer. , tastiere, mouse , carte di rete (AMD PCnet FAST, Realtek RTL8139 è Intel PRO/1000), chips di sonu (Intel AC'97), è ancu VirtualBox add-ons per i sistemi invitati.

I primitivi furniti da u kernel includenu fili Unix, TTY, sistema di file virtuale, multithreading, IPC, memoria sparta, multitasking è altre funzioni standard. ext2 hè adupratu cum'è u sistema di fugliale. Per interagisce cù u kernel, una implementazione pseudo-FS /proc hè furnita, creata per analogia cù Linux.

I piani per 2021 includenu u travagliu nantu à l'architettura 64-bit x86-64 (per avà, l'assemblee sò generati solu per i sistemi x32 86-bit) è u supportu per i sistemi multiprocessori (SMP). Altri scopi includenu migliurà a cumpatibilità cù e specificazioni POSIX in u campu di i metudi di trasfurmazioni di signali è di sincronizazione, purtendu a libreria C standard à u livellu Newlib, è implementendu u so propiu compilatore di lingua C è strumenti di sviluppu.

U prughjettu sviluppa ancu u so propiu linguaghju di prugrammazione dinamica, Kuroko, pensatu per rimpiazzà Python quandu si sviluppa utilità è applicazioni persunalizati per u sistema. A lingua supporta a compilazione è l'interpretazione di bytecode, a so sintassi s'assumiglia à Python (hè posizionatu cum'è un dialettu accurtatu di Python cù una definizione esplicita di variàbili) è hà una implementazione assai compacta. L'interprete di bytecode furnisce un cullettore di basura è supporta multithreading senza usà u bloccu globale. U compilatore è l'interprete pò esse cumpilatu in forma di una piccula biblioteca cumuna (~ 500KB), integrata cù altri prugrammi è estensibile attraversu l'API C. In più di ToaruOS, a lingua pò esse usata in Linux, macOS, Windows è eseguite in i navigatori chì supportanu WebAssembly.

A nova versione di ToaruOS cuncintrau nantu à u sviluppu di a libreria C standard è a lingua di prugrammazione Kuroko. Per esempiu, e funzioni matematiche necessarie per u calculu currettu di i paràmetri di l'illuminazione in u ghjocu Quake sò stati aghjuntu à libc. A capacità di boot in VirtualBox in modu EFI hè stata migliurata. A dimensione di l'imaghjini iso hè stata ridutta cù a compressione di l'imaghjini di discu ram.

A nova versione di a lingua Kuroko 1.1 aghjunghjenu supportu per asincronia è aspetta, implementa multithreading, migliurà a cumpatibilità cù Python 3, supporta parechje assignazioni di valore, espansione l'arnesi per scrive handlers in lingua C, aghjunghje supportu per annotazioni di tipu per e funzioni, aghjunghjenu e parolle chjave "yield" è "yield from", l'os, dis, fileio, è i moduli di u tempu sò stati integrati, novi metudi sò stati implementati in str, list, dict è bytes, u supportu per a precompilation in bytecode hè statu aghjuntu, a licenza hè stata hè statu cambiatu in MIT (prima ci era una cumminazione di MIT è ISC).

Source: opennet.ru

Add a comment