SLOs
SLOs repräsentieren ein einfaches Lichtbetrieb. Dieses Repository gilt für den Quellcode von SLOs, der in ARM -Prozessor ausgeführt wird. Es wird in Cortex-A9 in Xilinx Zynq7000 Chipsatz (derzeit in CORAZ7-Board getestet) getestet, scheint jedoch auf andere Produkte erweitert zu werden.
Implementierungsliste
- Prozessmanagement
- TCB (Aufgabenkontrollblock)
- Task Fork - Forkyi ()
- GIC - Interrupt -Handler (obere Hälfte / untere Hälfte)
- Aufgabensynchronisation (Spin -Lock)
- Task Status - Task_running, Task_waiting
- Timerrahmenarbeit
- Echtzeit -Timer, Zeitplan, OneShot -Timer
- Timer Interrupt -Handler
- Echtzeitplaner für RT -Aufgabe
- Früheste Frist Erst Scheduler
- präventiver Kontextschalter
- CFS -Scheduler für Aufgaben andere
- Führen Sie Q und warten Sie Q.
- Imitieren Sie Linux Run Q und CFS -Scheduler
- Zeitplan mit virtueller Laufzeit
- Shell -Aufgabe, Worker -Task, CPU -Leerlaufaufgabe und Dummy -Aufgabe
- Speicherverwaltung
- Seitenrahmenpool
- kleiner Seitenstischspaziergang
- Virtual Memory Manager
- Seitenfehlerhandler
- Paging fordern
- SLFS (Simple Light -Dateisystem)
- Basierend auf Ramdisk
- 2 Level -Dateisystem: Dateigröße bis zu 800 KB
- RAM -Scheibe und Elf Loader für Anwendungen
- SYSCALLEN DER SVC -Anweisungen - libslos.a
- Hardware-Software-Codessign
- Zwei FPGA -Implementierungen (Modcore, ODEV) für ein benutzerdefiniertes peripheres HW im PL -Subsystem
- Skriptbasis Vivado -Projektimplementierung
- Ein Gerätetreiber mit DMA Interrupt -Handler
- Ein Gerätetreiber für Out-Stream-Geräte
- SMP (symmetrischer Multiprozessor)
- CPU 0 und CPU 1 stoßen mit dem identischen Kernel auf und laufen
- Percpu -Ressourcenspeicher
- SGI (Software generiert Interrupt) zwischen CPU 0 und CPU 1
- Mailbox für die Kommunikation zwischen CPU 0 und CPU 1
Bausystem:
- Cmake build, bauen bauen lassen beide funktionieren
- Kconfig
- Statisch verknüpfter Gerätebaum für den Gerätetreiber
Weitere Informationen finden Sie in einem kleinen Buch über benutzerdefinierte Betriebssystementwicklungen von Grund auf.
Anmerkungen: In Petalinux-Package für Cora Z7 wird Petalinux v2023.2 verwendet und verifiziert