Ang paglabas ng proyekto ng ToaruOS 1.14 ay magagamit, na bumubuo ng isang operating system na katulad ng Unix na isinulat mula sa simula gamit ang sarili nitong kernel, boot loader, standard C library, manager ng package, mga bahagi ng user space at isang graphical na interface na may isang composite window manager. Sa kasalukuyang yugto ng pag-unlad, ang mga kakayahan ng system ay sapat na upang patakbuhin ang Python 3 at GCC. Ang code ng proyekto ay nakasulat sa C at ipinamahagi sa ilalim ng lisensya ng BSD. Ang isang live na imahe na may sukat na 14 MB ay inihanda para sa pag-download, na maaaring masuri sa QEMU, VMware o VirtualBox.

Nagsimula ang proyekto noong 2010 sa Unibersidad ng Illinois at unang binuo bilang gawaing pananaliksik sa larangan ng paglikha ng mga bagong pinagsama-samang graphical na interface. Mula noong 2012, ang pag-unlad ay nabago sa ToaruOS operating system, na binuo noong una bilang isang proyekto ng mag-aaral, at pagkatapos ay naging isang libangan sa katapusan ng linggo, na kinuha ng komunidad na nabuo sa paligid ng proyekto. Sa kasalukuyang anyo nito, ang system ay nilagyan ng composite window manager, sumusuporta sa mga dynamic na naka-link na mga executable na file sa ELF format, multitasking, graphics at network stack.
Kasama sa package ang isang port ng Python 3.6 programming language, na ginagamit sa pagbuo ng ilang partikular na ToaruOS na mga graphical na application, tulad ng package manager, graphic editor, PDF viewer, calculator, at mga simpleng laro. Kasama sa mga third-party na program na naka-port sa ToaruOS ang Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, atbp.
Ang ToaruOS ay batay sa isang kernel na gumagamit ng hybrid na modular na arkitektura na pinagsasama ang isang monolithic framework at mga tool para sa paggamit ng mga mai-load na module, na bumubuo sa karamihan ng mga available na driver ng device, gaya ng mga disk driver (PATA at ATAPI), EXT2 at ISO9660 file system, framebuffer , mga keyboard, mouse , network card (AMD PCnet FAST, Realtek RTL8139 at Intel PRO/1000), sound chips (Intel AC'97), pati na rin ang mga VirtualBox add-on para sa mga guest system.
Kabilang sa mga primitive ng kernel ang mga Unix thread, TTY, virtual file system, multithreading, IPC, shared memory, multitasking, at iba pang tipikal na tampok. Ginagamit ang ext2 file system. Para sa pakikipag-ugnayan sa kernel, isang pseudo-file system implementation, ang /proc, ang ibinibigay, katulad ng Linux.
Kasama sa mga plano para sa 2021 ang trabaho sa 64-bit x86-64 na arkitektura (sa ngayon, binubuo lang ang mga assemblies para sa 32-bit x86 system) at suporta para sa mga multiprocessor system (SMP). Kasama sa iba pang mga layunin ang pagpapabuti ng pagiging tugma sa mga detalye ng POSIX sa larangan ng pagpoproseso ng signal at mga pamamaraan ng pag-synchronize, pagdadala ng karaniwang C library sa antas ng Newlib, at pagpapatupad ng sarili nitong C language compiler at mga tool sa pag-unlad.
Ang proyekto ay bumubuo rin ng sarili nitong dynamic programming language, ang Kuroko, na idinisenyo upang palitan ang Python kapag bumubuo ng mga utility at user application para sa system. Sinusuportahan ng wika ang bytecode compilation at interpretation, katulad ng syntax sa Python (ito ay nakaposisyon bilang isang pinaikling Python dialect na may mga tahasang variable definition), at nagtatampok ng isang napaka-compact na implementasyon. Ang bytecode interpreter ay nagbibigay ng garbage collector at sumusuporta sa multithreading nang hindi gumagamit ng global lock. Ang compiler at interpreter ay maaaring i-compile bilang isang maliit na shared library (~500 KB), na isinama sa iba pang mga programa at maaaring palawakin sa pamamagitan ng C API. Bilang karagdagan sa ToaruOS, ang wika ay maaaring gamitin sa Linux, macOS, Windows at tumatakbo sa mga browser na sumusuporta sa WebAssembly.
Ang bagong release ng ToaruOS ay nakatuon sa pagbuo ng karaniwang C library at ang Kuroko programming language. Halimbawa, ang mga mathematical function na kinakailangan para sa tamang pagkalkula ng mga parameter ng ilaw sa larong Quake ay idinagdag sa libc. Ang kakayahang mag-boot sa VirtualBox sa EFI mode ay napabuti. Ang laki ng iso image ay nabawasan sa pamamagitan ng paggamit ng compression ng ram disk image.
Ang bagong paglabas ng wikang Kuroko 1.1 ay nagdaragdag ng suporta para sa async at naghihintay, nagpapatupad ng multithreading, nagpapabuti ng pagiging tugma sa Python 3, sumusuporta sa maraming takdang halaga, nagpapalawak ng mga tool para sa pagsusulat ng mga humahawak sa wikang C, nagdaragdag ng suporta para sa mga uri ng anotasyon para sa mga function, idinagdag ang mga keyword na "yield" at "yield from", ang os, dis, fileio, at time modules ay isinama, ang mga bagong pamamaraan ay ipinatupad sa str, list, dict at bytes, ang suporta para sa precompilation sa bytecode ay naidagdag, ang lisensya ay may ay binago sa MIT (dati ay may kumbinasyon ng MIT at ISC).
Pinagmulan: opennet.ru
