Arquitetura entre Sistemas Operativos/Estrutura dos Sistemas Operacionais

Origem: Wikilivros, livros abertos por um mundo aberto.

Estruturas de Sistemas Operativos

Os Sistemas Operativos podem ser divididos em 4 estruturas diferentes:

  • Monolítica;
  • Hierárquica;
  • Máquina Virtual;
  • Cliente-Servidor;

Estrutura Monolítica

Estrutura utilizada pelos primeiros sistemas operativos, constituídos por um único programa, composto por várias sub-rotinas, de tal forma que cada uma pode chamar qualquer uma das outras. É exemplo deste tipo de estrutura, o conhecido MS-DOS.

Características deste tipo de estrutura:

  • Construção do programa final com base em módulos, que vão ser unidos através de Linkers (utilitário que a partir de vários módulos gera um único programa executável)
  • Boa definição de parâmetros entre as estruturas
  • Geralmente são feitos à medida, pelo que são eficientes e rápidos na execução e na gestão
  • Não são muito flexíveis a diferentes ambientes para além dos quais foram criados

Dificuldades associadas a uma estrutura Monolítica:

  • Difícil de compreender
  • Difícil de modificar
  • Pouco fiável (um erro "em qualquer lado" pode provocar um crash)
  • Difícil de manter

Estrutura Hierárquica

À medida que foram aumentando as necessidades dos utilizadores e melhoramento dos sistemas, tornou-se necessário haver uma maior organização do software do SO. Desenvolveu-se assim um SO em que uma parte do sistema continha subpartes, organizadas em forma de níveis, ou seja, dividiu-se o SO em pequenos blocos bem definidos, com uma interface clara, para permitir a ligação com outros blocos. As principais funções do sistema encontram-se associadas a uma camada.

Máquina Virtual

Uma máquina virtual é uma cópia via software que procura simular uma máquina real. Uma máquina virtual (Virtual Machine – VM) pode ser definida como “uma duplicata eficiente e isolada de uma máquina real”. A IBM define uma máquina virtual como uma cópia isolada de um sistema físico, e esta cópia está totalmente protegida.

Ao invés de ser uma máquina real, isto é, um computador real, feito de hardware e a executar um sistema operacional específico, uma máquina virtual é um computador fictício criado por um programa de simulação. A sua memória, processador e outros recursos são virtualizados. A virtualização é a interposição do software (máquina virtual) em várias camadas do sistema. É uma forma de dividir os recursos de um computador em múltiplos ambientes de execução.

Cliente-Servidor

Os Sistemas Cliente-Servidor são modelos de computação que distinguem dois tipos básicos de equipamentos computacionais: servidores e clientes, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Neste modelo, geralmente os servidores agregam as funções mais importantes do sistema, deixando aos clientes apenas o processamento de aplicações mais básicas.

As principais características deste tipo de sistema são:

  • Elevar a camada onde são implementadas as funções normalmente efetuadas pelo sistema operativo
  • Reduzir as funções do sistema operativo
  • Tornar menor e mais fácil a manutenção de cada parte do sistema operativo