MC504/MC514 - Sistemas Operacionais
Adicionando funcionalidades ao Kernel Linux
Objetivos
Neste projeto, você deverá adicionar uma nova funcionalidade (de
brinquedo) ao Kernel Linux. Não precisa ser algo útil, pode ser uma
funcionalidade simples e divertida. Seja criativo!
Opção 1: Implementação de um pseudo-device driver
Você deve ser basear no material sobre device drivers visto em aula.
- Seu driver deverá implementar uma funcionalidade de
brinquedo (por exemplo, armazenar dados criptografados) e ter alguns
parâmetros controlados por ioctl.
- Você deverá também escrever uma
aplicação que teste o seu driver.
- Material a ser entregue: o código do driver e da
aplicação, acompanhado de um texto explicativo tipo README.
Opção 2: Implementação de um novo sistema de arquivos
Você deve ser basear no material sobre virtual
file system visto em aula.
- Funcionalidades básicas: operações de
leitura e escrita. Estas operações podem ter outro significado (por
exemplo, ao escrever em um "arquivo" que é o pid de um processo, um sinal
é enviado para este processo).
- Não é necessário gravar arquivos em disco.
- Não é necessário trabalhar com diretórios.
- Material a ser entregue: diretório a ser incluído
em linux-3.X.Y/fs, acompanhado de uma explicação sucinta do seu
funcionamento em um arquivo tipo README.
- Você também pode se basear no islenefs que
foi desenvolvido por Glauber de Oliveira Costa em 2008 e tem uma
versão modificada para rodar com o kernel 3.10.x:
islenefs-3.10.x.c. Uma implementação com diretórios desenvolvida por Gustavo Padovan, Otávio Pontes e Gustavo Scalet, modificada para rodar com o kernel 3.10.x está em gogislenefs .
Entrega
- Data final para entrega via Moodle: 22 de dezembro
- Apresentação no laboratório: 15, 17 ou 22 de
dezembro. Pelo menos um membro de cada grupo deve apresentar o projeto
(laboratório 303).