Objetivo: Fornecer ao aluno conhecimentos sobre sistemas de suporte à execução de programas. Isso se dá através do estudo, projeto e programação de programas controladores de dispositivos, sistemas de interrupções, e sistemas operacionais para microprocessadores e sistemas embarcados. Além disso, é necessário o estudo montadores e de seus sistemas auxiliares, como ligadores e carregadores.
Pré-requisito: CI063 (e CI067 a partir de 2008-2); O conteúdo desta disciplina pressupõe a capacidade de programar em C (ci067) e conhecimento básico sobre estruturas de dados (ci056).
Avaliação: duas provas e um trabalho.
nota = P1*0,35 + P2*0,35 + T*0,3
Não há segunda chamada, exceto nos casos previstos na Resolução 37-97.
Programa: Aulas nas 2as e 5as as 15:30, 2a,5a 1530 PC17.
data livro assunto - veja a bibliografia (rev 1.5-12jun) --------------------------------------------------------------------------- 03mar COD 2.1-4 programação em assembly do MIPS - lógica e aritmética 06 COD 2.1-4 instruções de acesso à memória exercícios 13 COD 2.6 decisões e controle de fluxo, comandos de repetição 17 COD 2.7 suporte a funções no MIPS aula 5 20 COD 2.7 suporte a funções (cont), recursão, exemplos 24 COD 2.15 vetores e ponteiros aula 7 27 mipsabi 3.30 interface sistema-main() aula 8 31 COD 2.8-12 introd aos compiladores aula 10 CD2.12.pdf 03abr HP_AppA.pdf linguagem de montagem e montadores aula 11 07 SB 9 alocação de dados em BSS e heap aula 12 10 SB 10 processos, chamadas de sistema aula 13 14 SO 9.1-3 alocação de memória aula 14 17 SO 9.4 paginação e memória virtual 24 SO 9.5 segmentação aula 16 28 COD,SB,SO primeira prova 05mai LL 2 corr prova, da compilação à carga aula 17 08 LL 3.1-11 arquivos objeto, formato ELF aula 18 15 LL 4,5 alocação de memória, gerenciamento de símbolos aula 19 19 LL 6 bibliotecas aula 20 strlib.tgz 26 LL 7 relocação aula 21 29 LL 8 carga e superposição aula 22 02jun LL 9 bibliotecas compartilhadas aula 23 05 LL 10.1-6 ligação dinâmica e carga aula 24 09 LL 10.7-10 ligação dinâmica, desempenho 16 LL 11 técnicas avançadas aula 26 19 --- segunda prova 03jul --- final
Listas de exercícios:
programação em assembly,
alocação de memória,
memória virtual,
ligação estática.
Provas de períodos anteriores:
2008-1,
2007-2.
Trabalho:
especificação entrega: 09jun
Bibliografia:
Material auxiliar e documentação: