Falaremos hoje sobre os tipos de sistemas operacionais e como ele pode ser estruturado contendo diversas estruturas de forma que estas vão se dedicar e se especializar para a aplicação que é voltada.
Tipos de SO´s
Classificação quanto ao compartilhamento de HW
1) Sistemas Operacionais monoprogramados ou monotarefa:
– Só permitem um programa ativo em um dado período, o qual permanece na RAM até seu fim (Ex: MS-DOS).
2) Sistemas Operacionais multiprogramados ou multitarefa:
– mantém mais de um programa na memória, para permitir o compartilhamento do tempo de CPU e demais recursos (Ex: UNIX, Windows).
SO´s Monoprogramáveis ou monotarefa
1) caracterizam-se por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa.
2) recursos são mal utilizados, entretanto, são implementados com facilidade.
3) pode-se pensar que o processo estará em um destes estados.
SO´s Multiprogramados ou multitarefa
1) a ideia é manter vários programas em memória ao mesmo tempo.
2) há várias arfas simultâneas, em um único processador: enquanto uma espera, a outra roda.
3) demandam mecanismo de trocas rápidas de processos.
Podem ser classificados quanto à interação permitida com as aplicações.
SO multitarefa em Batch
1) sistemas Batch (lote) consiste em submeter ao computador um lote de programas de uma só vez.
2) os Jobs (script com lote de programas) dos usuários são submetidos em ordem sequencial para a execução.
3) não existe interação entre o usuário e o job durante sua execução.
SO multitarefa interativo
1) o sistema permite que os usuários interajam com suas computações na forma de diálogo.
2) pode ser projetado como sistema monousuário ou multiusuário (usando conceitos de multiprogramação e time sharing).
Estrutura de SO´s
SO´s são normalmente grandes e complexas coleções de rotinas de software.
Projetistas devem dar grande ênfase à sua organização interna e estrutura:
1) Monolítica
2) Micronúcleo
3) Camadas
4) Máquina virtual
Estrutura monolítica
SO é um único módulo.
Consiste de um conjunto de programas que executam sobre o hardware, como se fosse um único programa.
Os programas de usuário invocam rotinas do SO.
Exemplos: MS-DOS, Windows, Unix e Linux.
Estrutura Micronúcleo(Microkernel)
Busca tornar o núcleo do SO e menor possível.
A primeira função do núcleo é gerenciar a comunicação entre esses processos.
Núcleo fornece serviços de alocação de CPU e de comunicação aos processos (IPC).
Exemplo: Minix, Symbian.
Estrutura de camadas
A ideia é criar um SO:
1) Modular – divisão de um programa complexo em módulos de menor complexidade.
2) Hierárquico – a cada nível, os detalhes de operação dos níveis inferiores podem ser ignorados.
As interfaces são definidas para facilitar a interação entre módulos hierárquicos.
Exemplo: MULTICS, OpenVMS.
Estrutura de máquina virtual
Um exemplo de utilização dessa estrutura ocorre na linguagem Java.
Para executar um programa Java é necessário uma Java Virtual Machine.