LRM Prof. Mantovani ← Disciplinas

Sistemas Operacionais · Engenharia da Computação

A fronteira entre hardware e software: interrupções, MMU, drivers de dispositivo, escalonamento de tempo real e sistemas operacionais embarcados.

🎓 Engenharia da Computação🏫 Presencial🔧 Hardware & tempo real
44hTeórica
28hPrática
72hTotal
Extensão
Material das aulas

Aulas interativas, simuladores e simulado

Conteúdo completo das 14 aulas — teoria didática, simulações para testar os conceitos direto no navegador, atividades em grupo e um simulado estilo ENADE com gabarito comentado.

📘 Acessar as aulas → 🧪 Laboratório de simulações 🎯 Simulado ENADE
1 · Identificação

Dados da disciplina

Disciplina
Sistemas Operacionais
Curso
Engenharia da Computação
Modalidade
Presencial
Carga teórica
44h
Carga prática
28h
Carga total
72h
Pré-requisitos
Nenhum
Competências

O que você vai desenvolver

Compreender a interface entre o hardware e o software no nível do sistema operacional; projetar e analisar mecanismos de baixo nível (interrupções, MMU, drivers de dispositivo); aplicar conceitos de sistemas de tempo real e embarcados; avaliar desempenho, confiabilidade e segurança em plataformas computacionais.

2 · Ementa

Ementa

Fundamentos e arquitetura dos sistemas operacionais. Processo. Thread. Sincronização e comunicação entre processos. Gerência do processador. Gerência de memória e memória virtual. Sistemas de arquivos. Gerência de dispositivos e virtualização. Na ênfase de Engenharia da Computação, cada tema é aprofundado na interface com o hardware — modos de operação da CPU, interrupções, MMU, drivers e DMA — e em escalonamento de tempo real e sistemas embarcados.

3 · Objetivos

Objetivos

Compreender o sistema operacional como gerenciador de recursos; dominar processo, thread, sincronização e escalonamento; analisar gerência de memória, memória virtual e sistemas de arquivos; entender a gerência de dispositivos e a virtualização; e, na ênfase de Engenharia da Computação, relacionar cada mecanismo ao hardware que o sustenta, incluindo tempo real e plataformas embarcadas.

4 · Conteúdo Programático

Cronograma de 14 semanas

Uma aula por semana. Clique em cada semana para ver os tópicos.

UnidadeAssunto / atividadesTeóricaPráticaSemanas
U1Fundamentos e Arquitetura dos Sistemas Operacionais12h8h1 a 4
U2Processo4h8h5 e 6
U3Thread4h4h7
U4Sincronização e Comunicação entre Processos4h4h8
U5Gerência do Processador4h9
U6Gerência de Memória e Memória Virtual4h10
U7Gerência de Memória Virtual4h11
U8Sistemas de Arquivos4h4h12
U9Gerência de Dispositivos e Virtualização4h13
Total44h28h14

Distribuição em 14 semanas, uma aula por semana:

1U1 · Fundamentos e Arquitetura dos SO (1/4)Semana 1
  • Funções do sistema operacional e visão como gerenciador de recursos
  • Evolução histórica e tipos de SO: propósito geral, embarcado, tempo real
  • aprofundamento EC: onde o SO encosta no hardware
2U1 · Fundamentos e Arquitetura dos SO (2/4)Semana 2
  • Ciclo de instrução e modos de operação da CPU
  • Mecanismo de interrupções e exceções
  • aprofundamento EC: MMU e TLB no caminho do endereço
3U1 · Fundamentos e Arquitetura dos SO (3/4)Semana 3
  • Kernel e modo privilegiado
  • Arquiteturas: monolítica, microkernel, em camadas e híbrida
  • Chamadas de sistema (syscalls)
4U1 · Fundamentos e Arquitetura dos SO (4/4) — práticaSemana 4
  • Boot, firmware e inicialização do kernel
  • Serviços, daemons e ferramentas de observação
  • Laboratório: acompanhar chamadas de sistema e a inicialização do sistema
5U2 · Processo (1/2)Semana 5
  • Conceito de processo e bloco de controle (PCB)
  • Estados e transições
  • Troca de contexto e seu custo
  • aprofundamento EC: o que o hardware salva e restaura na troca de contexto
6U2 · Processo (2/2) — práticaSemana 6
  • Criação e término de processos, hierarquia e processos órfãos/zumbis
  • fork, exec e o ciclo de vida no Linux
  • Laboratório: criar, inspecionar e encerrar processos
7U3 · ThreadSemana 7
  • Threads de usuário e de núcleo; modelos de multithreading
  • Concorrência × paralelismo em multicore
  • Laboratório: paralelizar uma tarefa com threads
8U4 · Sincronização e Comunicação entre Processos · Prova 1Semana 8
  • Condição de corrida e exclusão mútua
  • Semáforos e monitores
  • IPC: memória compartilhada, troca de mensagens, pipes e sinais
  • Deadlock: condições, prevenção, detecção e recuperação
  • aprofundamento EC: inversão de prioridade e herança de prioridade
  • Avaliação 1 (unidades 1 a 4)
9U5 · Gerência do ProcessadorSemana 9
  • Critérios de escalonamento
  • FCFS, SJF, Round-Robin, prioridades e filas multinível
  • aprofundamento EC: escalonamento de tempo real — Rate Monotonic e EDF, com simuladores
10U6 · Gerência de Memória e Memória VirtualSemana 10
  • Alocação contígua, particionamento e fragmentação
  • Paginação e segmentação
  • aprofundamento EC: MMU e TLB na tradução de endereços
11U7 · Gerência de Memória VirtualSemana 11
  • Paginação por demanda
  • Algoritmos de substituição: FIFO, LRU e ótimo (simulador)
  • Thrashing, working set e o impacto da hierarquia de cache
12U8 · Sistemas de ArquivosSemana 12
  • Arquivos, diretórios e atributos
  • Métodos de alocação e gerência de espaço livre
  • Armazenamento HDD/SSD e escalonamento de disco (simulador)
13U9 · Gerência de Dispositivos e VirtualizaçãoSemana 13
  • Subsistema de E/S: polling × interrupção × DMA
  • Estrutura de um driver de dispositivo
  • Virtualização e contêineres
  • aprofundamento EC: RTOS e embarcados — determinismo, latência e estudo de caso FreeRTOS
14Revisão geral · Prova 2 / ExameSemana 14
  • Apresentação dos projetos
  • Revisão geral das 9 unidades
  • Avaliação 2 e exame, quando aplicável
📌 Conteúdo programático conforme o plano de ensino oficial da disciplina para o curso de Engenharia da Computação: 9 unidades, 44h teóricas e 28h práticas, distribuídas em 14 semanas (uma aula por semana). Os itens marcados como aprofundamento EC são acréscimos do professor para a ênfase do curso — hardware, MMU, drivers, tempo real e sistemas embarcados — e não substituem nenhum conteúdo do plano oficial.
5 · Metodologia

Como as aulas acontecem

Aulas expositivas e dialogadas com forte componente prático em laboratório: Linux, microcontroladores e RTOS, além de simuladores de arquitetura.

Atividades
  • Aulas expositivas e dialogadas
  • Questionários escritos (Quiz)
  • Práticas em laboratório (Linux, microcontroladores, RTOS)
  • Projeto embarcado
Recursos didáticos
  • Recursos multimídia e artigos digitais
  • Plataformas embarcadas / microcontroladores
  • RTOS (ex.: FreeRTOS) e simuladores
  • Plataforma Moodle
6 · Avaliação

Composição da nota

Avaliação processual, diagnóstica, formativa e contínua ao longo de toda a disciplina.

InstrumentoAtividadeNaturezaPeso
AvaliaçãoProva teórica/prática individualConceitual6,0
ProjetoProjeto prático embarcado / RTOSProcedimental2,0
QuizExercícios / questionamentos individuaisAtitudinal e conceitual2,0
Aprovação direta com média final ≥ 7,0.
Direito a exame com média parcial ≥ 5,0.
Frequência mínima de 75% exigida por lei.
7 · Bibliografia

Referências

Básica

  • TANENBAUM, A. S.; BOS, H. Sistemas operacionais modernos. 4. ed. São Paulo: Pearson, 2016.
  • SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G. Fundamentos de sistemas operacionais. 9. ed. Rio de Janeiro: LTC, 2015.
  • STALLINGS, W. Sistemas operacionais: princípios e práticas. 6. ed. São Paulo: Pearson, 2010.

Complementar

  • HENNESSY, J. L.; PATTERSON, D. A. Arquitetura de computadores: uma abordagem quantitativa. Elsevier, 2014.
  • BARRY, R. Mastering the FreeRTOS Real Time Kernel. Real Time Engineers, 2016.
  • LI, Q.; YAO, C. Real-Time Concepts for Embedded Systems. CMP Books, 2003.
  • MAZIERO, C. A. Sistemas operacionais: conceitos e mecanismos. UFPR, 2019.