Uscita del sistema operativo ToaruOS 2.3

È stato pubblicato il rilascio del sistema operativo simile a Unix ToaruOS 2.3, sviluppato da zero e fornito con il proprio kernel, bootloader, libreria standard C, gestore pacchetti, componenti dell'area utente e interfaccia grafica con un gestore di finestre composito. Inizialmente, il progetto è stato sviluppato presso l'Università dell'Illinois come lavoro di ricerca sulla creazione di nuove interfacce grafiche composite, ma poi si è trasformato in un sistema operativo indipendente. Il codice del progetto è scritto in linguaggio C e distribuito sotto licenza BSD. È stato preparato un'immagine live da 7,4 MB, che può essere testata in QEMU, VMware o VirtualBox. Uscita del sistema operativo ToaruOS 2.3

Alla base di ToaruOS c'è un nucleo che utilizza un'architettura modulare ibrida, combinando una base monolitica con strumenti per l'uso di moduli caricabili, attraverso i quali sono implementati la maggior parte dei driver di dispositivo disponibili, come i driver del disco (PATA e ATAPI), il file system EXT2 e ISO9660, il framebuffer, le tastiere, i mouse, le schede di rete (AMD PCnet FAST, Realtek RTL8139 e Intel PRO/1000), i chip audio (Intel AC'97), e anche le estensioni di VirtualBox per i sistemi guest. Il nucleo supporta flussi Unix, TTY, file system virtuali, pseudo-file system /proc, multithreading, IPC, ramdisk, ptrace, memoria condivisa, multitasking e altre funzionalità standard.

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

Tra le applicazioni create in proprio, spicca un editor di codice simile a Vi chiamato Bim, utilizzato negli ultimi anni per lo sviluppo di applicazioni specifiche per ToaruOS, come il gestore file, l'emulatore di terminale, il pannello grafico con supporto per widget, il gestore di pacchetti e le librerie per il supporto delle immagini (PNG, JPEG) e dei caratteri TrueType. Sono state portate su ToaruOS applicazioni come Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulatore Super Nintendo, Bochs, e così via.

Il progetto include anche un proprio linguaggio di programmazione dinamico, Kuroko, concepito per sostituire Python nello sviluppo di utility e applicazioni utente per il sistema. Questo linguaggio ha una sintassi simile a Python (posizionato come un dialetto abbreviato di Python con definizione esplicita delle variabili) e si distingue per una realizzazione molto compatta. Supporta la compilazione e l'interpretazione del bytecode. L'interprete del bytecode offre un garbage collector e supporta la multithreading senza utilizzare un blocco globale. Il compilatore e l'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 in Linux, macOS, Windows e può essere eseguito in browser compatibili con WebAssembly.

Nel nuovo rilascio:

  • Nell'emulatore di terminale è stata aggiunta la supporto per le schede, tra cui è possibile passare utilizzando la combinazione Alt-numero. È stata implementata l'emulazione del grassetto attraverso il sovrapposizione doppia dei glifi. Sono stati aggiunti un sottomenu "Stato terminale" per attivare la visualizzazione dello stato di varie modalità e "Invia segnale" per inviare segnali ai processi in background. Uscita del sistema operativo ToaruOS 2.3
  • È stato implementato un visualizzatore di manuali di sistema, che supporta le pagine man in formato roff. Uscita del sistema operativo ToaruOS 2.3
  • È stato aggiunto un sottomenu nel menu contestuale per gestire il layout a mosaico delle finestre. Uscita del sistema operativo ToaruOS 2.3
  • Nel kernel sono stati implementati nuovi syscalls, tra cui pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage e fcntl. È stato aggiunto il supporto per i flag FD_CLOEXEC e FD_CLOFORK. È stata implementata la supporto per la randomizzazione dell'indirizzo di caricamento del kernel. L'ABI dei syscalls è stato tradotto per utilizzare le istruzioni syscall/sysret.
  • Le capacità della console virtuale (TTY) sono state notevolmente ampliate, fornendo l'emulazione della modalità testo VGA basata su framebuffer.
  • Nella versione per l'architettura Aarch64 è stata implementata la possibilità di avviarsi in macchine virtuali basato su QEMU.
  • Nel network stack è stato aggiunto il supporto per lavorare contemporaneamente con 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.
  • Sono state aggiunte nuove utility standard rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Nuove opzioni sono state aggiunte a ls, grep e fgrep. Le utility ps, top, pstree, killall e pidof sono state riscritte e tradotte nella nuova libreria libtoaru_procfs, che unifica l'interazione con il pseudo-FS /proc. L'interprete di comandi esh è stato ampliato.
  • È stata aggiunta l'utility check-image per verificare la capacità di carico di un'immagine da parte della 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, progettato con riferimento a Vim. Nella nuova versione è stata migliorata la sintassi evidenziata, ampliato il supporto per gli script nel linguaggio Kuroko e aggiunto un nuovo sistema di completamento automatico.

Fonte: opennet.ru

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