Minotauros
การแนะนำโครงการ
Minotauros เป็นระบบปฏิบัติการตามสถาปัตยกรรม RISC-V ที่เขียนขึ้นในภาษาสนิม เป้าหมายคือการใช้ระบบปฏิบัติการมัลติคอร์ที่เข้ากันได้ Linux ที่รองรับการกำหนดเวลากระบวนการระบบไฟล์เครือข่ายและฟังก์ชั่นอื่น ๆ
การก่อสร้างสิ่งแวดล้อม
- Rust: Nightly-2024-02-03
- Qemu: 7.0.0-9.0.0
- Toolchain RISC-V: RISCV64-unknown-Linux-GNU
- วางไฟล์ดิสก์
disk.img และ bootloader ไฟล์ rustsbi-qemu.bin ในไดเรกทอรี prebuilts
รวบรวมและเรียกใช้
- การเตรียมสิ่งแวดล้อม:
make env - รวบรวมไบนารีของผู้ใช้รัฐ:
make user - คอมไพล์เคอร์เนลรัฐไบนารี:
make kernel - รวบรวมทั้งหมด:
make all - เรียกใช้งาน Emulator:
cargo task run - เอกสารประกอบ:
typst compile docs/main.typ
สคีมาไดเรกทอรี
- เคอร์เนล/src: รหัสเคอร์เนล
- Arch: รหัสที่เกี่ยวข้องกับสถาปัตยกรรม
- Builtin: รวมโปรแกรมผู้ใช้
- DEBUG: DEBUG และ MODULE LOG
- ไดรเวอร์: ไดรเวอร์อุปกรณ์
- FS: ระบบไฟล์
- MM: การจัดการหน่วยความจำ
- NET: โมดูลเครือข่าย
- กระบวนการ: การจัดการกระบวนการ
- โปรเซสเซอร์: การจัดการหลายคอร์
- ตารางเวลา: การกำหนดเวลาและโมดูลนาฬิกา
- สัญญาณ: โมดูลการประมวลผลสัญญาณ
- การซิงค์: กลไกการล็อคและการซิงโครไนซ์
- Syscall: ฟังก์ชั่นการประมวลผลการโทร
- กับดัก: การขัดจังหวะและการจัดการข้อยกเว้น
- Main.rs: โปรแกรมหลัก
- ผู้ใช้: โปรแกรมผู้ใช้
- prebuilts: ไฟล์ที่รวบรวมไว้ล่วงหน้า
- งาน: รวบรวมงาน
- เอกสาร: เอกสารโครงการ