Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas...

15
rquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread 1 Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Operacionais Técnico em Informática Técnico em Informática Turmas: MBI1 Turmas: MBI1 Escalonamento de Tarefas Escalonamento de Tarefas Thread Thread

Transcript of Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas...

Page 1: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 1

Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais

Técnico em Informática Técnico em Informática Turmas: MBI1Turmas: MBI1

Escalonamento de TarefasEscalonamento de TarefasThreadThread

Page 2: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 2

Sumário

• Introdução• Ambiente monothread• Ambiente multithread• Arquitetura e implementação

Page 3: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 3

Thread

• Thread, ou linha de execução em português, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas simultaneamente

Page 4: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 4

Ambiente Monothread

• Concorrência com processos

Subprocessos Processos Independentes

Page 5: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 5

Ambiente Monothread

• Ambiente monothread

Th rea d Th rea dTh rea d

Page 6: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 6

Ambiente Multithread

• Ambiente multithread

C on textod e h a rd w a re

C on textod e h a rd w a re

C on textod e h a rd w a re

Esp aço d een dereça m en to

Co

nte

xto

de

soft

wa

re

Th rea d 3Th rea d 2Th rea d 1

Page 7: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 7

Ambiente Multithread

• Aplicação multithreadEsp aço d e

en dereça m en to

Processo

Program a Pr in cipa l

Co

nte

xto

de

Ha

rdw

are

Co

nte

xto

de

Ha

rdw

are

Co

nte

xto

de

Ha

rdw

are

C a l l Su b_1

C a ll Su b_2

Th rea d_1

Th rea d_2

Th rea d_3

PCSP

PCSP

PCSP

Fim

Sub _2

Va riáve is

Ret

Sub _1

Ret

...

...

Page 8: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 8

Ambiente Multithread

• Aplicação multithread (a)

Th rea d d een trada

Th rea d d eg ravaçã o

Th rea d d eexib ição

Bu ffer

Page 9: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 9

Ambiente Multithread

• Aplicação multithread (b)

So licita ções

Processo se rvido r

Th rea dTh rea d

Processo clienteProcesso cliente Processo cliente

Th rea d

Page 10: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 10

Arquitetura e Implementação

• Threads em modo usuário• Threads em modo kernel• Threads em modo híbrido

Page 11: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 11

Arquitetura e Implementação

• Modo Usuário – são implementados pela aplicação e não pelo sistema operacional.

Deve existir uma biblioteca de rotinas que possibilite a aplicação realizar tarefas como eliminar/criar threads, troca de mensagens e políticas de escalonamento.

É limitante pois o SO reconhece a existência de um único thread (um thread ao chamar uma rotina do sistema coloca todo o processo e seus threads aptos a executar em estado de espera )

Page 12: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 12

Arquitetura e Implementação

• Modo Kernel – são implementadas diretamente pelo núcleo do SO por meio de chamadas de sistema que oferecem todas as rotinas de sincronização e gerenciamento.

• Modo Híbrido – combina as vantagens de threads implementados em modo usuário e modo kernel.

Page 13: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 13

Arquitetura e Implementação

• Threads em modo usuário

M odou suá rio

M odokernel

Kernel

Bib lio teca

Thre

ad

0

Thre

ad

4

Thre

ad

3

Thre

ad

2

Thre

ad

1

Page 14: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 14

Arquitetura e Implementação

• Threads em modo kernel

M odou suá rio

M odokernelKernel

Thre

ad

0

Thre

ad

4

Thre

ad

3

Thre

ad

2

Thre

ad

1

Page 15: Arquitetura de Sistemas Operacionais – Fucapi/CEEF Cap. 6 – Thread1 Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– F

uca

pi/C

EEF

Cap. 6 – Thread 15

Arquitetura e Implementação

• Threads em modo híbrido

M odou suá rio

M odokernel

Kernel

TM K 0 TM K 3TM K 2TM K 1

Bib lio teca

TMU

0

TMU

4

TMU

5

TMU

3

TMU

2

TMU

1