Paglabas ng ToaruOS 1.14 operating system at Kuroko 1.1 programming language

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.

Paglabas ng ToaruOS 1.14 operating system at Kuroko 1.1 programming language

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.

Ang mga primitive na ibinigay ng kernel ay kinabibilangan ng mga Unix thread, TTY, virtual file system, multithreading, IPC, shared memory, multitasking at iba pang standard na feature. ext2 ay ginagamit bilang file system. Upang makipag-ugnayan sa kernel, isang pseudo-FS /proc na pagpapatupad ay ibinigay, na nilikha sa pamamagitan ng pagkakatulad sa 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.

Gumagawa din ang proyekto ng sarili nitong dynamic na programming language, Kuroko, na idinisenyo upang palitan ang Python kapag bumubuo ng mga utility at custom na application para sa system. Ang wika ay sumusuporta sa bytecode compilation at interpretasyon, ang syntax nito ay kahawig ng Python (ito ay nakaposisyon bilang isang pinaikling diyalekto ng Python na may tahasang kahulugan ng mga variable) at may napakakompak na pagpapatupad. Ang bytecode interpreter ay nagbibigay ng isang garbage collector at sumusuporta sa multithreading nang hindi gumagamit ng global locking. Ang compiler at interpreter ay maaaring i-compile sa anyo ng isang maliit na shared library (~500KB), na isinama sa iba pang mga program at napapalawak sa pamamagitan ng C API. Bilang karagdagan sa ToaruOS, ang wika ay maaaring gamitin sa Linux, macOS, Windows at tumakbo 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

Magdagdag ng komento