====== CI-1215 - Cronograma 2020 ERE1 ====== * As atividades indicadas com :!: serão avaliadas (valem nota). * Os projetos **podem ser feitos em duplas**. * Entrega até o final da semana seguinte à semana de anúncio, usando o [[http://moodle.c3sl.ufpr.br|Moodle]]. * Leia com atenção as [[teaching:Regras das Atividades de Laboratório]]. Informações de acesso: * [[https://bbb.c3sl.ufpr.br/b/car-chu-evg|Sala de aula online]] (BBB do DINF/UFPR) ---- === Semana 1: 27/7 a 31/7 === Encontros: * 28/7 17:30 - Apresentação da disciplina * 30/7 17:30 - Encontro semanal Conteúdo teórico: * Cap 01 - Conceitos básicos * Cap 02 - Estrutura de um SO * Cap 03 - Arquiteturas de SOs Material complementar: * [[http://www.minix3.org/docs/login-2007.pdf|Artigo sobre o Minix 3 (microkernel)]] * [[http://queue.acm.org/detail.cfm?id=2566628|Unikernels]] * [[https://www.cs.vu.nl/~ast/Publications/Papers/computer-2006a.pdf|Can We Make Operating Systems Reliable and Secure?]] (discussão sobre isolamento de //drivers//) Laboratório: * Visão geral do [[PingPongOS]] * P0: [[Biblioteca de filas]] :!: (entrega até 09/8) ---- === Semana 2: 3/8 a 7/8 === Encontros: * 4/8 17:30 - Encontro semanal Conteúdo teórico: * Cap 04 - O conceito de tarefa * Cap 05 - Implementação de tarefas * Cap 06 - Escalonamento de tarefas Material complementar: * Exemplos: [[Criação de processos]] * Exemplos: [[Criação de threads]] * [[unix:Gestão de processos]] Laboratório: * P1: [[Trocas de contexto]] * P2: [[Gestão de tarefas]] ---- === Semana 3: 10/8 a 14/8 === Encontros: * 11/8 17:30 - Encontro semanal Conteúdo teórico: * Cap 08 - Comunicação entre tarefas * Cap 09 - Mecanismos de comunicação Material complementar: * Exemplos de mecanismos de comunicação: {{:so:mqrecv.c|}}, {{:so:mqsend.c|}}, {{:so:shm.c|}} Laboratório: * P3: [[Dispatcher]] * P4: [[Escalonador por prioridades]] :!: (entrega até 23/8) ---- === Semana 4: 17/8 a 21/8 === Encontros: * 18/8 17:30 - Encontro semanal Conteúdo teórico: * Cap 10 - Coordenação entre tarefas * Cap 11 - Mecanismos de coordenação * Cap 12 - Problemas clássicos * Cap 13 - Impasses Material complementar: * O problema da [[exclusão mútua]] * Exemplos de problemas clássicos: {{:so:pc-sem.c}}, {{:so:pc-cvar.c}}, {{:so:rw1.c}}, {{:so:rw2.c}}, {{:so:filosofos.c}}, * Exercícios sobre concorrência do [[http://greenteapress.com/wp/semaphores|Pequeno Livro de Semáforos]] Laboratório: * P5: [[Preempção por tempo]] * P6: [[Contabilização]] :!: (entrega até 30/8) ---- === Semana 5: 24/8 a 28/8 === Encontros: * 25/8 17:30 - Encontro semanal * 27/8 17:30 - Prova parcial 1 (conteúdo semanas 1 a 4, incluindo PingPongOS), com consulta :!: Laboratório: * Defesa dos projetos P0 a P6 ---- === Semana 6: 31/8 a 4/9 === Encontros: * 1/9 17:30 - Encontro semanal Conteúdo teórico: * Cap 14 - Hardware de memória * Cap 15 - Uso da memória * Cap 16 - Alocação de memória * Cap 17 - Paginação em disco * Cap 18 - Tópicos em gestão de memória Material complementar: * Localização de variáveis e constantes: {{:so:variaveis.c|}} * Exemplos de localidade de referência: {{so:tlb-lin.c}}, {{so:tlb-col.c}} * Exemplo de //thrashing//: {{so:thrash.c}} * Ordenação de arquivo: {{:so:sort-fopen.c}}, {{:so:sort-mmap.c}}, {{:so:dumpdata.c}} Laboratório: * P7: [[Tarefa main]] * P8: [[Operador Join]] * P9: [[Sleeping]] :!: (entrega até 13/9) ---- === Semana 7: 7/9 a 11/9 === Encontros: * 10/9 17:30 - Encontro semanal Conteúdo teórico: * Cap 19 - Hardware de entrada/saída * Cap 20 - Software de entrada/saída * Cap 21 - Discos Material complementar: Laboratório: * P10: [[Semáforos]] * P11: [[Uso de semáforos]] * P12: [[Filas de mensagens]] :!: (entrega até 20/9) ---- === Semana 8: 14/9 a 18/9 === Encontros: * 15/9 17:30 - Encontro semanal Conteúdo teórico: * Cap 22 - O conceito de arquivo * Cap 23 - Uso de arquivos * Cap 24 - Sistemas de arquivos * Cap 25 - Diretórios e atalhos ---- === Semana 9: 21/9 a 25/9 === Encontros: * 22/9 17:30 - Encontro semanal * 24/9 17:30 - Prova parcial 2 (conteúdo semanas 6 a 8, incluindo PingPongOS), com consulta :!: Laboratório: * Defesa dos projetos P7 a P12 ---- === Exame final === * 01/10 17:30 - Todo o conteúdo da disciplina :!: