====== CI215 - Cronograma 2017/2 ====== * As atividades indicadas com :!: serão avaliadas. * Os projetos devem ser entregues em até **2 semanas** a partir da data da aula, usando o [[http://moodle.c3sl.ufpr.br|Moodle do DInf]]. * Leia com atenção as [[teaching:Regras das Atividades de Laboratório]]. /* Material a escalonar: [[unix:O ambiente de trabalho]] [[unix:Comandos básicos]] [[unix:Permissões em arquivos]] [[unix:Desenvolvimento em Linux]] [[unix:Shell básico]] [[unix:Shell avançado]] [[unix:Shell scripts]] */ === 01/8: Aula 1 === * Apresentação da disciplina * Objetivos e tipos de SOs; Funcionalidades e Estrutura dos SOs === 03/8: Aula 2 === * Revisão de conceitos de hardware === 08/8: Aula 3 === * Arquiteturas de SOs * [[http://www.minix3.org/docs/login-2007.pdf|Artigo sobre o Minix 3 (microkernel)]] * [[http://queue.acm.org/detail.cfm?id=2566628|Unikernels]] === 10/8: Aula 4 === * Visão geral do [[PingPongOS]] * P0: [[Biblioteca de filas]] :!: === 15/8: sem aula === === 17/8: Aula 5 === * Gerência de tarefas; contextos * P1: [[Trocas de contexto]] === 22/8: Aula 6 === * Processos * Exemplos: [[Criação de processos]] * [[unix:Gestão de processos]] * P2: [[Gestão de tarefas]] :!: === 24/8: Aula 7 === * Threads * Exemplos: [[Criação de threads]] === 29/8: Aula 8 === * Escalonamento de tarefas === 31/8: Aula 9 === * Escalonamento de tarefas * P3: [[Dispatcher]] * P4: [[Escalonador por prioridades]] :!: === 5/9: Aula 10 === * Comunicação entre tarefas * Exemplos: {{:so:mqueue-recv.c|}}, {{:so:mqueue-send.c|}}, {{:so:shared-mem.c|}} === 7/9: sem aula (feriado) === === 12/9: Aula 11 === * P5: [[Preempção por tempo]] * P6: [[Contabilização]] :!: === 14/9: Aula 12 === * Coordenação entre processos * O problema da [[exclusão mútua]] === 19/9: Aula 13 === * Semáforos e mutexes === 21/9: Aula 14 === * P7: [[Tarefa main]] * P8: [[Operador Join]] :!: === 26/9: Aula 15 === * Problemas clássicos de coordenação * Exercícios sobre concorrência do [[http://greenteapress.com/wp/semaphores|Pequeno Livro de Semáforos]] === 28/9: Aula 16 === * Impasses === 3/10: sem aula (SIEPE) === === 5/10: Aula 17 === * **Prova 1** :!: (introdução, gerência de tarefas, comunicação, sincronização) === 10/10: Aula 18 === * Estruturas de memória * Localização de variáveis e constantes: {{:so:variaveis.c|}} * P9: [[Sleeping]] :!: === 12/10: sem aula (feriado) === === 17/10: Aula 19 === * Segmentação e Paginação === 19/10: Aula 20 === * Fragmentação * Compartilhamento * P10: [[Semáforos]] :!: * P11: [[Uso de semáforos]] === 24 e 26/10: sem aula (Semana Acadêmica) === === 31/10: Aula 21 === * Localidade de referências * Exemplos de localidade de referência: {{so:tlb-lin.c}}, {{so:tlb-col.c}} * P12: [[Filas de mensagens]] :!: === 02/11: sem aula (feriado) === === 07/11: Aula 22 === * Memória Virtual * Substituição de páginas; //Thrashing// * Exemplo de //thrashing//: {{so:thrash.c}} === 09/11: Aula 23 === * Gerência de arquivos 1 === 14/11: Aula 24 === * P13: [[Gerente de disco]] :!: === 16/11: Aula 25 === * Gerência de arquivos 2 === 21/11: Aula 26 === * Gerência de arquivos 3 === 23/11: Aula 27 === * Sistemas de entrada/saída === 28/11: Aula 28 === * Sistemas de entrada/saída === 30/11: Aula 29 === * Conceitos de virtualização === 5/12: Aula 30 === * **Prova 2** :!: (gerência de memória, arquivos, entrada/saída) === 12/12 === * Exame final (conteúdo das provas 1 e 2)