Buscar

Aula 02

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais