slos
SLOS mewakili OS cahaya sederhana. Repositori ini adalah untuk kode sumber SLO yang berjalan dalam prosesor ARM. Ini diuji di Cortex-A9 di chipset Xilinx Zynq7000 (saat ini diuji dalam papan CORAZ7) tetapi tampaknya diperluas ke produk lain.
Daftar Implementasi
- Manajemen proses
- TCB (Blok Kontrol Tugas)
- Task Fork - FORKYI ()
- GIC - Interrupt Handler (setengah bagian atas / bagian bawah)
- Sinkronisasi tugas (spin lock)
- status tugas - Tugas_running, Task_waiting
- Pekerjaan bingkai pengatur waktu
- Timer waktu nyata, pengatur waktu, timer oneshot
- penangan interupsi timer
- Penjadwal Realtime untuk tugas RT
- Tenggat waktu paling awal Penjadwal Pertama
- sakelar konteks preemptive
- Penjadwal CFS untuk tugas orang lain
- Jalankan Q dan tunggu Q
- Imitasi Linux Jalankan Penjadwal Q dan CFS
- Entitas jadwal dengan runtime virtual
- Tugas Shell, Tugas Pekerja, Tugas Idle CPU, dan Tugas Boneka
- Manajemen memori
- Kumpulan bingkai halaman
- Jalan Meja Halaman Kecil
- Manajer Memori Virtual
- penangan kesalahan halaman
- menuntut paging
- SLFS (Sistem File Lampu Sederhana)
- Berdasarkan Ramdisk
- 2 Level File System: Ukuran file hingga 800kb
- RAM Disk dan ELF Loader untuk menggunakan aplikasi
- Syscall melalui instruksi SVC - LIBSLOS.A
- Code-Software CodeSign
- Dua implementasi FPGA (ModCore, ODEV) untuk HW perifer khusus di Subsistem PL
- Implementasi Proyek Basis Vivado Script
- driver perangkat dengan penangan interupsi DMA
- driver perangkat untuk perangkat out-stream
- SMP (multiprosesor simetris)
- CPU 0 dan CPU 1 sepatu bot dan berjalan dengan kernel yang identik
- Penyimpanan Sumber Daya Percpu
- SGI (perangkat lunak yang dihasilkan interupsi) antara CPU 0 dan CPU 1
- Kotak surat untuk komunikasi antara CPU 0 dan CPU 1
Bangun Sistem:
- Cmake build, buat build keduanya berfungsi
- Kconfig
- Pohon perangkat yang ditautkan secara statis untuk driver perangkat
Rujuk buku kecil tentang pengembangan OS khusus dari Scratch.pdf untuk informasi lebih lanjut.
Catatan: Untuk paket Petalinux untuk Cora Z7, Petalinux V2023.2 digunakan dan diverifikasi