Lëshimi i sistemit operativ Redox OS 0.7, i shkruar në Rust

Pas një ndihmë njëvjeçare, u publikua lëshimi i sistemit operativ Redox 0.7, i zhvilluar duke përdorur gjuhën Rust dhe konceptin e mikro-kërthizës. Progresi i projektit shpërndahet nën licencën e lirë MIT. Për testimin e Redox OS janë ofruar imazhe instalimi dhe Live, me një madhësi prej 75 MB. Ndërtesat janë formuar për arkitekturën x86_64 dhe janë të disponueshme për sistemet me UEFI dhe BIOS.

Gjatë përgatitjes së lëshimit të ri, vëmendja kryesore iu kushtua sigurisë së funksionimit në pajisje reale. Inovacionet kryesore:

  • Kërcimi është ri-shkruar plotësisht, ku është unifikuar dhe kryesisht shkruar në Rust kodi për ngarkesën në sistemet me BIOS dhe UEFI. Ndryshimi i kërcimit ka lejuar zgjerimin substancial të gamës së pajisjeve të mbështetura.
  • Në kern, përveç rregullimit të gabimeve, është bërë punë për rritjen e performancës dhe zgjerimin e mbështetjes së pajisjeve. Variablat specifikë për CPU janë kaluar në përdorimin e regjistrit GS. Është siguruar pasqyra (mapimi) e gjithë memories fizike, dhe është ndërprerë përdorimi i faqeve të memories rekurzive. Kodi assembler në inserte inline është ri-shkruar për të përmirësuar përputhshmërinë me lëshimet e ardhshme të kompilatorit.
  • Është shtuar mbështetje fillestare për arkitekturën AArch64.
  • U kalua në përpunimin e të gjithë rrugëve të skedarëve në kodimin UTF-8.
  • Kodi për punën me ACPI AML (Gjuha e Mekanizmit ACPI) Specifikimi — uefi.org është transferuar nga kern në procesin e prapmë acpid, që ekzekutohet në hapësirën e përdoruesit.
  • Përmbajtja e Initfs është transferuar në një skedar të ri, çka e ka thjeshtuar formimin e paketave.
  • Sistemi i skedarëve RedoxFS është ri-shkruar dhe është kaluar në përdorimin e mekanizmit CoW (Kopjim-në-Shkrim), ku ndryshimet nuk ri-shkruajnë informacionin, por ruajnë në një vend të ri, çka ka lejuar arritjen e një rritjeje të konsiderueshme të besueshmërisë. Midis mundësive të reja të RedoxFS përfshihen mbështetje për përditësime transaksionale, enkriptim të të dhënave duke përdorur algoritmin AES, si dhe lidhjen e të dhënave dhe metadatat me nënshkrime digjitale. Është siguruar ndarja e kodit të FS në sistem dhe kërcim.
  • Përmirësimi i bibliotekës standard C Relibc, e cila mund të funksionojë jo vetëm në Redox, por edhe në distribucione të bazuara në kernelin Linux, është vazhduar. Ndryshimet e bëra lehtësuan kalimin e aplikacioneve të ndryshme në Redox dhe zgjidhën probleme me shumë programe dhe biblioteka të shkruara në gjuhën C.
  • Është përgatitur versioni i kompilatorit rustc, i cili mund të ekzekutohet në Redox. Midis detyrave të mbetura, është veçuar optimizimi i performancës dhe përshtatja e menaxherit të paketave cargo për të funksionuar në mjedisin Redox.

Lëshimi i sistemit operativ Redox OS 0.7, i shkruar në Rust

Sistemi operativ zhvillohet sipas filozofisë Unix dhe huazon disa ide nga SeL4, Minix dhe Plan 9. Redox përdor konceptin e mikro-kernelit, i cili siguron vetëm ndërveprimin midis proceseve dhe menaxhimin e burimeve në nivelin e kernelit, ndërsa funksionaliteti tjetër është transferuar në biblioteka, të cilat mund të përdoren nga këto aplikacione si dhe nga aplikacionet e përdoruesit. Të gjitha drejtuesit ekzekutohen në hapësirën e përdoruesit në ambjente të izoluar sandbox. Për të siguruar kompatibilitet me aplikacionet ekzistuese, ofrohet një ndërfaqe speciale POSIX që lejon ekzekutimin e shumë programeve pa portim.

Në sistem aplikohet parimi 'gjithçka është URL'. Për shembull, për regjistrimin në log mund të përdoret URL 'log://', për ndërveprimin midis proceseve 'bus://', për ndërveprimin në rrjet 'tcp://' etj. Modulët që mund të realizohen në formë drejtuesish, zgjatjesh të kernelit dhe aplikacioneve të përdoruesve, mund të regjistrojnë menaxherët e tyre të URL-ve, për shembull, mund të shkruhet një modul për qasjen në portet e hyrjes/daljes dhe ta lidhet me URL 'port_io://', pas së cilës mund të përdoret për qasje në portin 60 përmes hapjes së URL 'port_io://60'.

Mjedisi i përdoruesit në Redox është ndërtuar mbi bazën e ndërfaqes grafike Orbital (mos e ngatërro me ndërfaqen tjetër Orbital që përdor Qt dhe Wayland) dhe toolkit-it OrbTk, i cili ofron një API të ngjashëm me Flutter, React dhe Redux. Si shfletues web përdoret Netsurf. Projekti gjithashtu zhvillon menaxherin e vet të paketave, një grup standard të utilitarëve (binutils, coreutils, netutils, extrautils), shell-in e komandave ion, bibliotekën standarde C relibc, redaktorin e tekstit të ngjashëm me vim sodium, stek të rrjetit dhe sistemin e skedarëve. Konfigurimi përcaktohet në gjuhën Toml.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster