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.
5. 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
HICEEAtividades com 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”
9. Mission Simulation Lab
HICEE
▪Troca de 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ção de 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
12. Mission Simulation Lab
HICEEPossibilidades
Desabilitar as 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