4月28日及5月5日 發生 выпуски 2.3 и 2.3.1 Unix-подобной операционной системы Toaru操作系統, написанной с нуля и поставляемой со своим ядром, загрузчиком, стандартной Си-библиотекой, пакетным менеджером, компонентами пространства пользователя и графическим интерфейсом с композитным оконным менеджером.
Изначально проект развивался в Иллинойсском университете как исследовательская работа в области создания новых композитных графических интерфейсов, но затем трансформировался в отдельную операционную систему. Код проекта написан на языке Си и 分發者 под лицензией BSD. Для загрузки подготовлен live-образ (2.3.1), размером 7.4 МБ, который можно протестировать в QEMU, VMware или VirtualBox.
В основе ToaruOS лежит ядро, использующее гибридную модульную архитектуру, сочетающую монолитную основу и средства для использования загружаемых модулей, в виде которых оформлено большинство имеющихся драйверов устройств, таких как драйверы диска (PATA и ATAPI), ФС Ext2 и ISO9660, framebuffer, клавиатуры, мыши, сетевых карт (AMD PCnet FAST, Realtek RTL8139 и Intel PRO/1000), звуковых чипов (Intel AC’97), а также дополнений VirtualBox для гостевых систем. Ядро поддерживает Unix-потоки, TTY, виртуальную ФС, псевдо-ФС /proc, многопоточность, IPC, ramdisk, ptrace, разделяемую память, многозадачность и другие типовые возможности.
Cистема снабжена композитным оконным менеджером, поддерживает динамически связываемые исполняемые файлы в формате ELF, многозадачность, графический стек, может выполнять Python 3 и GCC. В качестве файловой системы применяется ext2. Загрузчик поддерживает BIOS и EFI. Сетевой стек позволяет использовать API сокетов в стиле BSD-систем и поддерживает сетевые интерфейсы, включая loopback.
Из собственных приложений выделяется похожий на Vi редактор кода Bim, который используется последние несколько лет для разработки специфичных для ToaruOS приложений, таких как файловый менеджер, эмулятор терминала, графическая панель с поддержкой виджетов, пакетный менеджер, а также библиотеки для поддержки изображений (PNG, JPEG) и TrueType-шрифтов. Для ToaruOS выполнено портирование таких программ, как Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs и т. п.
Проектом также развивается собственный динамический язык программирования 黑子, рассчитанный на замену Python при разработке утилит и пользовательских приложений для системы. Язык по синтаксису напоминает Python (позиционируется как сокращённый диалект Python с явным определением переменных) и отличается очень компактной реализацией. Поддерживается компиляция и интерпретация байткода. Интерпретатор байткода предоставляет сборщик мусора, поддерживает многопоточность без применения глобальной блокировки. Компилятор и интерпретатор могут быть собраны в форме небольшой разделяемой библиотеки (~500КБ), интегрируемой с другими программами и расширяемой через C API. Кроме ToaruOS язык может использоваться в Linux, macOS, Windows и запускаться в браузерах с поддержкой WebAssembly.
В 新問題:
- В эмулятор терминала добавлена поддержка вкладок, переключаться между которыми можно последовательностью Alt-цифра. Реализована эмуляция жирного начертания шрифтов через двойное наложение глифов. Добавлены подменю «Terminal state» для включения показа состояния различных режимов и «Send signal» для отправки сигналов фоновым процессам.
- 已實作一個系統手冊檢視器,支援 roff 格式的 man 手冊。
- 上下文選單中新增了一個用於管理視窗平舖的子選單。
- В ядре реализованы новые системные вызовы, среди которых 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 命令解釋器已擴充。
- 新增了圖像檢查工具,用於檢查圖像是否可以被圖形庫加載,並顯示圖像大小。
- Язык программирования Kuroko обновлён до версии 1.5rc2.
- До версии 3.2 обновлён текстовый редактор Bim (github.com), созданный с оглядкой на Vim. В новой версии улучшена подсветка синтаксиса, расширена поддержка скриптов на языке Kuroko и добавлена новая система автодополнения ввода.
來源: linux.org.ru
