PCO 1
Prof. Ilo Rivero ilorivero@live.com Ementa
• Conceitos básicos de sistemas operacionais e multiprogramação.
• Processos concorrentes.
• Sincronização e deadlock.
• Multithreading, controle e sincronização.
• Tratamento de sinais.
• Mecanismos de IPC (Inter Process Comunication): locks, pipes e named pipes.
• Semáforos.
• Memória compartilhada.
Objetivos
• Ter conhecimento de:
• Programação concorrente
• Processos concorrentes
• Sincronização
• Multithreading
• Tratamento de sinais
• Mecanismos de IPC.
Conteúdo Programático
• Conceitos básicos de sistemas operacionais e multiprogramação.
• Tipos de sistemas operacionais;
• Linguagens para programação concorrente;
• Conceitos de Interrupção, processo, co-rotina e multiprogramação.
• Processos concorrentes.
•
•
•
•
Especificação da concorrência;
Relações de precedência entre processos;
Criação estática e dinâmica de processos;
Exemplos de programas concorrentes;
• Sincronização.
•
•
•
•
Sincronização para compartilhamento;
Sincronização para comunicação;
Sincronização tipo barreira;
Sincronizações básicas;
Conteúdo Programático
• Deadlocks.
• Implementação de semáforos no kernel do SO;
• Implementação de semáforos fora do kernel;
• Sincronizações básicas com operações P e V;
• Programas clássicos:
•
•
•
•
•
Um alocador de recurso;
Produtor-consumidor com buffer limitado;
Jantar dos filósofos;
Problema do barbeiro dorminhoco;
Problema dos leitores e escritores;
Conteúdo Programático
• Memória compartilhada.
• O problema da exclusão mútua;
• Exclusão mútua para 2 processos:
• Solução de Dekker;
• Solução de Peterson;
• Solução com instruções "test and test";
• Exclusão Mútua com N processos:
•
•
•
•
•
•
Algoritmo de Dijkstra;
Algoritmo de Eisenberg e McGuire;
Algoritmo de Lamport;
Algoritmo de Peterson;
Algoritmo de Block e Woo;
Algortimo de Toscani;
Datas Importantes
ATPS
PROVA
Avaliações
• Primeiro Bimestre
• 2 provas valendo 4 pontos (17/03 e 14/04)
• ATPS valendo 2