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

  1. Revisão sobre Sistemas Operacionais

    1. Conceitos Básicos

    2. Gerenciamento de Processos

    3. Gerenciamento de Memória

    4. Gerenciamento de Memória Secundária

    5. Gerenciamento de Entrada e Saída

  2. O Kernel Linux

    1. Arquitetura de Software

    2. Linux / Comandos

    3. Subsistema de Gerenciamento de Processos

    4. Subsistema de Gerenciamento de Memória

    5. Subsistema de Gerenciamento de Memória Secundária

    6. Subsistema de Gerenciamento de Entrada e Saída

    7. Compilação do Kernel

    8. Inicialização do Sistema

    9. Módulos de Kernel

  1. Desenvolvimento de Projetos de Sistemas Operacionais

    1. Modificando um Sistema Operacional Existente

    2. Monitorando atividades de um Sistema Operacional

    3. Simulando atividades de Sistemas Operacionais

    4. Implementando Sistemas Operacionais

    5. Aplicando fundamentos de Sistemas Operacionais em outros domínios

Aulas

Avaliações

    1. Práticas de Laboratório (PL) - 35 pontos

    2. Trabalho Prático 1 (TP1) - 15/05/2017 - 10 pontos

    3. Trabalho Prático 2 (TP2) - 20/06/2017 e 27/06/2017 - 25 pontos

    4. Avaliação Escrita (AE) - Monografia - 04/07/2017- 30 pontos

    5. Segunda Chamada (SC) - 11/07/2017 - 30 pontos

VEJA CRONOGRAMA!

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

Disponível para download