so 01 - processos

13
b 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

Upload: christopher-cerqueira

Post on 29-Jan-2018

28 views

Category:

Education


1 download

TRANSCRIPT

Page 1: So   01 - processos

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

Page 2: So   01 - processos

Mission Simulation LabHICEE

01 - Gerenciamento de ProcessosSistemas operacionais

Christopher Shneider Cerqueira

Page 3: So   01 - processos

Mission Simulation LabHICEEOverview

▪ Processos

▪ Conceitos

▪ Criação

▪ Termino

▪ Estados

▪ Comunicação entre Processos (part1)

▪ Prox.: Comunicação entre Processos (part2/3), Threads, Escalonamento

Page 4: So   01 - processos

Mission Simulation LabHICEEMission Simulation LabHICEE

Conceitos de Processos

Page 5: So   01 - 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.

Page 6: So   01 - processos

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)

Page 7: So   01 - processos

Mission Simulation LabHICEEEstados

▪ 1 – boqueia esperando recursos

▪ 2/3 – Preempção do escalonador

▪ 4 – Ocorre após um evento externo

Processo

“Agendador”

Page 8: So   01 - processos

Mission Simulation LabHICEEMission Simulation LabHICEE

Comunicação interprocessos

Page 9: So   01 - processos

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

Page 10: So   01 - processos

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

Page 11: So   01 - processos

Mission Simulation LabHICEEO que é o ideal?!

Page 12: So   01 - processos

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

Page 13: So   01 - processos

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