====== CI-1215 - Cronograma 2021/1 ====== * 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]]. * Somente projetos apresentados/defendidos terão suas notas consideradas. * Leia com atenção as [[teaching:Regras das Atividades de Laboratório]]. Links úteis: * [[https://bbb.c3sl.ufpr.br/b/car-chu-evg|Sala de aula online]] (BBB do DINF/UFPR) * [[socm:start|Livro-texto da disciplina]] ---- === Regras de avaliação === A média final (M) da disciplina é calculada pelas notas dos projetos solicitados (entre 0 e 100), da seguinte forma: M = (P0 + P4 + P6 + P9 + P12) / 5 + P13 / 5 ---- === Semana 1: 20/9 a 24/9 === Encontros: * 21/9 17:30 - Apresentação da disciplina * 23/9 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é 03/10) ---- === Semana 2: 27/9 a 01/10 === Encontros: * 28/9 17:30 - Encontro semanal Conteúdo teórico: * Cap 04 - O conceito de tarefa * Cap 05 - Implementação 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: 04/10 a 08/10 === Encontros: * 05/10 17:30 - Encontro semanal Conteúdo teórico: * Cap 06 - Escalonamento de tarefas * 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é 17/10) ---- === Semana 4: 11/10 a 15/10 === Encontros: * 14/10 17:30 - Encontro semanal Conteúdo teórico: * Cap 10 - Coordenação entre tarefas * Cap 11 - Mecanismos de coordenação Material complementar: * O problema da [[exclusão mútua]] Laboratório: * P5: [[Preempção por tempo]] * P6: [[Contabilização]] :!: (entrega até 24/10) ---- === Semana 5: 18/10 a 22/10 === Encontros: * 19/10 17:30 - Encontro semanal Conteúdo teórico: * Cap 12 - Problemas clássicos * Cap 13 - Impasses Material complementar: * 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: * P7: [[Tarefa main]] * P8: [[Operador Join]] ---- === Semana 6: 25/10 a 29/10 === Encontros: * 26/10 17:30 - Encontro semanal Conteúdo teórico: * Cap 14 - Hardware de memória * Cap 15 - Uso da memória Material complementar: * Exemplos de localidade de referência: {{so:tlb-lin.c}}, {{so:tlb-col.c}} * Localização de variáveis e constantes: {{:so:variaveis.c|}} Laboratório: * Defesa dos projetos P0 a P6 (entrevistas individuais agendadas c/ o professor) * P9: [[Sleeping]] :!: (entrega até 07/11) ---- === Semana 7: 01/11 a 05/11 === Encontros: * 04/11 17:30 - Encontro semanal Conteúdo teórico: * 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: * Exemplo de //thrashing//: {{so:thrash.c}} * Ordenação de arquivo: {{:so:sort-fopen.c}}, {{:so:sort-mmap.c}}, {{:so:dumpdata.c}} Laboratório: * P10: [[Semáforos]] * P11: [[Uso de semáforos]] ---- === Semana 8: 08/11 a 12/11 === Encontros: * 09/11 17:30 - Encontro semanal (falta de energia) * 11/11 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 Laboratório: * P12: [[Filas de mensagens]] :!: (entrega até 21/11) ---- === Semana 9: 15/11 a 19/11 === Encontros: * 16/11 17:30 - Encontro semanal Conteúdo teórico: * Cap 22 - O conceito de arquivo * Cap 23 - Uso de arquivos Laboratório: * P13: [[Gerente de disco]] :!: (entrega até 28/11) ---- === Semana 10: 22/11 a 26/11 === Encontros: * 23/11 17:30 - Encontro semanal Conteúdo teórico: * Cap 24 - Sistemas de arquivos * Cap 25 - Diretórios e atalhos Laboratório: * Completar e entregar os projetos P7 a P13 ---- === Semana 11: 29/11 a 03/12 === Laboratório: * Defesa dos projetos P7 a P13 (entrevistas individuais agendadas c/ o professor). ---- === Semana 12: 06/12 a 10/12 === Exame final: :!: * Os alunos que obtiverem média entre 40 e 69 na disciplina podem entregar novamente seus projetos, corrigidos e melhorados, até o dia 08/12. * Durante a semana serão feitas novas defesas desses projetos, em entrevistas individuais. * A nota do exame final será calculada considerando a última versão entregue dos projetos solicitados (limitada a 100 pontos). ----