Mission Simulation LabHICEE
Mission Simulation LabHICEE
Ficha:
Nome: Sistemas Operacionais – 01 - Gerenciamento de Processos
Local: UNIFEI
Data: 201x-xx-xx – xxhxx xxhxx Duração: 30min
Público Alvo: Alunos de Graduação
6:59 1
Mission Simulation LabHICEE
01 - Gerenciamento de ProcessosSistemas operacionais
Christopher Shneider Cerqueira
Mission Simulation LabHICEEOverview
▪ Processos
▪ Conceitos
▪ Criação
▪ Termino
▪ Estados
▪ Comunicação entre Processos (part1)
▪ Prox.: Comunicação entre Processos (part2/3), Threads, Escalonamento
Mission Simulation LabHICEEMission Simulation LabHICEE
Conceitos de Processos
Mission Simulation LabHICEEConceitos
▪ 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.
Mission Simulation LabHICEEAtividades 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)
Mission Simulation LabHICEEEstados
▪ 1 – boqueia esperando recursos
▪ 2/3 – Preempção do escalonador
▪ 4 – Ocorre após um evento externo
Processo
“Agendador”
Mission Simulation LabHICEEMission Simulation LabHICEE
Comunicação interprocessos
Mission Simulation LabHICEE
▪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
Mission Simulation LabHICEECondiçã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
Mission Simulation LabHICEEO que é o ideal?!
Mission Simulation LabHICEEPossibilidades
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
Mission Simulation LabHICEESemá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
Top Related