SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
23/10/2013








Depende!
Agilidade
◦ Se
o
objetivo
é
agilidade,
deve-se
implementá-los no espaço do usuário.
Espaço do usuário:
◦ Refere-se ao conjunto de programas que
rodam com o processador em modo usuário.
Existem certas instruções que não podem ser
colocadas à disposição das aplicações, pois a
sua utilização indevida ocasiona sérios
problemas à integridade do sistema.

O controle de processos
◦ Nesse caso o controle do processo é feito
diretamente pelo sistema operacional,
mas os threads são controlados por
procedimentos em tempo de execução
que serve como interface entre a máquina
virtual (processos) onde rodam os threads.

1
23/10/2013



Neste caso, o S.O. não “enxerga” os threads,
pois eles são implementados no espaço do
usuário, sendo submissos ao processo que os
criou.



Os threads não podem usufruir do sistema de
interrupções do sistema operacionais e
portanto são não-preemptíveis.



Vantagens
◦ Agilidade
◦ O gerenciamento é menos complicado
Desvantagens
◦ Não preempção
◦ Impedidos de utilizar interrupções do
sistema operacional



2
23/10/2013



Eficiência
◦ Se o objetivo é eficiência, então os threads
podem ser implementados no núcleo do
sistema operacional, podendo serem vistos
pelo SO e usufruindo de seu sistema de
interrupções.
◦ Portanto passam a serem preemptíveis.



Nesse sentido os threads passam a ser
tratados como processos, possibilitando o
bloqueio de outros threads e também
eficiência no escalonamento.



Agora não há necessidade de interromper o
processo que o gerou (processo pai), uma vez
que o thread “é um processo”.

3
23/10/2013









Com isso o Sistema Operacional pode
interromper um thread sem interromper o
processo pai, e também outras ramificações
em execução.
O thread também irá competir igualmente
com os processos os ciclos do processador.

Vantagens de implementação no núcleo
◦ Maior autonomia dos threads
Desvantagens
◦ Sistema perde em portabilidade, as
mudanças de contexto dos threads tem
agora a mesma complexidade dos
processos.

4
23/10/2013






Quando terminam sua execução;
Quando o tempo alocado a seu processo pai
foi esgotado
Ou se solicitou algum recurso do sistema.

5
23/10/2013












Programas multithread são programas que
contém várias threads, executando tarefas
distintas,
simultaneamente.
O
browser
HotJava, implementado em Java, é um
exemplo.
O browser poderá fazer um scroll em uma
página enquanto carrega uma imagem ou
executa vários aplicações ao mesmo tempo.

Exemplos:
Programação Reativa: aplicação responde a
eventos de entrada.
Exemplo: interfaces com o usuário, onde
cada evento corresponde a uma ação
Paralelismo físico/ distribuição: para tirar
vantagem de múltiplas CPUs centralizadas
ou distribuídas.

6
23/10/2013



Implementação de processos servidores que
prestam serviços a processos clientes.



O emprego de ramificações na estrutura de
controle
do
servidor,
permite
o
agrupamento dos threads num mesmo
espaço de endereçamento, admitindo
acesso concorrente de vários clientes a um
único servidor.

Há dois tipos de ramificações:
 Ramificações Estáticas:
 Criadas em tempo de compilação
 Exemplo: Servidores de terminais


◦ Servidor cria ramificações
◦ Essas ramificações são locais ao servidor
◦ Ramificações atendem usuários enquanto
estiverem conectados

7
23/10/2013



Como a ramificação fica no sistema enquanto
o usuário estiver conectado, ela ocupa o
espaço de memória mesmo que o cliente não
requisite nenhuma operação do servidor.



Ramificações Dinâmicas:
Criadas e destruídas de acordo com as
necessidades.
Exemplo: Servidores de arquivos





◦ Cada vez que um cliente solicita uma operação, o
servidor cria uma ramificação
que ficará
responsável por determinada tarefa (leitura/escrita)
e terminado sua execução o controle volta
novamente ao processo que a criou.

8
23/10/2013

◦ Ex: se forem feitas várias operações de leitura,
serão geradas várias ramificações do processo
responsável pela operação de leitura.


É importante ressaltar novamente que essas
ramificações (threads) serão executadas
“independentes” uma das outras, e serão
extintas assim que o serviço para qual foram
criadas, também termine.



Conclusão
A utilização do mecanismos de ramificações
permite que a memória seja otimizada e
também reaproveitada assim que essas
terminem sua execução, levando a uma
redução considerável no custo do sistema.



9

Contenu connexe

Tendances

Condições de corrida e regiões críticas
Condições de corrida e regiões críticasCondições de corrida e regiões críticas
Condições de corrida e regiões críticasBeatriz Rodrigues
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosVinícius Krolow
 
Vue.js o poder das render functions
Vue.js  o poder das render functionsVue.js  o poder das render functions
Vue.js o poder das render functionsVinicius Reis
 
Virtualização
VirtualizaçãoVirtualização
Virtualizaçãodieotavio
 
Processos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºanoProcessos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºanoHus Juky
 

Tendances (6)

Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Condições de corrida e regiões críticas
Condições de corrida e regiões críticasCondições de corrida e regiões críticas
Condições de corrida e regiões críticas
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenos
 
Vue.js o poder das render functions
Vue.js  o poder das render functionsVue.js  o poder das render functions
Vue.js o poder das render functions
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Processos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºanoProcessos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºano
 

En vedette

Modelagem e animação com blender
Modelagem e animação com blender Modelagem e animação com blender
Modelagem e animação com blender Nayron Fernandes
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
Sistema de informação gerencial
Sistema de informação gerencialSistema de informação gerencial
Sistema de informação gerencialNayron Fernandes
 
bảng giá làm tvc quảng cáo uy tín
bảng giá làm tvc quảng cáo uy tínbảng giá làm tvc quảng cáo uy tín
bảng giá làm tvc quảng cáo uy tínkerry221
 
ở đâu thiết kế clip quảng cáo tốt giá rẻ
ở đâu thiết kế clip quảng cáo tốt giá rẻở đâu thiết kế clip quảng cáo tốt giá rẻ
ở đâu thiết kế clip quảng cáo tốt giá rẻirmgard649
 
bảng giá làm video quảng cáo kiến trúc
bảng giá làm video quảng cáo kiến trúcbảng giá làm video quảng cáo kiến trúc
bảng giá làm video quảng cáo kiến trúcmilo307
 
Management (Complete Book)
Management (Complete Book)Management (Complete Book)
Management (Complete Book)Intazar Ali Shah
 
Vs ti sound effects task 8
Vs ti sound effects task 8 Vs ti sound effects task 8
Vs ti sound effects task 8 Kieran Owens
 
Hera Group 9M 2013 financial results - Analyst presentation, 13 November 2013
Hera Group 9M 2013 financial results - Analyst presentation, 13 November 2013 Hera Group 9M 2013 financial results - Analyst presentation, 13 November 2013
Hera Group 9M 2013 financial results - Analyst presentation, 13 November 2013 Hera Group
 
dịch vụ làm clip quảng cáo công ty
dịch vụ làm clip quảng cáo công tydịch vụ làm clip quảng cáo công ty
dịch vụ làm clip quảng cáo công tyfrederic195
 
Корпоративная информационная система «ВЕКТОР»
Корпоративная информационная система «ВЕКТОР»Корпоративная информационная система «ВЕКТОР»
Корпоративная информационная система «ВЕКТОР»КРОК
 
Ceratec - Des carreaux imprimés en HD
Ceratec - Des carreaux imprimés en HDCeratec - Des carreaux imprimés en HD
Ceratec - Des carreaux imprimés en HDMarie-Claude Dumont
 
Questionnaire results-media-a2
Questionnaire results-media-a2Questionnaire results-media-a2
Questionnaire results-media-a2gethpricee
 

En vedette (19)

Modelagem e animação com blender
Modelagem e animação com blender Modelagem e animação com blender
Modelagem e animação com blender
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Sistema de informação gerencial
Sistema de informação gerencialSistema de informação gerencial
Sistema de informação gerencial
 
bảng giá làm tvc quảng cáo uy tín
bảng giá làm tvc quảng cáo uy tínbảng giá làm tvc quảng cáo uy tín
bảng giá làm tvc quảng cáo uy tín
 
Andriod_Intro
Andriod_IntroAndriod_Intro
Andriod_Intro
 
Hisana
HisanaHisana
Hisana
 
ở đâu thiết kế clip quảng cáo tốt giá rẻ
ở đâu thiết kế clip quảng cáo tốt giá rẻở đâu thiết kế clip quảng cáo tốt giá rẻ
ở đâu thiết kế clip quảng cáo tốt giá rẻ
 
bảng giá làm video quảng cáo kiến trúc
bảng giá làm video quảng cáo kiến trúcbảng giá làm video quảng cáo kiến trúc
bảng giá làm video quảng cáo kiến trúc
 
Management (Complete Book)
Management (Complete Book)Management (Complete Book)
Management (Complete Book)
 
Vs ti sound effects task 8
Vs ti sound effects task 8 Vs ti sound effects task 8
Vs ti sound effects task 8
 
Hera Group 9M 2013 financial results - Analyst presentation, 13 November 2013
Hera Group 9M 2013 financial results - Analyst presentation, 13 November 2013 Hera Group 9M 2013 financial results - Analyst presentation, 13 November 2013
Hera Group 9M 2013 financial results - Analyst presentation, 13 November 2013
 
dịch vụ làm clip quảng cáo công ty
dịch vụ làm clip quảng cáo công tydịch vụ làm clip quảng cáo công ty
dịch vụ làm clip quảng cáo công ty
 
Корпоративная информационная система «ВЕКТОР»
Корпоративная информационная система «ВЕКТОР»Корпоративная информационная система «ВЕКТОР»
Корпоративная информационная система «ВЕКТОР»
 
Misbah
MisbahMisbah
Misbah
 
Ceratec - Des carreaux imprimés en HD
Ceratec - Des carreaux imprimés en HDCeratec - Des carreaux imprimés en HD
Ceratec - Des carreaux imprimés en HD
 
Questionnaire results-media-a2
Questionnaire results-media-a2Questionnaire results-media-a2
Questionnaire results-media-a2
 
Install 101
Install 101Install 101
Install 101
 
Prueba unica
Prueba unicaPrueba unica
Prueba unica
 

Similaire à Threads Espaço Usuário vs Núcleo

Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosPortal_do_Estudante_SD
 
Programação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e ConcorrênciaProgramação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e ConcorrênciaFabio Moura Pereira
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fsopaulocsm
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Valdeir Frizzera
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional Rodrigo Rodrigues
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - IntroduçãoFabio Moura Pereira
 
Virtualização Teste
Virtualização TesteVirtualização Teste
Virtualização Testegabrielca200
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Escalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosEscalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosClaudio Eckert
 

Similaire à Threads Espaço Usuário vs Núcleo (20)

04 threads
04 threads04 threads
04 threads
 
Aula 3 banco de dados
Aula 3   banco de dadosAula 3   banco de dados
Aula 3 banco de dados
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidos
 
Programação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e ConcorrênciaProgramação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e Concorrência
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fso
 
Atps sistemas operacionais
Atps sistemas operacionaisAtps sistemas operacionais
Atps sistemas operacionais
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - Introdução
 
Virtualização Teste
Virtualização TesteVirtualização Teste
Virtualização Teste
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Artigo vmware
Artigo vmware Artigo vmware
Artigo vmware
 
SISTEMA SD
SISTEMA SDSISTEMA SD
SISTEMA SD
 
Framework struts2v2.5
Framework struts2v2.5Framework struts2v2.5
Framework struts2v2.5
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Escalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosEscalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizados
 

Threads Espaço Usuário vs Núcleo

  • 1. 23/10/2013     Depende! Agilidade ◦ Se o objetivo é agilidade, deve-se implementá-los no espaço do usuário. Espaço do usuário: ◦ Refere-se ao conjunto de programas que rodam com o processador em modo usuário. Existem certas instruções que não podem ser colocadas à disposição das aplicações, pois a sua utilização indevida ocasiona sérios problemas à integridade do sistema. O controle de processos ◦ Nesse caso o controle do processo é feito diretamente pelo sistema operacional, mas os threads são controlados por procedimentos em tempo de execução que serve como interface entre a máquina virtual (processos) onde rodam os threads. 1
  • 2. 23/10/2013  Neste caso, o S.O. não “enxerga” os threads, pois eles são implementados no espaço do usuário, sendo submissos ao processo que os criou.  Os threads não podem usufruir do sistema de interrupções do sistema operacionais e portanto são não-preemptíveis.  Vantagens ◦ Agilidade ◦ O gerenciamento é menos complicado Desvantagens ◦ Não preempção ◦ Impedidos de utilizar interrupções do sistema operacional  2
  • 3. 23/10/2013  Eficiência ◦ Se o objetivo é eficiência, então os threads podem ser implementados no núcleo do sistema operacional, podendo serem vistos pelo SO e usufruindo de seu sistema de interrupções. ◦ Portanto passam a serem preemptíveis.  Nesse sentido os threads passam a ser tratados como processos, possibilitando o bloqueio de outros threads e também eficiência no escalonamento.  Agora não há necessidade de interromper o processo que o gerou (processo pai), uma vez que o thread “é um processo”. 3
  • 4. 23/10/2013     Com isso o Sistema Operacional pode interromper um thread sem interromper o processo pai, e também outras ramificações em execução. O thread também irá competir igualmente com os processos os ciclos do processador. Vantagens de implementação no núcleo ◦ Maior autonomia dos threads Desvantagens ◦ Sistema perde em portabilidade, as mudanças de contexto dos threads tem agora a mesma complexidade dos processos. 4
  • 5. 23/10/2013    Quando terminam sua execução; Quando o tempo alocado a seu processo pai foi esgotado Ou se solicitou algum recurso do sistema. 5
  • 6. 23/10/2013       Programas multithread são programas que contém várias threads, executando tarefas distintas, simultaneamente. O browser HotJava, implementado em Java, é um exemplo. O browser poderá fazer um scroll em uma página enquanto carrega uma imagem ou executa vários aplicações ao mesmo tempo. Exemplos: Programação Reativa: aplicação responde a eventos de entrada. Exemplo: interfaces com o usuário, onde cada evento corresponde a uma ação Paralelismo físico/ distribuição: para tirar vantagem de múltiplas CPUs centralizadas ou distribuídas. 6
  • 7. 23/10/2013  Implementação de processos servidores que prestam serviços a processos clientes.  O emprego de ramificações na estrutura de controle do servidor, permite o agrupamento dos threads num mesmo espaço de endereçamento, admitindo acesso concorrente de vários clientes a um único servidor. Há dois tipos de ramificações:  Ramificações Estáticas:  Criadas em tempo de compilação  Exemplo: Servidores de terminais  ◦ Servidor cria ramificações ◦ Essas ramificações são locais ao servidor ◦ Ramificações atendem usuários enquanto estiverem conectados 7
  • 8. 23/10/2013  Como a ramificação fica no sistema enquanto o usuário estiver conectado, ela ocupa o espaço de memória mesmo que o cliente não requisite nenhuma operação do servidor.  Ramificações Dinâmicas: Criadas e destruídas de acordo com as necessidades. Exemplo: Servidores de arquivos   ◦ Cada vez que um cliente solicita uma operação, o servidor cria uma ramificação que ficará responsável por determinada tarefa (leitura/escrita) e terminado sua execução o controle volta novamente ao processo que a criou. 8
  • 9. 23/10/2013 ◦ Ex: se forem feitas várias operações de leitura, serão geradas várias ramificações do processo responsável pela operação de leitura.  É importante ressaltar novamente que essas ramificações (threads) serão executadas “independentes” uma das outras, e serão extintas assim que o serviço para qual foram criadas, também termine.  Conclusão A utilização do mecanismos de ramificações permite que a memória seja otimizada e também reaproveitada assim que essas terminem sua execução, levando a uma redução considerável no custo do sistema.  9