Serbestberdana pergala xebitandinê ya mîna Unix-ê ToaruOS 2.1 hate weşandin, ji sifirê ve hatî nivîsandin û bi kernelê xwe, barkera bootê, pirtûkxaneya standard C, rêveberê pakêtê, hêmanên cîhê bikarhêner û navgînek grafîkî ya bi rêveberê pencereya pêkhatî re hatî peyda kirin. Proje di destpêkê de li Zanîngeha Illinois wekî xebata lêkolînê di warê afirandina navgînên grafîkî yên nû yên pêkhatî de pêşve çû, lê dûv re veguherî pergalek xebitandinê ya cihê. Koda projeyê bi C-yê hatî nivîsandin û di bin lîsansa BSD de tê belav kirin. Wêneyek zindî ya mezinahiya 14.4 MB ji bo dakêşandinê hatî amadekirin, ku dikare di QEMU, VMware an VirtualBox de were ceribandin.

Di dilê ToaruOS de kernelek e ku mîmariyek modular a hîbrid bikar tîne ku bingehek yekparêz û navgînek ji bo karanîna modulên barkirî bi hev re dihewîne, di forma ku piraniya ajokarên cîhaza berdest têne pakkirin, wek ajokarên dîskê (PATA û ATAPI), Pergala pelan EXT2 û ISO9660, framebuffer, klavye, mişk, kartên torê (AMD PCnet FAST, Realtek RTL8139 û Intel PRO/1000), çîpên deng (Intel AC'97), û pêvekên mêvan VirtualBox. Kernel mijarên Unix, TTY, pergala pelê virtual, /proc pergala pelê pseudo, multithreading, IPC, ramdisk, ptrace, bîranîna hevpar, pirzimanî, û taybetmendiyên din ên hevpar piştgirî dike.
Pergal bi rêveberê pencereyê yê hevgirtî ve girêdayî ye, pelên darvekirî yên bi dînamîk ve girêdayî ye di formata ELF de, pirzimanî, stûnek grafîkî, dikare Python 3-ê bixebite û GCC wekî pergala pelan tê bikar anîn. Bootloader BIOS û EFI piştgirî dike. Stacka torê destûrê dide karanîna API-yên soketê yên BSD-ê û pêwendiyên torê piştgirî dike, tevî loopback.
Di nav serîlêdanên xwemalî de, edîtorê kodê Vi-mîna Bim radiweste, ku di van çend salên dawî de ji bo pêşdebirina serîlêdanên ToaruOS-taybet ên wekî rêveberê pelê, emulatora termînalê, panela grafîkê ya bi piştgiriya widgetê, rêveberê pakêtê, û her weha tê bikar anîn. wekî pirtûkxane ji bo piştgirîkirina wêneyan (PNG, JPEG) û tîpên TrueType. Bernameyên wekî Vim, GCC, Binutils, FreeType, MuPDF, SDL, Qahîre, Doom, Quake, emulatora Super Nintendo, Bochs, hwd ji ToaruOS re hatine şandin.
Proje her wiha zimanê bernamesaziya dînamîk ê xwe, Kuroko, pêş dixe, ku ji bo şûna Pythonê hatiye çêkirin dema ku amûr û sepanên bikarhêner ji bo pergalê pêş dixe. Ziman ji hêla sentaktîk ve dişibihe Pythonê (ew wekî zaravayek Pythonê ya kurtkirî bi pênaseyên guhêrbar ên eşkere tê danîn) û xwedan pêkanînek pir kompakt e. Berhevkirin û şîrovekirina bytecode tê piştgirî kirin. Şîrovekarê bytecode berhevkarê çopê peyda dike û bêyî karanîna kilîtkirinek gerdûnî piştgirî dide pir-telikan. Berhevkar û şîrovekar dikarin wekî pirtûkxaneyek piçûk a parvekirî (~ 500 KB) werin berhev kirin, bi bernameyên din re werin entegre kirin û bi rêya C API-yê werin berfireh kirin. Ji bilî ToaruOS, ziman dikare di... de were bikar anîn Linux, macOS, Windows û di gerokên ku WebAssembly piştgirî dikin de bixebite.
Di weşana nû de:
- Piştgiriya destpêkê ji bo mîmariya AArch64 (ARMv8) lê zêde kir, di nav de şiyana ceribandinê ya karanîna ToaruOS li ser panela Raspberry Pi 400 û di emulatora QEMU de.
- Pêvajo û veguhestina sînyalan ji pêvajoyên li cîhê bikarhêner re ji nû ve hatî sêwirandin. Bangên sigaction, sigprocmask, sigwait û sigsuspend pêk anîn.
- Di cîhê bikarhêner de rêveberiya bîranînê çêtir kirin. Banga pergala munmap zêde kir.
- Rêvebirê pêkhatî bandorek şêlûyê pêk tîne û dema ku mezinahiya pencereyê tê guheztin rêvekirina bûyeran ji nû ve dixebitîne.
- Pêşkêşkirina termînalê çêtir bûye, vegotina lazy hate bicîh kirin, û ji bo tîpên TrueType cacheyek glyphê hate zêdekirin.
- Kapasîteyên çêker hatine berfireh kirin.
- Mekanîzmayên ji bo danîna demjimêrê hatine zêdekirin, di nav de banga pergala settimeofday û kapasîteyên berfirehkirî yên kargêriya tarîxê.
- Pişka torê ya çêtirkirî. Alîkariya ifconfig ji bo danîna navnîşanên IPv4 û mîhengên rêvekirinê piştgirî zêde kiriye. Xebata çalak a soketên ICMP. Piştgiriyek ji bo fonksiyona recvfrom ji bo soketên UDP û ICMP zêde kir.
- Bootloader şiyana xebata bi klavyeyên USB-yê zêde kiriye.
- Tiştek ji bo jêbirina pelan li menuya kontekstê ya rêveberê pelê hate zêdekirin.
- Di çavdêriya pergalê de pêşandana grafîkan çêtir kirin.
- Bi piştgiriya îfadeya birêkûpêk re karûbarê grep lê zêde kir.
- Hilberîna fermana ps-ê çêtir kirin (stûnên din lê zêde kirin).

Source: opennet.ru
