Processos
-
Upload
rodrigo-piovesana -
Category
Business
-
view
6.169 -
download
2
description
Transcript of 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
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!
Processo
Ambiente onde é executado um programa.
Elemento ativo. Altera seu estado.
Seqüência de instruções.
Processo
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.
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
Hierarquias de Processos
P1
P3P4P2
P5 P6 P7 P8 P9 P10
Inicial
Criados por P1
Criados pelos filhos de P1
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).
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
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.
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.
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
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
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.
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).
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
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)
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.
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.
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.
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.
Sistema em lote
Usuário 1
•JOB1
•JOB2
Usuário 2
•JOB1
•JOB2
Usuário 3
•JOB1
•JOB2
Algorítmo de Escalonamento
Algorítmo
•Imparcial
•Eficiência
•Resposta (usuários interativos)
•Turnaround (usuário de lote)
•Throughput
Algorítmo de Escalonamento
Algum ITEM sempre vai ser penalizado!
Não há como atender todos os quesitos sem penalizar outros..
•TEMPO
•Armazenar todas as informaçõespara realizar a troca
Round Robin
•Fatores Externos
•Estático ou dinâmicoPrioridade
•Classes de prioridadeMúltiplas
Filas
•Job mais Curto
•Garantido
•Sorteio
Algoritmosem Lote
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.
Bloco de Controle de Processos
Ponteiros
Estado do Processo
Nome do Processo
Propriedade do Processo
Registradores
Limites de memória
Lista de arquivos abertos
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).
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
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.
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;
Operações sobre processos
Retorno ou Ativação do Processo:
Reiniciar a partir do ponto em que haviasido suspenso.
Salvamento do contexto
Operações sobre processos
Alteração de Prioridade do Processo:
Alterar o conteúdo de prioridades nodescritor de 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.
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.