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

Pagkatapos ng isang taon at kalahati ng pag-unlad, ang paglabas ng Redox 0.7 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, inaalok ang pag-install at Live na mga larawan na may sukat na 75 MB. Ang mga assemblies ay nabuo para sa x86_64 architecture at magagamit para sa mga system na may UEFI at BIOS.

Kapag inihahanda ang bagong release, ang pangunahing pokus ay ang pagtiyak na gumagana ito sa totoong hardware. Mga pangunahing inobasyon:

  • Ang bootloader ay ganap na muling isinulat, kung saan ang code para sa pag-boot sa mga system na may BIOS at UEFI ay pinag-isa at higit sa lahat ay nakasulat sa Rust. Ang pagpapalit ng bootloader ay makabuluhang pinalawak ang hanay ng suportadong hardware.
  • Bilang karagdagan sa mga pag-aayos ng bug, ang trabaho ay ginawa sa kernel upang mapabuti ang pagganap at palawakin ang suporta sa hardware. Ang mga variable na partikular sa CPU ay na-convert upang gamitin ang GS register. Ang pagmuni-muni (mapping) ng lahat ng pisikal na memorya ay ibinigay, ang paggamit ng mga recursive na pahina ng memorya ay itinigil. Ang code ng pagpupulong sa mga inline na pagsingit ay muling isinulat upang mapabuti ang pagiging tugma sa mga paglabas ng compiler sa hinaharap.
  • Nagdagdag ng paunang suporta para sa arkitektura ng AArch64.
  • Isang transition ang ginawa sa pagproseso ng lahat ng file path sa UTF-8 encoding.
  • Ang code para sa pagtatrabaho sa ACPI AML (ACPI Machine Language) Specification - uefi.org ay inilipat mula sa kernel patungo sa proseso ng background ng acpid na tumatakbo sa espasyo ng gumagamit.
  • Ang mga nilalaman ng Initfs ay inilipat sa isang bagong file, na ginagawang mas madali ang pagbuo ng mga pakete.
  • Ang RedoxFS file system ay muling isinulat at inilipat sa paggamit ng mekanismo ng CoW (Copy-on-Write), kung saan ang mga pagbabago ay hindi nag-overwrite ng impormasyon, ngunit nai-save sa isang bagong lokasyon, na lubos na nagpahusay sa pagiging maaasahan. Kasama sa mga bagong feature ng RedoxFS ang suporta para sa mga transactional update, data encryption gamit ang AES algorithm, pati na rin ang authentication ng data at metadata na may mga digital signature. Ang pagbabahagi ng FS code sa system at bootloader ay sinisiguro.
  • Ang pagpapabuti ng karaniwang C library na Relibc na binuo ng proyekto, na may kakayahang gumana hindi lamang sa Redox, kundi pati na rin sa mga distribusyon batay sa Linux kernel, ay nagpatuloy. Ang mga pagbabago ay nagpadali sa pag-port ng iba't ibang mga programa sa Redox at nalutas ang mga problema sa maraming mga programa at mga aklatan na nakasulat sa C.
  • Ang isang bersyon ng rustc compiler ay inihanda na maaaring tumakbo sa Redox. Kasama sa mga natitirang gawain ang pag-optimize ng pagganap at pag-angkop sa manager ng cargo package upang gumana sa kapaligiran ng Redox.

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

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.

Pinagmulan: opennet.ru

Magdagdag ng komento