Wydanie systemu operacyjnego ToaruOS 2.0

Opublikowano wydanie uniksowego systemu operacyjnego ToaruOS 2.0, napisanego od podstaw i wyposażonego w własne jądro, moduł ładujący, standardową bibliotekę C, menedżera pakietów, komponenty przestrzeni użytkownika i interfejs graficzny ze złożonym menedżerem okien. Kod projektu napisany jest w języku C i rozpowszechniany na licencji BSD. Do pobrania przygotowano obraz na żywo o rozmiarze 14.4 MB, który można przetestować w QEMU, VMware lub VirtualBox.

Wydanie systemu operacyjnego ToaruOS 2.0

Projekt rozpoczął się w 2010 roku na Uniwersytecie Illinois i początkowo rozwijał się jako praca badawcza w zakresie tworzenia nowych kompozytowych interfejsów graficznych. Od 2012 roku rozwój przekształcił się w system operacyjny ToaruOS, opracowany przez społeczność zainteresowaną rozwojem. W obecnej formie system jest wyposażony w złożony menedżer okien, obsługuje dynamicznie łączone pliki wykonywalne w formacie ELF, wielozadaniowość, stos graficzny oraz może obsługiwać Python 3 i GCC.

ToaruOS opiera się na jądrze wykorzystującym hybrydową architekturę modułową, która łączy w sobie monolityczny framework i narzędzia umożliwiające wykorzystanie ładowalnych modułów, które stanowią większość dostępnych sterowników urządzeń, takich jak sterowniki dysków (PATA i ATAPI), systemy plików EXT2 i ISO9660, bufor ramki , klawiatury, myszy, karty sieciowe (AMD PCnet FAST, Realtek RTL8139 i Intel PRO/1000), układy dźwiękowe (Intel AC'97), a także dodatki VirtualBox dla systemów gościnnych. Jądro obsługuje wątki uniksowe, TTY, wirtualny system plików, pseudo system plików /proc, wielowątkowość, IPC, ramdysk, ptrace, pamięć współdzieloną, wielozadaniowość i inne standardowe funkcje.

ext2 jest używany jako system plików. Bootloader obsługuje BIOS i EFI. Stos sieciowy umożliwia korzystanie z interfejsów API gniazd w stylu BSD i obsługuje interfejsy sieciowe, w tym pętlę zwrotną. Programy takie jak Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulator Super Nintendo, Bochs itp. zostały przeniesione do ToaruOS. Wśród aplikacji natywnych wyróżnia się podobny do Vi edytor kodu Bim, który od kilku lat jest używany do tworzenia aplikacji specyficznych dla ToaruOS, takich jak menedżer plików, emulator terminala, panel graficzny z obsługą widżetów, menedżer pakietów, a także jako biblioteki obsługujące obrazy (PNG, JPEG) i czcionki TrueType.

W ramach projektu opracowywany jest także własny dynamiczny język programowania Kuroko, który ma zastąpić Pythona podczas tworzenia narzędzi i niestandardowych aplikacji dla systemu. Język przypomina składnię Pythona (pozycjonowany jako skrócony dialekt Pythona z wyraźną definicją zmiennych) i ma bardzo zwartą implementację. Obsługiwana jest kompilacja i interpretacja kodu bajtowego. Interpreter kodu bajtowego udostępnia moduł zbierający elementy bezużyteczne i obsługuje wielowątkowość bez stosowania blokowania globalnego. Kompilator i interpreter można skompilować w formie małej współdzielonej biblioteki (~500 KB), zintegrowanej z innymi programami i rozszerzalnej poprzez API C. Oprócz ToaruOS języka można używać w systemach Linux, macOS, Windows i uruchamiać w przeglądarkach obsługujących WebAssembly.

W nowej wersji ToaruOS:

  • Jądro Misaka dodało funkcjonalność umożliwiającą implementację niestandardowych narzędzi top, strace, dbg, ping i cpuwidget.
  • Rozszerzono możliwości biblioteki graficznej, m.in. o dodanie przekształceń afinicznych.
  • Poprawiona wydajność szkieletu okna.
  • Dodano rasteryzator tekstu z obsługą formatu TrueType.
  • Dodano bibliotekę do formatowania tekstu za pomocą znaczników.
  • Ulepszono moduł ładujący BIOS, z rozszerzoną obsługą konfiguracji sprzętowych. Napisano moduł ładujący EFI. Do obu programów ładujących dodano obsługę edycji za pomocą polecenia wiersza jądra.
  • Zmodernizowano konstrukcję panelu. Widżety obsługują teraz biblioteki do pobrania, dynamiczny układ elementów i nowe wyskakujące okienka.
  • Przeglądarka została przepisana i dodano nowe palety.
  • Dodano nową implementację kalkulatora.
  • Do standardowej biblioteki dodano obsługę stref czasowych.
  • Dodano sterownik dla chipsetu Ensoniq ES1371 emulowany w VMware.
  • Oczekuje się, że następna główna wersja 2.1 będzie obsługiwać urządzenia AHCI, xHCI i USB HID. W gałęzi 2.2 planowane jest wdrożenie obsługi architektury AArch64.

Wydanie systemu operacyjnego ToaruOS 2.0
Wydanie systemu operacyjnego ToaruOS 2.0
Wydanie systemu operacyjnego ToaruOS 2.0


Źródło: opennet.ru

Dodaj komentarz