====== IF66D Cronograma 2014/1 ====== * 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: 11/4 === * Apresentação da disciplina * Objetivos e tipos de SOs; Funcionalidades e Estrutura dos SOs * [[unix:O ambiente UNIX]] * [[unix:Comandos básicos]] === Aula 2: 25/4 === * Revisão de conceitos de hardware * Arquiteturas de SOs * [[unix:Desenvolvimento em Linux]] * P0: [[Biblioteca de filas]] :!: (prazo: aula 4) === Aula 3: 9/5 === * 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: 16/5 === * Escalonamento de tarefas * P3: [[Dispatcher]] * P4: [[Escalonador por prioridades]] :!: (prazo: aula 6) === Aula 5: 23/5 === * Comunicação entre processos * Exemplos: {{:so:mqueue-recv.c|}}, {{:so:mqueue-send.c|}}, {{:so:shared-mem.c|}} * [[unix:Permissões em arquivos]] * [[unix:Gestão de processos]] * Acompanhamento de projetos === Aula 6: 30/5 === * Coordenação entre processos * [[exclusão mútua]] * P5: [[Preempção por tempo]] * P6: [[Contabilização]] :!: (prazo: aula 9) === Aula 7: 6/6 === * 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]]) * [[unix:Shell básico]] * Acompanhamento de projetos === Recesso: de 12/6 a 12/7 === === Aula 8: 18/7 === /* Conteúdo anterior; mudou para não colocar prova no 1° dia de aula após o intervalo * **Prova 1** (introdução, gerência de tarefas, comunicação, sincronização) * P7: [[Tarefa main]] * P8: [[Operador Join]] * P9: [[Sleeping]] :!: (prazo: aula 10) * Acompanhamento de projetos */ * Estruturas de memória * Localização de variáveis e constantes: {{:so:variaveis.c|}} * P7: [[Tarefa main]] * P8: [[Operador Join]] * P9: [[Sleeping]] :!: (prazo: aula 11) * Acompanhamento de projetos === Aula 9: 25/7 === /* Conteúdo anterior; mudou para não colocar prova no 1° dia de aula após o intervalo * Revisão da prova * Estruturas de memória * Localização de variáveis e constantes: {{:so:variaveis.c|}} * **Defesa dos projetos do bimestre** (P0 a P6) */ * **Prova 1** (introdução, gerência de tarefas, comunicação, sincronização) * 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}} === Aula 10: 1/8 === * Revisão da prova /* devido à mudança de data da prova */ * **Defesa dos projetos do bimestre** (P0 a P6) * P10: [[Semáforos]] :!: (prazo: aula 12) * [[unix:Shell avançado]] * Acompanhamento de projetos === Aula 11: 8/8 === * Memória Virtual; Substituição de páginas; //Thrashing// * Exemplo de //thrashing//: {{so:thrash.c}} * Acompanhamento de projetos === Aula 12: 15/8 === * Conceitos de arquivos * P11: [[Uso de semáforos]] * P12: [[Filas de mensagens]] :!: (prazo: aula 14) === Aula 13: 22/8 === * Sistemas de arquivos * [[unix:Shell scripts]] * Acompanhamento de projetos === Aula 14: 29/8 === * Sistemas de entrada/saída * P13: [[Gerente de disco]] :!: (projeto bônus, prazo: aula 16) === Aula 15: 5/9 === * **Prova 2** (gerência de memória, arquivos, entrada/saída) * Acompanhamento de projetos === Aula 16: 12/9 === * Revisão da prova * **Defesa dos projetos do bimestre** (P9 a P13)