Sa isang mahabang teknikal na artikulo, Ikey Doherty (kilala para sa mga nangungunang proyekto tulad ng Solus at nag-aambag sa Clear Linux) binabalangkas ang pilosopiya at arkitektura ng AerynOS, ang bagong proyektong ito na naglalayong pag-isipang muli kung paano dapat kumilos ang isang operating system sa panahon ng imprastraktura bilang code.
At malayo sa pagiging isa lamang pamamahagi sa Linux ecosystem, Ang AerynOS ay nagpapakita ng sarili bilang isang malalim na reimagining ng modernong operating system.
Mula sa pamamahagi hanggang sa imprastraktura
AerynOS ay ipinanganak mula sa isang katanungan nakakapukaw: "Paano kung ang operating system ay kumilos tulad ng isang modernong imprastraktura?". Ang sagot ay isang platform na binuo mula sa simula, nang hindi dina-drag ang mga legacy na convention ng mga tradisyonal na distribusyon at sa halip na i-mutate ang mga umiiral na system, ang AerynOS ay nagsisimula sa isang malinis na pundasyon, na gumagamit ng mga nakaraang karanasan at gumagawa ng mga radikal na desisyon sa arkitektura upang matiyak ang pare-pareho, reversibility, at pagiging simple ng istruktura.
Binanggit ni Ikey Doherty sa kanyang artikulo na Isa sa mga pinaka-kapansin-pansing desisyon ay ang pag-ampon ng LLVM toolchain sa halip na ang tradisyonal na GNU, gamit ang libc++ at compiler-rt bilang default. Ang pagpipiliang ito ay hindi lamang dahil sa mga kagustuhan sa pangkakanyahan, kundi pati na rin sa isang diskarte. para sa higit na mahusay na mga diagnostic at higit na madaling dalhin. Sa kabila ng pag-upgrade na ito, ang AerynOS ay nananatiling nakatuon sa paggamit ng glibc bilang karaniwang library nito, na pinipili ito kaysa sa musl para sa mahusay nitong pagganap sa ilalim ng mga multithreaded load at hinihingi na mga application.
Bilang karagdagan dito, nabanggit ang isa Isa sa mga pangunahing konsepto ng AerynOS ay "kawalan ng estado": Walang package ang makakapag-install ng mga file sa labas ng /usr. Ang mahigpit na demarcation na ito ay naghihiwalay sa espasyo ng user (/etc, /var) mula sa espasyo ng system, inaalis ang mga salungatan sa pagsasanib at pinapadali ang mga malinis na pag-upgrade. Ang ideyang ito, na nagsimula noong Clear Linux, ay naglalayong ipatupad ang mga makabuluhang default at maiwasan ang hindi kinakailangang kumplikado na madalas na ipinakilala ng mga mas nababaluktot na system.
Atomic at nababaligtad na mga update
AerynOS gumagamit ng isang ganap na bagong sistema ng pamamahala ng pakete, na tinatawag na Moss, na nagsasagawa ng mga atomic na transaksyon. Ang bawat update ay lumilikha ng bagong /usr tree gamit ang mga hard link mula sa isang deduplicated na tindahan, at pinapalitan ng kasalukuyang puno nang atomically gamit ang renameat2(). Tinitiyak ng mekanismong ito na ang mga pag-update ay ganap na nakumpleto o hindi nalalapat, na nag-iwas sa mga intermediate na estado.
Ang pamamahala ng boot ay sumisira din sa tradisyon. Salamat sa mga tool tulad ng blsforme at disks-rs, AerynOS dynamic na bumubuo ng kernel command line sa pamamagitan ng direktang pagbabasa ng mga superblock ng file system, inaalis ang pangangailangan para sa isang root=. Bukod pa rito, ang bawat core ay nakatali sa partikular na transaksyon nito, na pinapadali ang mga rollback ng system mula sa boot menu at pinapayagan ang boot environment na mabuo muli mula sa simula kung sakaling mawala ang ESP.
Ang .stone na format: isang bagong paraan sa pakete ng software
Ang isa pang pangunahing sangkap ay ang .stone na format, isang modernong binary package Dinisenyo na may kalayaan sa bersyon at mataas na kahusayan. Ang bawat .stone file ay naglalaman ng:
- Na-deduplicate na nilalaman ng mga package file
- Isang hash index (XXH128, na may mga planong lumipat sa Blake3)
- Isang mapa ng target na file system
- Nag-type ng metadata gaya ng pangalan, bersyon, mga kakayahan, atbp.
Sa halip na direktang mag-install ng mga file, Ang Ang .stone ay iniimbak sa isang Content Addressable Store (CAS) at pinagsama-sama bilang bahagi ng isang transaksyon. Ang diskarteng ito ay hindi lamang nagpapabuti sa pagganap, ngunit nagbibigay-daan din sa anumang mga pagbabago na madaling maibalik.
Ang sistema ng pamamahala ng pakete ay hindi sumusunod sa tradisyonal na modelong kailangan. Naniniwala ang mga developer na ang mga direktang utos sa pag-install ay "nagpapakilala ng higit pang mga bug kaysa sa nalutas nila." Sa halip, ang bawat transaksyon ay lumilikha ng bagong system graph, na nagbibigay daan para sa hinaharap na deklaratibong modelo na katulad ng Nix o Gentoo, kung saan inilalarawan ang gustong estado ng system sa halip na magsagawa ng mga utos ng pagbabago.
Ang AerynOS ba ay hindi nababago?
Bagama't madalas itong inilalarawan bilang isang hindi nababagong sistema, nilinaw mismo ng mga tagalikha na hindi ito mahigpit na totoo. Hindi hinaharangan ng system ang read-only na access, at habang pinapalitan ng mga transaksyon ang /usr tree, Ang ganap na immutability ay hindi pa naipapatupad. Ang pangmatagalang layunin ay upang makamit ito nang walang pag-reboot, na gumagamit ng mga teknolohiya tulad ng mga overlay at erof.
Sa kabila ng pagiging alpha phase, ang AerynOS ay mayroon nang mga ISO na available, suporta para sa GNOME, compatibility sa Steam, NVIDIA, Flatpak, at mga totoong user na pumupuri sa katatagan at pagganap nito. Gumagana na nang maayos ang system para masuri sa totoong buhay na mga senaryo, bagama't umuunlad pa rin ito.
Fuente: https://aerynos.com