Laboratório 6: bug, tutorial 5, projeto
No 6º laboratório, o plano é:
- Correção de um bug no código base (TecnicoFS v1)
- Apresentação da bateria de testes para os requisitos 1 e 2 do projeto
- Realização ou esclarecimento de dúvidas do Tutorial 5
- Esclarecimento de dúvidas relativas ao projeto
Bug
Correção de bug no código base do projeto
15 Dezembro 2021, 07:08 • João Pedro Faria Mendonça Barreto
Foi detetado um bug na versão que foi originalmente publicada do código base do projeto (TecnicoFS v1).
Mais precisamente, o bloco “if” das linhas 162-165 do operations.c deve ser removido:
if (file->of_offset + to_read >= BLOCK_SIZE) {...}
Todos os grupos de projeto devem corrigir este bug (removendo o bloco “if” indicado acima). Também publicámos uma v2 do código base (secção “Laboratórios > Projeto”) que já incorpora esta correção.
Outras modificações (opcionais):
Além do bug reportado acima, a v2 também incorpora duas outras modificações menores que não têm qualquer impacto na correção do programa e, por isso, são meramente opcionais:
O ciclo de “insert_delay” na linha 93 da função inode_create deve ser retificado para passar a ter um número de iterações mais realista. O original (v1) era
`if ((inumber * (int) sizeof(allocation_state_t)) == 0)` Este deve ser modificado para `if ((inumber * (int) sizeof(allocation_state_t) % BLOCK_SIZE) == 0)`
O comentário obsoleto nas linhas 159-160 do state.c deve ser removido.
O nosso muito obrigado aos alunos que nos ajudaram a detetar o bug atempadamente e, dessa forma, preveniram que o mesmo tivesse impacto nos trabalhos em curso.
Projeto
- Resolução: https://github.com/gonced8/projeto_so
Bateria de testes para os requisitos 1 e 2 do projeto
- Ficheiros: https://fenix.tecnico.ulisboa.pt/downloadFile/563568428828503/additional-tests-reqs1+2.zip
- Mover para a diretoris “tests”
- Adaptar o Makefile e correr
- Estes testes não são exaustivos
Tutorial 5
- Enunciado: https://fenix.tecnico.ulisboa.pt/downloadFile/845043405563653/SO-tutorial-5.pdf
- Ficheiros: https://fenix.tecnico.ulisboa.pt/downloadFile/845043405563652/thread.zip
Outros Links
- Página da cadeira: https://fenix.tecnico.ulisboa.pt/disciplinas/SO/2021-2022/1-semestre