Sistemas Operacionais I
Sobre esta Disciplina
Estudo dos princípios de sistemas operacionais, cobrindo desde a estrutura interna do SO até processos, chamadas de sistema, execução concorrente, sincronização, escalonamento e virtualização.
:::warning Referência oficial do curso Este material é um apoio ao estudo — ele complementa as aulas presenciais e EAD, mas não substitui a leitura do livro-texto oficial da disciplina:
SILBERSCHATZ, Abraham; GALVIN, Peter B.; GAGNE, Greg. Fundamentos de Sistemas Operacionais. 9. ed. Rio de Janeiro: LTC, 2015. ISBN 978-85-216-3001-2.
Consulte sempre o livro para aprofundamento, exemplos completos e exercícios propostos. As seções correspondentes a cada aula são indicadas ao final de cada página. :::
Aulas
| # | Aula | Ementa |
|---|---|---|
| 01 | Introdução aos Sistemas Operacionais | O que é um SO, serviços, visões, modelos de kernel, tipos de SO, suporte de hardware a multiprogramação |
| 02 | Processos: Conceito, Ciclo de Vida e Chamadas de Sistema | Multiprogramação, conceito de processo, estados (modelos 2, 5 e 7 estados), chamadas de sistema, prática em C |
| 03 | Programação Concorrente: Notação e Modelos de Execução | Notação de execução concorrente, fork/join, parbegin/parend |
| 04 | System Calls: Arquivos, Diretórios e Informações | Chamadas de sistema para informações, diretórios e arquivos; exercícios de programação |
| 05 | Execução Concorrente: Problemas e Propriedades | Interleaving, condição de corrida, seção crítica, exclusão mútua, deadlock e starvation |
| 06 | Sincronização: Mutex, Semáforos e Monitores | Sincronizações básicas — mutex, semáforos, monitores, troca de mensagens; fork e fork-exec |
| 07 | fork, waitpid e execve na Prática | Exercícios com fork, waitpid e execve — TDE: exercício de system call com fork/wait |
| 08 | PCB, Threads e Chaveamento de Contexto | Bloco descritor de processos, filas, chaveamento de contexto, modelos 1:1 e N:1, prática com pthreads |
| 09 | Exclusão Mútua: Algoritmos e Hardware | Desabilitando interrupções, variáveis lock (spin-lock) e soluções algorítmicas de exclusão mútua |
| 10 | Problemas Clássicos de Sincronização | Produtor/Consumidor e Jantar dos Filósofos — atividade prática |
| 11 | Memória Compartilhada e IPC | Memória compartilhada, semáforos POSIX, IPC — definição do trabalho de programação concorrente |
| 12 | Escalonamento de Processos | Escalonamento de longo, médio e curto prazo; algoritmos FIFO, SJF, RR, Filas Múltiplas, Loteria e Fração Justa |
| 13 | Virtualização | Histórico, abstração × interfaces × virtualização, tipos, implementações, ferramentas e casos de uso |
| 14 | Sistemas de Tempo Real | Caracterização, exemplos, conceitos, propriedades temporais, abordagens da academia e indústria — TDE: questionário |
| 15 | Revisão Geral do Semestre | Revisão estruturada de todos os tópicos: processos, threads, sincronização, IPC, scheduling, virtualização e tempo real |
Como Usar Este Material
- Siga a ordem das aulas: o conteúdo é incremental — cada aula pressupõe as anteriores.
- Use o livro em paralelo: ao final de cada aula há indicações das seções correspondentes no Silberschatz.
- Faça os exercícios: a fixação vem da prática; não pule as atividades propostas.
Pré-Requisitos
- Algoritmos e Programação (preferível ter completado)
- Compreensão básica de alguma linguagem de programação estruturada