Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais PROCESSOS E THREADS Ana Cristina A. Oliveira Dantas ana.oliveira@ifpb.edu.br IFPB – Instituto Federal da Paraíba Campus Campina Grande Eixo Temático Processos Threads Comunicação interprocessos Escalonamento PROCESSOS E THREADS 2 Processos PROCESSOS E THREADS 3 Definição “Um programa em execução” Um processo tem seu próprio espaço de endereço, que consiste em: ◦ Região de texto ◦ Armazena o código que o processador executa ◦ Região de dados ◦ Armazena variáveis e memória alocada dinamicamente ◦ Região de pilha ◦ Armazena instruções e variáveis locais para chamadas ativas ao procedimento PROCESSOS E THREADS 4 Introdução Os computadores executam várias operações ao mesmo tempo Compilar um programa, enviar um arquivo para a impressora, exibir uma página Web, reproduzir músicas e receber mensagens de correio eletrônico Os processos permitem que os sistemas executem e monitorem atividades simultâneas. Os processos transitam entre estados de processo. Os sistemas operacionais executam operações sobre os processos Criar, destruir, suspender, retomar e acordar PROCESSOS E THREADS 5 Processos O Modelo de Processo (a) Multiprogramação de quatro programas (b) Modelo conceitual de 4 processos sequenciais, independentes (c) Somente um programa está ativo a cada momento PROCESSOS E THREADS 6 Criação de Processos Principais eventos que levam à criação de processos 1. Início do sistema 2. Execução de chamada ao sistema de criação de processos 3. Solicitação do usuário para criar um novo processo 4. Início de um job em lote PROCESSOS E THREADS 7 Término de Processos Condições que levam ao término de processos 1. Saída normal (voluntária) 2. Saída por erro (voluntária) 3. Erro fatal (involuntário) 4. Cancelamento por um outro processo (involuntário) PROCESSOS E THREADS 8 Hierarquias de Processos Pai cria um processo filho, processo filho pode criar seu próprio processo Formam uma hierarquia ◦ UNIX chama isso de “grupo de processos” Windows não possui o conceito de hierarquia de processos ◦ Todos os processos são criados iguais PROCESSOS E THREADS 9 Hierarquia de Processos no Linux PROCESSOS E THREADS 10 Estados de Processos: Ciclo de Vida Estado “em execução” ◦ O processo está sendo executado em um processador Estado “de pronto” ◦ O processo poderia ser executado em um processador se houvesse algum disponível Estado “bloqueado” ◦ O processo está aguardando a ocorrência de algum evento para prosseguir PROCESSOS E THREADS O SO mantém uma lista de prontos e uma lista de bloqueados para armazenar referências a processos que não estão sendo executados. 11 Estados de Processos Possíveis estados de processos em execução bloqueado pronto Transições entre os estados PROCESSOS E THREADS 12 Sobre os Estados de Processo Despacho ◦ Designar um processador ao primeiro processo da lista de prontos é denominado Temporizador de CPU ou quantum ◦ Intervalo de tempo específico para que um processo seja executado Multitarefa cooperativa ◦ Permite que todo processo seja executado até o fim. PROCESSOS E THREADS 13 Sobre os Estados de Transição 1. Quando um processo é despachado, ele transita de pronto para em execução 2. Quando o quantum de um processo expira, ele transita de em execução para pronto 3. Quando um processo é bloqueado, ele transita de em execução para bloqueado 4. Quando um evento ocorre, ele transita de bloqueado para pronto PROCESSOS E THREADS 14 Estados de Processos Camada mais inferior de um SO estruturado por processos ◦ trata interrupções, escalonamento PROCESSOS E THREADS 15 Suspender e Retomar Processos Suspender O processo é retirado indefinidamente da disputa por tempo em um processador, sem ser destruído É útil para detectar ameaças à segurança Pode ser iniciado pelo processo que está sendo suspenso ou por outro processo O processo suspenso precisa ser retomado por outro processo Existem dois estados de suspenso: Suspenso-pronto Suspenso-bloqueado PROCESSOS E THREADS 16 Transições de Estado com Suspensão e Retomada PROCESSOS E THREADS Pronto Bloqueado Em execução Suspenso- bloqueado Suspenso- pronto Conclusão de E/S ou conclusão de evento Estados ativos Estados inativos R e to m a r Conclusão de E/S ou conclusão de evento S u s p e n d e r S u s p e n d e r R e to m a r 17 Gerência de Processos Criar processos Destruir processos Suspender processos Retomar processos Mudar a prioridade de um processo Bloquear processos Acordar (ativar) processos Despachar processos Capacitar os processos à comunicação interprocessos (IPC) PROCESSOS E THREADS 18 Bloco de Controle de Processo (PCB) ou Descritor de Processo PCBs Mantêm as informações que o sistema operacional precisa para gerenciar o processo Tabela de processos Mantém apontadores para cada PCB do processo no âmbito total do sistema ou por usuário Permite acesso rápido aos PCBs Quando um processo é encerrado, a tabela de processos retira o processo da tabela e disponibiliza todos os seus recursos PROCESSOS E THREADS 19 Tabela de Processos e PCBs PROCESSOS E THREADS 20 Implementação de Processos PROCESSOS E THREADS Campos da entrada de uma tabela de processos 21 Chaveamento de Contexto Interrompe um processo em execução e começa a executar um processo previamente pronto Salva o contexto de execução do processo em execução no PCB desse processo Carrega o contexto de execução anterior do processo pronto em seu PCB correspondente Transparente aos processos A CPU não pode realizar nenhuma computação “útil” neste momento Deve-se diminuir, portanto, o tempo de chaveamento de contexto PROCESSOS E THREADS 22 Chaveamento de Contexto PROCESSOS E THREADS 23 Interrupções Habilitam o software a responder a sinais do hardware Podem ser iniciadas por um processo em execução: É denominada desvio (trap) É considerada síncrona em relação à operação do processo Ex.: uma interrupção é lançada quando um processo tenta realizar uma ação ilegal, como dividir por zero ou referir-se a uma região de memória protegida Podem ser iniciadas por algum evento relacionado ou não ao processo em execução: Nesse caso, é considerada assíncrona em relação à operação do processo Exemplo: pressionar uma tecla ou mover o mouse PROCESSOS E THREADS 24 Interrupções A sondagem (polling) é uma abordagem alternativa ◦ O processador solicita repetidamente o status de cada dispositivo ◦ Visto que a complexidade do sistema aumenta, o esforço também aumenta PROCESSOS E THREADS 25 Bibliografia ANDREW S. TANENBAUM. Sistemas Operacionais Modernos. Editora Prentice-Hall, 2ª Edição, 2003. ISBN: 8587918575 ◦ Capítulo 2: Processos e Threads DEITEL & CHOFFNES. Sistemas Operacionais. Editora Prentice-Hall, 3ª Edição, 2005. ISBN: 8576050110. ◦ Capítulo 3: Conceito de processos PROCESSOS E THREADS 26
Compartilhar