Ludos
Ludos เป็นเคอร์เนลเหมือนงานอดิเรก Linux ที่เขียนขึ้นเพื่อความสนุกสนานใน C ++
คุณสมบัติ
- ปัจจุบันรองรับสถาปัตยกรรม X86 32 บิต
- ระบบไฟล์เสมือนจริงที่ขยายได้พร้อมความสามารถในการเปิดเผยอินเตอร์เฟสการเรียกใช้ฟังก์ชันบนโหนดเพื่อให้อินเทอร์เฟซที่สะอาดกว่า IOCTL
- การรองรับแป้นพิมพ์และเมาส์ PS/2
- มัลติทาสกิ้ง
- รองรับความละเอียดสูงถึง 1920x1080 โดยใช้ vbe framebuffer
- ใช้ MTRRS เพื่อให้ประสิทธิภาพที่ดีขึ้นกับ FrameBuffer
- สนับสนุน SATA Drives ผ่าน AHCI และ ATA
- ext2 ไฟล์ระบบและไฟล์ tar ที่ติดตั้งบน VFS
- เทอร์มินัลและเชลล์กราฟิกแบบกราฟิกแบบส่องสว่าง
เป้าหมาย
- รองรับสถาปัตยกรรมและแขน 64 บิต x86
- ไดรเวอร์ TCP/IP
- ตัวจัดการหน้าต่างกราฟิกเต็มรูปแบบ
- การสนับสนุนแบบไดนามิก linker
- โปรแกรมการพอร์ตเช่น GCC, NASM หรือ Freedoom ถึง Ludos
การพึ่งพาอาศัยกัน
QEMU จำเป็นต้องใช้เคอร์เนลโดยใช้ tools/run.sh บน Ubuntu และอนุพันธ์: sudo apt-get install qemu-system
วิธีการสร้าง:
ไบนารีในตัวนั้นรวมอยู่ในไดเรกทอรี Build/Bin แล้ว แต่ถ้าคุณต้องการสร้างที่เก็บของตัวเองดังนี้:
- ก่อนอื่นสร้าง cross-compiler ของคุณเองตามคำแนะนำเหล่านี้: https://wiki.osdev.org/gcc_cross-compiler
- สร้างโครงการโดยเรียกใช้
CXX=<cross-g++-path> CC=<cross-gcc-path> cmake CMakeLists.txt แล้ว make
วิธีเรียกใช้:
เรียกใช้ Script tools/run.sh ซึ่งจะเรียกใช้ QEMU บนไฟล์ไบนารีเคอร์เนล
ภาพหน้าจอ: