สลอส
SLOS แสดงถึงระบบปฏิบัติการแสงที่เรียบง่าย ที่เก็บนี้ใช้สำหรับซอร์สโค้ดของ SLO ที่ทำงานใน ARM Processor มันถูกทดสอบใน Cortex-A9 ในชิปเซ็ต Xilinx Zynq7000 (ปัจจุบันทดสอบในบอร์ด Coraz7) แต่ดูเหมือนว่าจะขยายไปยังผลิตภัณฑ์อื่น ๆ
รายการการนำไปใช้งาน
- การจัดการกระบวนการ
- TCB (บล็อกควบคุมงาน)
- Task Fork - Forkyi ()
- GIC - Handler ขัดจังหวะ (ครึ่งบน / ครึ่งล่าง)
- การซิงโครไนซ์งาน (สปินล็อค)
- สถานะงาน - task_running, task_waiting
- เฟรมตัวจับเวลาทำงาน
- ตัวจับเวลาเรียลไทม์, ตัวจับเวลา, ตัวจับเวลา oneshot ตัวจับเวลา
- ตัวจับเวลาอินเตอร์รัปต์ตัวจับเวลา
- ตัวกำหนดตารางเวลาเรียลไทม์สำหรับงาน RT
- กำหนดเวลาแรกกำหนดเวลาแรก
- สวิตช์บริบทที่ยึดไว้ล่วงหน้า
- CFS Scheduler สำหรับงานอื่น ๆ
- เรียกใช้ Q และรอ Q
- เลียนแบบ Linux Run Q และ CFS Scheduler
- กำหนดเวลากับรันไทม์เสมือนจริง
- งานเชลล์งานคนงานงาน CPU ไม่ได้ใช้งานและงานจำลอง
- การจัดการหน่วยความจำ
- พูลเฟรมเพจ
- ตารางหน้าเล็กเดิน
- ตัวจัดการหน่วยความจำเสมือนจริง
- หน้าจัดการความผิดพลาด
- อุปสงค์เพจ
- SLFS (ระบบไฟล์ไฟง่าย)
- ขึ้นอยู่กับ ramdisk
- 2 ระดับไฟล์ระดับ: ขนาดไฟล์สูงสุด 800KB
- Ram Disk และ Elf Loader สำหรับใช้งานแอปพลิเคชัน
- syscalls ผ่านคำสั่ง SVC - libslos.a
- รหัสซอฟต์แวร์ฮาร์ดแวร์
- การใช้งาน FPGA (Modcore, ODEV) สองรายการสำหรับ HW อุปกรณ์ต่อพ่วงแบบกำหนดเองในระบบย่อย PL
- การใช้งานโครงการ Script Base Vivado
- ไดรเวอร์อุปกรณ์ที่มีตัวจัดการอินเตอร์รัปต์ DMA
- ไดรเวอร์อุปกรณ์สำหรับอุปกรณ์นอกสตรีม
- SMP (มัลติโปรเซสเซอร์แบบสมมาตร)
- CPU 0 และ CPU 1 บูทขึ้นและทำงานกับเคอร์เนลที่เหมือนกัน
- ที่เก็บทรัพยากร Percpu
- SGI (ซอฟต์แวร์สร้างขัดจังหวะ) ระหว่าง CPU 0 และ CPU 1
- กล่องจดหมายสำหรับการสื่อสารระหว่าง CPU 0 และ CPU 1
ระบบสร้าง:
- cmake build สร้างทั้งสองอย่างทำงานได้
- kconfig
- แผนผังอุปกรณ์ที่เชื่อมโยงแบบคงที่สำหรับไดรเวอร์อุปกรณ์
อ้างอิงหนังสือเล่มเล็ก ๆ เกี่ยวกับการพัฒนาระบบปฏิบัติการที่กำหนดเองตั้งแต่ Scratch.pdf สำหรับข้อมูลเพิ่มเติม
หมายเหตุ: ไปยัง Petalinux-Package สำหรับ Cora Z7, Petalinux V2023.2 ถูกใช้และตรวจสอบแล้ว