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 hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster