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. O estudo montadores e de seus sistemas auxiliares, como
ligadores e carregadores, cobre os níveis que provêem as abstrações para a
execução de programas nos sistemas operacionais de uso geral.
Pré-requisito: CI055.
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.
A pior nota dentre P1 e P2 poderá ser substituída
pela nota de uma prova sobre toda a matéria no dia 04jun.
O material a ser visto nas aulas em laboratório é
uma parte importante do conteúdo desta disciplina; os exercícios
propostos devem ser tentados em aula para que o professor possa ajudar,
em caso de dúvidas.
Programa: Aulas nas 2as e 4as as 13:30, 2a,4a 13:30 na sala PC01.
data fonte assunto (rev 1.2-28abr14) --------------------------------------------------------------------------------------. 10fev --- laboratório - como computeiros trabalham no ambiente Unix 12 --- laboratório - Bash, ou como computeiros ganham tempo 17 --- laboratório - Bash, ou como computeiros ganham mais tempo 19 --- laboratório - depuração com splint e DDD 24 --- laboratório - compilação condicional e sed 26 codA representação: inteiros, PF, linguagem de montagem 10mar cod2.1-4 assembly do MIPS, lógica e aritmética, acesso à memória 12 cod2.6 decisões e repetição, strings em C (código ASCII) 17 cod2.7 funções na linguagem C, funções no MIPS, convenções, recursão 19 cod2.15 modelo de execução do processador segmentado, ponteiros, listas encadeadas 24 --- laboratório - programação em assembly 26 --- laboratório - programação em assembly 31 cod2 primeira prova 02abr so1 rev prova; sistema operacional: abstrações, processos 07 so1 SO: tratamento de E/S 09 codA SO: interrupções no MIPS, COP0, inter. do relógio de tempo-real [hex7.5] 14 --- laboratório - cMIPS 16 --- laboratório - relógio de tempo-real 23 hex7.3 interface serial, hardware 28 hex7.3 interface serial, software especificação do trabalho 30 hex7.3 laboratório - tratador de interrupção serial 05mai so9.4 SO: alocação de memória e segmentação 07 so9.5 SO: paginação e memória virtual 12 ll2,3 arquivos objeto, formato ELF, tab. de símbolos, main() 14 ll4,5 archives, relocação, carga 19 ll6 bibliotecas para ligação estática, relocação; carga 21 ll10.1-6 bibliotecas para ligação dinâmica; relocação, carga 26 ll2-10 reserva, exercícios 28 --- segunda prova 02jun --- demonstração do trabalho entrega do trabalho 04 --- demonstração do trabalho prova substitutiva 14jul --- final --------------------------------------------------------------------------------------
Listas de exercícios:
memória virtual,
tabelas de símbolos e archives,
Provas de períodos anteriores:
2009-1,
2008-1,
2007-2.
Trabalho:
especificação entrega:
02jun até as 13:30.
Bibliografia:
Material auxiliar e documentação: