processo entidade dinâmica e efêmera composto por altera seu estado à medida que avança sua...

25
Processo Entidade dinâmica e efêmera Composto por Altera seu estado à medida que avança sua execução Forma pela qual o SO “enxerga” um programa e possibilita sua execução Processos executam Programa (código) Dados e contexto (valores) Prog. de usuários Prog. do próprio SO (daemons)

Upload: internet

Post on 18-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Processo

Entidade dinâmica e efêmeraComposto por

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

Forma pela qual o SO “enxerga” um programa e possibilita sua execuçãoProcessos executam

Programa (código)

Dados e contexto (valores)

Prog. de usuários

Prog. do próprio SO (daemons)

Page 2: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Ciclo de vida de um processo

Criação

Execução

Término

Page 3: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Ciclo de vida de um processo

CriaçãoMomento da execuçãoChamadas de sistema (fork, spawn, etc)Podem ser associados a uma sessão de

trabalho (login de usuários) Identificado por um n° único (PID)

Page 4: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Ciclo de vida de um processo

ExecuçãoProcessos apresentam dois ciclos básicos de

operação: Ciclo de processador (tempo em que ocupa a

CPU) Ciclo de E\S (tempo em que espera pela

conclusão de um evento) Primeiro ciclo sempre é do processador!

Page 5: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Ciclo de vida de um processo

Execução:Troca de ciclo por:

CPU E\S: chamada de sistema E\S CPU: ocorrência de evento

(interrupção)Situação ideal – Misturar processos CPU

com E\S (Benefícios para escalonamento)

Page 6: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Ciclo de vida de um processo

Término:Final de execução normalPor erros (Ex.: Proteção, aritméticos, E\S,

tentativa de execução de instruções inválidas, falta de memória, exceder tempo de limite)

Intervenção de outros processos (kill)Log off de usuários

Page 7: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Relacionamentosentre processos Processos independentes – não

apresentam relacionamento com outros processos

Grupo de processos

Hierarquia

Representação através de uma árvore – evolução dinâmica

Algum tipo de relação (filiação)

Compartilham recursos

Definição de hierarquia

Processo criador é processo pai

Processo criado é processo filho

Page 8: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Estados de um processo

Após criado o processo necessita entrar em ciclo de processador

Existem algumas hipótesesProcessador não esta disponívelVários processos sendo criados

Que fazer?Criação de uma fila de aptos (para esperar

pelo processador)

Page 9: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Modelo Simplificado de Dois Estados Manter uma fila de processos aptos a

executar – esperando pelo processador ficar livre

Escalonador (Dispatcher)Atribui o processador a um processo da fila

de aptosPode prevenir um único processo de

monopolizar o processador

Page 10: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Modelo Simplificado de Dois Estados

Apto Executando

Dispatcher

Pausa

Criação Término

Page 11: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Modelo de cinco estados

términoCriação Apto Executando Destruição

Bloqueado

Interrupção tempo voluntário

seleção

call system

Page 12: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Modelo de cinco estados

Causas para um processo não executarEsperando pelo processadorEsperando pela ocorrência de eventos

externos (bloqueado) Necessidade de filas!

Page 13: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Mecanismos de Interrupção

Sinaliza a ocorrência de algum evento Provoca a execução de uma rotina

especial (tratador de interrupção) Ciclo de execução de uma interrupção:

1) Prepara a transferência de controle para o tratador (salvamento do contexto de execução)

2) Desvia controle para tratador3) Retorna execução (restaura contexto de

execução)

Page 14: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Tipos de Interrupção

Hardware: ocorrência de eventos externos Software: execução de uma instrução

específica Exceção: erros de execução (overflow)

Page 15: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Chamada de Sistema

Método empregado para um processo usuário solicitar serviços ao SO:

Normalmente baseado em interrupções de software (traps)

Aciona a rotina de tratamento de interrupções:1) Identifica serviço requisitado

2) Verifica validade dos parâmetros

3) Executa o serviço

4) Retorna ao processo do usuário

Page 16: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Estrutura de SO

Monolíticos Sistemas Camadas Máquinas Virtuais Modelo Cliente-Servidor

Page 17: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Monolíticos

Não há nenhuma estrutura, o SO é escrito como uma coleção de procedimentos. Ex.: Linux.

Pode ser comparado com uma aplicação formada por vários procedimentos que são compilados separadamente e linkados, formando um único e grande programa executável.

Page 18: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Monolíticos

Page 19: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Sistemas Camadas

Hierarquia de camadas construídas uma sobre a outra. Divide o SO em sistemas sobrepostos. Ex.: Minix.

A vantagem da estruturação em camadas é isolar o SO, facilitando sua alteração e depuração, além de criar uma hierarquia de níveis de modos, protegendo as camadas mais internas.

Page 20: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Sistemas Camadas

Page 21: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Máquinas Virtuais

Camada idêntica ao hardware que executa vários sistemas operacionais.

Page 22: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Modelo Cliente-Servidor

Remove código para camadas mais altas. Gerenciar processo cliente e processo servidor. Ex.: Windows NT.

Desta forma, sempre que uma aplicação deseja algum serviço ela solicita ao processo responsável, assim, a aplicação que solicita um serviço é chamada de cliente e o processo que responde é chamado de servidor.

Page 23: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Modelo Cliente-Servidor

A utilização deste modelo permite que os servidores executem em modo usuário.

Apenas o núcleo do sistema, responsável pela comunicação entre clientes e servidores, execute o modo kernel.

Não importa se o serviço esta sendo processado em um único processador, com múltiplos processadores (fortemente acoplado) ou em sistema distribuído (fracamente acoplado).

Page 24: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Modelo Cliente-Servidor

Page 25: Processo  Entidade dinâmica e efêmera  Composto por  Altera seu estado à medida que avança sua execução  Forma pela qual o SO “enxerga” um programa

Próxima aula

Processo x Concorrência Região Crítica e Exclusão Mútua