Threads Flashcards

1
Q

O que são threads?

A

Funcionam como subprocessos dentro de um processo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como são executadas?

A

No mesmo ambiente do processo mesmo independente umas das outras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Existe protecção nas threads do mesmo processo?

A

Não, é suposto cooperarem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é que partilham?

A

O mesmo espaço de endereçamento, ficheiros abertos e outros recursos. Assim podem ler e escrever nos recursos partilhados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que estados têm as threads?

A

Os mesmos que os processos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que é que manipulam?

A

As System Calls. Têm System Calls para serem manipuladas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é uma Thread-Yeld?

A

Permite a uma thread conceder voluntariamente o CPU e outra thread executar-se.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quais são as vantagens?

A

Úteis para dividir programas em várias atividades simultâneas.
Podem tirar partido do sistema com vários CPU’s, executando paralelismo real, além do pseudoparalelismo.
A sua criação e gestão, em relação aos processos, é mais rápida e leve; não é necessário criar todos os recursos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que são threads em userspace?

A
  • Correm inteiramente em userspace e o Kernel não sabe nada sobre a thead.
  • Implementadas por uma biblioteca e cada processo necessita da sua própria Thread Table para guardar informação sobre as threads e permitir a sua comutação.
  • O procedimento que guarda o estado e o escalonamento entre threads é local, ou seja, mais rápido que fazer uma chamada ao Kernel.
  • A chamada thread-yeld permite a uma thread conceder voluntariamente o CPU e outra thread executar-se.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

E no Kernel Space?

A
  • O escalonador do SO gere as threads.
  • O Kernel tem uma tabela de threads que guarda todas as threads nos sistemas.
  • Quando uma thread pretende criar ou destruir outra thread, faz uma System Call que atualiza a Thread Table.
  • Quando uma thread se bloqueia, o escalonador pode correr uma thread do mesmo processo ou outra de um processo diferente.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly