Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
so:pingpongos [2016/07/20 13:34] mazieroso:pingpongos [2024/02/14 15:18] (atual) maziero
Linha 1: Linha 1:
 +===== PingPongOS =====
 +
 +{{:so:ppos_apresentacao.mkv |Video explicativo}}
 +
 +Este projeto visa construir, de forma incremental, um pequeno sistema operacional didático. O sistema é construído inicialmente na forma de uma biblioteca de threads cooperativas dentro de um processo do sistema operacional real (Linux, MacOS ou outro Unix).
 +
 +O desenvolvimento é incremental, adicionando gradativamente funcionalidades como preempção, contabilização, semáforos, filas de mensagens e acesso a um disco virtual. Essa abordagem simplifica o desenvolvimento e depuração do núcleo, além de dispensar o uso de linguagem de máquina.
 +
 +A estrutura geral do código a ser desenvolvido é apresentada na figura abaixo. Os arquivos em azul são fixos (fornecidos pelo professor), enquanto os arquivos em verde devem ser desenvolvidos pelos alunos.
 +
 +{{ :so:ppos.png |PingPongOS source files structure}} 
 +
 +Os sub-projetos desenvolvidos são:
 +
 +  * [[Biblioteca de filas]] (warm-up)
 +  * [[Trocas de contexto]]
 +  * [[Gestão de tarefas]]
 +  * [[Dispatcher]]
 +  * [[Escalonador por prioridades]]
 +  * [[Preempção por tempo]]
 +  * [[Contabilização]]
 +  * <del>[[Tarefa main]]</del>
 +  * [[Tarefas suspensas]]
 +  * [[Tarefas dormindo]]
 +  * [[Semáforos]]
 +  * [[Uso de semáforos]]
 +  * [[Operador Barreira]]
 +  * [[Filas de mensagens]]
 +  * [[Gerente de disco]]
 +  * [[Escalonamento de disco]]
 +  * [[Sistema de arquivos]]
 +  * [[Alocação de memória]]
 +  * [[Gestão de terminal]]
 +  * [[Interface de rede]]
 +  * [[Execução em um hardware real]]