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.