Buscar

Threads e processo de sistemas distribuídos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Threads e processo de sistemas
distribuídos
Maceió-AL
2020
Threads e processo de sistemas
distribuídos
Trabalho para disciplina de
sistemas distribuídos ministrado
pelo professor ramon tenório.
Alunos:Janaina Alves De Lima, Fellip Andrew Ramos
maceió-AL
2020
sumário
Introdução………………………………………………………………………………….1
O Que é uma Thread……………………………………………………………………...2
Categorias de Thread…………………………………………………………………….3
Modelos de Thread………………………………………………………………………..4
Processo em sistemas distribuídos…………………………………………………...5
maceió-AL
2020
introdução
Hoje é notável a capacidade fenomenal que conseguimos chegar na computação, o
avanço que tivemos e o poder colocado em nossas mãos como nunca havia se
pensado, principalmente a alguns anos atrás, a expansão foi deveras especial
principalmente hoje tendo com tanta facilidade computadores capazes de fazer
tantas operações e tarefas em paralelo, tudo isso em parte por causa do avanço
obtido com as threads, mas como ela nos ajuda com tarefas das mais simples até
as mais pesada, o'que faz delas tão importantes para nosso uso na era dos
sistemas escalonados e o'que veremos aqui.
1
O'Que é uma Thread
Uma thread nada mais é que um pequeno programa que trabalha como um
subsistema, sendo uma forma de um processo se auto dividir em duas ou mais
tarefas. Essas tarefas múltiplas podem ser executadas simultaneamente para rodar
mais rápido do que um programa em um único bloco ou praticamente juntas, mas
que são tão rápidas que parecem estar trabalhando em conjunto ao mesmo
tempo.Os diversos threads que existem em um programa podem trocar dados e
informações entre si e compartilhar os mesmos recursos do sistema, incluindo o
mesmo espaço de memória. Assim, um usuário pode utilizar uma funcionalidade do
sistema enquanto outras linhas de execução estão trabalhando e realizando outros
cálculos e operações. É como se um usuário virtual estivesse trabalhando de forma
oculta no mesmo computador que você ao mesmo tempo.Devido à maneira rápida
que a mudança de uma thread e outra acontece, aparentemente é como se elas
estivessem sendo executadas paralelamente de maneira simultânea em hardwares
equipados com apenas uma cpu.
2
Categorias de Thread
Threads também possuem categorias, são os monothread e multithread, no
monothread uma aplicação é composta por códigos que são executados
sequencialmente, de acordo com repetições, desvios, funções e procedimentos,
onde a utilização de concorrência é efetuada através da implementação de
processos independentes e subprocessos, caso exista essa necessidade, causando
um maior consumo de recursos do sistema, uma vez que cada processo detém seu
próprio espaço de endereçamento e a comunicação entre os diversos processos
envolvidos normalmente é mais lenta que no outro modo, já no multithread, o
conceito de thread é amplamente explorado e aplicado, onde técnicas permitem que
as mesmas sejam executadas de maneira simultânea. Através da utilização deste
recurso, os softwares podem efetuar diversas tarefas de maneira paralela,
possibilitando assim que as threads exerçam suas funções de maneira
independente umas das outras. Vale à pena falar que os sistemas operacionais
evoluíram para possibilitar a execução de diversos processos e threads,
implementando mecanismos para que os softwares pudessem fazer uso de tal
recurso de concorrência. A utilização de várias threads é mais rápida que a
utilização de vários subprocessos, pois as threads de um determinado processo
compartilham o mesmo intervalo de endereço (address space), permitindo assim a
troca de diversas informações entre ambas, não havendo a necessidade da
utilização de outros mecanismos para a intercomunicação, como é o caso dos
processos.
3
Modelos de Thread
Os modelos podem ser:
● Muitos para um - onde o processo é executado por apenas uma abordagem,
deve ser utilizada com cautela pois dependendo do processo a ser
executado, caso ele utilize muito dos recursos da máquina, pode ocorrer o
travamento do mesmo durante o processo.
● Muitos para muitos - aqui é onde a tarefa foi dividida para várias threads ,
com isso tendo uma economia e segurança ,maior pois com o processo
dividido praticamente como 1 para 1 a possibilidade de problemas torna-se
quase zero.
● Um para muitos - A maneira mais rápida encontrada para um processador de
alta complexidade e dividir o processo de uma tarefa complexa para várias
threads, com a mesma corretamente escalonada permitindo assim o trabalho
com outras tarefas sem a necessidade de espera pelo término de alguma
outra.
4
PROCESSOS EM SISTEMAS DISTRIBUÍDOS
Um processo pode ser definido como um programa que está sendo executado em
um dos processadores virtuais do sistema operacional no momento em questão. As
threads são consideradas pequenas partes de um processo. Fragmentando um
processo em partes é uma maneira de solucionar um problema de uma forma mais
rápida e precisa.
Um Sistema distribuído é composto por vários processos o que o torna mais
complexo. Seu comportamento e estado podem ser descritos por um algoritmo
distribuído - uma definição dos passos a serem executados por cada um dos
processos que compõem o sistema, incluindo a transmissão de mensagens entre
eles. As mensagens são enviadas para transferir informações entre processos e
para coordenar suas atividades.
Nos Sistemas distribuídos podem ocorrer ocasionalmente falhas. O modelo de
falhas define como uma falha pode se manifestar em um sistema, de forma a
proporcionar um entendimento dos seus efeitos e consequências. Hadzilacos e
Toueg [1994] fornecem uma taxonomia que distingue as falhas de processos e as
falhas de comunicação. Isso é apresentado sob os títulos falhas de omissão, falhas
arbitrárias e falhas de sincronização.
5

Continue navegando