O documento apresenta conceitos básicos de sistemas operacionais sobre gerenciamento de processos, incluindo a criação e término de processos, seus estados, e formas de comunicação entre processos, como exclusão mútua e semáforos.
Mission Simulation Lab
HICEEConceitos
▪O que é um processo?
▪ Instância de um aplicativo com
definições de registradores,
variáveis e contadores de
programa.
▪ Processo >> programa
▪ Necessidade: Programas
precisam de atividades
ocorrendo concorrentemente
▪ CPUs com vários núcleos.
6.
Mission Simulation Lab
HICEEAtividadescom Processos
Criar um Processo:
▪ Quatro eventos que criam um processo:
▪ Início do sistema
▪ Execução de uma chamada de criação por
outro processo
▪ Processo pai Processo filho
▪ Requisição do usuário
▪ Inicio de uma tarefa em lote
Terminar um Processo
▪ Eventos que causam o fim de um
processo:
▪ Saída Normal
▪ Erro
▪ Erro fatal (Falha)
▪ Cancelamento por outro processo (kill)
7.
Mission Simulation Lab
HICEEEstados
▪1 – boqueia esperando recursos
▪ 2/3 – Preempção do escalonador
▪ 4 – Ocorre após um evento externo
Processo
“Agendador”
Mission Simulation Lab
HICEE
▪Trocade informações via acesso a recursos
▪3 tópicos:
▪Como um processo passa informação para outro
▪Como garantir que dois processos não entrem em conflito
▪Sequência em caso de dependências
10.
Mission Simulation Lab
HICEECondiçãode disputa (corrida)
▪ Múltiplos processos disputando um recurso
▪ Ex.: Impressora
Exclusão Mútua: apenas um
processo pode acessar a área
Seções (Regiões) Críticas:
recurso compartilhado
Solução: Garantir que os dois
processo não entrem na região
crítica ao mesmo tempo
App
Exemplo
Mission Simulation Lab
HICEEPossibilidades
Desabilitaras Interrupções:
Ideia: desabilita int, entra na região, sai da região, habilita int
Problemas: pode nunca sair, não funciona em multicores
Variável de Bloqueio:
Ideia: testa trava, se for 0, altera pra 1, depois altera para 0.
Problema: disputa pela trava
Alternância Estrita (edge):
Ideia: testa trava, se for 0, espera ir pra 1, depois altera para 0.
Problema: espera-processando, processos lentos podem demorar a voltar o valor
Solução de Peterson:
Ideia: tabela de interesse por um recurso de cada processo
Problema: espera-processando , se ambos mostrarem interesse juntos, o que colocar
por último vai entrar primeiro
TSL (Test and Set Lock):
Ideia: instrução é atômica e trava o acesso do barramento de memória
Problema: espera-processando
13.
Mission Simulation Lab
HICEESemáforos
▪Problema da espera ativa
▪ Sleeps and wake-ups..
▪ Utilização de uma variável semáforo que
▪ Incrementa (up), decrementa (down)
▪ Decrementa, se é zero, dorme... Senão, entra na região crítica
▪ Incrementa, se max, dorme... Senão, entra na região crítica
http://rea.lasdpc.icmc.usp.br/pt/reas/
App Exemplo