Subscribe to our RSS Feeds
Olá, bem-vindo ao meu blog.

O que é Sistema Distribuído?

0 Comments »
Sistema Distribuído

Um sistema distribuído é aquele que é definido como um conjunto de unidades de processamento independentes, que através da troca de comunicação e gerenciamento de sincronização pode processar uma aplicação em diferentes localidades em sistemas com características próprias diferentes, dando a impressão ao usuário que toda a aplicação é gerenciada por um sistema único. Quando falamos em sincronização, temos o conceito de sincronização em um sistema centralizado e no sistema distribuído. No sistema centralizado a sincronização é feita através do compartilhamento de áreas de memória, já no sistema distribuído ocorre a sincronização através da troca de mensagens. A aplicação no sistema distribuído pode ser dividida em “partes” diferentes e ser processada em diversos núcleos de processamento.


Escalonamento de Processos

O escalonamento de processos ou agendador de tarefas é uma actividade organizacional feita pelo escalonador da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound.


O que é I/O bound?

I/O bound é um termo utilizado para designar os sistemas que fazem uso intensivo de entrada e saída (I/O). Todos os sistemas operacionais executam processos de entrada e saída, como por exemplo algum usuário querendo copiar um arquivo para o disquete. Esses processos são conhecidos como I/O bound porque fazem pouco uso da CPU. No entanto existem processos conhecidos como CPU bound, que fazem muito uso da CPU, a citar alguns jogos electrónicos que utilizam recursos gráficos em 3D de alta complexidade .


Sincronização de Processos

Em programas concorrentes, não é possível determinar a ordem em que os eventos vão ocorrer.
Alguma forma de sincronização entre processos é necessária.
Sincronização entre processos é uma forma de coordenar as tarefas paralelas no tempo. E para coordenar a troca de informação pelas tarefas.
E isso é feito especificando um ponto no programa onde duas ou mais tarefas devem estar para que se possa continuar a execução.



Sistemas de Multiprocessador

Genericamente, um sistema multiprocessador (ou simplesmente multiprocessador) é um computador contendo vários processadores, os quais podem comunicar-se e cooperar uns com os outros em diversos níveis de forma a resolver certo problema. A comunicação
pode ocorrer pela de troca de mensagens entre os processadores ou pelo compartilhamento de uma memória comum.
O principal objectivo dos multiprocessador é suportar operações concorrentes de forma a maximizar a vazão dos vários processos ou acelerar a execução de uma tarefa específica. Para tanto deve ser implementado no hardware do sistema um mecanismo eficiente, para a comunicação entre os processadores.


Sistemas de arquivos

A memória principal do computador é volátil, e seu tamanho é limitado pelo custo do hardware. Assim, os usuários necessitam de algum método para armazenar e recuperar informações de modo permanente.
Um arquivo é um conjunto de bytes, normalmente armazenado em um dispositivo periférico não volátil (p.ex., disco), que pode ser lido e gravado por um ou mais processos.
O sistema de arquivos é a estrutura que permite o gestão de arquivos—criação, destruição, leitura, gravação, controle de acesso, etc.


Gestão de memória

O sistema operacional tem acesso completo à memória do sistema e deve permitir que os processos dos usuários tenham acesso seguro à memória quando o requisitam.
Vários sistemas operacionais usam memória virtual, que possui 3 funções básicas:

1.Assegurar que cada processo tenha seu próprio espaço de endereçamento, começando em zero, para evitar ou resolver o problema de relocação;

2.Prover protecção da memória para impedir que um processo utilize um endereço de memória que não lhe pertença;

3.Possibilitar que uma aplicação utilize mais memória do que a fisicamente existente.


Gestão de processos

O sistema operacional multitarefa é preparado para dar ao usuário a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que o usuário pensa que sua execução é simultânea.
São utilizados algoritmos para determinar qual processo será executado em determinado momento e por quanto tempo.
Os processos podem comunicar-se, isto é conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados são:

• Sinais,
• pipes,
• named pipes,
• Memória compartilhada,
• Soquetes (sockets),
• Semáforos,
• Trocas de mensagens.

O sistema operacional, normalmente, deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompível, o que significa que pode ser interrompido no meio da execução de uma tarefa.

0 Responses to "O que é Sistema Distribuído?"

Enviar um comentário