A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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 e possibilita sua execução  Processos executam Programa (código) Dados e contexto (valores) Prog. de usuários Prog. do próprio SO (daemons)

2 Ciclo de vida de um processo  Criação  Execução  Término

3 Ciclo de vida de um processo  Criação  Momento da execução  Chamadas de sistema (fork, spawn, etc)  Podem ser associados a uma sessão de trabalho (login de usuários)  Identificado por um n° único (PID)

4 Ciclo de vida de um processo  Execução  Processos 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!

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

6 Ciclo de vida de um processo  Término:  Final de execução normal  Por 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

7 Relacionamentos entre 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

8 Estados de um processo  Após criado o processo necessita entrar em ciclo de processador  Existem algumas hipóteses  Processador não esta disponível  Vários processos sendo criados  Que fazer?  Criação de uma fila de aptos (para esperar pelo processador)

9 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 aptos  Pode prevenir um único processo de monopolizar o processador

10 Modelo Simplificado de Dois Estados AptoExecutando Dispatcher Pausa Criação Término

11 Modelo de cinco estados término CriaçãoAptoExecutando Destruição Bloqueado Interrupção tempo voluntário seleção call system

12 Modelo de cinco estados  Causas para um processo não executar  Esperando pelo processador  Esperando pela ocorrência de eventos externos (bloqueado)  Necessidade de filas!

13 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 tratador 3) Retorna execução (restaura contexto de execução)

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

15 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

16 Estrutura de SO  Monolíticos  Sistemas Camadas  Máquinas Virtuais  Modelo Cliente-Servidor

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

18 Monolíticos

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

20 Sistemas Camadas

21 Máquinas Virtuais  Camada idêntica ao hardware que executa vários sistemas operacionais.

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

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

24 Modelo Cliente-Servidor

25 Próxima aula  Processo x Concorrência  Região Crítica e Exclusão Mútua


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google