ในบทความทางเทคนิคที่ยาว Ikey Doherty (เป็นที่รู้จักในการเป็นผู้นำโครงการเช่น Solus และมีส่วนสนับสนุน Clear Linux) อธิบายปรัชญาและสถาปัตยกรรมของ AerynOSโครงการใหม่นี้มุ่งหวังที่จะคิดใหม่ว่าระบบปฏิบัติการควรทำงานอย่างไรในยุคของโครงสร้างพื้นฐานในรูปแบบโค้ด
และไกลจากการเป็นเพียงการแจกจ่ายแบบหนึ่งในระบบนิเวศ Linux AerynOS นำเสนอตัวเองในฐานะการคิดใหม่เชิงลึกของระบบปฏิบัติการสมัยใหม่
ตั้งแต่ระบบจำหน่ายไปจนถึงโครงสร้างพื้นฐาน
เอรินโอเอส เกิดจากคำถาม เร้าใจ: "จะเกิดอะไรขึ้นถ้าระบบปฏิบัติการทำงานเหมือนโครงสร้างพื้นฐานที่ทันสมัย?"- คำตอบคือแพลตฟอร์มที่สร้างขึ้นมาจากพื้นฐาน โดยไม่ลากเอาแบบแผนเดิมๆ ของการแจกจ่ายแบบดั้งเดิมมาใช้ และแทนที่จะกลายพันธุ์ระบบที่มีอยู่ AerynOS จะเริ่มต้นจากรากฐานที่สะอาด โดยใช้ประโยชน์จากประสบการณ์ก่อนหน้า และการตัดสินใจทางสถาปัตยกรรมที่รุนแรงเพื่อให้แน่ใจถึงความสอดคล้อง สามารถย้อนกลับได้ และความเรียบง่ายของโครงสร้าง
Ikey Doherty กล่าวถึงในบทความของเขาว่า การตัดสินใจที่โดดเด่นที่สุดอย่างหนึ่งคือการนำเครื่องมือ LLVM มาใช้ แทนที่จะใช้ GNU แบบดั้งเดิม ให้ใช้ libc++ และ compiler-rt ตามค่าเริ่มต้น การเลือกนี้ไม่เพียงแต่เกิดจากความชอบด้านรูปแบบเท่านั้น แต่ยังรวมถึงกลยุทธ์ด้วย เพื่อการวินิจฉัยที่เหนือกว่าและการพกพาที่มากขึ้น- แม้จะมีการอัปเกรดนี้ แต่ AerynOS ยังคงมุ่งมั่นที่จะใช้ glibc เป็นไลบรารีมาตรฐาน โดยเลือกใช้ glibc แทน musl เนื่องจากมีประสิทธิภาพที่เหนือกว่าภายใต้ภาระแบบมัลติเธรดและแอปพลิเคชันที่ต้องการความแม่นยำสูง
นอกจากนี้ยังได้กล่าวถึงอีกว่าหนึ่ง แนวคิดหลักประการหนึ่งของ AerynOS คือ “การไร้รัฐ”: ไม่มีแพ็คเกจใดสามารถติดตั้งไฟล์ภายนอก /usr ได้ การแบ่งเขตที่เข้มงวดนี้จะแยกพื้นที่ผู้ใช้ (/etc, /var) ออกจากพื้นที่ระบบ โดยขจัดข้อขัดแย้งในการผสานและอำนวยความสะดวกในการอัปเกรดที่สะอาด แนวคิดนี้ซึ่งมีมาตั้งแต่ Clear Linux มุ่งหวังที่จะบังคับใช้ค่าเริ่มต้นที่เหมาะสมและหลีกเลี่ยงความซับซ้อนที่ไม่จำเป็นที่ระบบที่มีความยืดหยุ่นมากกว่ามักนำมาให้
การอัปเดตแบบอะตอมและแบบย้อนกลับได้
เอรินโอเอส ใช้ระบบการจัดการแพ็คเกจใหม่ล่าสุดที่เรียกว่า Moss ที่ทำธุรกรรมแบบอะตอม การอัปเดตแต่ละครั้งจะสร้างทรี /usr ใหม่โดยใช้ฮาร์ดลิงก์จากที่จัดเก็บที่ผ่านการกำจัดข้อมูลซ้ำซ้อน และสลับกับทรีปัจจุบันโดยอัตโนมัติโดยใช้ renameat2() กลไกนี้จะช่วยให้แน่ใจว่าการอัปเดตจะเสร็จสมบูรณ์หรือไม่ได้ถูกนำไปใช้เลย เพื่อหลีกเลี่ยงสถานะกลางๆ
การจัดการการบูตยังแหกกฎเกณฑ์เดิมๆ ด้วยเครื่องมือเช่น blsforme และ disks-rs, AerynOS สร้างบรรทัดคำสั่งเคอร์เนลแบบไดนามิกโดยอ่านซูเปอร์บล็อกโดยตรง ของระบบไฟล์โดยไม่จำเป็นต้องใช้ root=. นอกจากนี้ แต่ละคอร์ยังเชื่อมโยงกับธุรกรรมที่เฉพาะเจาะจงของตัวเอง ซึ่งช่วยให้สามารถย้อนกลับระบบจากเมนูการบูตได้ และอนุญาตให้สร้างสภาพแวดล้อมการบูตใหม่ตั้งแต่ต้นในกรณีที่สูญเสีย ESP
รูปแบบ .stone: วิธีใหม่ในการจัดทำแพ็คเกจซอฟต์แวร์
องค์ประกอบสำคัญอีกประการหนึ่งคือ รูปแบบ .stone แพ็คเกจไบนารีที่ทันสมัย ออกแบบด้วยความเป็นอิสระของเวอร์ชันและประสิทธิภาพสูง ไฟล์ .stone แต่ละไฟล์ประกอบด้วย:
- เนื้อหาซ้ำซ้อนของไฟล์แพ็คเกจ
- ดัชนีแฮช (XXH128 พร้อมแผนย้ายไปที่ Blake3)
- แผนที่ระบบไฟล์เป้าหมาย
- ข้อมูลเมตาที่พิมพ์ เช่น ชื่อ เวอร์ชัน ความสามารถ ฯลฯ
แทนที่จะติดตั้งไฟล์โดยตรง, .stone จะถูกเก็บไว้ใน Content Addressable Store (CAS) และถูกรวบรวมเป็นส่วนหนึ่งของธุรกรรม แนวทางนี้ไม่เพียงช่วยปรับปรุงประสิทธิภาพการทำงานเท่านั้น แต่ยังช่วยให้สามารถย้อนกลับการเปลี่ยนแปลงใดๆ ได้อย่างง่ายดายอีกด้วย
ระบบการจัดการแพ็คเกจไม่ปฏิบัติตามรูปแบบดั้งเดิมที่จำเป็น นักพัฒนาเชื่อว่าคำสั่งติดตั้งโดยตรง "ทำให้เกิดข้อบกพร่องมากกว่าการแก้ไข" ในทางกลับกัน แต่ละธุรกรรมจะสร้างกราฟระบบใหม่ ซึ่งจะปูทางไปสู่รูปแบบการประกาศในอนาคตที่คล้ายกับ Nix หรือ Gentoo โดยจะอธิบายสถานะที่ต้องการของระบบแทนที่จะดำเนินการคำสั่งเปลี่ยนแปลง
AerynOS ไม่สามารถเปลี่ยนแปลงได้หรือไม่?
แม้ว่ามักจะอธิบายว่าเป็นระบบที่ไม่เปลี่ยนแปลง แต่ผู้สร้างเองก็ชี้แจงว่าสิ่งนี้ไม่เป็นความจริงโดยแท้จริง ระบบจะไม่บล็อคการเข้าถึงแบบอ่านอย่างเดียวและในขณะที่ธุรกรรมแทนที่ต้นไม้ /usr ยังไม่มีการดำเนินการให้สามารถเปลี่ยนแปลงได้อย่างสมบูรณ์ เป้าหมายระยะยาวคือการบรรลุสิ่งนี้โดยไม่ต้องรีบูต โดยใช้ประโยชน์จากเทคโนโลยีเช่น overlayfs และ erofs
แม้ว่าจะอยู่ในช่วงอัลฟ่า แต่ AerynOS ก็มี ISO ให้ใช้งานแล้ว รองรับ GNOME เข้ากันได้กับ Steam, NVIDIA, Flatpak และผู้ใช้จริงที่ยกย่องความเสถียรและประสิทธิภาพของมัน ระบบนี้ทำงานได้ดีเพียงพอที่จะทดสอบในสถานการณ์จริงได้ แม้ว่าจะยังคงอยู่ในช่วงการพัฒนาอยู่ก็ตาม
Fuente: https://aerynos.com