Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Monoprogramveis
Execuo de um nico programa (job) Todos os recursos do sistema dedicados a uma UCP nica tarefa. Simples Memria implementao. Monousurio
Programa
E/S
Sistemas Monoprogramveis
Processador permanecia ocioso enquanto aguardava por um evento
G Ex:
digitao de um dado
Memria era subutilizada caso o programa no a preenchesse totalmente Os perifricos eram dedicados a um nico usurio, no eram utilizados de forma integral
Sistemas Monoprogramveis
Esto tipicamente relacionados aos primeiros computadores da dcada de 1960
G Voltou
a ser utilizado nos computadores pessoais e nas estaes de trabalho da dcada de 1970 G Essas mquinas eram utilizadas por apenas um usurio na execuo de um nico programa
Sistemas Multiprogramveis
Substituram os monoprogramveis - mais complexos e eficientes. Vrios programas dividem os recursos computacionais. O SO se preocupa em gerenciar o acesso concorrente aos diversos recursos
Sistemas Multiprogramveis
Programa/Tarefa Programa/Tarefa
UCP
Memria
E/S
Programa/Tarefa
Programa/Tarefa
Sistemas Multiprogramveis
Enquanto um programa espera por uma operao de leitura ou gravao em disco, outros programas podem estar sendo processados
G Compartilhamento
de memria e do
processador
Sistemas Multiprogramveis
Vantagens
G reduo
Sistemas Multiprogramveis
A partir do nmero de usurios que interagem com o sistema so classificados
G Monousurio
I
G Multiusurio
I
Sistemas Multiprogramveis
Podem
ser classificados pela forma com que suas aplicaes so gerenciadas. SO pode suportar um ou mais desses tipos de processamento.
Um
Sistemas Multiprogramveis
Sistemas Multiprogramveis / Multitarefas
Sistemas Batch
nucleares.
programas podem ser executados ao mesmo tempo G um mesmo programa divido em partes para ser executado simultaneamente em mais de um processador
A evoluo desse tipo de sistema deveu-se, em parte, ao elevado custo de desenvolvimento de UCPs de alto desempenho
Capacidade de aumentar o poder computacional adicionando UCPs Capacidade de manter o sistema em operao em caso de falhas
G Disponibilidade
I
G Balanceamento
I
de carga
Cluster
Sistemas com Mltiplos Processadores Fortemente Acoplados Existem dois ou mais processadores (multiprocessamento) compartilhando uma nica memria e controlados por um nico sistema operacional. Uso intensivo da UCP processamento voltado para a soluo de um nico problema.
Sistemas com Mltiplos Processadores Fortemente Acoplados Inicialmente, limitados aos computadores de grande porte. Hoje, presentes em PC e estaes de trabalho.
Dispositivos E/S
Dispositivos E/S
(Symmetric Multiprocessors)
Caracterizam-se pelo tempo uniforme de acesso memria principal pelas diversas UCPs
G NUMA
I
Apresentam diversos conjuntos reunindo UCPs e memria principal Cada conjunto conectado aos outros atravs de uma rede de interconexo O tempo de acesso memria pelas UCPs varia em funo de sua localizao fsica
Sistemas NUMA
Exemplo de arquitetura NUMA
Arquitetura de Sistemas Operacionais Machado/Maia
Conjunto
P1
P2
P3
M1
P4
P5
P6
M2
Barramento inter-conjunto
P7
P8
P9
M3
Barramento interno
26
primrio
G Processadores
I
secundrios
Simtricos
G Processadores
tm a mesma funo
Disp. E/S
SO
Usurios
Usurios
uma UCP faz referncia a um endereo de memria, no importa sua localizao fsica, o endereo ser acessado de forma transparente, variando o tempo de acesso conforme sua localizao
volume de operaes de E/S sistema pode se tornar ineficiente. G Processadores mestre falhando - sistema fica incapaz de continuar o processamento - necessidade de reconfigurar para um dos processadores escravos assumir o papel de mestre. G No utiliza eficientemente o HW.
Simples de implementar
Topologias NUMA
(a) Fat-tree
Sistemas NUMA
31
Sistemas NUMA
Arquitetura de Sistemas Operacionais Machado/Maia
Topologias NUMA
(b) Anel
(c) Grid 2D
32
Sistemas NUMA
Arquitetura de Sistemas Operacionais Machado/Maia
Topologias NUMA
(d) T orus 2D
(e) Hipercubo
33
os processadores realizam as mesmas funes. G Conflitos de acesso memria so resolvidos pelo HW e SO. G Programa pode ser executado por vrios processadores - paralelismo. G Um processador falhando - sistema continua em funcionamento, com menor capacidade.
Disp. E/S
SO
Usurios
Multiprocessamento
Uma tarefa dividida e executada, ao mesmo tempo, por mais de um processador. Dois nveis:
G processamento G processamento
vetorial paralelo
Processamento Vetorial
Manipulao de vetores inteiros
G Processadores
I
Processamento Paralelo
Possibilidade de uma aplicao ser executada por mais de um processador ao mesmo tempo. Exemplo:
I
Paralelismo explcito - feito pelo programador Paralelismo implcito - detectado pelo compilador e pelo SO (Prg mais eficientes e confiveis)
Organizao Funcional
O esquema de comunicao interna (UCPs, memria e disp E/S) fundamental no projeto de sistemas multiprocessados - determina quantas UCPs o sistema poder ter e como ser o acesso memria (acessos simultneos - interliving).
Organizao Funcional
Trs tipos:
G barramento G barramento G memria
comum; cruzado; e
multiport.
Barramento comum
UCP
Memria
Proc E/S
Memria
Memria
UCP
Proc E/S
UCP
Proc E/S
uma unidade funcional pode estar utilizando o barramento em determinado instante (gargalo) G Limitado a poucos processadores, dependendo da velocidade de transmisso do barramento.
Proc E/S
Barramento cruzado
Rede de interconexo - evita o problema do gargalo. Comunicao simultnea entre as unidades funcionais - HW resolve conflitos de acesso a uma mesma unidade. Nmero de processadores - ilimitado Alto desempenho, elevado custo e complexidade do sistema.
Memria multiport
UCP UCP UCP
Memria
Memria
Memria
Memria
Proc E/S
Proc E/S
Proc E/S
Memria multiport Permite o acesso simultneo a um mesmo mdulo de memria. Os conflitos so resolvidos pelos prprios mdulos atravs de prioridades associadas a cada porta.
sistema possui seu prprio SO e gerencia seus recursos (UCP, memria, E/S). => multicomputadores
Dcada de 80
G SO
ou mais sistemas independentes chamados de ns, host ou estaes G Capacidade de processamento prpria, interligados por linhas de comunicao (informao passa a ser distribuda).
Rede N N N
Clusters
So sistemas formados por ns conectados por uma rede de interconexo de alto desempenho dedicada
G Cada
n denominado membro do cluster G Cada n possui seus prprios recursos (UCP, memria, dispositivos de E/S e sistema operacional) G Geralmente, os membros do cluster so de um mesmo fabricante
I
Clusters
Razo para surgimento e rpida aceitao de sistemas em cluster
G maior
necessidade de tolerncia a falhas e alta disponibilidade, de forma a reduzir o downtime e o balanceamento de carga
Outras vantagens
G escalabilidade
Membro 1
Rede de acesso
Gabinete de discos
Clusters
Clusters
Clusters podem ser utilizados tambm para processamento paralelo
G Uma
aplicao pode ser dividida entre os vrios membros do cluster, de forma que a aplicao possa ser executada em paralelo, reduzindo seu tempo de processamento G A programao paralela nesse ambiente exige que a aplicao seja desenvolvida para tirar proveito do ambiente em cluster
remota de arquivos G Emulao de terminal G Impresso remota G Gerncia remota G Correio eletrnico
Linha de comunicao
Rede de computadores
Host
61
(a) Anel
(b) Estrela
62
(d) Barramento
63
Sistemas Operacionais Distribudos (SOD) Um Sistema Distribudo um conjunto de sistemas autnomos, interconectados por uma rede de comunicao e que funciona como se fosse um sistema fortemente acoplado Os tipos de SO que compem um sistema distribudo no precisam ser necessariamente homogneos
Sistemas Distribudos
Arquitetura de Sistemas Operacionais Machado/Maia
Sistema distribudo
Rede de Computadores
67
Sistemas Distribudos
Arquitetura de Sistemas Operacionais Machado/Maia
Sistemas Operacionais Distribudos (SOD) Grande vantagem - balanceamento de carga (quando um programa admitido, o processador mais livre escolhido). Permite o compartilhamento de dispositivos de E/S - impressoras, discos e fitas. Podem ser considerados uma evoluo dos sistemas fortemente acoplados.
Sistemas Distribudos
Arquitetura de Sistemas Operacionais Machado/Maia
Tolerncia a falhas
Garantir que, em caso de problema em um de seus componentes, as aplicaes continuem sendo processadas sem qualquer interrupo ou interveno do usurio, de forma totalmente transparente Tolerncia a falhas de hardware facilmente oferecida utilizando-se componentes redundantes Tolerncia a falhas de software bem mais complexa de implementar Com a tolerncia a falhas, possvel tambm oferecer alta disponibilidade e confiabilidade
70
Sistemas Distribudos
Transparncia
G G G G G G G G G
Transparncia de acesso Transparncia de localizao Transparncia de migrao Transparncia de replicao Transparncia de concorrncia Transparncia de paralelismo Transparncia no desempenho Transparncia de escalabilidade Transparncia a falhas
73
SOR x SOD
S.O. de Rede
Gsoftware
S.O. Distribudos
G software
fracamente acoplado sobre hardware fracamente acoplado Gcada mquina tem um alto grau de autonomia Gsistemas de arquivos compartilhados Gpoucos requisitos e formatos globais para as mensagens trocadas
fortemente acoplado sobre hardware fracamente acoplado G prov a imagem de um sistema nico G um mecanismo nico e global de gerncia e comunicao interprocessos G a mesma interface de chamadas para o sistema de arquivos
sistemas fortemente acoplados existe apenas um espao de endereamento compartilhado por todos os processadores
I
G Nos
sistemas fracamente acoplados, cada sistema tem seu prprio espao de endereamento individual
I
A comunicao entre os sistemas feita atravs de mecanismos de troca de mensagens, utilizando operaes de send e receive
Fracamente
Distribudo Lenta Mais simples Geralmente heterogneo Mais difcil
Fracamente
No existe limite Alta Mdia/Alta Complexa Distribuda Maior
DVIDAS ?
linha G Todos compartilham o mesmo meio G Geralmente usadas um redes locais G Caso haja algum problema com o meio de transmisso, todos os ns ficam incomunicveis.