Você está na página 1de 9

SISTEMAS OPERACIONAIS

Prof. Camilo Carvalho


Roteiro Básico

 Conceitos Fundamentais;
 Gerência de Processos/Processador;
 Gerência de Memória;
 Sistemas de Arquivos;
 Gerência de Entrada e Saída;
 Estudos de Caso;
 Introdução aos Sistemas Distribuídos.
Referências de Hoje
Deitel, Deitel & Choffnes
Pag. 63 à 112

Machado & Maia


Pag. 65 à 132

Flynn & McHoes


Pag. 97 à 139

Tanenbaum
Pag. 70 à 102
Comunicação

 Comunicação entre processos:


 Compartilhamento de Recursos;
 Concorrência;
 Especificação de Concorrência:
 FORK & JOIN;
 Problemas de Compartilhamento;
 read (SALDO);
 read (OPERACAO);
 SALDO = SALDO + OPERACAO;
 write (SALDO).
Comunicação

 Comunicação entre processos:


 Condição de Corrida;
 Especificação da concorrência.
 Região Crítica;
 Área de controle do código.
 Exclusão Mútua;
 Mecanismo fundamental de solução.
Comunicação

 Comunicação entre processos:


 Soluções de Hardware:
 Desabilitando interrupções – protege a região
crítica de sinais;
 Instrução test-and-set – variável booleana
testada para acesso de região crítica;
 boolean BLOCK;
 boolean AUTH_1;
 AUTH_1 = true;
 while (AUTH_1) do
 test_and_set (AUTH_1, BLOCK);

 REGIAO_CRITICA_1;
 BLOCK = false;
Comunicação

 Comunicação entre processos:


 Soluções de Software:
 Primeiro Algoritmo – variável global char (TURN);
 Segundo Algoritmo – variáveis globais boolean
(teste antecipado):
 Terceiro Algoritmo – teste retardado:
 Quarto Algoritmo – tempo aleatório;
 Algoritmo de Dekker;
 Algoritmo de Peterson;
 Algoritmo de Exclusão Mútua de N Processos.
 Sincronização Condicional.
Problemas Clássicos

 Problemas Clássicos:
 Produtor / Consumidor;
 Banquete dos Filósofos;
 Barbeiro Dorminhoco.
 Primitivas SLEEP / WAKEUP;
 Semáforo;
 Monitores;
 Troca de Mensagens.
Problemas Clássicos

 Deadlocks (impasse);
 Exclusão mútua;
 Espera por recurso;
 Não preempção;
 Espera circular.
 Prevenção;
 Detecção;
 Correção.

Você também pode gostar