Utgivelsen av det Unix-lignende operativsystemet ToaruOS 2.3 er publisert, skrevet fra bunnen av og levert med egen kjerne, oppstartslaster, standard C-bibliotek, pakkebehandling, brukerplasskomponenter og et grafisk grensesnitt med en sammensatt vindusbehandling. Prosjektet utviklet seg først ved University of Illinois som forskningsarbeid innen å lage nye sammensatte grafiske grensesnitt, men ble deretter omgjort til et eget operativsystem. Prosjektkoden er skrevet i C og distribuert under BSD-lisensen. Et levende bilde på 7.4 MB i størrelse er klargjort for nedlasting, som kan testes i QEMU, VMware eller VirtualBox.

ToaruOS er basert på en kjerne som bruker en hybrid modulær arkitektur som kombinerer et monolitisk rammeverk og verktøy for bruk av lastbare moduler, som utgjør flertallet av tilgjengelige enhetsdrivere, som diskdrivere (PATA og ATAPI), EXT2 og ISO9660 filsystemer, framebuffer , tastaturer, mus , nettverkskort (AMD PCnet FAST, Realtek RTL8139 og Intel PRO/1000), lydbrikker (Intel AC'97), samt VirtualBox-tillegg for gjestesystemer. Kjernen støtter Unix-tråder, TTY, virtuelt filsystem, pseudofilsystem /proc, multithreading, IPC, ramdisk, ptrace, delt minne, multitasking og andre standardfunksjoner.
Cистема снабжена композитным оконным менеджером, поддерживает динамически связываемые исполняемые файлы в формате ELF, многозадачность, графический стек, может выполнять Python 3 и GCC. В качестве файловой системы применяется ext2. Загрузчик поддерживает BIOS и EFI. Сетевой стек позволяет использовать API сокетов в стиле BSD-систем и поддерживает сетевые интерфейсы, включая loopback.
Blant de opprinnelige applikasjonene skiller den Vi-lignende kodeeditoren Bim seg ut, som har blitt brukt de siste årene til å utvikle ToaruOS-spesifikke applikasjoner som filbehandler, terminalemulator, grafikkpanel med widgetstøtte, pakkebehandling, i tillegg som biblioteker for støtte for bilder (PNG, JPEG) og TrueType-fonter. Programmer som Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs, etc. har blitt overført til ToaruOS.
Prosjektet utvikler også sitt eget dynamiske programmeringsspråk, Kuroko, designet for å erstatte Python ved utvikling av verktøy og tilpassede applikasjoner for systemet. Språket minner om Python i syntaks (plassert som en forkortet dialekt av Python med eksplisitt definisjon av variabler) og har en veldig kompakt implementering. Kompilering og tolkning av bytekode støttes. Bytekodetolken gir en søppeloppsamler og støtter multithreading uten å bruke global låsing. Kompileren og tolken kan kompileres i form av et lite delt bibliotek (~500KB), integrert med andre programmer og utvidbart gjennom C API. I tillegg til ToaruOS kan språket brukes på Linux, macOS, Windows og kjøres i nettlesere som støtter WebAssembly.
I den nye utgivelsen:
- В эмулятор терминала добавлена поддержка вкладок, переключаться между которыми можно последовательностью Alt-цифра. Реализована эмуляция жирного начертания шрифтов через двойное наложение глифов. Добавлены подменю «Terminal state» для включения показа состояния различных режимов и «Send signal» для отправки сигналов фоновым процессам.

- Реализован просмотрщик системных руководств, поддерживающий man-страницы в формате roff.

- В контекстное меню добавлено подменю для управления мозаичной компоновкой окон.

- В ядре реализованы новые системные вызовы, среди которых 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 и добавлена новая система автодополнения ввода.
Kilde: opennet.ru



