Sistemas Operacionais - Classificação

Questão Motivadora:
Resumo de Classificação Genérica>


Note que as classificações de sistemas operacionais apresentadas acima também são apresentadas em [TAN 95][TAN 92], com exceção do último tipo, que pode ou não ser considerado como um sistema operacional. Entre as diversas gerações dos S.O existe uma diferença com relação ao acoplamento. Por nível de acoplamento (coupling) considera-se a medida de quão centralizado ou descentralizado o sistema [CHO 97].
SO centralizado

Nessa categoria enquadram-se os S.O tradicionais para arquiteturas monoprocessadas que
evoluíram de um simples sistema de controle para um sistema multitarefa e multiusário. Alguns
autores [CHO 97] incluem nessa classificação também o suporte para arquitetura multiprocessada enquanto outros [TAN 95] consideram esse tipo de suporte como um tipo especial de sistema operacional (sistema operacional multiprocessado ou multiprocessor operating systems ou MOS).
O MOS é definido como um sistema com compartilhamento de tempo em multiprocessador.
Nessa classe de SO, a comunicação e compartilhamento de recursos é feita via memória compartilhada ou interrupções.

Como características principais destaca-se:
· Sistema altamente acoplado, com todos os recursos compartilhados internamente;
· Comunicação entre processos via memória compartilhada.

As principais funções exigidas nesse tipo de sistema estão sumarizadas na tabela abaixo.

Funções de Gerenciamento em S.O centralizados.

Exigências do Sistema xxx Funções de Gerenciamento
único usuário xxx interface de usuário, controle de E/S, interrupções, device
drivers E/S eficiente xxx E/S virtual, spooling
programas grandes xxx paginação e segmentação, memória virtual
Multiusuários xxx Multiprogramação e tempo compartilhado (time sharing), escalonamento de processos, proteção e controle de acesso, compartilhamento de arquivos e controle de concorrência
Multitarefa xxx processamento concorrente, sincronização de processos, tratamento de deadlock, comunicação entre processos


Dentre os possíveis aprimoramentos na arquitetura cita-se duas abordagens:
· Gerenciamento dos módulos: uso de OO para facilitar extensões e portabilidade;
· Separação dos códigos dependentes de HW do restante do sistema: uso de kernel mínimo
(microkernel), reduzindo a complexidade do porte de uma arquitetura de máquina para outro.

Normalmente o código do kernel é monolítico por ser centrado na eficiência.

SO de rede (Network Operating System ou NOS)
Sistema operacional de rede é uma coleção de S.O de computadores conectados a uma rede
incorporando módulos para prover acesso a recursos remotos. Com isso tem-se uma implementação barata, porém, exige que o usuário conheça a localização dos recursos requisitados. Um exemplo típico é um conjunto de estações de trabalho interconectados por uma LAN usando UNIX. Pode-se considerar como uma extensão do S.O centralizado para facilitar o compartilhamento de recursos e a troca de informações apresentando as seguintes características:
· cada computador possui seu S.O privado;
· usuários normalmente estão a par da localização dos seus arquivos e movem eles através de
transferências explícitas;
· sistema possui pouco ou nenhum recurso de tolerância a falhas.

Para facilitar a comunicação e uso dos recursos, pode-se prover um sistema de arquivos
globalmente compartilhado acessível a todas as máquinas. O sistema é suportado por uma ou mais máquinas denominadas servidores de arquivos. Assim um N.O.S. típico é uma coleção de S.O. centralizados locais juntamente com servidores de arquivos e impressão comuns. Os recursos são vistos como pertencentes localmente a computadores específicos.
A maior parte dos N.O.S apresentam uma API de alto nível como RPC ou socket no serviço de
transporte para suportar a comunicação entre os S.O nos diferentes domínios da rede. Com a
inclusão dessa camada de transporte, diversas aplicações de rede são suportadas. Os principais tipos são:
  1. login remoto
  2. transferência de arquivos
  3. mensagens
  4. navegação na rede e execução remota.


SO Distribuído (Distributed Operating Systems ou DOS)
A implementação de um sistema verdadeiramente distribuído tem como objetivo a obtenção de um conjunto de máquinas ligadas em rede que funcionem como um uniprocessador virtual. Um SO Distribuído parece ao usuário como um sistema centralizado comum, mas executa em múltiplas unidades de processamento independentes onde:
(1) o uso de múltiplos processadores deve ser invisível (transparente) para o usuário;
(2) o usuário vê o sistema como um uniprocessador virtual, não como uma coleção de máquinas distintas conectadas por um subsistema de comunicação.

Como principais características tem-se
  • um mecanismo de comunicação global único entre processos,
  • proteção global
  • gerenciamento homogêneo de processos.

O objetivo é fornecer transparência no acesso aos recursos, mas, de fato, não existe um sistema 100% transparente. Assim, o SO Distribuído deve:
(1) controlar a alocação de recursos da rede para permitir seu uso no modo mais eficiente;
(2) prover ao usuário com um computador virtual conveniente que serve como um ambiente de
programação de alto nível;
(3) esconder a distribuição dos recursos;
(4) prover mecanismos para proteção dos recursos do sistema contra acesso por usuários não
autorizados;
(5) prover comunicação segura


A figura acima [GOS 91] mostra de forma esquemática uma comparação da arquitetura NOS e
DOS, enquanto a tabela abaixo diferencia os três tipos de SO segundo as principais características. Note que por MOS entende-se um sistema centralizado para ambiente multiprocessado.

ITEM NOS DOS MOS
Se parece com um processador virtual? N S S
Todas as máquinas devem rodar o
mesmo sistema operacional? N S S
Quantas cópias do sistema operacional
existem? N N 1
Como a comunicação é feita? Arquivos Mensagens Memória
Compartilhados Compartilhada
Há uma única fila de execução? N N S

Sistema Autônomo Cooperativo
Um sistema autônomo cooperativo é um sistema de software orientado a serviço de alto nível que requer o suporte de mecanismos de comunicação no qual protocolos de comunicação de alto nível são construídos. Chow [CHO 97] classifica como um tipo de S.O mas isso não é um conceito
sedimentado na literatura. Por ser um tipo de sistema com crescente aumento em importância ele será estudado independente de ser ou não um S.O de fato.

Bibliografia
[CHO 97] CHOW,
[DEI 90] DEITEL,
[GOS 91] GOSCINSKI,
[SIL 99] SILBERSCHATZ et al. Operating System Concepts. John Willey, 1999.
[TAN 92] TANENBAUM, A. S. Modern Operating Systems. Prentice Hall, 1992.
[TAN 95] TANENBAUM, A. S. Distributed Operating Systems. Prentice Hall, 1995.

Comentários

Postagens mais visitadas deste blog

Redação Ti Nota 10 - Klauss

Prova Discursiva nota 10 - Banca Cespe

Portugues - Orações