SLOS
O SLOS representa um sistema operacional leve simples. Este repositório é para o código -fonte do SLOS em execução no processador ARM. Ele é testado no Cortex-A9 no chipset Xilinx Zynq7000 (atualmente testado na placa Coraz7), mas parece ser expandido para outros produtos.
Lista de implementação
- Gerenciamento de processos
- TCB (bloco de controle de tarefas)
- Fork de tarefas - Forkyi ()
- GIC - Manipulador de interrupção (metade superior / parte inferior)
- Sincronização de tarefas (bloqueio de spin)
- Estado da tarefa - Task_running, Task_waiting
- Trabalho do quadro do timer
- Timer em tempo real, cronômetro, cronômetro OneShot
- Manipulador de interrupção do timer
- Agendador em tempo real para tarefa de RT
- Primeiro prazo para o primeiro agendador
- Switch de contexto preventivo
- CFS Scheduler for Task Outros
- Execute Q e espere q
- Imite Linux Run Q e CFS Scheduler
- entidade agendada com tempo de execução virtual
- Tarefa da concha, tarefa do trabalhador, tarefa ociosa da CPU e tarefa fictícia
- Gerenciamento de memória
- Ponto de quadros de página Pool
- pequena página de página caminhada
- Gerenciador de memória virtual
- manipulador de falhas de página
- demanda paginação
- SLFS (sistema de arquivo leve simples)
- Baseado em Ramdisk
- Sistema de arquivo de 2 níveis: tamanho do arquivo até 800kb
- Disco Ram e Loader ELF para Aplicativos de Uso
- Syscalls através da instrução SVC - Libslos.A
- Código de software de hardware
- Duas implementações FPGA (MODCORE, ODEV) para um HW periférico personalizado no subsistema PL
- Implementação do projeto Vivado base de scripts
- um driver de dispositivo com manipulador de interrupção DMA
- um driver de dispositivo para dispositivo externo
- SMP (multiprocessador simétrico)
- CPU 0 e CPU 1 botas em funcionamento com o kernel idêntico
- Armazenamento de recursos Percpu
- SGI (Software gerou interrupção) entre a CPU 0 e a CPU 1
- Caixa de correio para comunicação entre a CPU 0 e a CPU 1
Sistema de construção:
- Cmake Build, Faça a construção de ambos estão funcionando
- Kconfig
- Árvore de dispositivo estaticamente vinculada para driver de dispositivo
Consulte um pequeno livro sobre o desenvolvimento do sistema operacional personalizado do scratch.pdf para obter mais informações.
Notas: Para Petalinux-Package para Cora Z7, Petalinux V2023.2 é usado e verificado