Megjelent a ToaruOS 2.1 Unix-szerű operációs rendszer kiadása, amelyet teljesen nulláról írtak, és saját magájával, betöltőprogramjával, standard C könyvtárával, csomagkezelőjével, felhasználói tér komponenseivel és összetett ablakkezelővel ellátott grafikus felhasználói felületet tartalmaz. A projekt eredetileg az Illinois-i Egyetemen fejlődött mint kutatási munka új összetett grafikus felületek létrehozására, de később különálló operációs rendszerré alakult. A projekt kódját C nyelven írták, és BSD licenc alatt terjesztik. Letölthető egy 14,4 MB méretű élő image, amelyet a QEMU, VMware vagy VirtualBox környezetben lehet tesztelni.

A ToaruOS alapját képező kernel hibrid modulos architektúrát használ, amely a monolitikus alapot egyesíti a betölthető modulok támogatásával, amelyek formájában a legtöbb meglévő eszközmeghajtó, például a lemezhajtók (PATA és ATAPI), EXT2 és ISO9660 fájlrendszerek, framebuffer, billentyűzetek, egerek, hálózati kártyák (AMD PCnet FAST, Realtek RTL8139 és Intel PRO/1000), hangchipek (Intel AC'97), valamint a VirtualBox kiegészítései a vendég rendszerekhez, találhatóak. A kernel támogatja az Unix-szálakat, TTY-t, virtuális fájlrendszert, a /proc álváltozatot, a többszálúságot, IPC-t, ramdisket, ptrace-t, megosztott memóriát, multitaskingot és egyéb standard képességeket.
A rendszer összetett ablakkezelővel rendelkezik, támogatja az ELF formátumú dinamikusan kötött végrehajtható fájlokat, a multitaskingot, a grafikus veremkezelést, képes Python 3 és GCC futtatására. A fájlrendszer ext2-t használ. A betöltőprogram támogatja a BIOS-t és az EFI-t. A hálózati verem lehetővé teszi a BSD rendszerek stílusú socket API használatát, és támogatja a network interface-okat, beleértve a loopback-et is.
Saját alkalmazásai közül kiemelkedik a Vi-re hasonlító kódszerkesztő, a Bim, amelyet az utolsó néhány évben a ToaruOS-specifikus alkalmazások fejlesztésére használtak, mint például a fájlkezelő, a terminálemulátor, a widget támogatással ellátott grafikus panel, a csomagkezelő, valamint a képek (PNG, JPEG) és TrueType betűtípusok támogatásához szükséges könyvtárak. A ToaruOS-ra portolták az olyan programokat, mint a Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulátor, Bochs és így tovább.
A projekt keretein belül kifejlesztésre kerül a Kuroko nevű dinamikus programozási nyelv, amely a Python helyettesítésére szolgál a segédprogramok és felhasználói alkalmazások fejlesztésében. A nyelv szintaktikájában hasonlít a Pythonra (rövidített Python dialektusként van pozicionálva, amely világosan definiálja a változókat) és nagyon kompakt megvalósítás jellemzi. Támogatott a bytecode fordítvány és értelmezés. A bytecode értelmező hulladékgyűjtőt kínál, és multithreadinget támogat globális zár nélkül. A fordító és az értelmező egy kis megosztott könyvtár formájában (~500 KB) állítható össze, amely integrálható más programokkal, és C API-n keresztül bővíthető. A ToaruOS mellett a nyelv használható Linuxon, macOS-en, Windows-on, és elindítható olyan böngészőkben, amelyek támogatják a WebAssembly-t.
Az új kiadásban:
- Megkezdődött az AArch64 (ARMv8) architektúra kezdeti támogatása, beleértve a ToaruOS Raspberry Pi 400-on és a QEMU emulátorban való használatának kísérleti lehetőségét.
- Átdolgozták a jelkezelést és az üzenetek átadását a felhasználói térben lévő folyamatoknak. Megvalósultak a sigaction, sigprocmask, sigwait és sigsuspend hívások.
- Javították a memória kezelését a felhasználói térben. Új rendszerhívás került hozzáadásra: munmap.
- Az összetett ablakkezelőben megvalósították a blur hatást, és átdolgozták az eseménykezelést az ablak méretének megváltoztatásakor.
- Javították a terminál renderelését, megvalósították a késleltetett renderelést és hozzáadtak egy glyph cache-t a TrueType betűtípusokhoz.
- Bővítették a kompozíciós lehetőségeket.
- Hozzáadott mechanizmusok az időbeállításhoz, beleértve a settimeofday rendszerhívás megvalósítását és a date utility lehetőségeinek bővítését.
- Javították a hálózati veremet. Az ifconfig utilityhez hozzáadták az IPv4 címek és a routing beállítások megadásának támogatását. Megvalósult az ICMP socketek működése. Hozzáadták a recvfrom funkció támogatását UDP és ICMP socketekhez.
- A betöltőprogramhoz hozzáadták a USB billentyűzetek támogatását.
- A fájlkezelő kontextusmenüjéhez hozzáadták a fájlok törlésére szolgáló lehetőséget.
- Javították a grafikonok megjelenítését a rendszerfigyelőben.
- Hozzáadva a grep segédprogram reguláris kifejezések támogatásával.
- Javult a ps parancs kimenete (további oszlopok kerültek hozzáadásra).

Forrás: opennet.ru
