Ukukhishwa kohlelo lokusebenza i-ToaruOS 2.1

Ukukhishwa kwesistimu yokusebenza efana ne-Unix i-ToaruOS 2.1 ishicilelwe, ibhalwe kusukela ekuqaleni futhi yahlinzekwa nge-kernel yayo, isilayishi sebhuthi, umtapo wezincwadi ojwayelekile C, umphathi wephakheji, izingxenye zesikhala somsebenzisi kanye nesixhumi esibonakalayo esinesithombe esinomphathi wewindi oyinhlanganisela. Le phrojekthi yaqale yathuthukiswa eNyuvesi yase-Illinois njengomsebenzi wocwaningo emkhakheni wokudala inhlanganisela entsha yezithombe zokusebenzelana, kodwa yabe isiguqulwa yaba uhlelo oluhlukile lokusebenza. Ikhodi yephrojekthi ibhalwe ngo-C futhi isatshalaliswa ngaphansi kwelayisensi ye-BSD. Isithombe esibukhoma sika-14.4 MB ngosayizi silungiselelwe ukudawuniloda, esingahlolwa ku-QEMU, VMware noma ku-VirtualBox.

Ukukhishwa kohlelo lokusebenza i-ToaruOS 2.1

Enhliziyweni ye-ToaruOS kukhona i-kernel esebenzisa i-hybrid modular architecture ehlanganisa isisekelo se-monolithic kanye nezindlela zokusebenzisa amamojula alayishwayo, ngendlela iningi labashayeli bedivayisi etholakalayo ehlanganiswe ngayo, njengama-disk driver (PATA ne-ATAPI), Isistimu yefayela ye-EXT2 ne-ISO9660, i-framebuffer, ikhibhodi, igundane, amakhadi enethiwekhi (AMD PCnet FAST, Realtek RTL8139 ne-Intel PRO/1000), ama-sound chips (Intel AC'97), kanye nezengezo zezivakashi ze-VirtualBox. I-kernel isekela imicu ye-Unix, i-TTY, isistimu yefayela ebonakalayo, isistimu yefayela ye-proc pseudo, i-multithreading, i-IPC, i-ramdisk, i-ptrace, inkumbulo eyabiwe, i-multitasking, nezinye izici ezivamile.

Uhlelo lufakwe isiphathi sewindi esiyinhlanganisela, sisekela amafayela asebenzisekayo axhunywe ngamandla ngefomethi ye-ELF, ukwenza imisebenzi eminingi, isitaki sezithombe, kungasebenzisa i-Python 3 ne-GCC. I-Ext2 isetshenziswa njengohlelo lwefayela. I-bootloader isekela i-BIOS ne-EFI. Isitaki senethiwekhi sivumela ukusetshenziswa kwe-API yesokhethi yesitayela se-BSD futhi sisekela ukuxhumana kwenethiwekhi, okuhlanganisa i-loopback.

Phakathi kwezinhlelo zokusebenza zomdabu, umhleli wekhodi we-Vi-like u-Bim uyagqama, osetshenziselwe iminyaka embalwa edlule ukuthuthukisa izinhlelo zokusebenza eziqondene ne-ToaruOS ezifana nomphathi wefayela, i-terminal emulator, iphaneli yehluzo enokusekelwa kwewijethi, umphathi wephakheji, kanye. njengemitapo yolwazi esekela izithombe (i-PNG, i-JPEG) namafonti e-TrueType. Izinhlelo ezifana ne-Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, njll. zithunyelwe ku-ToaruOS.

Le phrojekthi futhi ithuthukisa ulimi lwayo lokuhlela oluguqukayo i-Kuroko, eklanyelwe ukufaka esikhundleni sePython ekuthuthukisweni kwezinsiza kanye nezicelo zabasebenzisi zohlelo. Ulimi luyefana ku-syntax kuya ku-Python (lubekwe njengolimi lwesigodi olufushanisiwe lwe-Python olunencazelo ecacile yezinto eziguquguqukayo) futhi linokusebenza okuhlangene kakhulu. Ukuhlanganiswa nokuhunyushwa kwe-bytecode kuyasekelwa. Umhumushi we-bytecode unikeza umqoqi kadoti, usekela ukufundwa okuningiliziwe ngaphandle kokusebenzisa ukukhiya komhlaba wonke. Umhlanganisi notolika kungaqoqwa kumtapo wolwazi owabiwe omncane (~500KB) ongahlanganiswa nezinye izinhlelo futhi ande nge-C API. Ngokungeziwe ku-ToaruOS, ulimi lungasetshenziswa ku-Linux, macOS, Windows futhi lusebenze kuziphequluli ezinikwe amandla iWebAssembly.

Ekukhishweni okusha:

  • Kwengezwe usekelo lokuqala lwezakhiwo ze-AArch64 (ARMv8), okuhlanganisa ikhono lokuhlola lokusebenzisa i-ToaruOS ebhodini le-Raspberry Pi 400 kanye nesifanisi se-QEMU.
  • Ukucutshungulwa nokudluliselwa kwamasignali ezinqubweni ezisesikhaleni somsebenzisi kuklanywe kabusha. I-sigaction esetshenzisiwe, i-sigprocmask, i-sigwait kanye nezingcingo zokumisa okwesikhashana.
  • Ukuphathwa kwenkumbulo okuthuthukisiwe esikhaleni somsebenzisi. Kwengezwe ikholi yesistimu ye-munmap.
  • Umphathi oyinhlanganisela usebenzisa umphumela wokufiphalisa futhi asebenze kabusha ukuphatha imicimbi lapho usayizi wewindi ushintshwa.
  • Ukunikezwa kwetheminali kuthuthukisiwe, ukunikezwa okuvilaphayo kusetshenziswe, futhi inqolobane ye-glyph yengeziwe kumafonti e-TrueType.
  • Amakhono womqambi anwetshiwe.
  • Izindlela zokusetha iwashi zengeziwe, okuhlanganisa ikholi yesistimu ye-settimeofday namandla anwetshiwe okusetshenziswa kwedethi.
  • Isitaki senethiwekhi esithuthukisiwe. Insiza ye-ifconfig yengeze usekelo lokusetha amakheli e-IPv4 nezilungiselelo zomzila. Ukusebenza okunikwe amandla kwamasokhethi e-ICMP. Ukwesekwa okwengeziwe komsebenzi we-recvfrom kumasokhethi e-UDP ne-ICMP.
  • I-bootloader yengeze amandla okusebenza ngamakhibhodi e-USB.
  • Into yokususa amafayela yengezwe kumenyu yokuqukethwe yesiphathi sefayela.
  • Ukuboniswa okuthuthukisiwe kwamagrafu kusiqaphi sesistimu.
  • Kungezwe insiza ye-grep ngokusekelwa okujwayelekile kwesisho.
  • Ukukhishwa komyalo we-ps okuthuthukisiwe (kwengezwe amakholomu engeziwe).

Ukukhishwa kohlelo lokusebenza i-ToaruOS 2.1


Source: opennet.ru

Engeza amazwana