Tipos de Sistemas Operacionais

De Aulas
Revisão de 21h11min de 11 de setembro de 2020 por Admin (discussão | contribs) (→‎Sistemas Operacionais Distribuídos)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

Conteúdo integrante da disciplina de Sistemas Operacionais

Visão Geral

SO visaogeral 01.png

Máquina de Níveis

SO maquinadeniveis.png

Introdução

  • Evolução dos Sistemas Operacionais -> Hardware
  • Programa e Job X Processo e Subprocesso X Tarefa e Thread.
  • Tipos de Sistemas Operacionais
    • Monoprogramáveis / Monotarefa
    • Multiprogramáveis / Multitarefa
    • Multiplos Processadores
SO tipos.png

Sistemas Monoprogramáveis / Monotarefa

  • Execução de um único programa (JOB).
  • Relacionados ao surgimento dos mainframes -> PCs, estaçoes de trabalho
  • Todos recursos do sistema ligados a apenas uma tarefa
SO monoprogramavel.png

Sistemas Multiprogramáveis / Multitarefa

  • Mais complexos e eficientes que os monoprogramáveis.
  • Vários programas dividem os mesmos recursos.
  • Sistema Operacional gerencia o acesso concorrente aos recursos e dispositivos.
  • Aumento de produtividade
  • Mais de um usuário pode interagir com o sistema.
  • Sistemas Monousuários X Multiusuários
SO multiprogramavel.png

Tipos de Sistemas Multiprogramáveis

  • Sistemas Batch X Tempo Compartilhado X Tempo Real
SO multiprogramaveis tipos.png

Sistemas Batch (LOTE)

  • Execução Sequencial.
  • Os JOBS não exigem interação com o usuário, como compilação, sorts, backups.
SO historico 01.png

Sistemas de Tempo Compartilhado (Sistemas OnLine)

  • Interação usuário – Vídeo, Teclado, Mouse, etc.
  • Usuário comunica direto com o Sistema Operacional.
  • Cada usuário possue fatias de tempo dos recursos, aparentando estarem dedicados.

Sistemas de Tempo Real

  • Tempos de respostas devem estar dentro de limites rígidos.
  • Recursos dedicado ao Programa de maior prioridade, controlado pela própria aplicação.

Sistemas com Múltiplos Processadores

  • Uma ou mais CPUs interligadas, trabalhando em conjunto.
  • Fator Chave = Comunicação entre CPUs e grau de compartilhamento dos recursos.
  • Sistemas Fortemente Acoplados X Fracamente Acoplados
SO SistemasComMultiplosProcessadores.png

Sistemas Fortemente Acoplados

  • Vários processadores compartilhando única memória e apenas um Sistema Operacional
  • Vários programas podem ser executados ao mesmo tempo
  • Um programa pode ser dividido em subprogramas.
  • Ampliação da capacidade, adquirindo apenas novos processadores, menos custos.

Com Memória Compartilhada

SO fortementeacoplados 01.png

Com Memória Independente

SO fortementeacoplados 02.png

Sistemas Assimétricos

  • Um processador primário responsável pelos demais e pelo Sistema Operacional
  • Outros processadores são secundários e executam programas de usuários
  • Se o processador primário falhar, o sistema para.
  • O Sistema pode ser reconfigurado para outro processador assumir
  • Utilização ineficiente do Hardware devido a assimetria dos processadores, que não realizam as mesmas funções.

Sistemas Simétricos

  • Todos processadores têm as mesmas funções.
  • Podem executar o Sistema Operacional Independentemente.
  • Sistema Operacional e Hardware responsáveis pela distribuição dos recursos.
  • Se o sistema falha, o sistema continua rodando.
  • Mais poderosos que o s assimétricos, melhor balanceamento do processamento e das operações de I/O.
  • Implementação bastante complexa.

Multiprocessamento

  • Uma tarefa pode ser dividida e executada, ao mesmo tempo, por mais de um processador.
  • Processamento Vetorial
    • Permite manipulação de vetores inteiros
    • Exemplo “c = a + b” substitui ”para i=1 até 100 fazer c[i] = a[i] + b[i]”
    • Possui também um processador escalar
    • Identifica o tipo de instrução e envia ao processador adequado
  • Processamento Paralelo
    • Aplicação pode ser executada por mais de um processador
    • A aplicação precisa ser dividida em partes independentes

Sistemas Fracamente Acoplados

  • Possui dois ou mais sistemas de computação interligados
  • Cada nó possui seu sistema operacional gerenciando os recursos.
SO fracamenteacoplados.png

Sistemas Operacionais de Rede

  • Cada nó possui
    • seu próprio Sistema Operacional, podendo eles serem diferentes
    • conexão à outros nós
    • recursos de hardware compartilhados
    • total independência dos outros
  • Caso algum nó caia, o sistema pode continuar rodando apesar de alguns recursos indisponíveis
  • Exemplo : Local Area Network (LAN).

Sistemas Operacionais Distribuídos

SO sodistribuidos 02.png
  • Cada nó possui
    • Seu próprio Sistema Operacional que devem ser todos iguais.
    • Recursos de hardware
    • Possui um relacionamento mais forte entre seus componentes.
  • Para o usuário é como se não existisse uma rede de computadores, mas apenas um único sistema centralizado.
  • Vantagem da possibilidade do balanceamento da carga (processador mais ocioso é escolhido).
  • Exemplo de SO distribuído: Amoeba

Clusters

  • Num cluster, qualquer usuário conectado ao mesmo poderá Ter acesso aos dispositivos compartilhados, independente de que sistema ele está rodando a aplicação.
  • Permite que a aplicação seja dividida em diferentes partes, podendo cada uma ser processada em um sistema independente (aplicação distribuída).
  • Possui a vantagem da redundância, se ocorrer algum problema com algum componente outro assume o papel do defeituoso.
SO sodistribuidos.png
  • Conjunto de estações de trabalho ou PCs
  • Interconexão: redes locais
  • Nós: elementos de processamento = processador + memória
  • Não existe um escalonador centralizado
  • Redes de interconexão tendem a ser mais lentas do que sistemas fortemente acoplados
  • Cada nó tem seu próprio escalonador local
  • Compartilhamento de recursos sem partição dedicada a uma aplicação
  • Aplicação deve considerar impacto no desempenho
  • Não tem o sistema dedicado
  • Possibilidade de compor um sistema de alto desempenho e um baixo custo
SO Cluster.png

Cluster Beowulf

Beowulf é um poema épico, escrito em língua anglo-saxã, por autor desconhecido, possivelmente no século VIII, cujo único manuscrito existente está datado para ca. 1 000. Escrito em 3 182 linhas, com o emprego de aliteração, é o poema mais longo do pequeno conjunto da literatura anglo-saxã, e um marco da literatura medieval. Aborda eventuais acontecimentos e personagens da Dinamarca, e em menor grau do sul da Suécia, no século VI, tendo como figura central o lendário Beowulf.

SO beowulfpoem.jpg

Beowulf é um projeto para aglomerados de computadores (ou Clusters) para computação paralela, usando computadores pessoais, não especializados e portanto mais baratos. O projeto foi criado por Donald Becker da NASA, e são utilizados em todo mundo, por exemplo no processamento de dados com finalidade científica e na renderizacão de filmes de animação 3D.

Site: https://www.beowulf.org/

O objetivo era construir um cluster "poderoso" e, ao mesmo tempo, poupar gastos com equipamentos, licenças de software e manutenção. O cluster montado por Thomas Sterling e Donald Becker para a NASA, por exemplo, era composto por 16 PCs com processador Intel 486 DX4 e sistema operacional Linux conectados por uma rede Ethernet de 10 Mb/s. Esta foi uma solução consideravelmente mais barata e, possivelmente, menos complexa que um supercomputador.

Um cluster Beowulf se define, basicamente, pela ênfase nas seguintes características
  • entre os nós, deve haver pelo menos um que atue como mestre para exercer o controle dos demais. As máquinas mestres são chamadas de front-end; as demais, de back-end. Há a possibilidade de existir mais de um nó no front-end para que cada um realize tarefas específicas, como monitoramento, por exemplo;
  • a comunicação entre os nós pode ser feita por redes do tipo Ethernet, mais comuns e mais baratas;
  • não é necessário o uso de hardware exigente, nem específico. A ideia é a de se aproveitar componentes que possam ser encontrados facilmente. Até mesmo PCs considerados obsoletos podem ser utilizá-los;
  • o sistema operacional deve ser de código aberto, razão pela qual o Linux e outras variações do Unix são bastante utilizados em cluster Beowulf;
  • os nós devem se dedicar exclusivamente ao cluster;
  • deve-se fazer uso de uma biblioteca de comunicação apropriada, como a PVM (Parallel Virtual Machine) ou a MPI (Message Passing Interface). Ambas são direcionadas à troca de mensagens entre os nós, mas o MPI pode ser considerado mais avançado que o PVM, uma vez que consegue trabalhar com comunicação para todos os computadores ou para apenas um determinado grupo.

Grids: Grades Computacionais

Set@Home

SO setiarecibo.jpg
SO setarch.gif
SO setathome.png

Grids

  • Utilização de computadores independentes geograficamente distantes
  • Diferenças: clusters X grades
    • heterogeneidade de recursos
    • alta dispersão geográfica (escala mundial)
    • múltiplos domínios administrativos
    • controle totalmente distribuído
    • controlados por diferentes entidades e diversos domínios administrativos
  • Vários projetos tem proposto o desenvolvimento de middlewares de gerenciamento
    • camada entre a infra-estrutura e as aplicações a serem executadas na grade computacional
  • Aplicação deve estar preparada para:
    • Dinamismo
    • Variedade de plataformas
    • Tolerar falhas
SO grids.png

Sobre a utilização de Grids

  • Sistema não dedicado e diferentes plataformas
  • Usuários da grids devem obter autorização e certificação para acesso aos recursos disponíveis na grade computacional
  • Falhas nos recursos tanto de processamento como comunicação são mais freqüentes que as outras plataformas paralelas
  • Mecanismos de tolerância a falhas devem tornar essas flutuações do ambiente transparente ao usuário
  • Deve haver gerenciamento da execução da aplicação através de políticas de escalonamento da aplicação ou balanceamento de carga
  • Deve ser feito escalonamento durante a execução da aplicação se faz necessário devido as variações de carga dos recursos da grade


Lista de Exercícios

Formulário

  1. A que se deve a evolução dos Sistemas Operacionais? Exemplifique e comente.
  2. O que são Sistemas "Monoprogramáveis/monotarefa? Comente suas principais características.
  3. O que são Sistemas Multiprogramáveis/multitarefa? Comente suas principais características.
  4. Comente sobre as diferenças entre Sistemas Batch, Sistemas de tempo ompartilhado e Sistemas de tempo real.
  5. Caracterize os sistemas com Multiplos Processadores.
  6. Diferencie Sistemas Fortemente Acoplados de Sistemas Fracamente coplados. Cite e comente que tipos de aplicações podem melhor se adequar à cada um deles.
  7. Caracterize e faça comentários sobre Sistemas Simétricos, Assimétricos e com Multiprocessamento.
  8. O que são Sistemas Operacionais de Rede? Cite e comente suas características básicas.
  9. O que são Sistemas Operacionais Distribuídos? Cite e comente suas características básicas.
  10. Descreva os clustes, pesquise e apresente aplicações que utilizam clusters.
  11. Descreva com suas palavras o cluster beowulf e as caracteristicas que deve ter.
  12. O que são grids computacionais, mostre problemas que foram resolvidos com grids e descreva-os.