O BananaKernel é um sistema operacional didático, que foi criado visando facilitar o ensino da disciplina Sistemas Operacionais (SO), ao apresentar de forma clara conceitos indicados como fundamentais para o compreendimento do funcionamento de um SO.
Este sistema foi construído com base em um kit para desenvolvimento de Sistemas Operacionais chamado OSKit [Ford et al., 1997,The Flux Research Group, 2002]. O OSKit provê funcionalidades básicas para a criação de um SO, como sistema de boot e biblioteca C padrão, além de alguns módulos prontos (como gerenciador de arquivos e device drivers , por exemplo). Neste projeto foram agregados ao OSKit módulos que demonstram de maneira didática os conceitos escolhidos como fundamentais à disciplina de sistemas operacionais.
A figura BananaKernel e suas Interfaces mostra como o BananaKernel se relaciona com o hardware e com o OSKit . Foram utilizadas as abreviações MM para o gerenciador de memória, FS para o gerenciador de arquivos, Sched para o escalonador de processos e DD para os device drivers . A figura mostra, também, a existência de uma API disponibilizada pelo OSKit e pelo BananaKernel para o usuário.
Os conceitos escolhidos para serem demonstrados foram: gerenciamento de memória, sistema de arquivos e escalonador de processos. Além disso, foi implementado um mecanismo para informar erros.
Este manual de usuário está dividido em 4 partes para facilitar a leitura: