Paskelbtas Unix tipo operacinės sistemos ToaruOS 2.3 leidimas, parašytas nuo nulio ir tiekiamas su savo branduoliu, įkrovos įkrovikliu, standartine C biblioteka, paketų tvarkykle, vartotojo erdvės komponentais ir grafine sąsaja su sudėtine langų tvarkykle. Iš pradžių projektas buvo sukurtas Ilinojaus universitete kaip tiriamasis darbas naujų sudėtinių grafinių sąsajų kūrimo srityje, bet vėliau transformuotas į atskirą operacinę sistemą. Projekto kodas parašytas C kalba ir platinamas pagal BSD licenciją. Paruoštas 7.4 MB dydžio gyvas vaizdas atsisiųsti, kurį galima išbandyti QEMU, VMware ar VirtualBox.

„ToaruOS“ yra pagrįstas branduoliu, kuriame naudojama hibridinė modulinė architektūra, jungianti monolitinę sistemą ir įkeliamų modulių naudojimo įrankius, kurie sudaro daugumą galimų įrenginių tvarkyklių, tokių kaip disko tvarkyklės (PATA ir ATAPI), EXT2 ir ISO9660 failų sistemos, kadrų buferis. , klaviatūros, pelės , tinklo plokštės (AMD PCnet FAST, Realtek RTL8139 ir Intel PRO/1000), garso lustai (Intel AC'97), taip pat VirtualBox priedai svečių sistemoms. Branduolys palaiko Unix gijas, TTY, virtualią failų sistemą, pseudo failų sistemą /proc, daugiasriegius, IPC, ramdiskus, ptrace, bendrą atmintį, daugiafunkcinį darbą ir kitas standartines funkcijas.
Cистема снабжена композитным оконным менеджером, поддерживает динамически связываемые исполняемые файлы в формате ELF, многозадачность, графический стек, может выполнять Python 3 и GCC. В качестве файловой системы применяется ext2. Загрузчик поддерживает BIOS и EFI. Сетевой стек позволяет использовать API сокетов в стиле BSD-систем и поддерживает сетевые интерфейсы, включая loopback.
Tarp vietinių programų išsiskiria „Vi“ tipo kodo redaktorius „Bim“, kuris pastaruosius kelerius metus buvo naudojamas kuriant „ToaruOS“ specifines programas, tokias kaip failų tvarkyklė, terminalo emuliatorius, grafinis skydelis su valdiklių palaikymu, paketų tvarkyklė ir taip pat. kaip vaizdų (PNG, JPEG) ir TrueType šriftų palaikančių bibliotekų. Tokios programos kaip Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emuliatorius, Bochs ir kt. buvo perkeltos į ToaruOS.
Projektas taip pat kuria savo dinaminę programavimo kalbą Kuroko, skirtą pakeisti Python kuriant sistemos komunalines paslaugas ir pasirinktines programas. Kalba sintaksė primena Python (sutrumpintą Python tarmę su aiškiu kintamųjų apibrėžimu) ir yra labai kompaktiška. Palaikomas baitinio kodo kompiliavimas ir interpretavimas. Bytecode interpretatorius suteikia šiukšlių rinktuvą ir palaiko kelių gijų nenaudodamas visuotinio užrakinimo. Kompiliatorius ir interpretatorius gali būti sukompiliuoti kaip maža bendrai naudojama biblioteka (~500 KB), integruota su kitomis programomis ir išplečiama per C API. Be „ToaruOS“, šią kalbą galima naudoti „Linux“, „MacOS“, „Windows“ ir paleisti naršyklėse, kurios palaiko „WebAssembly“.
Naujame leidime:
- В эмулятор терминала добавлена поддержка вкладок, переключаться между которыми можно последовательностью 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 и добавлена новая система автодополнения ввода.
Šaltinis: opennet.ru



