Parte II - Sistemas Operacionais Cap. 2 - Processos (1)

Propaganda
Arquitetura
de Computadores
Moderna
Slide
Arquitetura de Computadores Moderna
Parte II - Sistemas Operacionais
Processos - Motivação
Slide
Arquitetura de Computadores Moderna
! Necessidade de gerenciamento dos programas
instanciados para execução
! Multiprogramação
• Pseudo-paralelismo
Cap. 2 - Processos (1)
! Multiprocessamento
! Modelo de processo
• Processos sequenciais
Prof. Marcelo Moreno
• Programa em execução acompanhado de seus valores
[email protected]
para contador de programa, registradores e variáveis
• CPU troca de um processo para outro
Dep. Ciência da
Computação
Dep. Ciência da
Computação
Multiprogramação
Slide
Arquitetura de Computadores Moderna
Processos
Slide
Arquitetura de Computadores Moderna
! Alternância de processos
• Comandada pelo escalonador de processos do
sistema operacional
• Não somente processos de usuário desejam utilizar
CPU
• Eventos assíncronos do sistema necessitam
tratamento de processamento
! Relação Programa x Processo
• Receita de bolo x Fazer o bolo
• Multiprogramação?
Dep. Ciência da
Computação
Dep. Ciência da
Computação
Criação de processos
Slide
Arquitetura de Computadores Moderna
! Principais eventos que levam à criação de processos
Término de Processos
Slide
Arquitetura de Computadores Moderna
! Condições que levam ao término de processos
• Início do sistema
• Saída normal (voluntária)
• Execução de chamada ao sistema de criação de processos
• Saída por erro (voluntária)
• Solicitação do usuário para criar um novo processo
• Erro fatal (involuntário)
• Início de um job em lote
• Cancelamento por um outro processo (involuntário)
! Independente do caso, chamada de sistema para criação
do processo
• fork(), CreateProcess()
• Espaços de endereçamento distintos
Dep. Ciência da
Computação
Dep. Ciência da
Computação
Hierarquia de Processos
Slide
Arquitetura de Computadores Moderna
Estados de Processos
Slide
! Pai cria um processo filho, processo filho pode
criar outros processos
! Alguns sistemas formam uma hierarquia
cat chapter1 chapter2 chapter3 | grep tree
• UNIX chama isso de “grupo de processos”
• Windows não possui o conceito de hierarquia de
processos
– Todos os processos são criados em mesmo nível
Dep. Ciência da
Computação
Arquitetura de Computadores Moderna
Dep. Ciência da
Computação
Estados de Processos
Slide
Arquitetura de Computadores Moderna
Implementação de Processos
Slide
Arquitetura de Computadores Moderna
! Tabela de processos
! Estrutura processo
Dep. Ciência da
Computação
Dep. Ciência da
Computação
Implementação de Processos
Slide
! Vetor de Interrupções
Arquitetura de Computadores Moderna
Threads
Slide
Arquitetura de Computadores Moderna
! Processo agrupa recursos para uma linha de
execução (thread)
• Uma thread possui um contador de programa
• É possível termos várias threads compartilhando
recursos de um mesmo processo?
! Programação multithread
! Modelo de Threads
• Compartilham o mesmo espaço de endereçamento
• Lightweight Processes - processos leves
Dep. Ciência da
Computação
Dep. Ciência da
Computação
Processos x Threads
Slide
Arquitetura de Computadores Moderna
Dep. Ciência da
Computação
Processos x Threads
Slide
Dep. Ciência da
Computação
Modelo de Thread
Slide
Dep. Ciência da
Computação
Arquitetura de Computadores Moderna
Arquitetura de Computadores Moderna
Uso de Threads
Slide
Dep. Ciência da
Computação
Arquitetura de Computadores Moderna
Uso de Threads
Slide
Arquitetura de Computadores Moderna
Dep. Ciência da
Computação
Uso de Threads
Slide
Dep. Ciência da
Computação
Uso de Threads
Slide
Dep. Ciência da
Computação
Arquitetura de Computadores Moderna
Arquitetura de Computadores Moderna
Implementação - Threads de Usuário
Slide
Dep. Ciência da
Computação
Arquitetura de Computadores Moderna
! Vantagens
• Trocas de contexto no espaço do
usuário
• Escalonamento é procedimento
local
• Escalonador personalizado
• Escalabilidade
! Desvantagens
• Chamadas ao sistema com bloqueio
• Thread deve liberar CPU
explicitamente
• Threads são úteis para aplicações
com bloqueio (I/O bound)
• Pouco desempenho para aplicações
CPU bound
Implementação - Threads de Núcleo
Slide
Arquitetura de Computadores Moderna
Implementação - Threads híbridas
Slide
! Vantagens
• Não é necessário um supervisor
• Tabela de processos estendida
• Escalonamento de threads
• Chamadas ao sistema com bloqueio
! Desvantagens
• Velocidade para criar/destruir uma
thread
• Trocas de contexto
• Escalabilidade
Dep. Ciência da
Computação
Dep. Ciência da
Computação
Arquitetura de Computadores Moderna
Download