Lëshimi i sistemit operativ ToaruOS 2.1

Опубликован выпуск Unix-подобной операционной системы ToaruOS 2.1, написанной с нуля и поставляемой со своим ядром, загрузчиком, стандартной Си-библиотекой, пакетным менеджером, компонентами пространства пользователя и графическим интерфейсом с композитным оконным менеджером. Изначально проект развивался в Иллинойсском университете как исследовательская работа в области создания новых композитных графических интерфейсов, но затем трансформировался в отдельную операционную систему. Код проекта написан на языке Си и распространяется под лицензией BSD. Для загрузки подготовлен live-образ, размером 14.4 МБ, который можно протестировать в QEMU, VMware или VirtualBox.

Lëshimi i sistemit operativ ToaruOS 2.1

ToaruOS bazohet në një kernel që përdor një arkitekturë modulare hibride që kombinon një kornizë monolit dhe mjete për përdorimin e moduleve të ngarkueshme, të cilat formojnë shumicën e drejtuesve të disponueshëm të pajisjes, si drejtuesit e diskut (PATA dhe ATAPI), sistemet e skedarëve EXT2 dhe ISO9660, framebuffer , tastierë, miu, karta rrjeti (AMD PCnet FAST, Realtek RTL8139 dhe Intel PRO/1000), çipa zanore (Intel AC'97), si dhe shtesa VirtualBox për sistemet e ftuar. Kerneli mbështet threads Unix, TTY, sistemin virtual të skedarëve, pseudo file system /proc, multithreading, IPC, ramdisk, ptrace, memorie të përbashkët, multitasking dhe veçori të tjera standarde.

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 и т.п.

Projekti po zhvillon gjithashtu gjuhën e tij dinamike të programimit, Kuroko, e krijuar për të zëvendësuar Python gjatë zhvillimit të shërbimeve dhe aplikacioneve të personalizuara për sistemin. Gjuha të kujton Python në sintaksë (i pozicionuar si një dialekt i shkurtuar i Python me përcaktim të qartë të variablave) dhe ka një zbatim shumë kompakt. Mbështetet përpilimi dhe interpretimi i bytekodit. Përkthyesi i bytekodit siguron një grumbullues mbeturinash dhe mbështet multithreading pa përdorur bllokimin global. Përpiluesi dhe interpretuesi mund të kompilohen në formën e një biblioteke të vogël të përbashkët (~500 KB), të integruar me programe të tjera dhe të zgjerueshme përmes C API. Përveç ToaruOS, gjuha mund të përdoret në Linux, macOS, Windows dhe të ekzekutohet në shfletues që mbështesin WebAssembly.

Në publikimin e ri:

  • Добавлена начальная поддержка архитектуры AArch64 (ARMv8), в том числе с экспериментальной возможностью использования ToaruOS на плате Raspberry Pi 400 и в эмуляторе QEMU.
  • Переработана обработка и передача сигналов процессам в пространстве пользователя. Реализованы вызовы sigaction, sigprocmask, sigwait и sigsuspend.
  • Улучшено управление памятью в пространстве пользователя. Добавлен системный вызов munmap.
  • В композитном менеджере реализован эффект размытия и переработана обработка событий при изменении размера окна.
  • Улучшена отрисовка терминала, реализована отложенная отрисовка и добавлен кэш глифов для шрифтов TrueType.
  • Расширены возможности компоновщика.
  • Добавлены механизмы для установки часов, в том числе реализован системный вызов settimeofday и расширены возможности утилиты date.
  • Улучшен сетевой стек. В утилиту ifconfig добавлена поддержка установки адресов IPv4 и настроек маршрутизации. Обеспечена работа сокетов ICMP. Добавлена поддержка функции recvfrom для сокетов UDP и ICMP.
  • В загрузчике добавлена возможность работы с USB-клавиатурами.
  • В контекстное меню файлового менеджера добавлен пункт для удаления файлов.
  • Улучшено отображение графиков в системном мониторе.
  • Добавлена утилита grep с поддержкой регулярных выражений.
  • Улучшен вывод команды ps (добавлены дополнительные столбцы).

Lëshimi i sistemit operativ ToaruOS 2.1


Burimi: opennet.ru

Shto një koment