====== IF66D Cronograma 2015/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 devem ser feitas por e-mail; * Leia com atenção as [[teaching:Regras das Atividades de Laboratório]]. === Aula 1: 20/3 === * 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: 27/3 === * Revisão de conceitos de hardware * Arquiteturas de SOs * [[unix:Desenvolvimento em Linux]] * Visão geral do [[PingPongOS]] * P0: [[Biblioteca de filas]] :!: (prazo: aula 4) === Aula 3: 10/4 === * Gerência de tarefas; contextos, processos e threads * Exemplos: [[Criação de processos]], [[Criação de threads]] * P1: [[Trocas de contexto]] * P2: [[Gestão de tarefas]] :!: (prazo: aula 5) === Aula 4: 17/4 === * Escalonamento de tarefas * P3: [[Dispatcher]] * P4: [[Escalonador por prioridades]] :!: (prazo: aula 6) * [[unix:Gestão de processos]] === Aula 5: 24/4 === * Comunicação entre processos * Exemplos: {{:so:mqueue-recv.c|}}, {{:so:mqueue-send.c|}}, {{:so:shared-mem.c|}} * Acompanhamento de projetos === Aula 6: 8/5 === * Coordenação entre processos * [[exclusão mútua]] * P5: [[Preempção por tempo]] * P6: [[Contabilização]] :!: (prazo: aula 8) === Aula 7: 15/5 === * 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]] * P7: [[Tarefa main]] * P8: [[Operador Join]] * P9: [[Sleeping]] :!: (prazo: aula 11) * Acompanhamento de projetos === Aula 8: 22/5 === * P10: [[Semáforos]] :!: (prazo: aula 13) * Acompanhamento de projetos * **Prova 1** (introdução, gerência de tarefas, comunicação, sincronização) === Aula 9: 29/5 === * Revisão da prova * Estruturas de memória * Localização de variáveis e constantes: {{:so:variaveis.c|}} * Acompanhamento de projetos === Aula 10: 12/6 === * 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}} * [[unix:Shell básico]] * Acompanhamento de projetos === Aula 11: 19/6 === * Memória Virtual; Substituição de páginas; //Thrashing// * Exemplo de //thrashing//: {{so:thrash.c}} * P11: [[Uso de semáforos]] * P12: [[Filas de mensagens]] :!: (prazo: 19/7) === Aula 12: 26/6 === * Conceitos de arquivos * [[unix:Shell avançado]] * Acompanhamento de projetos === Aula 13: 3/7 === * Sistemas de arquivos * [[unix:Shell scripts]] * Acompanhamento de projetos === Aula 14: 10/7 === * Sistemas de entrada/saída * P13: [[Gerente de disco]] :!: (projeto bônus, prazo: 19/7) === Aula 15: 17/7 === * **Prova 2** (gerência de memória, arquivos, entrada/saída) ((Por conta do calendário "curto", não haverá revisão da prova em sala de aula; os alunos interessados poderão consultar suas provas e o gabarito na sala do professor até o dia 23/7.)) * Acompanhamento de projetos