Elementos de Informática Processos Curso Técnico em Redes de Computadores Prof. Emerson Felipe
O QUE É UM PROCESSO?
Definições Processo É um programa em execução Programa Código fonte que possui instruções a serem seguidas, e que ao serem executadas é chamada de processo.
Processo Um processo é composto de: Espaço de endereçamento texto (código binário) ; dados (variáveis); pilha; Entrada na tabela de processos
Criação e término de processos Principais eventos que levam a criação de processos: Início do sistema; Execução de uma chamada de sistema de criação de processo por um processo em execução; Uma requisição do usuário para criar um novo processo; Principais eventos que levam ao término de processos: Saída normal (voluntária); Saída por erro (voluntária); Erro fatal (involuntária); Cancelamento por um outro processo (involuntário).
Hierarquia de processos Em uma hierarquia de processos o primeiro processo é chamado de processo pai esse pode criar outros processos chamados de processos filhos que também podem criar outros processos que também são chamados de processos filhos. • Esse tipo de hierarquia de processos é utilizado pelo sistema operacional UNIX; • O Windows não possui hierarquia de processos, para ele todos os processos criados são iguais.
Estado dos processos Possíveis estados de processos: • Em execução; • Bloqueado; • Pronto. Transições válidas: • Pronto -> Em execução; • Em execução -> Pronto; • Em execução -> Bloqueado; • Bloqueado -> Pronto.
THREADS
Threads Os threads são processos leves que trabalham dentro de um processo comum, com o objetivo de colaborar na execução deste. Um processo pode possuir um ou mais threads e essa quantidade pode variar de programa para programa, ou conforme as solicitações realizadas pelo usuário para o programa. O thread ocupa o mesmo espaço de endereçamento e entrada na tabela de processos correspondente ao processo a quem pertence.
Threads A figura (a) apresenta três processos cada um com um thread. A figura (b) mostra um processo com três threads.
ESCALONAMENTO
Escalonamento Faz parte do Sistema Operacional e que o processo executará quando for necessário; Para realizar o agendamento dos processos ele utiliza um algoritmo de agendamento; Cada processo é único e imprevisível e isso dificulta o trabalho do agendador/escalonador; Há várias formas de escalonar um processo, aqui daremos ênfase ao escalonamento por prioridade.
Escalonamento Escalonamento por prioridade: A cada processo é atribuída uma prioridade, e o processo com maior prioridade recebe permissão para executar; O Sistema Operacional deve definir a quem atribuir prioridade ou o próprio usuário também pode definir; Existir mecanismos que impedem que um processo de alta prioridade possa executar constantemente sem dar chances para processos de menor prioridade.
Escalonamento A figura apresenta o escalonamento por prioridade.
MÁQUINAS VIRTUAIS
Máquinas Virtuais O uso de máquinas virtuais nos traz diversas vantagens, dentre elas estão: Praticidade; Gerenciamento centralizado; Economia de hardware; Economia de espaço; Economia de energia; Opções de backup; Menor custo com equipe de T.I. e etc.
Máquinas Virtuais A máquina virtual é um computador fictício que simula uma máquina real, onde a memória, o disco rígido e o processador são virtualizados. Exemplo: Virtual PC, VMware, VirtualBox, entre outros.
DÚVIDAS