Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Alessandro D. R. Fazenda http://www.alessandrofazenda.com.br
2
Processos ◦ Modelos de processos ◦ Início ◦ Término Threads ◦ Modelos de threads ◦ Usos de threads
3
Processos são softwares que executam alguma ação e que podem ser controlados de alguma maneira, seja pelo usuário, pelo aplicativo correspondente ou pelo sistema operacional. É constituído por uma seqüência de instruções, um conjunto de dados e um registro descritor.
4
Todo o processo é criado por um processo existente executando uma chamada ao sistema de criação de processo; Tanto no Windows como no Unix, depois de um processo filho criado, o pai e o filho têm seus próprios e distintos espaços de endereçamento de memória; É possível o compartilhamento de recursos entre o pai e o filho.
5
(a) Multiprogramação de quatro programas (b) Modelo conceitual de 4 processos seqüenciais independentes (c) Um programa está ativo a cada momento
6
Eventos que levam a criação de processos: ◦ Início do sistema. ◦ Execução de chamada de criação de processo por um processo em execução. ◦ Requisição do usuário para criar um novo processo. ◦ Início de uma tarefa em lote (batch job).
7
Condições que levam ao término dos processos: ◦ Saída normal (voluntária). ◦ Saída por erro (voluntária). ◦ Erro fatal (involuntário). ◦ Cancelamento por outro processo (involuntário).
8
Thread é um fluxo de execução dentro do processo. Multithread é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. ◦ Existe dentro de um processo e usa os recursos do processo ◦ Tem o seu próprio fluxo de controle independente enquanto existir o processo pai e o SO dá suporte a ele ◦ Pode compartilhar os recursos do processo com outros threads igualmente independentes ◦ Morre se o seu processo pai morrer.
9
Cada thread tem seu próprio controle, mas compartilha o mesmo espaço de endereçamento do processo em que foi criada. Se duas threads executam o mesmo procedimento/método, cada uma terá a sua própria cópia das variáveis locais. As threads podem acessar todas os dados globais do programa.
10
Programação com Threads é mais complexa que a programação seqüencial, pois o programador: ◦ não sabe em que ordem as threads irão executar ◦ mas precisa controlar o acesso concorrente a variáveis e/ou estruturas de dado compartilhadas
11
(a) Três processos cada um com uma thread (b) Um processo com três threads
13
Processador de texto com 3 threads
14
Servidor de páginas de Internet
15
Alessandro D. R. Fazenda http://www.alessandrofazenda.com.br
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.