Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 2 – Processos OBJETIVOS DA AULA Descrever as características de um processo Identificar os estados de um processo Diferenciar aplicativos e serviços PROCESSOS Instância de um programa em execução É a unidade de carga e alocação de uma tarefa Um programa é carregado para a memória principal, onde aloca-se uma área para código e dados PROCESSOS Conceito Para que a concorrência entre os programas ocorra é necessário que as informações do programa interrompido sejam guardadas para continuação do processamento posterirormente Estas informações são fundamentais para que o sistema operacional gerencie a execução concorrente de programas, base de um ambiente multiprogramável O processo é esse conjunto necessário de informações PROCESSOS Estrutura do Processo PROCESSOS Estrutura do Processo O processo é o ambiente onde um programa é executado O processo é formado por três partes que mantêm as informações necessários à execução de um programa Os estados de um processo representam sua situação atual, ao longo do seu processamento A mudança de estado é uma transição Um processo ativo pode assumir três diferentes estados: execução (running), pronto (ready), espera/bloqueado (wait) Além desses três, a maioria dos sistemas estabelece estados para os momentos de criação (novo) e eliminação (saída) PROCESSOS Estados do Processo PROCESSOS Estados do Processo: Modelo de 5 Estados NOVO Admissão Ocorrência do evento Dispatch Liberação Time-out Espera do evento PRONTO EXECUÇÃO FIM ESPERA PROCESSOS Estados do Processo: Transições INICIO PRONTO: ocorre apenas na admissão PRONTO EXECUÇÃO: ocorre quando o processo é selecionado para execução, segundo critérios pré-definidos pelo sistema operacional EXECUÇÃO PRONTO: ocorre quando o processo é interrompido e um novo processo será selecionado PROCESSOS Estados do Processo: Transições EXECUÇÃO ESPERA: ocorre quando o processo deve aguardar um recurso ESPERA PRONTO: ocorre quando a solicitação de recurso é atendida EXECUTANDO FIM: término do programa PROCESSOS Criação de um Processo Quando ocorre? Quando executamos um programa Quando um usuário acessa o sistema Quando um processo gera um processo-filho Atribui um identificador único => Aloca uma entrada na tabela de processos => Aloca espaço para o processo => Inicializa o PCB (Process Control Block) => Coloca o processo na fila apropriada => Cria estruturas auxiliares Quais são as etapas? PROCESSOS Troca de Contexto É a substituição do processo em execução Quando ocorre a preempção ou interrupção de algum tipo, ou mesmo que um processo solicita E/S, um novo processo é selecionado para execução (escalonado) O processo interrompido tem seu contexto salvo e o novo processo irá iniciar a execução, tendo seu contexto lido PROCESSOS Troca de Contexto Processos CPU-Bound (ligado à CPU): São processos que passam a maior parte do tempo em estado de execução, ou seja, utilizando o processador. Realizam poucas operações de E/S Processos I/O-Bound (ligado à E/S): São processos que passam a maior parte do tempo em estado de espera, pois realizam um elevado número de operações de E/S PROCESSOS Tipos de Processo: processamento que realizam Observem as diferenças nos gráficos abaixo: PROCESSOS Tipos de Processo: processamento que realizam Processos em foreground: Permite a comunicação direta do processo com o usuário durante sua execução. Em geral o canal de entrada está associado ao teclado/mouse e de saída a um monitor Processos em background: Não existe interação direta com o usuário. Os serviços ativos no Windows, por exemplo, são processos em segundo plano PROCESSOS Tipos de Processo: interação com o usuário Um processo Um thread Múltiplos processos Um thread por processo Um processo múltiplos threads Múltiplos processos Múltiplos threads por processo PROCESSOS THREADS: O que são? São fluxos de execução distintos dentro de um mesmo processo: PROCESSOS THREADS: Benefícios e características Capacidade de resposta: numa aplicação interativa, parte do programa pode continuar executando, enquanto outra parte está em espera, por exemplo, realizando uma operação de E/S Compartilhamento de recursos: compartilham o código, os dados e os arquivos do processo ao qual pertencem Economia: É muito mais rápido criá-las e permutar seus contextos, quando comparadas aos subprocessos Escalabilidade: realização em paralelo de threads de um mesmo processo em sistemas multiprocessados PROCESSOS THREADS: Benefícios e Características Compartilham o mesmo contexto de software e espaço de endereçamento com os demais, porém cada thread possui seu contexto de hardware O TCB (Thread Control Block) armazena o contexto de hardware e algumas informações exclusivas* ao thread (prioridade, estado e bits de estado) Disponível em http://www.training.com.br/sosim/ CRIAR PROCESSOS PROCESSOS Simulador SOSIM: Entendendo melhor PROCESSOS Simulador SOSIM: Entendendo melhor PROCESSOS Simulador SOSIM: Entendendo melhor
Compartilhar