Departamento de Informática e Estatística

Programas de Ensino
Visitante (Entrar)

Programa de Ensino 20241

Aprovado pelo Departamento em: 17-11-2023

  1. Identificação: Visualizar em PDF
    • Disciplina: INE5412 - Sistemas Operacionais I
    • Carga horária: 72 horas-aula      Teóricas: 42      Práticas: 30
    • Período: 1º semestre de 2024 até a presente data
  2. Curso(s):
    • Ciências da Computação (208)
  3. Requisito(s):
    • Ciências da Computação (208)
      • INE5410 - Programação Concorrente
      • INE5411 - Organização de Computadores I
  4. Ementa:
    • Programação de Sistemas. Histórico de Sistemas Operacionais. Arquitetura de Sistemas Operacionais. Funcionalidades de Sistemas Operacionais. Gerência de Processos e Threads: Controle e Escalonamento. Impasses: Modelagem e Tratamento. Memória: Alocação, Gerência e Memória Virtual. Entrada e Saída: princípios de hardware e software, dispositivos periféricos. Sistema de Arquivos: Arquivos, Diretórios e Implementação. Proteção e Segurança. Sistemas com Múltiplos Processadores.
  5. Objetivo(s):
    • Geral: Possuir uma visão sistêmica e abrangente da estrutura, funções, técnicas, mecanismos, implementação, utilização e configuração de sistemas operacionais modernos, compreendendo sua relação com os demais níveis de organização de um computador e tendências futuras, e estar apto a avaliar mecanismos alternativos e a desenvolver os principais componentes de um sistema operacional e aplicativos que utilizem diretamente sua API.
    • Específicos:
      1. Compreender e descrever mecanismos, técnicas e conceitos relacionados aos sistemas operacionais e suas inter-relações.
      2. Compreender e descrever a API, estrutura, funções, implementação e utilização de sistemas operacionais.
      3. Analisar e comparar diferentes mecanismos, técnicas e algoritmos, e justificar uma escolha em cenário específico.
      4. Projetar, modelar, simular, implementar e avaliar os principais componentes de um sistema operacional.
      5. Modelar e implementar aplicativos que utilizem diretamente a API um sistema operacional.
      6. Utilizar e configurar um sistema operacional.
      7. Conhecer tendências em sistemas operacionais.
      8. Desenvolver o espírito científico e reflexivo e o trabalho de pesquisa científica.
      9. Utilizar práticas de estudo independente e atitudes profissionais e éticas.
  6. Conteúdo Programático:
    • Fundamentos [12 horas-aula]
      • Organização de sistemas computacionais
        • Plataformas computacionais
        • Organização de computadores
        • Hierarquia de memória
        • Comunicação com dispositivos de E/S
        • Suporte de hardware para sistemas operacionais
      • Classificação de sistemas operacionais
      • Histórico de sistemas operacionais
        • Décadas de 1940 a 2010
        • Projeto orientado a objetos
      • Serviços e interface um sistema operacional
      • Componentes e estrutura de um sistema operacional
      • Estudos de casos reais
    • Gerência de processos e threads [12 horas-aula]
      • Conceito de processos e fluxos de execução
        • Ciclo de vida de processos
        • Operações sobre processos e threads
        • Modelos de threads
      • Escalonamento da CPU
        • Algoritmos de escalonamento
        • Escalonamento de vários processadores
        • Escalonamento em tempo real
        • Avaliação de algoritmos de escalonamento
    • Gerência de memória [12 horas-aula]
      • Fundamentos
        • Requisitos
        • Relocação de código
        • Endereço lógico e endereço físico
      • Memória contígua
        • Partições Estáticas
        • Partições Dinâmicas
        • Buddy System
        • Swapping
      • Memória não contígua
        • Paginação
        • Segmentação
        • Proteção
      • Memória Virtual
        • Paginação
        • Segmentação
        • Segmentação paginada
        • Algoritmos de alocação e substituição
        • Paginação excessiva
    • Gerência de Entrada e Saída [12 horas-aula]
      • Hardware de E/S
        • Tipos de E/S
      • Acesso a dispositivos
      • Componentes do subsistemas de E/S
        • Tratadores de interrupção
        • Drivers de dispositivos
        • E/S independente de dispositivo
      • Gerenciamento de requisições de E/S
      • Estudos de casos
        • Timer
        • Disco
        • RAID
    • Sistemas de Arquivos [12 horas-aula]
      • A interface com o sistema de arquivos
        • Conceitos e operações
        • Métodos de acesso
        • Estrutura de diretórios
        • Proteção e coerência
      • Implementação do sistema de arquivos
        • Estruturação do sistema de arquivos
        • Métodos de alocação
        • Gerenciamento do espaço livre
        • Representação de diretórios
        • Eficiência, Recuperação e Proteção
      • Sistemas de arquivos remotos
    • Tendências em sistemas operacionais [12 horas-aula]
      • Projeto de sistemas operacionais
      • Administração de sistemas operacionais
      • Proteção e segurança em sistemas operacionais
      • Sistemas operacionais distribuídos
      • Sistemas operacionais embarcados
      • Sistemas multiprocessados
      • Sistemas operacionais para arquiteturas não convencionais
  7. Bibliografia Básica:
    • Tanenbaum, A. S., Sistemas Operacionais Modernos, 3a. edição, Prentice-Hall do Brasil, 2010.
  8. Bibliografia Complementar:
    • Oliveira, R. S. de, Toscani, S. S., Carissimi, A. da S., Sistemas Operacionais, Sagra Luzzatto, 2001.
    • Silberschatz, A., Galvin, P. B., Gagme, Greg. Fundamentos de sistemas operacionais: princípios básicos, Elsevier, 2011.