Вы находитесь на странице: 1из 10

Sistemas Operacionais

Prof. Antonio Apparecido Oliveira dos Santos


Índice

5.3.2 Multiprocessamento em sistemas fortemente acoplados.......................2


5.3.2.1 Processamento Vetorial...................................................................2
5.3.2.2 Processamento Paralelo...................................................................3
5.3.2.3 Organização Funcional....................................................................3
5.3.2.3.1 Barramento comum ......................................................................4
5.3.2.3.2 Barramento cruzado .....................................................................4
5.3.2.3.3 Memória Multiport.......................................................................5
5.4 Sistemas Fracamente Acoplados ..............................................................6
5.4.1 Multiprocessasmento em Sistemas Fracamente Acoplados..................6
5.4.1.1 Sistemas Operacionais de Rede (SOR) ...........................................7
5.4.1.2 Sistemas Operacionais Distribuídos (SOD) ....................................7
5.4.2.1 Organização Funcional ......................................................................9
5.4.2.2 Barramento .........................................................................................9
5.4.2.3 Organização distribuída...................................................................10
Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos
5.3.2 Multiprocessamento em sistemas fortemente acoplados

Sistemas com múltiplos processadores possibilitam o aumento da


capacidade computacional com menor custo (escalabilidade), além de permitir a
reconfiguração e o balanceamento do sistema.
Reconfiguração é a capacidade de um sistema poder continuar o
processamento mesmo que um dos processadores esteja falhando ou parem de
funcionar.
Os sistemas fortemente acoplados (tightly coupled) podem ser divididos
conforme a simetria existente entre seus processadores, ou seja, se todos os
processadores podem executar ou não as mesmas funções.
Os computadores são vistos como máquinas seqüenciais, onde a UCP
executa uma por uma as instruções de um programa, mas na realidade isso não é
totalmente verdadeiro, pois no Hardware, múltiplos sinais estão ativos
simultaneamente, o que pode ser entendido como um paralelismo.
Agora com a implementação de sistemas com múltiplos processadores, o
conceito de simultaneidade ou paralelismo pode ser expandido a um nível mais
amplo, onde uma tarefa pode ser dividida e executada ao mesmo tempo, por mais
de um processador.

5.3.2.1 Processamento Vetorial

As maiorias dos computadores trabalham com dados escalares


(elementares) e, sendo assim processam vetores seqüencialmente. Este
processamento permite a manipulação de vetores inteiros, fazendo assim a
execução da mesma operação sobre diferentes elementos de um ou mais vetores.
Trabalham combinando dois vetores produzindo um vetor de saída.
Um processador escalar faz a soma dos vetores A e B correspondente às
fases de busca e execução, ao cálculo dos endereços dos operandos e à
execução das instruções de controle da repetição (FOR), para cada soma dos n
elementos dos vetores.
Para fazer a mesma conta os processadores vetoriais utilizam uma única
instrução vetorial, onde o vetor A é somado ao vetor B e o resultado é atribuído ao
C. A vantagem é que apenas uma instrução é executada.

FOR i := 1 TO N DO
C[i] := A[i] + B[i];

Computadores vetoriais possuem, além do processador vetorial o escalar,


para que a unidade de controle verifique a instrução e a execute no processador
adequado.
A única vantagem de se usar um processador vetorial é quando as
aplicações executadas têm um elevado grau de código vetorial, como problemas
numéricos, processamento de imagens, estudos meteorológicos e de física
nuclear.
Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos
5.3.2.2 Processamento Paralelo

Possibilita que a aplicação seja executada por mais de um processador ao


mesmo tempo. Neste caso só existirá ganho quando a aplicação puder ser
dividida em partes independentes para execução simultânea.
Vejamos um exemplo com uma máquina que tenha três processadores.

X := Cos(gama) + (Delta/4) - (Alfa * 3,14);

Um Processo Vetorial também pode ser implementado através de múltiplos


processadores.
Vejamos um exemplo com uma repetição onde inicializamos um vetor de
100 posições.

FOR i := 1 TO 100 DO
Vetor[i] := 0;

Se um sistema possuir 100 processadores e todos estejam dedicados à


mesma aplicação, cada processador pode inicializar uma posição diferente do
vetor ao mesmo tempo, tornando o processamento mais rápido que uma
execução seqüencial.

Vetor [1] := 0; _ Processador 1


Vetor [2] := 0; _ Processador 2

Vetor [99] := 0; _ Processador 99


Vetor [100] := 0; _ Processador 100

O grande problema é justamente determinar quando existe a possibilidade


de implementarmos o paralelismo em um programa. O paralelismo pode ser
indicado pelo programador (paralelismo explícito) através de comandos da
linguagem utilizada.
Atualmente muito se tenta desenvolver um compilador junto com sistema
operacional que detectaria automaticamente o paralelismo nos programas
(paralelismo implícito). Isso faria que, provavelmente, tenhamos programas mais
eficientes e confiáveis.
Apesar disso ainda não surgiu a linguagem de programação própria para o
desenvolvimento de aplicações paralelas, sendo utilizadas, atualmente, as
linguagens Ada, Pascal Concorrente, FORTRAN e Modula 2.

5.3.2.3 Organização Funcional


Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos
A comunicação interna das UCPs, memória e dispositivos de E/S (unidades
funcionais) é fundamental no projeto de sistemas com múltiplos processadores,
pois determina quantas UCPs o sistema poderá ter e como será o aceso à
memória.
A memória é dividida em módulos para que múltiplos acessos simultâneos
sejam permitidos, podendo assim ser compartilhadas por varias unidades
funcionais. As organizações funcionais podem ser divididas, basicamente, em três:
barramento comum, barramento cruzado e memória multiport.

5.3.2.3.1 Barramento comum

Esta é a forma mais simples de se fazer comunicação entre múltiplos


processadores e outras unidades funcionais.
Os maiores problemas dessa organização é que somente uma unidade
funcional pode estar utilizando o barramento em um determinado instante. Quando
várias unidades tentam acessar o barramento pode ocasionar um gargalo e se
ocorrer um problema no barramento todo o sistema ficara comprometido.

Apesar de simples, econômico e flexível, sistemas assim estão limitados a


poucos processadores, dependendo da velocidade de transmissão do barramento.

5.3.2.3.2 Barramento cruzado

Este tipo de barramento foi criado para evitar o gargalo existente no


barramento comum, criando uma rede de interconexão, os barramentos cruzados
também são conhecidos como: crossbarswitch matrix.
Assim fica para o hardware a solução de prováveis conflitos de acesso a
uma mesma unidade, pois é possível a comunicação simultânea entre diferentes
unidades funcionais.
A principio o número de processadores que podem ser adicionados ao
sistema é ilimitado. O preço de seu alto desempenho está no custo e
complexidade do sistema.
Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos

5.3.2.3.3 Memória Multiport

Enquanto no esquema de barramento cruzado não são possíveis dois


processadores terem acesso a um módulo de memória no mesmo instante, a
memória multiport permite acessos simultâneos a um mesmo módulo de memória.
Nesse esquema, os acessos simultâneos são realizados através de múltiplas
portas, existentes em cada módulo de memória. Os possíveis conflitos de acesso
são resolvidos pelos próprios módulos através de prioridades a cada porta.
Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos
5.4 Sistemas Fracamente Acoplados

Em sistemas fracamente acoplados existem dois ou mais sistemas de


computação, conectados através de linhas de comunicação. Cada sistema
funciona de maneira independente, possuindo seu(s) próprio(s) processador (es),
memória e dispositivos.

A grande diferença entre os dois sistemas é que no fortemente acoplado


existe apenas um espaço de endereçamento (memória) compartilhado por todos
os processadores, enquanto no fracamente acoplado cada sistema tem sua
própria memória individual.

5.4.1 Multiprocessasmento em Sistemas Fracamente


Acoplados

Tem a característica de possuir dois ou mais sistemas de computação


interligados, sendo que cada um tem seu sistema operacional, gerenciando seus
recursos.
Nos anos 80 os sistemas operacionais e suas aplicações eram tipicamente
concentrados em sistemas de grande porte com um ou mais processadores. Nos
sistemas centralizados os operadores utilizavam terminais não inteligentes
conectados a linhas serias dedicadas ou linha telefônicas públicas para a
comunicação interativa com esses sistemas.
Com a evolução da tecnologia em todos os ramos, surgiu uma nova
configuração de computação, chamado de rede de computadores (computer
network).
Em uma rede existem dois ou mais sistemas independentes, também
chamados de hosts ou estações, com capacidade de processamento própria e
interligada através de linhas de comunicação.
Dependendo do grau de interligação dos nós da rede podemos dividir os
sistemas entre dois: sistemas operacionais de rede e sistemas operacionais
distribuídos.
Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos

5.4.1.1 Sistemas Operacionais de Rede (SOR)

No SOR, cada máquina possui seu sistema, hardware e software que permite
ter acesso a outros componentes da rede, compartilhando seus recursos, além
disso, o SOR permite:

9 Cópia remota de arquivos;


9 Emulação de terminal;
9 Impressão remota;
9 Gerência remota;
9 Correio eletrônico.

Cada nó é independente do outro, sendo que o sistema operacional pode ser


diferente, fazendo com que as máquinas continuem a trabalhar mesmo quando a
conexão entre os nós sofra qualquer problema.
Um exemplo de SOR são as redes locais (Local Área Network – LAN).

5.4.1.2 Sistemas Operacionais Distribuídos (SOD)

A princípio o Sistema Operacional Distribuído e o Sistema Operacional


Rede são iguais, os que diferem um do outro, é que no Sistema Operacional
Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos
Distribuído existe um relacionamento mais forte entre seus componentes, fazendo
com que todos os computadores tenham o mesmo sistema operacional.
Para os usuários e suas aplicações é como se não existisse uma rede, mas
um único sistema centralizado.

A grande vantagem é a possibilidade do balanceamento de carga, quando


um programa é admitido para execução, a carga de processamento de cada
sistema é avaliada e o processador mais livre é escolhido, depois de aceito o
programa roda no mesmo processador até o término.
No Sistema Operacional Distribuído também é permitido o
compartilhamento dos periféricos, discos e fitas, podemos considerar que ele é
como uma evolução dos sistemas fortemente acoplados.
Outra vantagem do Sistema Operacional Distribuído é a da implementação
de aplicações distribuídas é a capacidade de redundância do sistema. Isso
significa que se um dos componentes falhar outro poderá assumir o sistema
defeituoso. Em aplicações de missão crítica, como controle de tráfego aéreo,
existem sistemas especialmente desenvolvidos para essa finalidade, conhecidos
como sistema de tolerância a falhas (fault tolerance),
Alguns fabricantes juntamente com os órgãos de padronização, definiram
padrões para a implementação de sistemas distribuídos. O Distributed Computing
Enviroment (DCE), o Common Object Request Broker Architecture (COBRA) e o
Object Linking and Embedding (OLE) são alguns dos padrões para o
desenvolvimento de aplicações em ambiente distribuídos.
Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos

5.4.2.1 Organização Funcional

A organização funcional dos sistemas fracamente acoplados ou topologia


define como interligada fisicamente os diversos sistemas da rede.

5.4.2.2 Barramento

Os sistemas são conectados a uma única linha de comunicação e todos


compartilham o mesmo meio, tanto para receber como para enviar mensagens.
Esta configuração se usa geralmente em redes locais e nessa topologia, caso haja
algum problema com o meio de transmissão todos os nós da rede ficarão
incomunicáveis.
Sistemas Operacionais
Prof. Antonio Apparecido Oliveira dos Santos

5.4.2.3 Organização distribuída

Neste tipo existem linhas de comunicação ponto-a-ponto que ligam os


sistemas e caminhos alternativos entre os diversos nós da rede. Caso uma linha
de comunicação apresente problema, linhas alternativas permitirão que a rede
continue em funcionamento. Este tipo de organização é utilizado geralmente em
redes distribuídas.

Вам также может понравиться