Pagpagawas sa Redox OS 0.8 operating system nga gisulat sa Rust

Ang pagpagawas sa Redox 0.8 nga operating system, naugmad gamit ang Rust nga pinulongan ug ang konsepto sa microkernel, gimantala. Ang mga kalamboan sa proyekto giapod-apod ubos sa libre nga lisensya sa MIT. Alang sa pagsulay sa Redox OS, gitanyag ang mga demo assemblies nga 768 MB ang gidak-on, ingon man mga imahe nga adunay sukaranan nga graphical nga palibot (256 MB) ug mga gamit sa console alang sa mga sistema sa server (256 MB). Ang mga asembliya gihimo alang sa x86_64 nga arkitektura ug magamit alang sa mga sistema nga adunay UEFI ug BIOS. Dugang pa sa Orbital graphical environment, ang demo image naglakip sa DOSBox emulator, usa ka pagpili sa mga dula (DOOM, Neverball, Neverputt, sopwith, syobonaction), mga tutorial, ang rodioplay music player ug ang Sodium text editor.

Ang operating system naugmad subay sa pilosopiya sa Unix ug nanghulam sa pipila ka mga ideya gikan sa SeL4, Minix ug Plan 9. Gigamit sa Redox ang konsepto sa usa ka microkernel, diin ang interaksyon lamang tali sa mga proseso ug pagdumala sa kahinguhaan ang gihatag sa lebel sa kernel, ug ang tanan nga uban pa. Ang functionality gibutang sa mga librarya nga mahimong magamit sa kernel ug user nga mga aplikasyon. Ang tanan nga mga drayber nagdagan sa wanang sa tiggamit sa nahilit nga mga palibot sa sandbox. Alang sa pagpahiangay sa naa na nga mga aplikasyon, usa ka espesyal nga layer sa POSIX ang gihatag, nga nagtugot kanimo sa pagpadagan sa daghang mga programa nga wala’y pag-port.

Gigamit sa sistema ang prinsipyo nga "ang tanan usa ka URL". Pananglitan, ang URL nga "log://" mahimong gamiton alang sa pag-log, "bus://" alang sa interaksyon tali sa mga proseso, "tcp://" alang sa interaksyon sa network, ug uban pa. Ang mga module, nga mahimong ipatuman sa porma sa mga driver, kernel extensions, ug user applications, mahimong magparehistro sa ilang kaugalingong URL handlers, pananglitan, mahimo nimong isulat ang I/O port access module ug ibugkos kini sa URL "port_io:// ", pagkahuman magamit nimo kini aron ma-access ang port 60 pinaagi sa pag-abli sa URL nga "port_io://60".

Ang user environment sa Redox gitukod pinasikad sa kaugalingong graphical shell sa Orbital (dili malibog sa laing Orbital shell nga naggamit sa Qt ug Wayland) ug ang OrbTk toolkit, nga naghatag ug API nga susama sa Flutter, React ug Redux. Ang Netsurf gigamit isip web browser. Ang proyekto nagpalambo usab sa kaugalingon nga manager sa package, usa ka set sa standard utilities (binutils, coreutils, netutils, extrautils), ang ion command shell, ang standard C library relibc, ang vim-like text editor sodium, network stack ug file. sistema. Ang configuration gitakda sa Toml nga pinulongan.

Ang bag-ong pagpagawas nagpadayon sa pagtrabaho aron masiguro nga kini molihok sa tinuod nga hardware. Dugang sa x86_64 nga arkitektura, ang abilidad sa pagtrabaho sa 32-bit x86 nga mga sistema (i686, Pentium II ug mas bag-o) gidugang. Ang pag-port sa ARM64 CPU (aarch64) nagpadayon. Ang pagdagan sa tinuod nga ARM hardware wala pa gisuportahan, apan ang pagkarga sa ARM64 nga pagsundog sa QEMU posible. Sa kasagaran, ang audio subsystem gi-activate ug ang pasiunang suporta alang sa multi-monitor configurations gihatag (sa mga sistema nga adunay UEFI framebuffer). Ang mga kagamitan nga gisuportahan sa Redox OS naglakip sa AC'97 ug Intel HD Audio sound chips, graphics output pinaagi sa VESA BIOS o UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), input device (keyboard, mouse, touchpads) , SATA (AHCI, IDE) ug NVMe. Ang suporta alang sa Wi-Fi ug USB dili pa andam (USB ra magamit sa QEMU).

Uban pang mga inobasyon:

  • Ang mga imahe sa boot alang sa mga sistema nga adunay BIOS ug EFI gihiusa.
  • Ang pagpatuman sa clone ug exec system nga mga tawag gibalhin ngadto sa user space.
  • Ang proseso sa pag-download gipasayon. Usa ka bootstrap nga programa ang gipatuman, nga gilusad sa kernel ug naghatag og dugang nga loading sa ELF files, sama sa init nga proseso.
  • Gidugang ang gipadako nga programa aron suportahan ang mga setuid nga programa sama sa sudo.
  • Aron mapasayon ​​ang paghimo ug pag-instalar sa mga proseso sa background, gisugyot ang redox-daemon crate package.
  • Ang sistema sa asembliya gidesinyo pag-usab, nga nagpaposible sa pagtukod alang sa lainlaing mga arkitektura sa usa ka punoan nga gigikanan. Aron pasimplehon ang asembliya sa lainlaing mga pag-configure, gisugyot ang script sa build.sh. Gidugang nga suporta alang sa pagtukod gamit ang podman toolkit. Ang asembliya sa kernel, bootloader ug initfs nahiusa sa ubang mga pakete.
  • Gidugang ang usa ka demo configuration alang sa pagtukod sa mga panig-ingnan nga mga programa nga wala gilakip sa batakang boot nga imahe nga adunay usa ka graphical nga palibot.
  • Ang suporta alang sa pagkontrol sa gidaghanon sa software gidugang sa audiod sound subsystem.
  • Gidugang drayber alang sa sound chips base sa AC'97. Gipauswag nga drayber alang sa Intel HD Audio chips.
  • Gidugang drayber alang sa IDE controllers.
  • Gipauswag nga suporta alang sa NVMe drive.
  • Gipauswag nga mga driver sa PCI, PS/2, RTL8168, USB HID, VESA.
  • Ang proseso sa pag-instalar gidesinyo pag-usab: ang bootloader, bootstrap, kernel ug initfs anaa na karon sa /boot directory.
  • Gipasimple sa kernel ang pagdumala sa memorya ug gidugang ang abilidad sa pagmaniobra sa mga luna sa address gikan sa lebel sa user.
  • Sa Orbital graphical shell, gidugang ang suporta alang sa mga sistema sa multi-monitor, ang pagproseso sa cursor sa mouse gipauswag, ug usa ka timailhan ang gidugang alang sa pagbag-o sa volume. Ang menu adunay katakus sa pagbahin sa mga aplikasyon sa mga kategorya.

Source: opennet.ru

Idugang sa usa ka comment