Koncepti i shpërndarjes AerynOS u paraqit me justifikim për vendimet arkitekturore

Zhvilluesit e AerynOS, më parë të njohur si SerpentOS, publikuan një artikull të detajuar që zbardh detajet e konceptit dhe zbatimin teknik të projektit me arsyetimin e vendimeve arkitektonike të marra. Kryetari i projektit, Ikey Doherty, thekson se AerynOS nuk është thjesht "një tjetër shpërndarje Linux", por një platformë, themel dhe një grup mjetesh të krijuara sipas një vizioni të qartë.

Ideja kryesore e projektit është formuluar në formën e një pyetjeje: "Çfarë, nëse një sistem operativ do të sillet si një infrastrukture moderne?". AerynOS paraqitet si përgjigje ndaj këtij pyetjeje — një sistem i ndërtuar nga e para, jo një model tradicional i mutations brenda një shpërndarjeje. Projekti mbështetet në përvojën e autorëve në zhvillimin e shpërndarjeve të tjera, duke përfshirë Solus dhe Clear Linux.

Mes vendimeve teknike kryesore të AerynOS mund të përmendim:

  • Përdorimi i setit të veglave LLVM në vend të GNU, duke aplikuar libc++ dhe compiler-rt si default. Zhvilluesit e shpjegojnë këtë vendim jo vetëm si një preferencë për LLVM, por si një zgjedhje strategjike për të përdorur diagnoza më cilësore, duke siguruar saktësinë dhe portabilitetin e paketave. Në të njëjtën kohë, sistemi përdor glibc në vend të musl, një zgjedhje e bërë me qëllim për të favorizuar kompatibilitetin dhe performancën.

    Siç është e shënuar në artikull: "Avantazhi i glibc ndaj musl në performancë është mirë dokumentuar, posaçërisht për ngarkesat e punës intensive në llogaritje dhe aplikacionet që kërkojnë performancë optimale për shumëprocesorët." Krijuesit theksojnë se qëllimi i tyre është të ndërtojnë një sistem funksional dhe të përdorshëm për shumë skenarë aplikimesh.

  • Koncepti i «statelessness» (pa ruajtje të gjendjes) – paketat ndalohen të përmbajnë skedarë jashtë katalogut /usr. Siç sqarojnë zhvilluesit, ky qasje përfshin përcaktimin e vlera të arsyeshme parazgjedhje në të gjitha nivelet dhe eliminon «konfliktet e tmerrshme të bashkimit të tri palëve në përditësimin e pakove». Nuk ka konflikte, sepse gjithçka në /etc dhe /var i përket përdoruesit, ndërsa /usr është ekskluzivisht për sistemin. Ky koncept u zhvillua gjatë kohës së Clear Linux dhe Solus, dhe në AerynOS mori zhvillim të mëtejshëm.
  • Përditësimet atomike – çdo transaksion moss është atomik. Sistemi krijon shpejt një pemë të re /usr duke përdorur lidhje të forta nga cache e deduplicuar. Pas krijimit dhe përgatitjes së suksesshme, pemë e re përdohet atomikisht. Transaksioni i përgatitur në fakt shkëmbehet me katalogun real /usr duke përdorur renameat2 me flagun RENAME_EXCHANGE. Përditësimi ose kryhet plotësisht, ose nuk kryhet fare, pa gjendje ndërmjet.
  • Menaxhimi i ngarkesës bazuar në projektet blsforme dhe disks-rs. Karakteristika e këtij qasje është që sistemi formon dinamikisht parametrat për komandën e linjës së bërthamës, duke lexuar superbloket e pajisjeve të sistemit të skedarëve rrënjorë, prandaj në AerynOS nuk ka skedari konfigurimi që përmban parametrin "root= ". Për më tepër, identifikuesi i transaksionit moss kodifikohet në komandën e linjës së bërthamës dhe përpunohen gjatë ngarkimit të hershëm në initramfs. "Nëse flasim shkurt, kjo do të thotë se çdo bërthamë është e sinkronizuar saktësisht me sistemin përkatës të skedarëve rrënjorë, dhe rikthimi është i lirë, i thjeshtë dhe i aksesueshëm direkt nga menuja e ngarkimit", shpjegojnë zhvilluesit. Një avantazh tjetër është mungesa e /etc/default/grub, dhe nëse ESP do të fshihet, moss mund ta rikthejë atë nga fillimi.
  • Formati i paketave .stone është formati i tij binar i paketave me një kryefjalë që është agnostike ndaj versionit për të siguruar ndryshime të ardhshme. Çdo paketë .stone përmban katër lloje specifike të dhënash (payload), secili prej të cilëve mund të zhvillohet në mënyrë të pavarur falë versionimit:
    • Ngarkesa e përmbajtjes (Content payload) është një blok i radhitur i të dhënave të deduplikura, që do të thotë vetë përmbajtja e skedarëve të paketës.
    • Ngarkesa indeksuese (Index payload) përmban shpërndarjet për ngarkesën e përmbajtjes, të indeksuara sipas hash-it XXH128 të përmbajtjes (planifikohet kalimi në Blake3). Kjo lejon gjetjen dhe nxjerrjen e të dhënave në mënyrë efikase.
    • Ngarkesa e skemës (Layout payload) përshkruan skemën e pritur të sistemit të skedarëve kur aplikon paketën, pra ku dhe cilët skedarë duhet të instalohen.
    • Metadatate (Metadata payload) janë një suksesion i regjistrave të dhënash të tipizuara me rigorozitet, të etiketuar, si emri i paketës, aftësitë e ofruara, etj.

Ngjeshja e të gjitha ngarkesave bëhet me ndihmën e Zstd, e cila siguron një performancë të shkëlqyer për zbërthim duke ruajtur një koeficient të mirë të ngjeshjes. Procesi i "instalimit" .stone është radikalisht ndryshe nga sistemet e tjera. Në vend të instalimit të drejtpërdrejtë të skedarëve, paketa ruhet në memorie, dhe përmbajtja e saj ndërthuret në një depo të përbashkët me adresim sipas përmbajtjes (CAS). Metadat dhe informacioni mbi skemën ruhen veçmas dhe përdoren gjatë krijimit të transaksionit. Ky qasje siguron atomikën e përditësimeve dhe mundësinë e kthimit prapa, pasi çdo transaksion krijon një ndarje rrënjësore të re, dhe jo modifikon ekzistuese.

Zhvilluesit theksojnë se qasja aktuale me emulimin e menaxhimit imperativ të pakove është "plotësisht pa kuptim" dhe "në fakt sjell më shumë gabime sesa zgjidhje". Duke qenë se për çdo transaksion krijohet një sistem skedarësh rrënjësor i ri, në të ardhmen planifikohet krijimi i një grafi të ri për çdo transaksion, duke braktisur ndryshimet e integruara në favor të një qasje deklarative, të ngjashme me Gentoo ose Nix.

Një shpjegim tjetër interesant lidhet me pabesi (immutability). Krijuesit theksojnë se shpesh AerynOS përshkruhet si një OS e patable, por "kjo nuk është krejtësisht e vërtetë". Megjithëse çdo transaksion çon në një pemë të re "/usr" dhe ndryshimet lokale nuk ruhen, sistemi nuk është i patable në kuptimin e aksesit vetëm në lexim. Në të ardhmen planifikohet realizimi i pabesueshmërisë së vërtetë të sistemit pa nevojën për rimbushje duke përdorur erofs dhe overlayfs.

Aktualisht AerynOS po zhvillohet aktivisht, tashmë lëshon imazhe ISO me ambientin GNOME, është i përshtatshëm për lojëra (mbështetje për drejtuesit NVIDIA, Steam, Flatpak), ka përdorues realë që theksojnë stabilitetin dhe inovacionin e sistemit. Sipas zhvilluesve, projekti ndodhet në fazën alfa dhe nuk është pa probleme, por tashmë përfaqëson një sistem tërësor që "thjesht funksionon".

Burimi: opennet.ru

Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster