Ukukhishwa kwesistimu yokusebenza ye-ToaruOS 1.14 kanye nolimi lokuhlela lwe-Kuroko 1.1

Ukukhululwa kwephrojekthi ye-ToaruOS 1.14 kuyatholakala, kwakhiwa isistimu yokusebenza efana ne-Unix ebhalwe kusukela ekuqaleni nge-kernel yayo, isilayishi sebhuthi, umtapo wezincwadi ojwayelekile we-C, umphathi wephakheji, izingxenye zesikhala somsebenzisi kanye nesixhumi esibonakalayo esinomphathi wewindi oyinhlanganisela. Esigabeni samanje sokuthuthuka, amandla esistimu anele ukusebenzisa i-Python 3 ne-GCC. Ikhodi yephrojekthi ibhalwe ngo-C futhi isatshalaliswa ngaphansi kwelayisensi ye-BSD. Isithombe esibukhoma sika-14 MB ngosayizi silungiselelwe ukudawuniloda, esingahlolwa ku-QEMU, VMware noma ku-VirtualBox.

Ukukhishwa kwesistimu yokusebenza ye-ToaruOS 1.14 kanye nolimi lokuhlela lwe-Kuroko 1.1

Le phrojekthi yaqala ngo-2010 eNyuvesi yase-Illinois futhi yaqale yathuthukiswa njengomsebenzi wocwaningo emkhakheni wokwenza izixhumanisi zezithombe eziyinhlanganisela entsha. Kusukela ngo-2012, intuthuko isishintshe yaba uhlelo lokusebenza lwe-ToaruOS, olwathuthukiswa ekuqaleni njengephrojekthi yabafundi, yase ikhula yaba yinto yokuzilibazisa yangempelasonto, ethathwe umphakathi owakhele le phrojekthi. Ngendlela yalo yamanje, isistimu ifakwe umphathi wewindi oyinhlanganisela, isekela amafayela asebenzisekayo axhumene ngokuguquguqukayo ngefomethi ye-ELF, i-multitasking, ihluzo nezitaki zenethiwekhi.

Iphakheji ihlanganisa ichweba lolimi lohlelo lwe-Python 3.6, olusetshenziswa ekuthuthukisweni kwezinhlelo zokusebenza ezithile zesithombe eziqondene ne-ToaruOS, njengomphathi wephakheji, umhleli wesithombe, isibukeli se-PDF, isibali, nemidlalo elula. Izinhlelo zezinkampani zangaphandle ezithuthelwe ku-ToaruOS zifaka i-Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, njll.

I-ToaruOS isekelwe ku-kernel esebenzisa i-hybrid modular architecture ehlanganisa uhlaka lwe-monolithic namathuluzi okusebenzisa amamojula alayishekayo, akha iningi labashayeli bamadivayisi atholakalayo, njengama-disk drivers (PATA ne-ATAPI), EXT2 kanye nezinhlelo zefayela le-ISO9660, i-framebuffer. , amakhibhodi, amagundane , amakhadi enethiwekhi (AMD PCnet FAST, Realtek RTL8139 ne-Intel PRO/1000), ama-sound chips (Intel AC'97), kanye nezengezo ze-VirtualBox zezinhlelo zezivakashi.

Izinto zokuqala ezinikezwe i-kernel zifaka imicu ye-Unix, i-TTY, isistimu yefayela ebonakalayo, i-multithreading, i-IPC, inkumbulo eyabiwe, i-multitasking nezinye izici ezijwayelekile. I-ext2 isetshenziswa njengohlelo lwefayela. Ukuze uxhumane ne-kernel, ukuqaliswa kwe-pseudo-FS/proc kunikezwa, okudalwe ngokufanisa ne-Linux.

Izinhlelo zika-2021 zifaka phakathi umsebenzi wokwakhiwa kwe-64-bit x86-64 (okwamanje, ama-assemblies enziwa kuphela amasistimu angama-32-bit x86) kanye nokusekelwa kwamasistimu ama-multiprocessor (SMP). Eminye imigomo ihlanganisa ukuthuthukisa ukuhambisana nokucaciswa kwe-POSIX emkhakheni wokucubungula isignali nezindlela zokuvumelanisa, ukuletha umtapo wezincwadi ojwayelekile ongu-C ezingeni le-Newlib, nokusebenzisa umdidiyeli wawo wolimi C kanye namathuluzi okuthuthukisa.

Le phrojekthi futhi ithuthukisa ulimi lwayo lokuhlela oluguqukayo, i-Kuroko, eklanyelwe ukuvala indawo yePython lapho ithuthukisa izinsiza kanye nezicelo ezenziwe ngokwezifiso zohlelo. Ulimi lusekela ukuhlanganiswa nokuhunyushwa kwe-bytecode, i-syntax yalo ifana nePython (ibekwe njengolimi lwesigodi olufushanisiwe lwePython olunencazelo ecacile yezinto eziguquguqukayo) futhi inokuqaliswa okuhlangene kakhulu. Umhumushi we-bytecode uhlinzeka ngomqoqi wezibi futhi usekela ukufunda okuningi ngaphandle kokusebenzisa ukukhiya komhlaba wonke. Umhlanganisi notolika kungahlanganiswa ngendlela yelabhulali encane okwabelwana ngayo (~500KB), ehlanganiswe nezinye izinhlelo futhi ande nge-C API. Ngaphezu kwe-ToaruOS, ulimi lungasetshenziswa ku-Linux, macOS, Windows futhi lusebenze kuziphequluli ezisekela i-WebAssembly.

Ukukhishwa okusha kwe-ToaruOS kugxile ekuthuthukisweni komtapo wezincwadi ojwayelekile we-C kanye nolimi lohlelo lwe-Kuroko. Isibonelo, imisebenzi yezibalo edingekayo ekubalweni okufanele kwamapharamitha wokukhanyisa kugeyimu ye-Quake yengezwe ku-libc. Amandla okuqalisa ku-VirtualBox kumodi ye-EFI athuthukisiwe. Usayizi wesithombe se-iso uncishisiwe ngokusebenzisa ukucindezelwa kwesithombe sediski yenqama.

Ukukhishwa okusha kolimi lwe-Kuroko 1.1 kungeza ukusekelwa kwe-async nokulinda, kusebenzisa i-multithreading, kuthuthukisa ukuhambisana nePython 3, kusekela izabelo eziningi zenani, kwandisa amathuluzi okubhala izibambi ngolimi C, kwengeza ukusekelwa kohlobo lwezichasiselo zemisebenzi, kwengeza Amagama angukhiye "yield" kanye "yield from", i-os, dis, fileio, kanye namamojula wesikhathi ahlanganisiwe, izindlela ezintsha zisetshenziswe ku-str, list, dict kanye nama-byte, ukusekelwa kokuhlanganisa kuqala ku-bytecode kungeziwe, ilayisense ifakiwe. ishintshelwe ku-MIT (phambilini bekunenhlanganisela ye-MIT ne-ISC).

Source: opennet.ru

Engeza amazwana