Programa de Ensino 20241
Aprovado pelo Departamento em: 17-11-2023
- Identificação:
- 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
- Curso(s):
- Ciências da Computação (208)
- Requisito(s):
- Ciências da Computação (208)
- INE5410 - Programação Concorrente
- INE5411 - Organização de Computadores I
- 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.
- 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:
- Compreender e descrever mecanismos, técnicas e conceitos relacionados aos sistemas operacionais e suas inter-relações.
- Compreender e descrever a API, estrutura, funções, implementação e utilização de sistemas operacionais.
- Analisar e comparar diferentes mecanismos, técnicas e algoritmos, e justificar uma escolha em cenário específico.
- Projetar, modelar, simular, implementar e avaliar os principais componentes de um sistema operacional.
- Modelar e implementar aplicativos que utilizem diretamente a API um sistema operacional.
- Utilizar e configurar um sistema operacional.
- Conhecer tendências em sistemas operacionais.
- Desenvolver o espírito científico e reflexivo e o trabalho de pesquisa científica.
- Utilizar práticas de estudo independente e atitudes profissionais e éticas.
- 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
- 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
- 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
- Bibliografia Básica:
- Tanenbaum, A. S., Sistemas Operacionais Modernos, 3a. edição, Prentice-Hall do Brasil, 2010.
- 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.