Rilascio del sistema operativo ToaruOS 2.3

È stata pubblicata la versione del sistema operativo Unix-like ToaruOS 2.3, sviluppato da zero e fornito con il proprio kernel, bootloader, libreria standard C, gestore di pacchetti, componenti dell'utente e interfaccia grafica con gestore di finestre composito. Inizialmente, il progetto è stato sviluppato all'Università dell'Illinois come lavoro di ricerca sulla creazione di nuove interfacce grafiche composite, ma si è poi trasformato in un sistema operativo autonomo. Il codice del progetto è scritto in C e distribuito sotto licenza BSD. È stato preparato un'immagine live per il download, delle dimensioni di 7,4 MB, che può essere testata in QEMU, VMware o VirtualBox. Rilascio del sistema operativo ToaruOS 2.3

Alla base di ToaruOS c'è un kernel che utilizza un'architettura modulare ibrida, che combina una base monolitica e strumenti per l'uso di moduli caricabili, in cui sono scritti la maggior parte dei driver di dispositivo esistenti, come i driver del disco (PATA e ATAPI), FS EXT2 e ISO9660, framebuffer, tastiere, mouse, schede di rete (AMD PCnet FAST, Realtek RTL8139 e Intel PRO/1000), chip audio (Intel AC’97), oltre a estensioni di VirtualBox per sistemi guest. Il kernel supporta i thread Unix, TTY, FS virtuale, pseudo-FS /proc, multithreading, IPC, ramdisk, ptrace, memoria condivisa, multitasking e altre funzionalità tipiche.

Il sistema è dotato di un gestore di finestre composito, supporta file eseguibili linkabili dinamicamente nel formato ELF, multitasking, stack grafico e può eseguire Python 3 e GCC. Come file system viene utilizzato ext2. Il bootloader supporta BIOS ed EFI. Stack di rete consente di utilizzare API di socket in stile sistemi BSD e supporta interfacce di rete, incluso il loopback.

Tra le applicazioni proprietarie spicca Bim, un editor di codice simile a Vi, che viene utilizzato negli ultimi anni per lo sviluppo di applicazioni specifiche per ToaruOS, come il gestore di file, l'emulatore di terminale, la barra grafica con supporto per widget, il gestore dei pacchetti e librerie per il supporto delle immagini (PNG, JPEG) e dei font TrueType. Per ToaruOS è stato portato un insieme di programmi come Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulatore Super Nintendo, Bochs e altri.

Il progetto sta anche sviluppando un proprio linguaggio di programmazione dinamico, Kuroko, progettato per sostituire Python nello sviluppo di utilità e applicazioni utente per il sistema. La sintassi del linguaggio ricorda Python (posizionato come un dialetto semplificato di Python con una chiara definizione delle variabili) ed è caratterizzata da un'implementazione molto compatta. Supporta la compilazione e l'interpretazione del bytecode. L'interprete del bytecode fornisce un garbage collector, supporta il multithreading senza l'uso di un blocco globale. Compilatore e interprete possono essere assemblati come una piccola libreria condivisa (~500KB), integrabile con altri programmi e ampliabile tramite C API. Oltre a ToaruOS, il linguaggio può essere utilizzato su Linux, macOS, Windows e può essere eseguito in browser che supportano WebAssembly.

Nel nuovo rilascio:

  • L'emulatore di terminale ha aggiunto il supporto per le schede, tra cui si può passare tramite la sequenza Alt-numero. È stata implementata l'emulazione del grassetto attraverso la sovrapposizione doppia dei glifi. Sono stati aggiunti i sottomenu 'Stato del terminale' per attivare la visualizzazione dello stato di diverse modalità e 'Invia segnale' per inviare segnali ai processi in background. Rilascio del sistema operativo ToaruOS 2.3
  • È stato implementato un visualizzatore di manuali di sistema, che supporta le pagine man nel formato roff. Rilascio del sistema operativo ToaruOS 2.3
  • Nel menu contestuale è stato aggiunto un sottomenu per gestire il layout mosaico delle finestre. Rilascio del sistema operativo ToaruOS 2.3
  • Nel kernel sono state implementate nuove chiamate di sistema, tra cui pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage e fcntl. Aggiunto il supporto per i flag FD_CLOEXEC e FD_CLOFORK. È stato implementato il supporto per la randomizzazione dell'indirizzo di caricamento del kernel. L'ABI delle chiamate di sistema è stata modificata per utilizzare le istruzioni syscall/sysret.
  • Le funzionalità della console virtuale (TTY) sono state notevolmente ampliate, garantendo l'emulazione della modalità testo VGA basata su framebuffer.
  • Nella versione per l'architettura Aarch64 è stata implementata la possibilità di avviare in macchine virtuali basato su QEMU.
  • Nel stack di rete è stato aggiunto il supporto per l'utilizzo simultaneo di più socket ICMP.
  • Nella libreria standard libc sono state aggiunte le funzioni getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • Aggiunte nuove utility standard rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Aggiunte nuove opzioni in ls, grep e fgrep. Riscritte le utility ps, top, pstree, killall e pidof, tradotte nella nuova libreria libtoaru_procfs, che unifica il lavoro con il pseudo-FS /proc. Esteso l'interprete dei comandi esh.
  • Aggiunta l'utility check-image per testare la capacità di caricare immagini dalla libreria grafica e per visualizzare le dimensioni dell'immagine.
  • Il linguaggio di programmazione Kuroko è stato aggiornato alla versione 1.5rc2.
  • L'editor di testo Bim è stato aggiornato alla versione 3.2, creato con riferimento a Vim. Nella nuova versione è stato migliorato il supporto per la sintassi, ampliato il supporto per gli script in linguaggio Kuroko e aggiunto un nuovo sistema di completamento automatico dell'input.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster