Vinix ระบบปฏิบัติการใหม่จากภาษา V รันเกมและ Docker ได้

คุณอาจสงสัยว่าระบบปฏิบัติการที่ไม่ได้ใช้ Linux kernel หรือเป็นกรรมสิทธิ์ของใคร สามารถรัน Docker ได้อย่างไร? คำตอบคือระบบนั้นต้องมีฟีเจอร์พื้นฐานอย่าง namespaces และ cgroups

นั่นคือสิ่งที่ Vinix ทำได้สำเร็จ โดยการพัฒนาฟีเจอร์เหล่านั้นขึ้นมาในแบบของตัวเอง พร้อมรองรับ overlayfs และ seccomp ซึ่งช่วยให้ Docker engine มาตรฐานของ Alpine Linux สามารถทำงานบนสถาปัตยกรรม ARM64 ได้

นอกจากนี้ Vinix ยังรัน QEMU 9.1.2 ที่สามารถบูตระบบ Vinix ซ้อนภายในหน้าต่างเดิมได้ ส่วนคอเกมก็ไม่น้อยหน้า เพราะมันรองรับการรัน DOOM, เดโม DOOM 3, เดโม Gothic II ผ่าน OpenGothic ไปจนถึง Minecraft Java Edition

อย่างไรก็ตาม ระบบยังคงมีข้อจำกัดบางประการ

ปัจจุบันการรองรับ Docker ยังขาด bridge networking และกฎ iptables ในขณะที่ QEMU ยังทำงานผ่าน software emulation ส่วน Minecraft นั้นรันในโหมด interpreter บน CPU เพียง core เดียว และ DOOM 3 ทำเฟรมเรตได้ประมาณ 13 FPS เนื่องจากเป็นการเรนเดอร์ด้วยซอฟต์แวร์

อีกหนึ่ง OS ใหม่หรือ?

vinix desktop view

Vinix ถูกสร้างขึ้นเพื่อให้ MacBook มีระบบปฏิบัติการโอเพนซอร์สที่รวดเร็วและเรียบง่าย (Minimal) โดยมีแรงผลักดันมาจาก macOS ที่เริ่มทำงานช้าลงและกินทรัพยากรมากขึ้นในทุกเวอร์ชัน เป้าหมายหลักในช่วงแรกคืออุปกรณ์ Apple Silicon เพื่อให้ครอบคลุมซีรีส์ M ทั้งหมด แม้ปัจจุบันจะยังรองรับเพียง M1 เท่านั้น

แม้ผู้ใช้ Linux ทั่วไปอาจจะยังไม่เห็นความจำเป็นในการเปลี่ยนมาใช้ แต่ Vinix มีจุดขายที่น่าสนใจคือการ ตั้งค่าโดยไม่มี systemd และมี kernel ขนาดเล็กที่คนเพียงคนเดียวสามารถอ่านและทำความเข้าใจโค้ดได้ทั้งหมด

ระบบจะไม่มีกระบวนการใดทำงานเบื้องหลังจนกว่าคุณจะสั่งการ โดยยึดมั่นในโครงสร้างแบบเดี่ยว (Single system) ทั้ง init system, desktop, package manager และ binary format ตัว kernel จะจัดการหน่วยความจำด้วยตนเองแทนการใช้ garbage collector ทำให้การล้างข้อมูลไม่ไปรบกวนการทำงานของ system call หรือ compositor

ตัวระบบทั้งหมดรันบน รากฐานของภาษาโปรแกรม V ซึ่งได้รับเลือกเพราะคอมไพล์ได้เร็วและโค้ดอ่านง่าย โปรเจกต์นี้จึงเป็นเสมือนสนามทดสอบสำหรับการเขียนโปรแกรมแบบ bare metal ในภาษา V ไปในตัว

ด้านความปลอดภัย Vinix ถอดแบบมาจาก OpenBSD โดยมี pledge และ unveil ให้ใช้งาน แต่แอปพลิเคชันต้องเลือกเปิดใช้งานเอง (opt in) และหน่วยความจำของผู้ใช้จะไม่สามารถเขียนและรันพร้อมกันได้ (writable and executable) อย่างไรก็ตาม การตรวจสอบความถูกต้องของ bootloader และ filesystem ยังอยู่ระหว่างการพัฒนา

ความสามารถในการรันแอป Linux

Vinix ระบบปฏิบัติการใหม่จากภาษา V รันเกมและ Docker ได้

Vinix ระบบปฏิบัติการใหม่จากภาษา V รันเกมและ Docker ได้

หัวใจสำคัญของ Vinix คือ monolithic kernel ที่บูตผ่าน Limine โดยมีไดรเวอร์ฝังอยู่ในอิมเมจ โค้ดส่วนใหญ่เขียนด้วยภาษา V ร่วมกับ C และ assembly บางส่วน

ระบบมีหน้าจอเดสก์ท็อปที่สร้างด้วย V UI2 เรนเดอร์ผ่าน framebuffer และมีตัวเลือกใช้งาน X.org หรือ Hyprland บน ARM64 นักพัฒนาระบุว่า OS นี้ใช้ RAM เพียง 50 MB หลังบูตเครื่อง และใช้พื้นที่ติดตั้งเพียง 1 GB เท่านั้น

Vinix สามารถรันแอปพลิเคชัน Linux ได้โดยตรงเพราะรองรับ system calls, ฟอร์แมต ELF และพฤติกรรมของ musl ที่แอปเหล่านั้นต้องการ ทำให้ไบนารีทำงานแบบเนทีฟโดยไม่ต้องพึ่ง VM หรืออีมูเลเตอร์ โดยเน้นไปที่การดึง aarch64 packages จาก Alpine Linux มาใช้งาน

ผู้ใช้สามารถติดตั้งแอปใหม่ผ่านคำสั่ง pkg เพื่อดึงแพ็กเกจจากคลังของ Alpine โดยแอปชื่อดังอย่าง Chromium, GIMP, Sublime Text, Gnumeric รวมถึง Wine สามารถใช้งานบนระบบนี้ได้แล้ว

แต่มีข้อแม้ว่าฟีเจอร์นี้ จำกัดเฉพาะ ARM64 และบางแพ็กเกจเท่านั้น ซอฟต์แวร์ที่ต้องใช้ฟีเจอร์ระดับลึกของ Linux kernel ที่ Vinix ยังไม่มีอาจทำงานผิดปกติได้ นอกจากนี้ทีมงานกำลังพัฒนาไดรเวอร์ GPU และเตรียมรองรับชิป M3, M4 และ M5 ในอนาคต

ใครอยู่เบื้องหลังโปรเจกต์นี้?

hyprland demo of vinix

เดโมการใช้งาน Hyprland บน Vinix

เส้นทางของ Vinix เริ่มต้นมาตั้งแต่ปี 2021 โดยมีการบันทึกโค้ด (commit) ครั้งแรกบน GitHub เมื่อ มีนาคม 2021 ซึ่งตัว kernel ดั้งเดิมเป็นผลงานของ Mintsuki ผู้สร้าง Limine

หลังจากการพัฒนาหยุดชะงักไปราว 2 ปี Alexander Medvednikov ผู้สร้างภาษา V ก็ได้เข้ามาสานต่อโครงการนี้ในฐานะผู้ดูแลหลัก

จากเดิมที่ Mintsuki วางรากฐานเรื่องการจัดการหน่วยความจำและ scheduler ไว้ ปัจจุบัน Vinix ได้รับการต่อยอดจนรองรับระบบจัดเก็บข้อมูล, เครือข่าย, อุปกรณ์อินพุต, กราฟิก รวมถึงความเข้ากันได้กับระบบนิเวศของ Alpine Linux อย่างที่เห็นในปัจจุบัน

วิธีการติดตั้ง Vinix

ผู้ที่สนใจสามารถดาวน์โหลดไฟล์ติดตั้ง .dmg สำหรับ M1 Macs ได้ที่ เว็บไซต์อย่างเป็นทางการ หรือไปที่ หน้าดาวน์โหลดของโปรเจกต์ เพื่อเลือก ISO สองรูปแบบ คือสำหรับ ARM64 (สำหรับ QEMU และ VirtualBox บน Mac Silicon) และ x86_64 (สำหรับระบบ Intel และ AMD)

สำหรับการทดสอบบน Virtual Machine ระบบต้องการสเปกขั้นต่ำเพียง RAM 4 GB และพื้นที่ว่าง 4 GB หรือจะเลือกสร้างระบบขึ้นเองจากซอร์สโค้ด (Building from source) ก็ได้เช่นกัน

Source: It's FOSS
ดูแลงานแปลและเรียบเรียงโดย SirilukP

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร