next up previous contents index
Next: Sugestões de exercícios Up: Conceitos Previous: bnnk_perror

Alterando Partes do Sistema


 
Figura: Árvore de Diretórios 
\begin{figure}

\includegraphics [height=0.76\textwidth]{dirtree.eps}
\end{figure}

Os códigos-fonte do sistema estão dispostos separadamente, cada módulo agrupado em arquivos distintos, o que permite uma fácil navegação e uma alteração independente de cada módulo, como mostra a figura =C1rvore de Diret=F3rios. Por exemplo, todas as funções referentes ao gerenciador de memória estão localizadas nos arquivos que começam com mm (e.g. mm.c e mm.h).

Estes arquivos estão, por sua vez, divididos em relação à implementação. A árvore de diretórios dos códigos-fonte está dividida como mostra a tabela Listagem de Diret=F3rios.

Cada função pode ser livremente alterada, desde que seja mantido o seu protótipo, ou seja, se uma função recebe int e retorna void *, a função alterada terá que ter o mesmo comportamento. Essa exigência existe para que as demais funções, que dependem da função alterada, não percam a compatibilidade com o sistema.

É importante observar que, por se tratar de um projeto de desenvolvimento de um sistema operacional, não é desejável o uso de interfaces ou scripts que escondam os arquivos. O aluno tem de ser exposto ao processo típico de desenvolvimento, i.e. modificar os códigos-fonte, recompilar, testar, etc.


 
Tabela: Listagem de Diretórios 
Diretório Descrição
erros contém os arquivos responsáveis pelos códigos de erro
intermediaria contém os arquivos que compoem a versão intermediária de implementação
simples contém os arquivos que copoem a versão simples de implementação
teste contém os arquivos utilizados para testar o sistema, e que servem como exemplos




 
next up previous contents index
Next: Sugestões de exercícios Up: Conceitos Previous: bnnk_perror
rafael@safecore.net