Liberazione di u sistema operatore ToaruOS 2.3

A liberazione di u sistema operatore Unix-like ToaruOS 2.3 hè statu publicatu, scrittu da zero è furnitu 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. U prughjettu inizialmente sviluppatu à l'Università di l'Illinois cum'è un travagliu di ricerca in u campu di a creazione di novi interfacce gràfiche composite, ma poi trasfurmatu in un sistema operatore separatu. U codice di u prugettu hè scrittu in C è distribuitu sottu a licenza BSD. Una maghjina in diretta di 7.4 MB di dimensione hè stata preparata per u scaricamentu, chì pò esse pruvata in QEMU, VMware o VirtualBox.

 Liberazione di u sistema operatore ToaruOS 2.3

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. U kernel supporta fili Unix, TTY, sistema di file virtuale, pseudo file system / proc, multithreading, IPC, ramdisk, ptrace, memoria sparta, multitasking è altre funzioni standard.

Cистема снабжена композитным оконным менеджером, поддерживает динамически связываемые исполняемые файлы в формате ELF, многозадачность, графический стек, может выполнять Python 3 и GCC. В качестве файловой системы применяется ext2. Загрузчик поддерживает BIOS и EFI. Сетевой стек позволяет использовать API сокетов в стиле BSD-систем и поддерживает сетевые интерфейсы, включая loopback.

Trà l'applicazioni native, spicca l'editore di codice Vi-like Bim, chì hè stata utilizata per l'ultimi anni per sviluppà applicazioni specifiche ToaruOS cum'è un gestore di file, emulatore di terminal, pannellu graficu cù supportu di widget, gestore di pacchetti, è ancu. cum'è biblioteche per supportà l'imaghjini (PNG, JPEG) è i caratteri TrueType. Programmi cum'è Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulatore Super Nintendo, Bochs, etc. sò stati portati à ToaruOS.

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 hè reminiscente di Python in sintassi (posizionatu cum'è un dialettu accurtatu di Python cù una definizione esplicita di variàbili) è hà una implementazione assai compacta. A compilazione è l'interpretazione di bytecode hè supportata. 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.

In a nova versione:

  • В эмулятор терминала добавлена поддержка вкладок, переключаться между которыми можно последовательностью Alt-цифра. Реализована эмуляция жирного начертания шрифтов через двойное наложение глифов. Добавлены подменю «Terminal state» для включения показа состояния различных режимов и «Send signal» для отправки сигналов фоновым процессам.
     Liberazione di u sistema operatore ToaruOS 2.3
  • Реализован просмотрщик системных руководств, поддерживающий man-страницы в формате roff.
     Liberazione di u sistema operatore ToaruOS 2.3
  • В контекстное меню добавлено подменю для управления мозаичной компоновкой окон.
     Liberazione di u sistema operatore 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 и добавлена новая система автодополнения ввода.

Source: opennet.ru