Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistema Operacional Gerência de Processos Prof. Esp. Jairo Luciano Rêgo jairo.rego@pro.unifacs.br Objetivos • Definir Processos e outros termos relacionados • Compreender o Ciclo de Vida do Processo • Identificar as informações importantes para o chaveamento de contexto Tópicos • Introdução • Estados do Processo • Gerenciamento do Processo • Descritores de Processos • Operações sobre Processos • Hierarquia de Processos Definição • O que é um Processo? o Um conjunto de instruções e dados (Programas) que estão sendo executadas pelo sistema operacional, ou seja é um “programa em execução” (Silberschatz, Tanenbaum) • Processos são entidades independentes entre si, mas concorrem aos mesmos recursos do computador. Espaço de endereço • Cada processo tem seu próprio espaço de endereço que normalmente consiste em o Uma região onde fica armazenado o código o A região de dados onde ficam as variáveis e a memória alocada dinamicamente o A região de pilha armazena instruções e variáveis locais para chamadas ativas de procedimento Gerenciamento de Processo • Para permitir que vários processos executem em uma máquina com um processador, é necessário que o Sistema Operacional intercale a execução dos processos assegurando cuidadosamente para que nenhum erro ocorra. Ciclo de vida do processo • É papel do Sistema Operacional assegurar que cada processo receba uma quantidade suficiente de tempo do processador • Em geral há um número muito maior de processos a executar do que o número de processador na máquina • Daí, em algum instante um processo pode estar em execução ou pode estar aguardando em uma fila a sua vez de executar Estados do Processo • O sistema operacional em geral organiza uma lista para os processos Prontos e para os processos Bloqueados • A lista de processos Prontos em geral apresenta os processos em ordem de prioridade para que sejam o próximo a ser executado pelo processador • Já a lista de bloqueados não apresenta prioridade, uma vez que os bloqueados não se tornam prioritariamente bloqueados ou desbloqueados Estados do Processo Estados do Processo Gerenciamento de Processo -- Estado -- Gerenciamento de Processo -- Transição -- • O processo utiliza o processador por um intervalo de tempo, denominado Quantum Gerenciamento de Processo -- Transição -- Gerenciamento de Processo -- Transição -- Gerenciamento de Processo -- Transição -- Bloqueado Blocos de Controle do Processo (PCB) • Quando um sistema operacional inicia um processo, ele executa diversas tarefas • Primeiro, ele deve conseguir identificar o processo, daí cada processo recebe o Número de Identificação de Processo (PID – Process Identification Number) • Em seguida o processo cria o Bloco de Controle do Processo (PCB), também denominado Descritor do Processo Bloco de Controle do Processo (PCB) • O PCB apresenta as seguintes informações o PID o Estado do Processo o Contador de programa • Aponta para a próxima instrução a ser executada o Prioridade de Escalonamento o Ponteiro (Dados) para o processo pai o Ponteiro (Dados) para os processos filhos o Ponteiros (Dados) para localizar dados e instruções na memória o Ponteiros (Dados) para recursos alocados (arquivos abertos por exemplo) Operações sobre processo • Os sistemas operacionais devem ser capazes de executar algumas operações sobre os processos, dentre elas o Criar o Destruir o Suspender o Retomar o processo o Alterar a prioridade Hierarquia de Processos • Um processo pode gerar um novo processo • Daí origina-se a relação processo-pai e processo-filho • Isso leva a organização hierárquica de processos • Exemplos o Em geral existe um processo maior o No núcleo, são executados uma série de outros processos o Ao se autenticar, é criado um processo contento o Shell para interação com o usuário o A partir do Shell, outros processos podem ser executados Interrupções • É um mecanismo que permite o software responder a sinais do hardware. Podem ser: Interrupções síncronas (chamadas de desvios / traps) disparadas pelo processador como resposta a alguma instrução do processo, por exemplo: o Quando um processo tenta executar uma operação ilegal o Ao tentar fazer uma divisão por zero o Ao tentar acessar um espaço de memória protegido Interrupções assíncronas disparadas por algum evento independente da instrução do processador: o Quando um dispositivo de hardware emite interrupção para indicar sua mudança de status o Um teclado ao avisar que uma tecla foi pressionada o Um mouse quando é movimentado e clicado Processos -- Criação -- Processos -- Execução -- Processos -- Finalização -- Atividade
Compartilhar