MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CENTRO TECNOLÓGICO

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

PROGRAMA DE ENSINO

1. Identificação

Disciplina:INE5412 - Sistemas Operacionais I
Nível:Graduação
Carga Horária:72 horas-aula (Teórica: 42; Prática: 30)
Vigência:De 2024-1 até a presente data

2. 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.

3. Cursos Relacionados

4. Objetivos

4.1 Objetivo 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.

4.2 Objetivos 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.

5. Conteúdo Programático

  1. Fundamentos [12 horas-aula]
    1. Organização de sistemas computacionais
      1. Plataformas computacionais
      2. Organização de computadores
      3. Hierarquia de memória
      4. Comunicação com dispositivos de E/S
      5. Suporte de hardware para sistemas operacionais
    2. Classificação de sistemas operacionais
    3. Histórico de sistemas operacionais
      1. Décadas de 1940 a 2010
      2. Projeto orientado a objetos
    4. Serviços e interface um sistema operacional
    5. Componentes e estrutura de um sistema operacional
    6. Estudos de casos reais
  2. Gerência de processos e threads [12 horas-aula]
    1. Conceito de processos e fluxos de execução
      1. Ciclo de vida de processos
      2. Operações sobre processos e threads
      3. Modelos de threads
    2. Escalonamento da CPU
      1. Algoritmos de escalonamento
      2. Escalonamento de vários processadores
      3. Escalonamento em tempo real
      4. Avaliação de algoritmos de escalonamento
  3. Gerência de memória [12 horas-aula]
    1. Fundamentos
      1. Requisitos
      2. Relocação de código
      3. Endereço lógico e endereço físico
    2. Memória contígua
      1. Partições Estáticas
      2. Partições Dinâmicas
      3. Buddy System
      4. Swapping
    3. Memória não contígua
      1. Paginação
      2. Segmentação
      3. Proteção
    4. Memória Virtual
      1. Paginação
      2. Segmentação
      3. Segmentação paginada
      4. Algoritmos de alocação e substituição
      5. Paginação excessiva
  4. Gerência de Entrada e Saída [12 horas-aula]
    1. Hardware de E/S
      1. Tipos de E/S
    2. Acesso a dispositivos
    3. Componentes do subsistemas de E/S
      1. Tratadores de interrupção
      2. Drivers de dispositivos
      3. E/S independente de dispositivo
    4. Gerenciamento de requisições de E/S
    5. Estudos de casos
      1. Timer
      2. Disco
      3. RAID
  5. Sistemas de Arquivos [12 horas-aula]
    1. A interface com o sistema de arquivos
      1. Conceitos e operações
      2. Métodos de acesso
      3. Estrutura de diretórios
      4. Proteção e coerência
    2. Implementação do sistema de arquivos
      1. Estruturação do sistema de arquivos
      2. Métodos de alocação
      3. Gerenciamento do espaço livre
      4. Representação de diretórios
      5. Eficiência, Recuperação e Proteção
    3. Sistemas de arquivos remotos
  6. Tendências em sistemas operacionais [12 horas-aula]
    1. Projeto de sistemas operacionais
    2. Administração de sistemas operacionais
    3. Proteção e segurança em sistemas operacionais
    4. Sistemas operacionais distribuídos
    5. Sistemas operacionais embarcados
    6. Sistemas multiprocessados
    7. Sistemas operacionais para arquiteturas não convencionais

6. Bibliografia Básica

  1. Tanenbaum, A. S., Sistemas Operacionais Modernos, 3a. edição, Prentice-Hall do Brasil, 2010.

7. Bibliografia Complementar

  1. Oliveira, R. S. de, Toscani, S. S., Carissimi, A. da S., Sistemas Operacionais, Sagra Luzzatto, 2001.
  2. Silberschatz, A., Galvin, P. B., Gagme, Greg. Fundamentos de sistemas operacionais: princípios básicos, Elsevier, 2011.