====== IF66D Cronograma 2014/2 ====== * As atividades indicadas com :!: serão avaliadas; * Os arquivos deverão ser entregues através do [[http://moodle.dainf.ct.utfpr.edu.br|Moodle]], nas datas indicadas (até às 23:55); entregas atrasadas são feitas por e-mail; * Leia com atenção as [[teaching:Regras das Atividades de Laboratório]]. === Aula 1: 26/9 === * Apresentação da disciplina * Objetivos e tipos de SOs; Funcionalidades e Estrutura dos SOs * [[unix:O ambiente de trabalho]] * [[unix:Comandos básicos]] * [[unix:Permissões em arquivos]] === Aula 2: 3/10 === * Revisão de conceitos de hardware * Arquiteturas de SOs * [[unix:Desenvolvimento em Linux]] * P0: [[Biblioteca de filas]] :!: (prazo: aula 4) === Aula 3: 10/10 === * Gerência de tarefas; contextos, processos e threads * Exemplos: [[Criação de processos]], [[Criação de threads]] * P1: [[Trocas de contexto]] * P2: [[Biblioteca de tarefas]] :!: (prazo: aula 5) === Aula 4: 17/10 === * Escalonamento de tarefas * P3: [[Dispatcher]] * P4: [[Escalonador por prioridades]] :!: (prazo: aula 6) * [[unix:Gestão de processos]] === Aula 5: 24/10 === * Comunicação entre processos * Exemplos: {{:so:mqueue-recv.c|}}, {{:so:mqueue-send.c|}}, {{:so:shared-mem.c|}} * Acompanhamento de projetos === Aula 6: 31/10 === * Coordenação entre processos * [[exclusão mútua]] * P5: [[Preempção por tempo]] * P6: [[Contabilização]] :!: (prazo: aula 8) === Aula 7: 7/11 === * Semana de Informática (atividades extraclasse) === Aula 8: 14/11 === * Problemas clássicos de coordenação; impasses * Exemplo do [[http://www.doc.ic.ac.uk/~jnm/concurrency/classes/Diners/Diners.html|Jantar dos Filósofos]] * Acompanhamento de projetos === Aula 9: 21/11 === * **Prova 1** (introdução, gerência de tarefas, comunicação, sincronização) * P7: [[Tarefa main]] * P8: [[Operador Join]] * P9: [[Sleeping]] :!: (prazo: 21/12) * P10: [[Semáforos]] :!: (prazo: 1/3) === Aula 10: 28/11 === * Revisão da prova * **Defesa dos projetos do bimestre** (P0 a P6) * Estruturas de memória * Localização de variáveis e constantes: {{:so:variaveis.c|}} * Acompanhamento de projetos === Aula 11: 5/12 === * [[unix:Shell básico]] * [[unix:Shell avançado]] * [[unix:Shell scripts]] === Aula 12: 12/12 === * Segmentação e Paginação; Localidade de referências; Fragmentação; Compartilhamento * Exemplos de localidade de referência: {{so:tlb-lin.c}}, {{so:tlb-col.c}} * Acompanhamento de projetos === Aula 13: 19/12 === * Memória Virtual; Substituição de páginas; //Thrashing// * Exemplo de //thrashing//: {{so:thrash.c}} * Acompanhamento de projetos === Recesso: de 23/12/14 a 31/1/15 === === Aula 14: 6/2 === * Conceitos de arquivos * P11: [[Uso de semáforos]] * P12: [[Filas de mensagens]] :!: (prazo: 1/3) === Aula 15: 13/2 === * Sistemas de arquivos * Acompanhamento de projetos === Aula 16: 20/2 === * Sistemas de entrada/saída * P13: [[Gerente de disco]] :!: (projeto bônus, prazo: aula 18 - 1 dia) === Aula 17: 27/2 === * **Prova 2** (gerência de memória, arquivos, entrada/saída) * Acompanhamento de projetos === Aula 18: 6/3 === * Revisão da prova * **Defesa dos projetos do bimestre** (P9 a P13)