Processos

37
Processos [email protected] 2010

description

Aula sobre Processos, livro Sistemas operacionais modernos - Andrew Tanenbaum.

Transcript of Processos

Page 2: Processos

Processos

Todos computadores modernos podem executar várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador também pode estar lendo a partir de um disco e dando saída a um texto para uma tela ou impressora.

A CPU executa N funções ao “mesmo tempo”, mas como executar N funções ao “mesmo tempo” se só temos uma CPU???

Processos seqüenciais e multiprogramação

[email protected]

Page 3: Processos

Processos

Diferenciação entre o programa e a sua execução

ProgramaEntidade estática e permanente

Seqüência de instruções

Passivo sob o ponto de vista do sistema operacional

ProcessoEntidade dinâmica e efêmera

Altera seu estado a medida que avança sua execução

Composto por programa, dados e contexto.

Analogia entre cozinheiro e a receita!

[email protected]

Page 4: Processos

Processo

Ambiente onde é executado um programa.

Elemento ativo. Altera seu estado.

Seqüência de instruções.

Page 5: Processos

Processo

Page 6: Processos

Hierarquia de Processos

Tempo Real x Sistemas Domésticos

Um processo pode criar outros processos. Criando uma estrutura de árvore para representá-la.

Cada ramo da árvore é um processo.

Page 7: Processos

ProcessoUm mesmo programa sendo executado por dois usuários ao mesmo tempo, são dois processos em execução.

Editor de Texto

Processo 1 Usuário 1

Processo 2 Usuário 2

Page 8: Processos

Hierarquias de Processos

P1

P3P4P2

P5 P6 P7 P8 P9 P10

Inicial

Criados por P1

Criados pelos filhos de P1

Page 9: Processos

Hierarquia de Processos

No UNIX os processos são criados pela chamada de sistema FORK, cujos processos rodam em paralelo.

No MS-Dos o processo-pai espera pelo

filho.(chamada p/carregar arquivo binário).

Page 10: Processos

Estados do Processo

Um processo passa por uma série de estados diferentes durante sua existência.

A mudança de estado é causada por uma série de eventos.

cat capitulo1 capitulo2 capitulo3 | grep arvore

Page 11: Processos

Estados do Processo

Após ser criado um processo entra em um ciclo de CPU. (executa...espera...executa..)

Para dividir o uso da CPU entre os processos os demais

devem ficar bloqueados.

Page 12: Processos

Estados do Processo

Executando:Usando a CPU.

Pronto: Em condições de Rodar (não tem CPU)

Bloqueado: Impedido de Rodar, depende de um evento

externo ao processo.

Page 13: Processos

Estados do Processo

executando

BloqueadoPronto

1

4

3

2

1 - Processo bloqueado para fazer entrada de dados.

2 - Escalonador escolhe novo processo.

3 - Escalonador entrega Processador a esse novo processo.

4 - Entrada de dados concluída.

externo

novamenteS/condição

tempo

Page 14: Processos

Estados do Processo - Transição

executando

BloqueadoPronto

1

4

3

2

1 - execução -> bloqueado. (processo)

2 -Execução -> pronto. (escalonador)

3 - Pronto ->execução (escalonador)

4 - bloqueado -> pronto. (externo)

WakeUP

DispathBlock

TimeRunOut

Page 15: Processos

Processo

Escalonador de Processos

Decide qual processo vai rodar e por quanto tempo.

É uma rotina executada sem que o processo tome

conhecimento.

É o nível mais baixo do Sistema Operacional

Gerenciador de interrupções ou responsável pela

comunicação interprocessos.

Page 16: Processos

Processo

Contexto de Hardware

Conteúdo dos Registradores PC(program counter),

SP(stack pointer) e bits de estado.

Fundamental para sistemas de time-sharing

(revezamento na utilização do processador).

A troca de processos na CPU (context switching -

mudança de contexto).

Page 17: Processos

Processo - Mudança de Contexto

Processo A Processo B

Salva registradores do P.A.

Carrega registrador do P.B.

Salva Registrador do P.B.

Carrega Registrador do P.A.

executando

executando

executando

Page 18: Processos

Processo

Contexto de Software

Especifica características do processo que vão influir na

sua execução.

Identificação (PID-Process Identification)

Quotas (limite de recursos que pode alocar)

Privilégios (segurança, acesso)

Page 19: Processos

SubProcesso

Permite dividir uma aplicação em partes para poder trabalhar de forma concorrente.

Aumento do throughput da aplicação.

Cada subprocesso tem seu contexto de hardware,

contexto de software e espaço de endereçamento.

Page 20: Processos

Threads

Compartilham o processador da mesma forma que o processo

Compartilham o mesmo espaço de endereçamento,

permitindo que um thread possa alterar dados de

outro thread.

O SO pode ou não estar ciente do uso de threads, se

está ciente o SO possui uma tabela de threads.

Acelera o processo para pequenas tarefas.

Page 21: Processos

Comunicação

Um processo pode passar informação para o outro (pipeline | )

Para não gerar conflito de recurso

Sequencia. “A” produz resultados para “B” imprimí-los.

Page 22: Processos

Escalonamento

Quem vai primeiro? O SO determina baseado no algorítmo de escalonamento.

Sistemas em Lote?

O primeiro usuário que chegou usa o recurso.

Page 23: Processos

Sistema em lote

Usuário 1

•JOB1

•JOB2

Usuário 2

•JOB1

•JOB2

Usuário 3

•JOB1

•JOB2

Page 24: Processos

Algorítmo de Escalonamento

Algorítmo

•Imparcial

•Eficiência

•Resposta (usuários interativos)

•Turnaround (usuário de lote)

•Throughput

Page 25: Processos

Algorítmo de Escalonamento

Algum ITEM sempre vai ser penalizado!

Não há como atender todos os quesitos sem penalizar outros..

Page 26: Processos

•TEMPO

•Armazenar todas as informaçõespara realizar a troca

Round Robin

•Fatores Externos

•Estático ou dinâmicoPrioridade

•Classes de prioridadeMúltiplas

Filas

Page 27: Processos

•Job mais Curto

•Garantido

•Sorteio

Algoritmosem Lote

Page 28: Processos

Bloco de controle de processos

Process Control Block - PCB

Também conhecido como descritor de processos,

É uma área de memória, localizada no núcleo do S.O.,que armazena as informações referentes a umprocesso.

Page 29: Processos

Bloco de Controle de Processos

Ponteiros

Estado do Processo

Nome do Processo

Propriedade do Processo

Registradores

Limites de memória

Lista de arquivos abertos

Page 30: Processos

Operações sobre processos

Operações básicas sobre processos:

Criar um processo;

Destruir um processo;

Suspender um processo;

Retornar (reativar) um processo;

Alterar a prioridade de um processo;

Bloquear um processo;

Desbloquear um processo (wakeup);

Despachar um processo (dispatch).

Page 31: Processos

Operações sobre processos

Criação do Processo:

Nomear o processo;

Inserir o processo na lista de processosconhecidos;

Determinar a prioridade inicial doprocesso;

Criar o descritor do processo;

Alocar os recursos iniciais do processo

Page 32: Processos

Operações sobre processos

Destruição do Processo:

Remover do sistema;

Retornar o controle dos recursos para oSistema Operacional;

Apaga os conteúdos das listas e tabelas;

Apaga o seu descritor.

Page 33: Processos

Operações sobre processos

Suspensão do processo:

Operação importante;

Realizada por breves períodos de tempo;

Para atender um momento de pico;

Pode liberar ou não os recursos;

Page 34: Processos

Operações sobre processos

Retorno ou Ativação do Processo:

Reiniciar a partir do ponto em que haviasido suspenso.

Salvamento do contexto

Page 35: Processos

Operações sobre processos

Alteração de Prioridade do Processo:

Alterar o conteúdo de prioridades nodescritor de processos.

Page 36: Processos

Operações sobre processos

Bloqueio de Processo:

Impedido de rodar até que ocorra umevento externo ao sistema;

Não pode rodar mesmo que oprocessador esteja disponível;

Sem condições lógicas de prosseguir.

Page 37: Processos

Operações sobre processos

Desbloqueio do Processo:

Quando acontece um evento externo peloqual o processo estava aguardando

Se nenhum processo estiver rodando já édisparado em seguida, caso contrário vaipara o estado de pronto.