28 april och 5 maj Àven versioner 2.3 och 2.3.1 av det Unix-liknande operativsystemet ToaruOS, som Àr skrivet frÄn grunden och levereras med sin egen kÀrna, bootloader, standard C-bibliotek, pakethanterare, anvÀndarutrymmeskomponenter och grafiskt grÀnssnitt med en kompositfönsterhanterare.
Projektet utvecklades ursprungligen vid University of Illinois som en forskningsstudie för att skapa nya kompositgrafiska grÀnssnitt, men har sedan dess utvecklats till ett separat operativsystem. Projektets kod Àr skriven i C och sprids Àr licensierad under BSD. För nedladdning finns en live-avbildning (2.3.1), som Àr 7.4 MB stor och kan testas i QEMU, VMware eller VirtualBox.
ToaruOS:s kÀrna bygger pÄ en hybridmodulÀr arkitektur som kombinerar en monolitisk bas med möjligheter att anvÀnda laddningsbara moduler, i vilka de flesta befintliga enhetsdrivrutiner Àr designade, sÄsom diskdrivrutiner (PATA och ATAPI), filsystem Ext2 och ISO9660, framebuffer, tangentbord, möss, nÀtverkskort (AMD PCnet FAST, Realtek RTL8139 och Intel PRO/1000), ljudchip (Intel AC'97) samt VirtualBox-tillÀgg för gÀstsystem. KÀrnan stödjer Unix-trÄdar, TTY, virtuell filsystem, pseudo-filsystem /proc, trÄdad bearbetning, IPC, ramdisk, ptrace, delat minne, multitasking och andra typiska funktioner.
Systemet levereras med en kompositfönsterhanterare, stöder dynamiskt lÀnkade körbara filer i ELF-format, multitasking, grafisk stack och kan köra Python 3 och GCC. Ext2 anvÀnds som filsystem. Bootloadern stödjer BIOS och EFI. NÀtverksstacken möjliggör anvÀndning av BSD-liknande socket-API och stöder nÀtverksgrÀnssnitt, inklusive loopback.
Bland de egna applikationerna finns en Vi-liknande kodredigerare, Bim, som har anvÀnts de senaste Ären för utveckling av ToaruOS-specifika applikationer, sÄsom filhanterare, terminalemulator, grafisk panel med widgetstöd, pakethanterare, samt bibliotek för bildstöd (PNG, JPEG) och TrueType-teckensnitt. Program som Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs m.m. har portats till ToaruOS.
Projektet utvecklar ocksÄ ett eget dynamiskt programmeringssprÄk Kuroko, designad för att ersÀtta Python vid utveckling av verktyg och anvÀndarapplikationer för systemet. SprÄket liknar Python i syntax (positionerat som en förkortad dialekt av Python med tydlig definition av variabler) och skiljer sig Ät genom en mycket kompakt implementation. Kompilering och tolkning av bytekod stöds. Bytekodstolkaren tillhandahÄller en skrÀpmaskin, stöder flertrÄdning utan att anvÀnda global lÄsning. Kompilatorn och tolken kan samlas i form av ett litet delat bibliotek (~500KB), som kan integreras med andra program och utvidgas via C API. Förutom ToaruOS kan sprÄket anvÀndas i Linux, macOS, Windows och köras i webblÀsare som stöder WebAssembly.
- Terminalemulatorn har fÄtt stöd för flikar, som kan vÀxlas mellan med sekvensen Alt-siffra. Emulering av fet stil genom dubbel överlappning av glyfer har implementerats. Undermenyerna "Terminal state" för att visa tillstÄndet för olika lÀgen och "Send signal" för att skicka signaler till bakgrundsprocesser har lagts till.
- En systemmanualvisare har implementerats, som stöder man-sidor i roff-format.
- En undermeny för hantering av mosaikfönsterlayout har lagts till i kontextmenyn.
- Nya systemanrop har implementerats i kÀrnan, inklusive pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage och fcntl. Stöd för flaggorna FD_CLOEXEC och FD_CLOFORK har lagts till. Stöd för randomisering av kÀrnans laddadress har implementerats. ABI för systemanrop har översatts för att anvÀnda instruktioner syscall/sysret.
- Möjligheterna för virtuell konsol (TTY) har betydligt utökats, och emulering av textlÀge VGA baserat pÄ framebuffer har sÀkerstÀllts.
- I versionen för Aarch64-arkitekturen har möjligheten att köra i virtuella maskiner baserade pÄ QEMU implementerats.
- Det har lagts till stöd för samtidig hantering av flera ICMP-sockets i nÀtverksstacken.
- Funktionerna getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig har lagts till i standardbiblioteket libc.
- Nya standardverktyg har lagts till: rmdir, uniq, cmp, zcat, realpath, id, nohup och cksum. Nya alternativ har lagts till i ls, grep och fgrep. Verktygen ps, top, pstree, killall och pidof har skrivits om för att anvÀnda det nya biblioteket libtoaru_procfs, som enhetliggör arbetet med pseudo-FS /proc. Kommandotolken esh har utvidgats.
- Verktyget check-image har lagts till för att kontrollera möjligheten att ladda en bild med det grafiska biblioteket och för att visa bildens storlek.
- ProgrammeringssprÄket Kuroko har uppdaterats till version 1.5rc2.
- Textredigeraren har uppdaterats till version 3.2 Bim (github.com), skapad med tanke pÄ Vim. I den nya versionen har syntaxljusning förbÀttrats, stödet för skript pÄ sprÄket Kuroko har utvidgats och ett nytt system för autofullföljning har lagts till.
KĂ€lla: linux.org.ru
