Paglabas ng Redox OS 0.8 operating system, na nakasulat sa wikang Rust

Ang paglabas ng Redox 0.8 operating system, na binuo gamit ang Rust na wika at ang konsepto ng microkernel, ay nai-publish. Ang mga pagpapaunlad ng proyekto ay ipinamamahagi sa ilalim ng libreng lisensya ng MIT. Para sa pagsubok sa Redox OS, ang mga demo assemblies na 768 MB ang laki ay inaalok, pati na rin ang mga larawang may pangunahing graphical na kapaligiran (256 MB) at console tool para sa mga server system (256 MB). Ang mga assemblies ay nabuo para sa x86_64 architecture at magagamit para sa mga system na may UEFI at BIOS. Bilang karagdagan sa Orbital graphical na kapaligiran, kasama sa demo image ang DOSBox emulator, isang seleksyon ng mga laro (DOOM, Neverball, Neverputt, sopwith, syobonaction), mga tutorial, ang rodioplay music player at ang Sodium text editor.

Ang operating system ay binuo alinsunod sa pilosopiya ng Unix at humiram ng ilang ideya mula sa SeL4, Minix at Plan 9. Ginagamit ng Redox ang konsepto ng microkernel, kung saan ang pakikipag-ugnayan lamang sa pagitan ng mga proseso at pamamahala ng mapagkukunan ay ibinibigay sa antas ng kernel, at lahat ng iba pa Ang pag-andar ay inilalagay sa mga aklatan na maaaring magamit sa parehong kernel at mga aplikasyon ng gumagamit. Ang lahat ng mga driver ay tumatakbo sa espasyo ng gumagamit sa mga nakahiwalay na kapaligiran ng sandbox. Para sa pagiging tugma sa mga umiiral na application, isang espesyal na layer ng POSIX ang ibinigay, na nagpapahintulot sa iyo na magpatakbo ng maraming mga programa nang walang porting.

Ginagamit ng system ang prinsipyong "lahat ng bagay ay isang URL". Halimbawa, ang URL na "log://" ay maaaring gamitin para sa pag-log, "bus://" para sa pakikipag-ugnayan sa pagitan ng mga proseso, "tcp://" para sa pakikipag-ugnayan sa network, atbp. Ang mga module, na maaaring ipatupad sa anyo ng mga driver, kernel extension, at user application, ay maaaring magrehistro ng kanilang sariling mga humahawak ng URL, halimbawa, maaari kang magsulat ng I/O port access module at itali ito sa URL na "port_io:// ", pagkatapos nito ay magagamit mo ito upang ma-access ang port 60 sa pamamagitan ng pagbubukas ng URL na "port_io://60".

Ang kapaligiran ng gumagamit sa Redox ay binuo batay sa sariling graphical na shell ng Orbital (hindi dapat malito sa isa pang Orbital shell na gumagamit ng Qt at Wayland) at ang OrbTk toolkit, na nagbibigay ng API na katulad ng Flutter, React at Redux. Ang Netsurf ay ginagamit bilang isang web browser. Ang proyekto ay gumagawa din ng sarili nitong manager ng package, isang set ng mga standard utilities (binutils, coreutils, netutils, extrautils), ang ion command shell, ang standard C library relibc, ang vim-like text editor sodium, isang network stack at isang file sistema. Ang pagsasaayos ay nakatakda sa wikang Toml.

Ang bagong release ay patuloy na gumagana upang matiyak na ito ay gumagana sa tunay na hardware. Bilang karagdagan sa arkitektura ng x86_64, ang kakayahang magtrabaho sa 32-bit x86 system (i686, Pentium II at mas bago) ay naidagdag. Ang pag-port sa ARM64 CPU (aarch64) ay isinasagawa. Ang pagtakbo sa totoong ARM hardware ay hindi pa sinusuportahan, ngunit ang pag-load gamit ang ARM64 emulation sa QEMU ay posible. Bilang default, ang audio subsystem ay isinaaktibo at ang paunang suporta para sa mga pagsasaayos ng multi-monitor ay ibinigay (sa mga system na may UEFI framebuffer). Kasama sa kagamitang sinusuportahan sa Redox OS ang AC'97 at Intel HD Audio sound chips, graphics output sa pamamagitan ng VESA BIOS o UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), mga input device (keyboard, mouse, touchpads) , SATA (AHCI, IDE) at NVMe. Hindi pa handa ang suporta para sa Wi-Fi at USB (Gumagana lang ang USB sa QEMU).

Iba pang mga inobasyon:

  • Ang mga boot na imahe para sa mga system na may BIOS at EFI ay pinagsama.
  • Ang pagpapatupad ng mga clone at exec system na tawag ay inilipat sa espasyo ng gumagamit.
  • Ang proseso ng paglo-load ay pinasimple. Ang isang bootstrap program ay ipinatupad, na inilunsad ng kernel at nagbibigay ng karagdagang paglo-load ng mga ELF file, tulad ng proseso ng init.
  • Nagdagdag ng pinalaking programa upang suportahan ang mga setuid na programa tulad ng sudo.
  • Upang gawing simple ang paglikha at pag-install ng mga proseso sa background, ang redox-daemon crate package ay iminungkahi.
  • Ang sistema ng pagpupulong ay muling idinisenyo, na ginagawang posible na bumuo para sa iba't ibang mga arkitektura sa isang pinagmulang puno. Upang gawing simple ang pagpupulong ng iba't ibang mga configuration, ang build.sh script ay iminungkahi. Nagdagdag ng suporta para sa pagbuo gamit ang podman toolkit. Ang pagpupulong ng kernel, bootloader at initfs ay pinagsama sa iba pang mga pakete.
  • Nagdagdag ng demo configuration para sa pagbuo ng mga halimbawang program na hindi kasama sa pangunahing boot image na may graphical na kapaligiran.
  • Ang suporta para sa kontrol ng volume ng software ay idinagdag sa audiod sound subsystem.
  • Nagdagdag ng driver para sa sound chips batay sa AC'97. Pinahusay na driver para sa Intel HD Audio chips.
  • Nagdagdag ng driver para sa IDE controllers.
  • Pinahusay na suporta para sa mga NVMe drive.
  • Pinahusay na mga driver ng PCI, PS/2, RTL8168, USB HID, VESA.
  • Ang proseso ng pag-install ay muling idinisenyo: ang bootloader, bootstrap, kernel at initfs ay matatagpuan na ngayon sa direktoryo ng /boot.
  • Pinasimple ng kernel ang pamamahala ng memorya at idinagdag ang kakayahang manipulahin ang mga puwang ng address mula sa antas ng user.
  • Sa Orbital graphical shell, ang suporta para sa mga multi-monitor system ay idinagdag, ang pagpoproseso ng mouse cursor ay napabuti, at isang indicator ay idinagdag para sa pagbabago ng volume. Ang menu ay may kakayahang hatiin ang mga application sa mga kategorya.

Pinagmulan: opennet.ru

Magdagdag ng komento