Випуск операційної системи ToaruOS 2.1

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

Випуск операційної системи ToaruOS 2.1

В основі ToaruOS лежить ядро, що використовує гібридну модульну архітектуру, що поєднує монолітну основу та засоби для використання завантажуваних модулів, у вигляді яких оформлено більшість наявних драйверів пристроїв, таких як драйвери диска (PATA та ATAPI), ФС EXT2 та ISO9660, framebuffer, клаві , мережевих карток (AMD PCnet FAST, Realtek RTL8139 та Intel PRO/1000), звукових чіпів (Intel AC'97), а також доповнень VirtualBox для гостьових систем. Ядро підтримує Unix-потоки, TTY, віртуальну ФС, псевдо-ФС /proc, багатопоточність, IPC, ramdisk, ptrace, пам'ять, що розділяється, багатозадачність та інші типові можливості.

Система оснащена композитним віконним менеджером, підтримує динамічно зв'язуються виконувані файли у форматі 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.

У новому випуску:

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

Випуск операційної системи ToaruOS 2.1


Джерело: opennet.ru

Додати коментар або відгук