]> wirehaze git hosting - ppos.git/blob - ppos/leia-me.txt

wirehaze git hosting

add ppos/
[ppos.git] / ppos / leia-me.txt
1 Ping-Pong Operating Systema - PPOS
2
3 Este diretório contém o código-fonte do Sistema Operacional Ping-Pong, ou PPOS, um projeto que visa construir um sistema operacional didático ("toy operating system").
4
5 Ao contrário de projetos similares, o PPOS executa inteiramente dentro de um processo do Linux. A maior vantagem em executar um SO dentro de um processo em modo usuário é a possibilidade de usar ferramentas padrão de depuração, como o Valgrind e o GDB no modo default, o que reduz a curva de aprendizado do aluno.
6
7 O PPOS tem uma estrutura típica de um RTOS (Real-Time Operating System), um sistema operacional com espaço de memória único, no qual o núcleo e as aplicações são compilados juntos, formando um único código binário.
8
9 As seguintes funcionalidades são suportadas pelo PPOS:
10
11 - tarefas com troca de contexto
12 - escalonador FCFS e por prioridades
13 - preempção por tempo (quantum)
14 - gestão do tempo e contabilização
15 - sincronização de tarefas
16 - semáforos genéricos
17 - filas de mensagens
18 - alocador de memória heap
19 - driver de disco
20 - escalonador de E/S
21
22 Estas funcionalidades estão sendo desenvolvidas:
23
24 - cache de blocos para o driver de disco
25 - sistema de arquivos (inodes, diretórios, nomes)
26
27 Estas funcionalidades NÃO SÃO suportadas pelo PPOS:
28
29 - memória virtual
30 - separação userspace/kernelspace
31 - chamadas de sistema usando traps
32
33 O desenvolvimento do PPOS está organizado em projetos incrementais, que visam implementar cada uma das funcionalidades do sistema. Geralmente, cada projeto depende de funcionalidades desenvolvidas em projetos anteriores. Os detalhes de cada projeto estão descritos com maior detalhe na página web do docente: http://wiki.inf.ufpr.br/maziero.
34
35 Este diretório tem a seguinte estrutura:
36
37 hardware/: hardware virtual (emuladores)
38 lib/ : bibliotecas de apoio
39 kernel/ : código-fonte do PPOS, a ser desenvolvido pelo aluno
40 test/ : programas de teste dos projetos
41 makefile : para compilar o sistema
42
43 Alguns arquivos (sobretudo os headers, os arquivos no diretório hardware, a mini-biblioteca C e os makefiles) estão prontos e não devem ser alterados (essa restrição está claramente indicada no início de cada arquivo). Esses arquivos serão sobrescritos pelos originais durante a avaliação de cada projeto.
44
45 Os demais arquivos devem ser escritos pelo aluno, para implementar as funcionalidades solicitadas em cada projeto.
46
47 Prof. Carlos Maziero, DINF/UFPR
48 Julho de 2025