Sistemas operacionais - aula8

15

Click here to load reader

Transcript of Sistemas operacionais - aula8

Page 1: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Resolução exercício

• Bloqueado em execução– Possível

– Processo pode estar bloqueado em uma E/S

– E/S termina. Se CPU livre, executa transição

• Pronto bloqueado– Impossível

– Processo “pronto”• não executa E/S

• não executa operações que possam bloqueá-lo

• Apenas processo em execução pode bloquear

1

Page 2: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Sistemas Operacionais

Aula 08

Threads

2

Page 3: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Processos e Threads

• Processos

• Threads

• Comunicação Interprocessos

• Problemas Clássicos IPC

• Escalonamento

3

Page 4: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads

• Sistemas operacionais tradicionais– Processos

• Espaço de endereçamento

• Único fluxo de controle (thread)

– Há situações em que• Múltiplos threads

• Compartilhamento espaço de endereçamento

• Parecem processos separados

4

Page 5: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads

• Modelo de Thread

• Uso de Thread

• Implementação Threads Usuário

• Implementação Threads Núcleo

• Implementações Híbridas

• Ativações Escalonador

• Threads Pop-up

• Código Monothread / Multithread

5

Page 6: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads - Modelo de Thread

• Modelo de Thread– Contador de programa

– Controle da instrução seguinte

– Registradores contêm variáveis de trabalho

– Pilha com histórico de execução• Estrutura para procedimentos não retornados

6

Page 7: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads - Modelo de Thread

• Thread x Processo– Thread executa em um processo

– Processos agrupam recursos

– Threads• Escalonadas para execução sobre a CPU

• Múltiplas execuções: mesmo ambiente do processo

• Bastante independência entre as execuções

7

Page 8: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads - Modelo de Thread

8

Page 9: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads - Modelo de Thread

• Threads em um processo– Compartilhamento

• Espaço de endereçamento

• Arquivos abertos

• Outros recursos

• Processos em paralelo– Compartilhamento

• Memória física

• Discos

• Impressoras e outros recursos

9

Page 10: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads - Modelo de Thread

• Threads– Lightweight processess (processos leves)

– Multithread: múltiplos threads no processo

– Mesmo funcionamento processos sequenciais

10

Page 11: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads - Modelo de Thread

• Independência de threads– Acessa qualquer endereço de memória

• Dentro do espaço de endereçamento do processo

– Não há proteção entre threads. Riscos?• Impossível

• Não é necessário (cooperação)

• Processos diversos– Mutuamente hostis

– Útil para processos descorrelacionados

11

Page 12: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads - Modelo de Thread

Itens por processo Itens por thread

Espaço de endereçamento Contador de programa

Variáveis globais Registradores

Arquivos abertos Pilha

Processos filhos Estado

Alarmes pendentes

Sinais e tratadores de sinais

Informação de contabilidade

12

Page 13: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Sobre threads

• É correto afirmar:a) As transições entre os estados do thread são

as mesmas dos processos

b) Múltiplos threads executando em paralelo em um processo demonstram paralelismo real

c) Vários processos podem se associar a um threads, pois este é um processo pesado

d) Threads compartilham contadores de programa e registradores

13

Page 14: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Threads - Modelo de Thread

• Múltiplos threads– Processos iniciam com um único thread

– Thread inicial tem capacidade de criar novos

– Ao término do thread, este pede para sair

– Similares a criação e término de processos

– Threads desistem voluntariamente da CPU

14

Page 15: Sistemas operacionais - aula8

Sis

tem

as

Op

era

cio

nais

©

2010 M

arc

us R

od

rig

ues

Em sala

• Ponto extra exercício em sala:– Alisson Lima Sandry Oliveira

• Exercício

• Resposta - 0,1

• Resposta certa– 1: 0,3

– 2: 0,2

15