Ukukhutshwa kwenkqubo yokusebenza yeToaruOS 1.14 kunye neKuroko 1.1 ulwimi lwenkqubo

Ukukhutshwa kweprojekthi ye-ToaruOS 1.14 iyafumaneka, iphuhlisa inkqubo yokusebenza efana ne-Unix ebhalwe ukusuka ekuqaleni kunye ne-kernel yayo, isilayishi se-boot, ilayibrari eqhelekileyo ye-C, umphathi wephakheji, amacandelo esithuba somsebenzisi kunye nojongano lwegraphical kunye nomphathi wefestile odibeneyo. Kwinqanaba langoku lophuhliso, amandla enkqubo anele ukuqhuba iPython 3 kunye neGCC. Ikhowudi yeprojekthi ibhalwe kwi-C kwaye isasazwe phantsi kwelayisensi ye-BSD. Umfanekiso ophilayo we-14 MB ngobukhulu ulungiselelwe ukukhuphela, onokuvavanywa kwi-QEMU, i-VMware okanye i-VirtualBox.

Ukukhutshwa kwenkqubo yokusebenza yeToaruOS 1.14 kunye neKuroko 1.1 ulwimi lwenkqubo

Iprojekthi yaqalwa ngo-2010 kwiDyunivesithi yase-Illinois kwaye yaqala yaphuhliswa njengomsebenzi wophando kwinkalo yokudala ujongano olutsha lwegraphical. Ukususela ngo-2012, uphuhliso luye lwaguqulwa lwaba yinkqubo yokusebenza ye-ToaruOS, eyaphuhliswa ekuqaleni njengeprojekthi yabafundi, yaza yakhula yaba yinto yokuzilibazisa ngempelaveki, ethathwe luluntu olwakha malunga neprojekthi. Kwimo yayo yangoku, inkqubo ixhotyiswe ngumphathi wefestile odibeneyo, ixhasa ngokuguquguqukayo iifayile ezisebenzisekayo kwifomathi ye-ELF, i-multitasking, i-graphics kunye ne-network stacks.

Iphakheji ibandakanya izibuko lePython 3.6 ulwimi lweprogram, olusetyenziswa kuphuhliso lwezicelo ezithile zegraphic ToaruOS, ezinjengomphathi wephakheji, umhleli wegraphic, umbukeli wePDF, isibali, kunye nemidlalo elula. Iinkqubo zomntu wesithathu ezifakwe kwiToaruOS ziquka iVim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, njl.

I-ToaruOS isekelwe kwi-kernel esebenzisa i-architecture yemodyuli edibeneyo edibanisa isakhelo se-monolithic kunye nezixhobo zokusebenzisa iimodyuli ezilayishwayo, ezenza uninzi lwabaqhubi besixhobo esikhoyo, njengabaqhubi bedisk (PATA kunye ne-ATAPI), i-EXT2 kunye ne-ISO9660 iinkqubo zefayile, i-framebuffer. , izitshixo, iigundane , amakhadi womnatha (AMD PCnet FAST, Realtek RTL8139 kunye ne-Intel PRO / 1000), i-chips sound chips (Intel AC'97), kunye ne-VirtualBox yokongeza kwiinkqubo zeendwendwe.

Iiprimitives ezibonelelwa yi-kernel ziquka iintambo ze-Unix, i-TTY, inkqubo yefayile ebonakalayo, i-multithreading, i-IPC, imemori ekwabelwana ngayo, i-multitasking kunye nezinye iimpawu eziqhelekileyo. ext2 isetyenziswa njengendlela yefayile. Ukusebenzisana ne-kernel, i-pseudo-FS / ukuphunyezwa kweproc inikezelwa, eyenziwe ngokufanisa kunye neLinux.

Izicwangciso ze-2021 ziquka umsebenzi kwi-architecture ye-64-bit x86-64 (okwangoku, iindibano zenziwa kuphela kwiinkqubo ze-32-bit x86) kunye nenkxaso yeenkqubo ezininzi (i-SMP). Ezinye iinjongo zibandakanya ukuphuculwa kokuhambelana neenkcukacha zePOSIX kwintsimi yokucwangcisa umqondiso kunye neendlela zokuvumelanisa, ukuzisa ilayibrari esemgangathweni yeC kumgangatho weNewlib, kunye nokuphumeza umqokeleli weelwimi C kunye nezixhobo zophuhliso.

Iprojekthi iphinda iphuhlise ulwimi lwayo lwenkqubo oluguquguqukayo, iKuroko, eyilelwe ukuba ithathe indawo yePython xa iphuhlisa izinto eziluncedo kunye nezicelo zesiko kwinkqubo. Ulwimi luxhasa ukuhlanganiswa kwe-bytecode kunye nokutolika, i-syntax yayo ifana ne-Python (ibekwe njengentetho emfutshane ye-Python enenkcazo ecacileyo yezinto eziguquguqukayo) kwaye inokuphunyezwa okuhlangeneyo. Itoliki ye-bytecode ibonelela ngomqokeleli wenkunkuma kwaye ixhasa i-multithreading ngaphandle kokusebenzisa ukutshixa jikelele. Umqambi kunye netoliki inokuqulunqwa ngendlela yelayibrari encinci ekwabelwana ngayo (~ 500KB), idityaniswe nezinye iinkqubo kwaye zandiswe nge-C API. Ukongeza kwiToaruOS, ulwimi lunokusetyenziswa kwiLinux, macOS, Windows kwaye luqhube kwiziphequluli ezixhasa iWebAssembly.

Ukukhutshwa okutsha kweToaruOS kugxininise ekuphuhlisweni kwethala leencwadi elisemgangathweni C kunye nolwimi lwenkqubo lweKuroko. Umzekelo, imisebenzi yemathematika eyimfuneko ekubaleni okuchanekileyo kweeparamitha zokukhanyisa kumdlalo weQuake yongezwe kwi-libc. Ukukwazi ukuqala kwi-VirtualBox kwimo ye-EFI kuphuculwe. Ubungakanani bomfanekiso we-iso buncitshisiwe ngokusebenzisa ucinezelo lomfanekiso wediski yegusha.

Ukukhutshwa okutsha kolwimi lwe-Kuroko 1.1 yongeza inkxaso ye-async kwaye ilindele, isebenzise i-multithreading, iphucula ukuhambelana nePython 3, ixhasa izabelo ezininzi zexabiso, ukwandisa izixhobo zokubhala abaphathi ngolwimi lwe-C, yongeza inkxaso yohlobo lwezichasiselo zemisebenzi, yongeza amagama angundoqo "isivuno" kunye "nesivuno esivela", i-os, i-dis, i-fileio, kunye neemodyuli zexesha ziye zadityaniswa, iindlela ezintsha ziye zaphunyezwa kwi-str, uluhlu, i-dict kunye ne-bytes, inkxaso yokuqulunqwa kwangaphambili kwi-bytecode yongezwe, ilayisenisi iye yongezwa. yatshintshwa yaba yiMIT (ngaphambili bekukho indibaniselwano yeMIT kunye ne-ISC).

umthombo: opennet.ru

Yongeza izimvo