Mission Simulation Lab
HICEE
Mission Simulation Lab
HICEE
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:591
Mission Simulation Lab
HICEE
01 - Gerenciamento de
Processos
Sistemas operacionais
Christopher Shneider Cerqueira
Mission Simulation Lab
HICEEOverview
▪ Processos
▪ Conceitos
▪ Criação
▪ Termino
▪ Estados
▪ Comunicação entre Processos (part1)
▪ Prox.: Comunicação entre Processos (part2/3), Threads, Escalonamento
Mission Simulation Lab
HICEE
Mission Simulation Lab
HICEE
Conceitos de Processos
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.
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)
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
Mission Simulation Lab
HICEE
Comunicação interprocessos
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
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
Mission Simulation Lab
HICEEO que é o ideal?!
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
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

So 01 - processos

  • 1.
    Mission Simulation Lab HICEE MissionSimulation Lab HICEE 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:591
  • 2.
    Mission Simulation Lab HICEE 01- Gerenciamento de Processos Sistemas operacionais Christopher Shneider Cerqueira
  • 3.
    Mission Simulation Lab HICEEOverview ▪Processos ▪ Conceitos ▪ Criação ▪ Termino ▪ Estados ▪ Comunicação entre Processos (part1) ▪ Prox.: Comunicação entre Processos (part2/3), Threads, Escalonamento
  • 4.
    Mission Simulation Lab HICEE MissionSimulation Lab HICEE Conceitos de Processos
  • 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 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”
  • 8.
    Mission Simulation Lab HICEE MissionSimulation Lab HICEE Comunicação interprocessos
  • 9.
    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
  • 11.
  • 12.
    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