Rilascio del sistema operativo ToaruOS 2.3

È stata pubblicata la versione del sistema operativo Unix-like ToaruOS 2.3, 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 7.4 MB di dimensione, che può essere testata in QEMU, VMware o VirtualBox.

 Rilascio del sistema operativo ToaruOS 2.3

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.

CистСма снабТСна ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΌ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ динамичСски связываСмыС исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ELF, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, графичСский стСк, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Python 3 ΠΈ GCC. Π’ качСствС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы примСняСтся ext2. Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ BIOS ΠΈ EFI. Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ стСк позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ API сокСтов Π² стилС BSD-систСм ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сСтСвыС интСрфСйсы, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 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:

  • Π’ эмулятор Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Alt-Ρ†ΠΈΡ„Ρ€Π°. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° эмуляция ΠΆΠΈΡ€Π½ΠΎΠ³ΠΎ начСртания ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π»ΠΈΡ„ΠΎΠ². Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ подмСню Β«Terminal stateΒ» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π° состояния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈ Β«Send signalΒ» для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сигналов Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ процСссам.
     Rilascio del sistema operativo ToaruOS 2.3
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ просмотрщик систСмных руководств, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ man-страницы Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ roff.
     Rilascio del sistema operativo ToaruOS 2.3
  • Π’ контСкстноС мСню Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ подмСню для управлСния ΠΌΠΎΠ·Π°ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ ΠΎΠΊΠΎΠ½.
     Rilascio del sistema operativo ToaruOS 2.3
  • Π’ ядрС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage ΠΈ fcntl. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π»Π°Π³ΠΎΠ² FD_CLOEXEC ΠΈ FD_CLOFORK. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ адрСса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра. ABI систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° использованиС инструкций syscall/sysret.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ консоли (TTY), обСспСчСна эмуляция тСкстового Ρ€Π΅ΠΆΠΈΠΌΠ° VGA Π½Π° Π±Π°Π·Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€Π°.
  • Π’ вСрсии для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Aarch64 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Π½Π° Π±Π°Π·Π΅ QEMU.
  • Π’ сСтСвой стСк Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСсколькими сокСтами ICMP.
  • Π’ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libc Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ стандартныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ Π² ls, grep ΠΈ fgrep. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Π½Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ps, top, pstree, killall ΠΈ pidof, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libtoaru_procfs, ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с псСвдо-Π€Π‘ /proc. Π Π°ΡΡˆΠΈΡ€Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ esh.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° check-image для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ возмоТности Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ изобраТСния графичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° изобраТСния.
  • Π―Π·Ρ‹ΠΊ программирования Kuroko ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ вСрсии 1.5rc2.
  • Π”ΠΎ вСрсии 3.2 ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Bim, созданный с оглядкой Π½Π° Vim. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° подсвСтка синтаксиса, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° скриптов Π½Π° языкС Kuroko ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая систСма автодополнСния Π²Π²ΠΎΠ΄Π°.

Fonte: opennet.ru