Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Dispatcher Pausa Criação Término Apto Executando
11
Modelo de cinco estados
Criação Apto Executando Destruição Bloqueado Interrupção tempo voluntário seleção call system término
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: Prepara a transferência de controle para o tratador (salvamento do contexto de execução) Desvia controle para tratador 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: Identifica serviço requisitado Verifica validade dos parâmetros Executa o serviço 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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.