LINUX.ORG.RU

ToaruOS 2.3 и 2.3.1

 , kuroko,


0

2

28 апреля и 5 мая состоялись выпуски 2.3 и 2.3.1 Unix-подобной операционной системы ToaruOS, написанной с нуля и поставляемой со своим ядром, загрузчиком, стандартной Си-библиотекой, пакетным менеджером, компонентами пространства пользователя и графическим интерфейсом с композитным оконным менеджером.

Изначально проект развивался в Иллинойсском университете как исследовательская работа в области создания новых композитных графических интерфейсов, но затем трансформировался в отдельную операционную систему. Код проекта написан на языке Си и распространяется под лицензией 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 и т. п.

Проектом также развивается собственный динамический язык программирования Kuroko, рассчитанный на замену Python при разработке утилит и пользовательских приложений для системы. Язык по синтаксису напоминает Python (позиционируется как сокращённый диалект Python с явным определением переменных) и отличается очень компактной реализацией. Поддерживается компиляция и интерпретация байткода. Интерпретатор байткода предоставляет сборщик мусора, поддерживает многопоточность без применения глобальной блокировки. Компилятор и интерпретатор могут быть собраны в форме небольшой разделяемой библиотеки (~500КБ), интегрируемой с другими программами и расширяемой через C API. Кроме ToaruOS язык может использоваться в Linux, macOS, Windows и запускаться в браузерах с поддержкой WebAssembly.

В новом выпуске:

  • В эмулятор терминала добавлена поддержка вкладок, переключаться между которыми можно последовательностью 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 (github.com), созданный с оглядкой на Vim. В новой версии улучшена подсветка синтаксиса, расширена поддержка скриптов на языке Kuroko и добавлена новая система автодополнения ввода.

>>> Источники: OpenNET и GitHub

★★★★★

Проверено: hobbit ()
Последнее исправление: CrX (всего исправлений: 2)

Попробовал загрузиться с Ventoy: индикаторы (caps|num)-lock не загораются, с мышью тоже что-то не так. :)

dataman ★★★★★
() автор топика

Распространяется по лицензии, эквивалентной 3 clause bsd license.

wandrien ★★★★
()
Последнее исправление: wandrien (всего исправлений: 1)

исследовательская работа в области создания новых композитных графических интерфейсов

Что в итоге? Какие результаты исследований?

wandrien ★★★★
()

Kernel: Misaka

«А, всё-таки упомянули, а то было неочевидно» (сказала Мисака, изобразив удовлетворение).

alegz ★★★★★
()
Ответ на: комментарий от JustVic

Как щас помню, принесли когда то в школу дискету со словами «финский студент операционку на дискету запихнул», окошки работают. Какая то бесполезная фигня, думалось тогда, игорей нет то и на кой оно. А тут вон даже дум и квак искаропки

Про «студент хорошо соображает и много работает» - абсолютно верно, часто поражаюсь таким уникумам, не каждый человек на работе за великие тыщщи может выдавать сопоставимые результаты, это реально похвально, только вот не таким как я хвалить. Работа из сабжа впечатляет

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Ну это уже довольно известный проект, хоть и в узких кругах. Эта ToaruOS.

Правда я вот только сегодня узнал, что там что-то исследовали, а не просто JFF. Если это действительно так, а не просто банальный курсач, то было бы интересно, что именно. Но искать пока лень.

wandrien ★★★★
()
Последнее исправление: wandrien (всего исправлений: 1)

Интересно, какой там композитор, и не окажется ли он более функциональным, чем вяленый.

wandrien ★★★★
()
Ответ на: комментарий от wandrien

Но искать пока лень.

https://en.wikipedia.org/wiki/ToaruOS#History:

Development was started by creator K. Lange in December 2010;[1] it initially was supported by the University of Illinois at Urbana–Champaign, but after the beginning of 2012, it largely shifted to being mostly done by Lange.[9] Initially, it was based on tutorials for x86 kernels.[10] The operating system was named after the A Certain Scientific Railgun series of manga, but Lange stated it also mirrors generic naming of other hobby OSes. A GUI was added with a window manager in 2012,[6] this was replaced with a more advanced version in 2014.

The initial official release, version 1.0, was released at the end of January 2017.[7] This marked the first stable release, but Lange stated it was still ‘a work in development with so much work left to be done’.[2] This was superseded by versions 1.0.1 and 1.0.2, which added audio improvements and fixed bugs.[7]

For April Fools’ Day 2015, Lange released PonyOS, a version of ToaruOS themed after the animated series My Little Pony: Friendship Is Magic.


[1] http://www.toaruos.org/pages/about.html.

dataman ★★★★★
() автор топика

На скрине «Uptime: up 18 seconds», практически челлендж - «кто быстрее»!

GAMer ★★★★★
()
Ответ на: комментарий от alegz

Я только первый сезон индекса смотрел и там их не было ЕМНИП.

ptah_alexs ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

А тут вон даже дум и квак искаропки

Вон, один шведский товарищ после рехаба тоже операционку запилил. Со всем, включая браузер)

devl547 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.