Software Básico - CI064 (2015-1)

pipeline Ementa: Linguagem de máquina. Técnicas de endereçamento. Representação digital de dados. Codificação simbólica e montadores. Definição e geração de macros. Segmentação e ligação de programas. Projetos ilustrativos da estrutura básica das máquinas e técnicas de programação.

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: CI056.
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, um trabalho e atividades em laboratório.
nota = P1*0,25 + P2*0,25 + T*0,3 + A*0.2
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 24jun.
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.

Avaliação da disciplina efetuada na última semana de aulas.

Programa: Aulas nas 2as,4as, as 13:30 na sala pf06.

data  fonte    assunto                                               (rev 1.1-22abr15)
--------------------------------------------------------------------------------------.  
23fev not01    laboratório - como computeiros trabalham no ambiente Unix, e algum contexto
25    ---      laboratório - como computeiros ganham tempo com Bash

02mar ---      laboratório - como computeiros gastam tempo   [o trabalho nesta aula vale 5% da nota]
04    ---      laboratório - como computeiros ganham mais tempo com Bash
09    ---      laboratório - compilação, compilação condicional, Makefiles
11    ---      laboratório - depuração com splint e DDD   [o trabalho nesta aula vale 5% da nota]
16    not02    representação: inteiros, caracteres, linguagem de montagem
18    cod2.1-4 assembly do MIPS, lógica e aritmética, acesso à memória
23    cod2.6   decisões e repetição, strings em C (código ASCII)
25    cod2.7   funções na linguagem C, funções no MIPS, convenções, recursão
30    ---      laboratório - programação em assembly

01abr not04    modelo de execução do processador segmentado
06    not05    compiladores, otimização de código
08    tudo     primeira prova, sobre todo o conteúdo até a véspera
13    not06    revisão da prova; sistema operacional: abstrações, processos
15    not06    SO: concorrência e sincronização
20    ---      recesso Tiradentes 
22    not06    SO: concorrência e sincronização, segunda tentativa
27    not07    SO: tratamento de E/S
29    not07    SO: interrupções no MIPS, COP0, relógio de tempo-real

04mai ---      laboratório - cMIPS
06    ---      laboratório - relógio de tempo-real   [o trabalho nesta aula vale 5% da nota]
11    hex7.3   interface serial, hardware     especificação do trabalho 
13    not08    interface serial, software
18    ---      laboratório - tratador de interrupção serial
20    not09    SO: memória virtual
25    not10    SO: paginação e memória virtual
27    not12    tab. de símbolos, main(), arquivos objeto, formato ELF

01jun not12    código independente de posição, archives, relocação, carga
03    not13    bibliotecas para ligação estática; relocação; carga
08    not13    bibliotecas para ligação dinâmica; relocação, carga
10    not11-12 laboratório - dissecação de uma biblioteca   [o trabalho nesta aula vale 5% da nota]
15    not07-13 reserva, exercícios
17    tudo     segunda prova, sobre todo o conteúdo até a véspera
22    ---      demonstração do trabalho              entrega do trabalho
24    ---      demonstração do trabalho               prova substitutiva

06jul ---      final
--------------------------------------------------------------------------------------

Listas de exercícios: SO e memória virtual, memória virtual, tabelas de símbolos e archives,
Provas de períodos anteriores: 2014-1, 2009-1, 2008-1, 2007-2.

Trabalho: especificação entrega: 22jun até as 13:30. compiling http://xkcd.com/303/

Bibliografia:

Material auxiliar e documentação:


Última revisão: 21fev2015
volta para: encargos |página