Arquitetura entre Sistemas Operativos/Estrutura dos Sistemas Operacionais
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