Fusion ระบบปฏิบัติการงานอดิเรกที่พัฒนาด้วย Nim
(github.com/khaledh)Fusion OS
Fusion เป็นระบบปฏิบัติการงานอดิเรกสำหรับ x86-64 ที่พัฒนาด้วย Nim โดยมีการบันทึกกระบวนการพัฒนาไว้ที่ https://0xc0ffee.netlify.app
ภาพหน้าจอ
- บูตโหลดเดอร์ UEFI
- GUI ( หมายเหตุ: ภาพหน้าจอนี้นำมาจากสาขา
graphicsที่ยังอยู่ระหว่างการพัฒนา ) - การบูตเคอร์เนล Fusion
ฟีเจอร์
ฟีเจอร์ที่พัฒนาแล้วในปัจจุบัน:
- บูตโหลดเดอร์ UEFI
- ตัวจัดการหน่วยความจำกายภาพ
- ตัวจัดการหน่วยความจำเสมือน
- พื้นที่แอดเดรสเดียว
- โหมดผู้ใช้
- มัลติทาสกิงแบบ preemptive
- system call
- ตัวโหลด ELF
- timer interrupt
ฟีเจอร์ที่วางแผนไว้:
- demand paging
- การสื่อสารระหว่างโปรเซส
- ดิสก์ I/O
- ระบบไฟล์
- อินพุตคีย์บอร์ด/เมาส์
- เชลล์
- GUI
- เครือข่าย
การบิลด์
หากต้องการบิลด์ Fusion ต้องติดตั้ง dependencies ต่อไปนี้:
- Nim
- LLVM (clang และ lld)
- Just
บิลด์ Fusion ด้วยคำสั่งต่อไปนี้:
just build
การรัน
ปัจจุบัน Fusion รันบน QEMU ดังนั้นต้องติดตั้ง QEMU ก่อน จากนั้นรัน Fusion ด้วยคำสั่งต่อไปนี้:
just run
ใบอนุญาต
MIT
สรุปโดย GN⁺
Fusion OS เป็นระบบปฏิบัติการงานอดิเรกสำหรับ x86-64 ที่พัฒนาด้วย Nim เหมาะสำหรับผู้ที่ต้องการเรียนรู้กระบวนการพัฒนาระบบปฏิบัติการ ปัจจุบันมีการพัฒนาฟีเจอร์พื้นฐานแล้ว เช่น บูตโหลดเดอร์ UEFI ตัวจัดการหน่วยความจำกายภาพและเสมือน และโหมดผู้ใช้ ในอนาคตมีแผนจะเพิ่มฟีเจอร์ต่าง ๆ เช่น demand paging การสื่อสารระหว่างโปรเซส และระบบไฟล์ สามารถทดสอบได้ง่ายผ่าน QEMU จึงเหมาะทั้งสำหรับการพัฒนาและการเรียนรู้ โปรเจ็กต์ที่คล้ายกันได้แก่ xv6 และ OSDev
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News