A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Alessandro D. R. Fazenda

Apresentações semelhantes


Apresentação em tema: "Alessandro D. R. Fazenda"— Transcrição da apresentação:

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

12

13  Processador de texto com 3 threads

14  Servidor de páginas de Internet

15 Alessandro D. R. Fazenda http://www.alessandrofazenda.com.br


Carregar ppt "Alessandro D. R. Fazenda"

Apresentações semelhantes


Anúncios Google