Buscar

SOs.pdf

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

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

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ê 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

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

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ê 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

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

Prévia do material em texto

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS agosto/2013 
SEMANA 05
Sistemas multiprocessados
1 - Introdução
Os sistemas multiprocessados são sistemas com múltiplos processadores e caracterizados 
pela execução simultânea de duas ou mais instruções pelo uso de mais de um processador. Nesse 
caso, os conceitos de multiprogramação são aplicados a vários processadores ao mesmo tempo.
Os sistemas multiprocessados permitem que vários programas sejam executados em
paralelo, ou que um programa tenha duas ou mais de suas instruções executadas em paralelo.
O multiprocessamento pode ocorrer em múltiplos processadores que compartilham uma 
mesma memória primária (fortemente acoplados) ou em múltiplos computadores independentes, 
com o uso de sistemas operacionais de rede ou sistemas operacionais distribuídos (fracamente 
acoplados). No caso de computadores independentes, cada um tem seus próprios recursos.
Os sistemas multiprocessados podem ser classificados como fortemente acoplados e 
fracamente acoplados, que está relacionado à forma de comunicação entre esses múltiplos 
processadores.
Os sistemas fortemente acoplados são classificados em simétricos e assimétricos.
Nos sistemas fracamente acoplados, os processadores estão em diferentes máquinas e são 
classificados como sistemas 
operacionais de rede e sistemas 
operacionais distribuídos.
No entanto, não existe 
muito consenso em torno das 
definições de sistemas 
operacionais distribuídos. Alguns 
autores consideram esse sistema 
fortemente acoplado quando provê 
um nível de integração e 
compartilhamento de recursos 
mais intenso e transparente ao 
usuário. O fato é que, nesse caso, 
fortemente ou fracamente 
Introdução aos Sistemas Operacionais - www.jairo.pro.br 1/8
Sistemas multiprocessados
Sistemas
fracamente
acoplados
Sistemas
fortemente
acoplados
Sistemas
assimétricos
Sistemas
simétricos
Sistemas
operacionais
de redes
Sistemas
operacionais
distribuídos
Fig 1 – Sistemas multiprocessados
acoplado depende da solução de software adotada.
2 - Sistemas fortemente acoplados
Pela necessidade de formas mais rápidas de processamento, as tecnologias têm caminhado 
para a utilização de técnicas de paralelismo. Paralelismo consiste em dividir o processo em 
fragmentos e executar simultaneamante em diferentes processadores, isso para aumentar a 
velocidade de execução de um programa.
Sistemas fortemente acoplados são os que têm mais de um processador ligado no mesmo 
barramento. Nesse caso, existe processamento paralelo, aumento da capacidade de processamento, 
compartilhamento da memória e de periféricos e também tolerância a falhas [se um processador 
parar, o outro continua funcionando].
2.1 - Sistemas simétricos
Uma forma de paralelismo é SMP [Symmetric Multi-Processor, ou multi processadores 
simétricos], onde um grupo de processadores trabalha em conjunto compartilhando uma
única memória através de um único barramento. Isso torna possível qualquer processador executar 
uma parte do processo.
O Multiprocessamento simétrico trata todos os processadores igualmente. Qualquer
processador pode fazer o trabalho de outro processador, e os processos são divididas em correntes 
que podem rodar concorrentemente em qualquer processador disponível. O SMP melhora tanto o 
desempenho da própria aplicação quanto o processamento total do sistema. Os sistemas SMP 
requerem alguma forma de memória compartilhada e suporte do sistema operacional, além de 
aplicações que saibam tirar proveito do paralelismo.
Os sistemas modernos como Linux, Windows, Mac OS e membros da família Unix 
suportam SMP.
Num sistema SMP, em cada um dos processadores roda uma cópia idêntica do sistema 
operacional, existe comunicação entre esses processadores e as tarefas [processos] são distribuídas 
[escalonadas] entre os processadores.
Atualmente multiprocessamento SMP é muito usado em máquinas com mais de um 
processador. Essa máquina usa arquitetura de processadores paralelos MIMD [Multiple Instruction 
Multiple Data]. No entanto, se houver mais de 8 processadores em paralelo a solução é NUMA 
[Non-Uniform Memory Access, ou acesso não uniforme à memória].
2.2 - Sistemas assimétricos
Introdução aos Sistemas Operacionais - www.jairo.pro.br 2/8
Nos sistemas de multiprocessamento assimétrico, os processadores não são tratados 
igualmente e existe um processador que é o mestre e controla o sistema, que fica distribuindo 
tarefas para cada processador escravo.
Essa solução é antiga e permitia adicionar mais um processador a um sistema desenvolvido 
para trabalhar com um único processador. Essa solução foi usada nos anos 1960 e 1970, como 
exemplo existe o modelo IBM System/370 onde era possível adicionar mais um processador.
Mais recentemente, a diferença entre multiprocessamento simétrico e assimétrico pode ser o 
resultado da combinação de software e hardware. Por exemplo, num mesmo hardware o sistema 
SunOS 41 provia processamento assimétrico, já a versão 5 trabalhava com processamento simétrico.
3 - Sistemas fracamente acoplados
O sistema é fracamente acoplado quando depende da rede para distribuir a tarefa de 
processamento. Ou seja, as CPUs estão em computadores diferentes. E cada computador tem seu 
próprio sistema operacional e independentemente gerencia os seus próprios recursos.
3.1 - Sistemas operacionais de redes
Os sistemas são independentes, cada um roda numa máquina e estão em rede.
Um sistema operacional de rede propicia o protocolo para comunicação e transferência de 
dados entre os usuários e servidores nessa rede. Cada nó na rede é independente e capaz de executar 
suas próprias aplicações.
Network Operating System [NOS], ou Sistema Operacional de Rede é usado para gerenciar 
a preparação, transmissão e recepção de dados entre computadores em rede. Com o NOS, o acesso a 
recursos em rede se passa de forma transparente para o usuário, que tem a sensação de que os 
recursos são locais. Localmente o usuário continua com o seu sistema operacional, e o NOS pode 
ser visto como uma camada adicional que facilita o acesso a recursos em rede.
Num exemplo bem simples, no Windows um drive lógico rotulado como "N" leva para um 
recurso em outra máquina, mas o usuário vê o recurso como local, no seu sistema. Nesse caso, o 
acesso ao recurso em rede é transparente para esse usuário.
Dessa definição conclui-se que o sistema operacional de rede é independente do sistema 
operacional nativo naquele computador, ou seja, trata-se de uma "casca" adicional que fornece 
acesso em rede baseado num protocolo específico.
Outro exemplo é o NetWare da Novell, usado para compartilhar servidores de arquivos e 
impressoras em rede. No início dos anos 1990 liderava esse mercado, mas depois perdeu espaço 
1 Sun OS 4: é um sistema operacional Unix criado pela Sun Microsystems. A versão 4 foi lançada em 1988. As 
versões atuais são chamadas de Solaris.
Introdução aos Sistemas Operacionais - www.jairo.pro.br 3/8
para o Linux e para Windows.
O NetWare é baseado no paradigma cliente/servidor com programas clientes em 
Windows9x, Windows NT/2000/XP e Mac OS e OS/2 e com servidores centrais dedicados, que 
autenticam os clientes e distribuem recursos a eles.
Ainda como exemplo, o LANtastic criado pela Artisoft inclui software especializado em um 
chip no ROM2 da placa de rede, que executa funções de gerenciamento da ligação física. Com isso, 
o NOS transfere para esse software a tarefa de busca e acesso aos recursos em rede, resultando em 
transmissão mais rápida de dados através da rede. Mas assim como o NetWare, perdeu muito 
espaço no mercado após o lançamento do Windows 95. Em 2006 LANtastic suportava inclusive 
Windows XP.
O Mac OS da Apple também trabalha como sistema operacional de rede.
3.2 - Sistemas operacionais distribuídos
Conceitualmente, um sistema operacional distribuído épara integrar cooperativamente a 
tarefa de processamento nos computadores que compõem essa rede. E isso de forma transparente 
para os usuários, que têm a sensação de que o sistema se comporta como uma arquitetura 
multiprocessada.
Sistema distribuído é composto por uma coleção independente de computadores em rede, 
mas que para o usuário aparenta ser um só: o hardware é composto de máquinas autônomas, e o 
software fornece ao usuário a abstração de ser uma única máquina. O sistema operacional que roda 
nas máquinas dessa rede é que distribui a tarefa de processamento entre os computadores, com 
ausência de memória compartilhada entre essas máquinas.
Nesse sistema, os recursos são disponibilizados na rede de forma transparente ao usuário. 
Teoricamente, implica em dizer que os usuários nem percebem que esses recursos estão disponíveis 
na rede e não na máquina local.
Aliás, é essa a diferença entre sistema distribuído e rede de computadores: no primeiro caso 
o usuário vê um único sistema e acha que todos os recursos são locais, no segundo caso o usuário 
precisa explicitamente solicitar pelo recurso na rede.
Numa definição resumida, um sistema distribuído representa um caso especial de rede, e a 
principal distinção entre eles está no software de comunicação e não no hardware. Este software é 
usualmente denominado de sistema operacional de rede.
A vantagem desse sistema é justamente a simplicidade e facilidade de instalação, 
administração e uso. Contudo, o sistema distribuído é menos confiável que o sistema cliente-
servidor, e em geral requer estações de trabalho mais poderosas para algumas atividades, como é o 
caso de compartilhar uma base de dados ao invés de disponibilizá-la num servidor de banco de 
dados. Nesse exemplo específico, não apenas as estações envolvidas no compartilhamento sofrem, 
como também a rede fica sobrecarregada pelo tráfego de dados excessivos e desnecessários.
2 ROM: Read Only Memory, ou memória somente de leitura.
Introdução aos Sistemas Operacionais - www.jairo.pro.br 4/8
Parece claro que o aspecto dimensão da rede afeta a melhor escolha do sistema a ser 
implantado, de um modo geral se a rede for pequena [poucas estações de trabalho] o sistema 
distribuído é ideal, já se a rede for grande deve-se partir para o sistema cliente-servidor. No sistema 
distribuído existe uma forte dependência da rede, pois parte significativa dos recursos são acessados 
desse modo.
Ainda assim, o sistema distribuído é mais confiável que, por exemplo, um sistema 
centralizado onde todos os recursos estão na mesma máquina [pois a máquina central poderia parar 
e com isso toda a atividade em rede pararia]. No sistema operacional distribuído, em caso de falha 
de uma máquina o sistema como um todo pode sobreviver, apesar da degradação no desempenho. 
Além de ser mais confiável, existe o crescimento incremental: mais e mais máquinas podem 
ser adicionadas ao sistema distribuído, que pode até melhorar o desempenho de processamento. Isso 
contrasta com o sistema centralizado.
As vantagens do sistema distribuído estão no compartilhamento de dados, dispositivos, 
periféricos e comunicação em rede. Esse sistema é mais flexível do que máquinas simplesmente 
isoladas.
Outra vantagem é a econômica, pois aproveita e usa máquinas ociosas nessa rede.
Como desvantagem temos a segurança inadequada, pois os recursos computacionais são 
compartilhados entre todos os usuários. Outra desvantagem é que a rede precisa ser bem 
dimensionada para poder dar vazão à demanda de diferentes computadores que se comunicam para 
dividir a tarefa de processamento.
Mas a principal desvantagem é a necessidade de sistemas operacionais específicos e a quase 
ausência de software de alto nível disponível para sistemas distribuídos.
Atualmente, sistemas operacionais distribuídos ainda não estão comercialmente disponíveis. 
Embora teoricamente vantajoso, comercialmente tem sido um fracasso a implantação desses 
sistemas.
Alguns exemplos de sistemas operacionais distribuídos são:
• Amoeba http://amoebaos.org/, http://www.cs.vu.nl/pub/amoeba/
• Athena http://ist.mit.edu/services/athena
• Mach http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html
• Plan 9 http://plan9.bell-labs.com/plan9/
• V System http://en.wikipedia.org/wiki/V_(operating_system)
• Sprite http://www.eecs.berkeley.edu/Research/Projects/CS/sprite/sprite.html
4 - Outras classificações para sistemas operacionais
4.1 - Sistema descentralizado
Introdução aos Sistemas Operacionais - www.jairo.pro.br 5/8
Em um ambiente descentralizado, cada usuário cuida do seu sistema, dos seus aplicativos e 
dos seus dados (arquivos). Contudo, essa independência pode levar a duplicação de dados e 
inconsistências, além de redundâncias desnecessárias. Além dos problemas já citados, essa 
implementação também implica em maiores custos de hardware, manutenção, suporte e operação.
O sistema descentralizado somente está sendo citado aqui para efeito de comparação com o 
próximo item, que é o sistema centralizado. Afinal, sistema descentralizado está relacionado ao 
ambiente de trabalho adotado em determinada organização, e não especificamente a um tipo de 
sistema operacional.
4.2 - Sistema centralizado
No sistema centralizado, um único computador acomoda os dados e recursos 
computacionais da organização. Neste caso, o acesso ao computador central se dá a partir de 
terminais remotos que formam um conjunto chamado de rede de terminais. Porém, tecnicamente em 
alguns casos essa construção não pode ser classificada como rede de computadores.
A sua principal vantagem reside na economia obtida pela aquisição de um único sistema 
centralizado ao invés de vários computadores descentralizados, além de facilitar as operações de 
gerenciamento, suporte e comunicação entre os usuários.
No passado esse sistema era chamdo de "terminal burro da IBM", mas hoje em dia - apesar 
de quase extinto - esse conceito está renascendo justamente pela redução de custos que proporciona 
quando comparado com o sistema descentralizado. E o recente barateamento nas técnicas de 
virtualização3 tem proporcionado um novo impulso à centralização, mas não implica que a 
centralização dependa de virtualização.
Convém citar que esse "renascimento" ocorre agora dentro de um conceito de ambiente em 
rede, através de um protocolo padronizado de comunicação.
Aqui, redução de custos na aquisição de um único sistema centralizado não significa apenas 
economia de hardware e software, mas também está sendo levado em conta o fato de que muitas 
máquinas completas (inclusive com um sistema operacional e aplicativos instalados no sistema de 
arquivo) estão mais suscetíveis a problemas que acarretam custos de help desk e suporte técnico.
A desvantagem reside no próprio sistema centralizado, que é um ponto único de falha: se ele 
parar, toda a organização irá parar também.
4.3 - Sistema cliente-servidor
Atualmente, a maioria das aplicações em rede ocorre num paradigma cliente-servidor. Como 
o próprio nome diz, nessa transação existem duas partes envolvidas: a do cliente, na forma de um 
processo cliente gerado por algum aplicativo (por exemplo, navegador da internet), e a parte do 
3 A virtualização foi desenvolvida no anos 1960 para melhor utilização do hardware dos mainframes.
Introdução aos Sistemas Operacionais - www.jairo.pro.br 6/8
servidor, também na forma de um processo (por exemplo, serviço ou servidor web).
No caso do processo cliente, ele é gerado para conectar e transferir os dados para o processo 
servidor, que precisa estar o tempo todo "escutando" por alguma requisição do cliente.
Um exemplo clássico é a impressora de rede: o cliente usa determinado aplicativo que, ao 
solicitar que imprima, gera um processo cliente que conecta no processo servidor, esse último já na 
impressora. Aqui, a rede é um veículo que transportaos dados da estação de trabalho do cliente para 
o servidor de impressão através de um protocolo de comunicação comum às duas partes envolvidas 
nessa transação.
Convém notar que esse acesso é diferente do sistema distribuído, pois agora o usuário 
precisa manifestar a intenção em imprimir em determinada impressora, nitidamente fora do seu 
computador desktop.
Outro aspecto do modelo cliente-servidor é o protocolo de comunicação (normalmente 
TCP/IP) padronizado tanto para o cliente quanto servidor, além da porta de acesso (porta TCP) no 
servidor, que também deve se padronizada e por isso mesmo conhecida do aplicativo cliente.
Com isso, tanto cliente quanto servidor têm a liberade de usar o sistema operacional que for mais 
eficiente para a tarefa em questão, pois toda a comunicação está baseada num protocolo de 
comunicação em rede que é comum às duas partes envolvidas.
É por essas características de uso intensivo da rede, além do desejo de otimizar recursos de 
hardware, que são construídos sistemas operacionais voltados para tarefas específicas em rede. É 
daí que vem o conceito de sistema operacional desktop (estação de trabalho) e servidor. Por 
exemplo, o Windows 7 é um sistema tipicamente desktop, já os sistemas operacionais da famíla 
Unix (Solaris, AIX, HP-UX, etc.) de um modo geral estão tipicamente voltados para a tarefa de 
servidores.
4.4 - Sistema baseado na WWW
O conceito de aparelho de rede, aparelho de informação ou aparelho de internet engloba 
uma grande quantidade de equipamentos que normalmente difere dos computadores pessoais por 
suportar geralmente uma aplicação única como navegador web ou correio eletrônico e, em muitos 
casos, nem ao menos possuirem teclado, mouse ou monitor.
Esses equipamentos portáteis são muito úteis para aqueles usuários que querem ter acesso 
móvel à internet sem ter de arcar com os problemas e custos de um computador normal. Como 
exemplos temos computadores de mão como o PalmPilot, smartphone, alguns game players e 
tablet. Atualmente até aparelhos de televisão (smart TV) permitem navegar na internet.
Existe também o conceito de computadores de rede, similares a estações de trabalho Unix 
sem disco (X-terminal diskless), que são sistemas reduzidos e usam a rede para acessar as 
aplicações e guardar arquivos e pastas de trabalho. Por serem bem simples, os computadores de 
rede exigem muito pouca manutenção, suporte e help desk, daí o crescente interesse neles 
atualmente.
Introdução aos Sistemas Operacionais - www.jairo.pro.br 7/8
Por exemplo, pode-se imaginar determinada empresa que, para economizar custos de 
hardware, software e help desk, adota computadores de rede e contrata os serviços de um provedor 
de serviço de aplicação (ASP - Application Service Provider) para fornecer tanto o acesso à internet 
quanto a disponibilização de aplicativos como editores de texto e espaço para armazenamento de 
dados para que seus funcionários possam trabalhar e salvar seus arquivos. Os funcionários podem 
então rodar todos os aplicativos disponibilizados pelo ASP, além de disporem de algum espaço em 
disco para salvar seu trabalho.
Como exemplos tem o thin client [cliente magro] e LTSP4.
Paradoxalmente, o sistema baseado na WWW nos remete de volta ao quadro antigo do 
sistema centralizado, só que agora com uma cara nova quando comparado com o teminal burro.
4 LTSP: Linux Terminal Service Project [http://www.ltsp.org/].
Introdução aos Sistemas Operacionais - www.jairo.pro.br 8/8

Outros materiais