Kuburitswa kweiyo inoshanda sisitimu ToaruOS 2.1

Kuburitswa kweiyo Unix-senge yekushandisa system ToaruOS 2.1 yakadhindwa, yakanyorwa kubva kutanga uye yakapihwa kernel yayo, bootloader, yakajairwa C raibhurari, pasuru maneja, mushandisi nzvimbo zvikamu uye graphical interface ine composite hwindo maneja. Iyo purojekiti yakatanga kugadzirwa paYunivhesiti yeI Illinois sebasa rekutsvagisa mumunda wekugadzira mitsva inosanganiswa graphical interfaces, asi ndokuzoshandurwa kuita yakaparadzana sisitimu yekushandisa. Iyo kodhi yeprojekiti yakanyorwa muC uye yakagoverwa pasi peiyo BSD rezinesi. Mufananidzo mhenyu we14.4 MB muhukuru wakagadzirirwa kurodha, unogona kuedzwa muQEMU, VMware kana VirtualBox.

Kuburitswa kweiyo inoshanda sisitimu ToaruOS 2.1

ToaruOS yakavakirwa pane kernel inoshandisa hybrid modular architecture iyo inosanganisa monolithic chimiro uye maturusi ekushandisa anotakurika mamodule, ayo anoumba mazhinji anowanikwa madhiraivha emidziyo, senge disk driver (PATA uye ATAPI), EXT2 uye ISO9660 faira masisitimu, framebuffer. , keyboards, mbeva , makadhi etiweki (AMD PCnet FAST, Realtek RTL8139 uye Intel PRO/1000), machipisi anonzwika (Intel AC'97), pamwe neVirtualBox add-ons yevaenzi masisitimu. Iyo kernel inotsigira Unix tambo, TTY, chaiyo faira system, pseudo faira system / proc, multithreading, IPC, ramdisk, ptrace, yakagovaniswa ndangariro, multitasking uye zvimwe zvakajairika maficha.

Iyo sisitimu ine composite hwindo maneja, inotsigira dynamically yakabatana executable mafaera muELF fomati, multitasking, girafu stack, inogona kumhanya Python 3 uye GCC. Ext2 inoshandiswa sefaira system. Iyo bootloader inotsigira BIOS uye EFI. Iyo network stack inobvumira kushandiswa kweBSD-style socket APIs uye inotsigira network interfaces, kusanganisira loopback.

Pakati pemashandisirwo emunharaunda, Vi-like code editor Bim inomira kunze, iyo yakashandiswa kwemakore mashomanana apfuura kuvandudza ToaruOS-specific applications senge faira maneja, terminal emulator, graphics panel newidget support, package manager, zvakare. semaraibhurari ekutsigira mifananidzo (PNG, JPEG) uye TrueType mafonti. Zvirongwa zvakaita seVim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, nezvimwe zvakaendeswa kuToaruOS.

Iyo purojekiti iri zvakare kugadzira yayo ine simba programming mutauro, Kuroko, yakagadzirirwa kutsiva Python kana ichigadzira zvekushandisa uye tsika kunyorera sisitimu. Mutauro unoyeuchidza nezvePython mu syntax (yakamisikidzwa semutauro wakapfupikiswa wePython ine tsananguro yakajeka yezvinosiyana) uye ine kuita kwakasimba kwazvo. Kuunganidzwa uye dudziro yebytecode inotsigirwa. Iyo bytecode muturikiri inopa muunganidzi wemarara uye inotsigira kuwanda kwekuverenga pasina kushandisa kukiya kwepasirese. Iyo compiler uye muturikiri anogona kuunganidzwa muchimiro chediki raibhurari yakagovaniswa (~ 500KB), yakabatanidzwa nezvimwe zvirongwa uye inowedzerwa kuburikidza neC API. Pamusoro peToaruOS, mutauro unogona kushandiswa paLinux, macOS, Windows uye kumhanya mumabhurawuza anotsigira WebAssembly.

Mukuburitswa kutsva:

  • Yakawedzera tsigiro yekutanga yeAArch64 (ARMv8) architecture, kusanganisira kugona kuyedza kushandisa ToaruOS paRaspberry Pi 400 board uye muQEMU emulator.
  • Kugadzirisa uye kutumira masaini kune maitiro munzvimbo yemushandisi akagadziridzwa patsva. Yakaitwa sigaction, sigprocmask, sigwait uye sigsuspend mafoni.
  • Kuvandudza ndangariro manejimendi munzvimbo yemushandisi. Yakawedzera munmap system call.
  • Iyo composite maneja inoshandisa blur athari uye inogadzirisa kubata kwezviitiko kana saizi yehwindo yachinjwa.
  • Terminal rendering yakagadziridzwa, husimbe kupa kwaitwa, uye glyph cache yawedzerwa kune TrueType fonts.
  • Mano emunyori akawedzerwa.
  • Matanho ekuseta wachi akawedzerwa, kusanganisira iyo settimeofday system kufona uye yakawedzera kugona kweiyo date utility.
  • Yakavandudzwa network stack. Iyo ifconfig utility yakawedzera rutsigiro rwekumisikidza IPv4 kero uye marongero enzira. Yakagonesa kushanda kweICMP sockets. Yakawedzerwa rutsigiro rweiyo recvfrom basa reUDP uye ICMP zvigadziko.
  • Iyo bootloader yakawedzera kugona kushanda ne USB keyboards.
  • Chinhu chekudzima mafaera chawedzerwa kumenu yefaira maneja.
  • Yakavandudzwa kuratidzwa kwemagirafu mune yekutarisa system.
  • Yakawedzera grep utility neyakajairwa kutaura kutsigirwa.
  • Yakavandudzwa ps yekuraira kubuda (yakawedzera mamwe makoramu).

Kuburitswa kweiyo inoshanda sisitimu ToaruOS 2.1


Source: opennet.ru

Voeg