Konceptet för distributionen AerynOS presenteras med en motivering av arkitektoniska beslut.

Utvecklarna av AerynOS, tidigare kÀnt som SerpentOS, har publicerat en omfattande artikel som avslöjar detaljer om konceptet och den tekniska implementeringen av projektet med en motivering av de valda arkitektoniska besluten. Projektledaren Ikey Doherty betonar att AerynOS inte bara Àr "Ànnu en Linux-distribution" utan en plattform, en grund och en uppsÀttning verktyg som skapats i enlighet med en tydlig vision.

Den grundlĂ€ggande idĂ©n med projektet formuleras som en frĂ„ga: "Vad hĂ€nder om operativsystemet beter sig som en modern infrastruktur?" AerynOS presenteras som svaret pĂ„ denna frĂ„ga — ett system byggt frĂ„n grunden, snarare Ă€n att följa den traditionella modellen av inbĂ€ddade mutationer inom distributionen. Projektet bygger pĂ„ författarnas erfarenhet av att utveckla andra distributioner, inklusive Solus och Clear Linux.

Bland de viktigaste tekniska besluten för AerynOS kan nÀmnas:

  • AnvĂ€ndningen av verktygslĂ„dan LLVM istĂ€llet för GNU, med libc++ och compiler-rt som standard. Utvecklarna förklarar detta val inte bara som en preferens för LLVM, utan som ett strategiskt val för att anvĂ€nda högre kvalitet pĂ„ diagnostik, sĂ€kerstĂ€lla korrekthet och portabilitet för paketen. Systemet anvĂ€nder dessutom glibc istĂ€llet för musl, vilket Ă€r ett medvetet val för att prioritera kompatibilitet och prestanda.

    Som nÀmnts i artikeln: "Fördelen med glibc över musl i prestanda Àr vÀl dokumenterad, sÀrskilt för berÀkningsintensiva arbetsbelastningar och applikationer som krÀver optimal prestanda för flertrÄdad bearbetning." Skaparna betonar att deras mÄl Àr att bygga ett fungerande, anvÀndbart system för mÄnga tillÀmpningsscenarier.

  • Konceptet "statelessness" (tillstĂ„ndslöshet) — paket fĂ„r inte innehĂ„lla nĂ„gra filer utanför katalogen /usr. Som utvecklarna förklarar, tvingar detta till att se till att rimliga standardvĂ€rden tillĂ€mpas pĂ„ alla nivĂ„er och eliminerar "fruktansvĂ€rda konflikter vid tredubbelsammanfogning vid paketsuppdateringar." Det finns inga konflikter eftersom allt i /etc och /var tillhör anvĂ€ndaren, medan /usr uteslutande tillhör systemet. Konceptet utvecklades under tiden för Clear Linux och Solus, och i AerynOS har det fĂ„tt ytterligare utveckling.
  • AtomĂ€ra uppdateringar — varje moss-transaktion Ă€r atomĂ€r. Systemet skapar snabbt ett nytt trĂ€d /usr med hjĂ€lp av hĂ„rda lĂ€nkar frĂ„n det deduplicerade cache. Efter en framgĂ„ngsrik skapelse och förberedelse byts det nya trĂ€det atomĂ€rt ut. Den faktiska förberedda transaktionen byts med den verkliga katalogen /usr med hjĂ€lp av renameat2 med flaggan RENAME_EXCHANGE. Uppdateringen antingen genomförs helt, eller sĂ„ genomförs den inte alls, utan mellanliggande tillstĂ„nd.
  • Projektbaserad lasthantering med blsforme och disks-rs. KĂ€nnetecknet för denna metod Ă€r att systemet dynamiskt skapar parametrar för kĂ€rnans kommandorad genom att lĂ€sa superblocken i enheter av det grundlĂ€ggande filsystemet, vilket innebĂ€r att AerynOS inte har nĂ„gon konfigurationsfil som innehĂ„ller parametern 'root='. Dessutom kodas moss-transaktions-ID i kĂ€rnans kommandorad och behandlas under tidig boot i initramfs. 'Kort sagt, det innebĂ€r att varje kĂ€rna Ă€r korrekt synkroniserad med det motsvarande grundlĂ€ggande filsystemet, och Ă„terstĂ€llning Ă€r billig, enkel och lĂ€ttillgĂ€nglig direkt frĂ„n bootmenyn', förklarar utvecklarna. En annan fördel Ă€r avsaknaden av /etc/default/grub, och om ESP raderas kan moss Ă„terstĂ€lla det frĂ„n grunden.
  • Paketformatet .stone Ă€r ett eget binĂ€rt paketformat med en versionsagnostisk rubrik för att sĂ€kerstĂ€lla framtida förĂ€ndringar. Varje .stone-paket innehĂ„ller fyra specifika datatyper (payload), varav var och en kan utvecklas oberoende tack vare versionering:
    • InnehĂ„llspayload (Content payload) — en sekventiell block av deduplicerade data, det vill sĂ€ga sjĂ€lva innehĂ„llet i pakets filer.
    • Indexpayload (Index payload) — innehĂ„ller offset för innehĂ„llspayload, indexerade med hash XXH128 av innehĂ„llet (övergĂ„ng till Blake3 planeras). Detta gör det möjligt att effektivt hitta och extrahera data.
    • Layoutpayload (Layout payload) — beskriver den avsedda layouten av filsystemet vid tillĂ€mpning av paketet, det vill sĂ€ga var och vilka filer som ska installeras.
    • Metadata-payload (Metadata payload) — en sekvens av strikt typade, mĂ€rkta metadata-poster, sĂ„som paketnamn, tillhandahĂ„llna funktioner etc.

Komprimering av alla belastningar utförs med hjÀlp av Zstd, vilket ger utmÀrkt prestanda vid avpackning samtidigt som en bra komprimeringsgrad bibehÄlls. Installationsprocessen för .stone skiljer sig radikalt frÄn andra system. IstÀllet för att installera filer direkt, cachas paketet och dess innehÄll flÀtas ihop i ett gemensamt lagringsutrymme med adressering baserat pÄ innehÄll (CAS). Metadata och layoutinformation lagras separat och anvÀnds vid skapandet av transaktionen. Denna metod sÀkerstÀller atomÀra uppdateringar och möjlighet till ÄterstÀllning, eftersom varje transaktion skapar en ny rotpartition istÀllet för att modifiera den befintliga.

Utvecklarna pÄpekar att den nuvarande metoden med emulering av imperativ paketstyrning "Àr helt meningslös" och "egentligen ger upphov till fler fel Àn den löser". Eftersom en ny rotfilsystem skapas för varje transaktion, planeras i framtiden att skapa en ny graf för varje transaktion, överge inbyggda förÀndringar till förmÄn för ett deklarativt tillvÀgagÄngssÀtt, liknande Gentoo eller Nix.

En annan intressant förklaring handlar om oförĂ€ndrat tillstĂ„nd (immutability). Skaparna pĂ„pekar att AerynOS ofta beskrivs som ett oförĂ€ndrat operativsystem, men "det Ă€r inte helt korrekt". Även om varje transaktion leder till ett nytt trĂ€d i /usr och lokala Ă€ndringar inte sparas, Ă€r systemet inte oförĂ€ndrat i bemĂ€rkelsen att det endast Ă€r skrivskyddat. I framtiden planeras en verklig oförĂ€ndrad implementation av systemet utan behov av omstart, med hjĂ€lp av erofs och overlayfs.

För nÀrvarande utvecklas AerynOS aktivt, slÀpper redan ISO-bilder med GNOME-miljö, Àr spelvÀnligt (stöd för NVIDIA-drivrutiner, Steam, Flatpak), har verkliga anvÀndare som pÄpekar systemets stabilitet och nytÀnkande. Enligt utvecklarna Àr projektet i alfa-stadiet och har sina problem, men representerar redan ett helt system som "bara fungerar".

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster