Professora: Islene Calciolari Garcia
Plataforma: Google Classroom: Turma P_MO806A_2021S2
Familiarização com conceitos e modelo de desenvolvimento de Software Livre
Análise do estado atual de pelo menos uma ferramenta(s) livre(s)
Identificação de pontos de contribuição para a(s) comunidade(s) desta(s) ferramenta(s)
Identificação de fronteiras entre desenvolvimento e pesquisa (opcional para MC853)
Realização de um projeto teórico e/ou prático
Escolha de uma área de interesse (SO ou área afim)
Escolha da(s) ferramenta(s) livre(s) a ser(em) analisada(s)
Revisão de conceitos básicos
Estudo da dinâmica de desenvolvimento da(s) comunidade(s) escolhida(s):
Identificação de pontos de contribuição para a(s) comunidade(s) desta(s) ferramenta(s)
Pesquisa e análise de artigo(s) relacionado(s) (opcional para MC853)
Proposta e desenvolvimento de um projeto teórico e/ou prático a partir dos elementos levantados anteriormente
Apresentação para a turma de vídeo curto resumindo o projeto
Devido à pandemia do Coronavírus, não haverá aulas presenciais. Os estudantes receberão orientação para obter os conhecimentos básicos a partir de várias fontes, de maneira a ganhar autonomia para buscar as alternativas de projeto, realizar os experimentos e, eventualmente, contribuir para a comunidade. Haverá plantões de dúvidas e atendimento em todas as aulas, sendo que outros horários também poderão ser agendados.
Os estudos e o projeto poderão ser realizados de maneira individual ou em grupos com no máximo quatro estudantes. Para os trabalhos em grupo, haverá também o limite máximo de dois estudantes matriculados em MO806. O acompanhamento das etapas previstas será feito por meio do preenchimento de formulários no Classroom e disponibilização de vídeos:
(0.5) Conhecimentos prévios e interesses: questionário a ser preenchido de maneira individual visando o levantamento de um perfil da turma.
(2.0) Visão geral da(s) ferramenta(s) escolhida(s): elaboração de um vídeo envolvendo questões técnicas (conceitos básicos, funcionalidades, qualidade do código, dinâmica de desenvolvimento) e "políticas" (contexto histórico do surgimento da ferramenta, comunidade de desenvolvimento, impactos da adoção)
(1.5) Identificação de bug(s) ou proposta(s) de melhoria: você ou seu grupo deverá selecionar pontos de contribuição para a(s) ferramenta(s) estudada(s) nos quais gostaria de se aprofundar. Esta identificação poderá se basear em material divulgado pelas comunidades ou em propostas originais.
(2.0) Análise de artigo(s) científico(s): elaboração de um vídeo com análise de pelo menos um artigo científico relacionado ao tema do projeto (opcional para MC853 e MC914)
(4.0) Realização de um projeto teórico e/ou prático: A partir dos tópicos estudados você ou seu grupo deverá fazer uma implementação, ou um teste de desempenho ou uma análise detalhada de algum trecho de código ou dos requisitos para implementação de uma nova funcionalidade. O grau de profundidade esperado para esta atividade pode variar muito conforme a ferramenta e o tema escolhido. A apresentação destes resultados poderá ser uma combinação de um relatório e/ou vídeo. Converse sobre suas ideias no horário de atendimento!
(2.0) Vídeo curto para a turma: deverá ser preparado um vídeo com duração máxima de quinze minutos com uma apresentação da(s) ferramenta(s) escolhidas e do projeto desenvolvido. Esta apresentação deverá ter a turma como público alvo e ficar visível para todos os alunos das turmas MO806 A, MC914 A e MC853 AB. A divulgação do link deverá ser feita no mural da disciplina no Classroom.
Esta disciplina não tem exame e a nota final será baseada na soma das notas atribuídas aos formulários listados acima. Esta soma pode atingir 12.0 pontos, mas, obviamente, as notas registradas para os estudantes matriculados em MC853 ou MC914 respeitarão o valor máximo de 10.0. O conceito final para os estudantes matriculados em MO806 será calculado utilizando-se a tabela abaixo:
Nota Final | Conceito |
---|---|
12.0 ≥ NF ≥ 10.0 | A |
9.9 ≥ NF ≥ 8.0 | B |
7.9 ≥ NF ≥ 6.0 | C |
5.9 ≥ NF ≥ 0.0 | D |
Sugestão para projetos relacionados a Kernel Linux:
Curso de Sistemas Operacionais - UNIVESP - Prof. Jó Ueyama
Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Arpaci-Dusseau Books, August, 2018 (Disponível gratuitamente online)
A. S. Tanenbaum, H. Bos, Modern Operating Systems, 4th edition, Pearson, 2014
A. Silberschatz, P. Galvin, G. Gagne, Operating Systems Concepts, 10th edition, Wiley, 2018
W. Stallings, Operating Systems: Internals and Design Principles, 8th edition, Pearson, 2014
Conjuntos de referências para outros temas de projeto poderão ser construído de maneira colaborativa ao longo do semestre.