2017.1 - DCC071 - Lab de Sistemas Operacionais
Objetivo da disciplina: Expor ao aluno os mecanismos internos do projeto de um sistema operacional, em abordagem prática que mapeia os fundamentos estudados na disciplina de Sistemas Operacionais em módulos de uma implementação real. A partir do estudo do código-fonte de um sistema operacional real, o aluno tomará contato com as decisões de projeto tomadas nos mais diversos níveis de abstração, começando pela arquitetura do software e culminando nos algoritmos específicos de gerenciamento dos principais recursos. Tal estudo leva naturalmente à experimentação de desenvolvimento de projeto de sistema operacional, incluindo customização, modificações de código, monitoramento e simulação. Ao fim da disciplina, o aluno terá quebrado diversas barreiras e mitos sobre o sistema operacional, enxergando-o como uma importante peça de software que pode ser retrabalhada constantemente de acordo com os requisitos específicos de seus futuros projetos
Este site é dedicado a apoiar o ensino da disciplina para as turmas oferecidas nos seguintes semestres:
Contato do Prof. Edelberto Franco:
Sala 431 DCC
edelberto@ice.ufjf.br
Envie com assunto: [DCC071] assunto
Atendimento:
Todas as terças antes da aula, na sala do professor.
Terças 18-19h na sala 431
É possível agendar outros horários por e-mail.
Ementa
Aulas
Avaliações
Grupos do Trabalho Prático
Ementa
Revisão sobre Sistemas Operacionais
Conceitos Básicos
Gerenciamento de Processos
Gerenciamento de Memória
Gerenciamento de Memória Secundária
Gerenciamento de Entrada e Saída
O Kernel Linux
Arquitetura de Software
Linux / Comandos
Subsistema de Gerenciamento de Processos
Subsistema de Gerenciamento de Memória
Subsistema de Gerenciamento de Memória Secundária
Subsistema de Gerenciamento de Entrada e Saída
Compilação do Kernel
Inicialização do Sistema
Módulos de Kernel
Desenvolvimento de Projetos de Sistemas Operacionais
Modificando um Sistema Operacional Existente
Monitorando atividades de um Sistema Operacional
Simulando atividades de Sistemas Operacionais
Implementando Sistemas Operacionais
Aplicando fundamentos de Sistemas Operacionais em outros domínios
Aulas
Avaliações
Práticas de Laboratório (PL) - 35 pontos
Trabalho Prático 1 (TP1) - 15/05/2017 - 10 pontos
Trabalho Prático 2 (TP2) - 20/06/2017 e 27/06/2017 - 25 pontos
Avaliação Escrita (AE) - Monografia - 04/07/2017- 30 pontos
Segunda Chamada (SC) - 11/07/2017 - 30 pontos
PL: corresponde às práticas. Serão realizadas em laboratório com uso de VM ou computador pessoal.
TP1: apresentação do tema escolhido para trabalho prático final (monografia)
TP2: apresentação final da monografia
AE: avaliação do artigo escrito como monografia. Formato SBC (de 10 a 15 páginas coluna simples)
SC: discussão do artigo/monografia submetido e avaliado.
Trabalhos Práticos (Grupos)
Grupo 1: Rafael Braga e Pedro Antônio
Tema: Análise e medição das variações do TCP no Linux
Grupo 2: Maxwell, João Victor e Carlos Alexandre
Tema: Monitoramente de atividades do SO no User Space (mem. principal, secundária, CPU etc)
Grupo 3: Lucas Bressan, Claudio Lopes e Bruno José
Tema: Criando um simulador de operações de memória (principal/alocação e secundária/paginação)
Grupo 4: Gabriel Costa, Fernanda Dutra e Vinicius Schettino
Tema: Monitoramento de Processos: avaliando as atividades do Warsaw no Linux
Grupo 5: Eduardo Rocha e Felipe Rafael
Tema: Implementação/Validação de um Microkernel para Arduino com escalonador de processos (multiprocesso)
Grupo 6: Carlos Roberto e Marcus Junior
Tema: Monitoramento do sistema para auditoria de atividades do usuário (medição de produtividade do usuário)
Bibliografia
Sistemas Operacionais Modernos
Andrew S. Tanenbaum
Prentice Hall Brasil
ISBN: 9788576052371
Fundamentos de Sistemas Operacionais
Abraham Silberschatz
Ltc
ISBN: 9788521617471
Understanding the Linux Kernel, 3rd Edition
Daniel P. Bovet, Marco Cesati
O'Reilly Pub Date: November 2005
ISBN: 0-596-00565-2
Pages: 942