Unixilaadse operatsioonisüsteemi ToaruOS 2.3 väljalase on avaldatud, kirjutatud nullist ja varustatud oma tuuma, alglaaduri, standardse C-teegi, paketihalduri, kasutajaruumi komponentide ja graafilise liidesega koos liitaknahalduriga. Algselt arenes projekt Illinoisi ülikoolis uurimistööna uute komposiitgraafiliste liideste loomise alal, kuid muudeti seejärel eraldi operatsioonisüsteemiks. Projekti kood on kirjutatud C-keeles ja seda levitatakse BSD litsentsi all. Allalaadimiseks on ette valmistatud 7.4 MB suurune otsepilt, mida saab testida QEMU-s, VMware-s või VirtualBoxis.

ToaruOS põhineb kernelil, mis kasutab hübriidmoodularhitektuuri, mis ühendab endas monoliitset raamistikku ja tööriistu laaditavate moodulite kasutamiseks, mis moodustavad suurema osa saadaolevatest seadme draiveritest, nagu kettadraiverid (PATA ja ATAPI), EXT2 ja ISO9660 failisüsteemid, kaadripuhver , klaviatuurid, hiired, võrgukaardid (AMD PCnet FAST, Realtek RTL8139 ja Intel PRO/1000), helikiibid (Intel AC'97), samuti VirtualBoxi lisandmoodulid külalissüsteemidele. Kernel toetab Unixi lõime, TTY-d, virtuaalset failisüsteemi, pseudo-failisüsteemi /proc, multithreadingut, IPC-d, ramdiski, ptrace'i, ühismälu, multitegumtöötlust ja muid standardseid funktsioone.
Cистема снабжена композитным оконным менеджером, поддерживает динамически связываемые исполняемые файлы в формате ELF, многозадачность, графический стек, может выполнять Python 3 и GCC. В качестве файловой системы применяется ext2. Загрузчик поддерживает BIOS и EFI. Сетевой стек позволяет использовать API сокетов в стиле BSD-систем и поддерживает сетевые интерфейсы, включая loopback.
Natiivsetest rakendustest paistab silma Vi-laadne koodiredaktor Bim, mida on viimastel aastatel kasutatud ToaruOS-i spetsiifiliste rakenduste, nagu failihaldur, terminali emulaator, vidinatoega graafikapaneel, paketihaldur, arendamiseks. piltide (PNG, JPEG ) ja TrueType fontide toetamise teekidena. ToaruOS-i on porditud sellised programmid nagu Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulaator, Bochs jne.
Projekt arendab ka oma dünaamilist programmeerimiskeelt Kuroko, mis on mõeldud Pythoni asendamiseks süsteemi utiliitide ja kohandatud rakenduste arendamisel. Keel meenutab süntaksilt Pythoni (positsioneeritud Pythoni lühendatud dialektina koos muutujate selgesõnalise määratlusega) ja sellel on väga kompaktne teostus. Toetatud on baitkoodi kompileerimine ja tõlgendamine. Baitkoodi tõlk pakub prügikogujat ja toetab mitme lõimega töötlemist ilma globaalset lukustamist kasutamata. Kompilaatori ja tõlgi saab koostada väikese jagatud teegi kujul (~500KB), integreerituna teiste programmidega ja laiendatav läbi C API. Lisaks ToaruOS-ile saab seda keelt kasutada ka Linuxis, macOS-is, Windowsis ning töötada WebAssemblyt toetavates brauserites.
Uues väljaandes:
- В эмулятор терминала добавлена поддержка вкладок, переключаться между которыми можно последовательностью 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 и добавлена новая система автодополнения ввода.
Allikas: opennet.ru



