Rilascio del sistema operativo ToaruOS 2.1

È stata pubblicata la versione del sistema operativo Unix-like ToaruOS 2.1, scritto da zero e fornito con il proprio kernel, bootloader, libreria C standard, gestore di pacchetti, componenti dello spazio utente e un'interfaccia grafica con un gestore di finestre composito. Il progetto inizialmente si è sviluppato presso l'Università dell'Illinois come lavoro di ricerca nel campo della creazione di nuove interfacce grafiche composite, ma poi si è trasformato in un sistema operativo separato. Il codice del progetto è scritto in C e distribuito sotto la licenza BSD. È stata preparata per il download un'immagine live di 14.4 MB di dimensione, che può essere testata in QEMU, VMware o VirtualBox.

Rilascio del sistema operativo ToaruOS 2.1

Al centro di ToaruOS c'è un kernel che utilizza un'architettura modulare ibrida che combina una base monolitica e mezzi per l'utilizzo di moduli caricabili, nella forma in cui sono progettati la maggior parte dei driver di dispositivo disponibili, come i driver del disco (PATA e ATAPI), File system EXT2 e ISO9660, framebuffer, tastiera, mouse, schede di rete (AMD PCnet FAST, Realtek RTL8139 e Intel PRO/1000), chip audio (Intel AC'97) e add-on guest VirtualBox. Il kernel supporta thread Unix, TTY, file system virtuale, pseudo file system /proc, multithreading, IPC, ramdisk, ptrace, memoria condivisa, multitasking e altre funzionalità comuni.

Il sistema è dotato di un window manager composito, supporta file eseguibili collegati dinamicamente in 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 di API socket in stile BSD e supporta le interfacce di rete, incluso il loopback.

Tra le applicazioni native spicca l'editor di codice in stile Vi Bim, utilizzato negli ultimi anni per sviluppare applicazioni specifiche per ToaruOS come file manager, emulatore di terminale, pannello grafico con supporto widget, gestore di pacchetti, nonché come librerie per supportare immagini (PNG, JPEG) e caratteri TrueType. Programmi come Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulatore Super Nintendo, Bochs, ecc. sono stati portati su ToaruOS.

Il progetto sviluppa anche il proprio linguaggio di programmazione dinamico Kuroko, progettato per sostituire Python nello sviluppo di utilità e applicazioni utente per il sistema. Il linguaggio è simile nella sintassi a Python (è posizionato come un dialetto abbreviato di Python con definizione esplicita di variabili) e ha un'implementazione molto compatta. È supportata la compilazione e l'interpretazione del bytecode. L'interprete bytecode fornisce un Garbage Collector, supporta il multithreading senza applicare un blocco globale. Il compilatore e l'interprete possono essere compilati in una piccola libreria condivisa (~500KB) che può essere integrata con altri programmi ed estensibile tramite l'API C. Oltre a ToaruOS, il linguaggio può essere utilizzato su Linux, macOS, Windows ed eseguito in browser abilitati per WebAssembly.

Nella nuova versione:

  • Aggiunto il supporto iniziale per l'architettura AArch64 (ARMv8), inclusa la capacità sperimentale di utilizzare ToaruOS sulla scheda Raspberry Pi 400 e nell'emulatore QEMU.
  • L'elaborazione e la trasmissione dei segnali ai processi nello spazio utente è stata riprogettata. Chiamate sigaction, sigprocmask, sigwait e sigsuspend implementate.
  • Migliorata la gestione della memoria nello spazio utente. Aggiunta chiamata di sistema munmap.
  • Il gestore composito implementa un effetto di sfocatura e rielabora la gestione degli eventi quando viene modificata la dimensione della finestra.
  • Il rendering del terminale è stato migliorato, è stato implementato il rendering lento ed è stata aggiunta una cache dei glifi per i caratteri TrueType.
  • Le funzionalità del compositore sono state ampliate.
  • Sono stati aggiunti meccanismi per l'impostazione dell'orologio, inclusa la chiamata di sistema settimeofday e funzionalità estese dell'utilità della data.
  • Stack di rete migliorato. L'utilità ifconfig ha aggiunto il supporto per l'impostazione degli indirizzi IPv4 e delle impostazioni di routing. Abilitato il funzionamento dei socket ICMP. Aggiunto il supporto per la funzione recvfrom per i socket UDP e ICMP.
  • Il bootloader ha aggiunto la possibilità di lavorare con tastiere USB.
  • È stata aggiunta una voce per eliminare i file al menu contestuale del file manager.
  • Visualizzazione migliorata dei grafici nel monitor di sistema.
  • Aggiunta l'utilità grep con supporto per le espressioni regolari.
  • Miglioramento dell'output del comando ps (aggiunte colonne aggiuntive).

Rilascio del sistema operativo ToaruOS 2.1


Fonte: opennet.ru

Aggiungi un commento