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

Post on 18-Apr-2015

107 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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)

Ciclo de vida de um processo

Criação

Execução

Término

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)

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!

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)

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

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

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)

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

Modelo Simplificado de Dois Estados

Apto Executando

Dispatcher

Pausa

Criação Término

Modelo de cinco estados

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

Bloqueado

Interrupção tempo voluntário

seleção

call system

Modelo de cinco estados

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

externos (bloqueado) Necessidade de filas!

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)

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)

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

Estrutura de SO

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

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.

Monolíticos

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.

Sistemas Camadas

Máquinas Virtuais

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

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.

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).

Modelo Cliente-Servidor

Próxima aula

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

top related