Este é o primeiro post de alguns que farei com as anotações que faço durante as aulas de sistemas operacionais.
Bem nem tudo que está aqui deverá ser levado como verdade absoluta, uma vez que são apenas minhas anotações e/ou resumos das aulas. O interessante é trocarmos conhecimento para que cada vez mais esses conceitos estejam sólidos em nossas mentes.
Tipos de sistemas operacionais
Começando com os tipos de sistemas operacionais, serão vistos:
- Sistemas monoprogramáveis / Monotarefa;
- Sistemas multiprogramáveis / Multitarefa;
- Sistemas com múltiplos processadores.
Sistemas monoprogramáveis
Os primeiros sistemas operacionais realizavam normalmente apenas uma única atividade por vez, isso significa que todos os recursos da máquina eram utilizados para processar um único programa por vez, esses computadores passaram a ser conhecidos como sistemas monoprogramáveis.
Como foram desenhados para realizar apenas uma tarefa por vez, o processador em vários momentos ficam ociosos, principalmente em momentos em que a interação do usuário é necessária, isso porque enquanto o usuário não realiza o input toda a máquina fica aguardando.
Se caracteriza também pela facilidade de implementação, isso porque não há muitas preocupações com formas de compartilhamento de recurso.
Sistemas multiprogramáveis
Este tipo de sistemas é a evolução dos sistemas monoprogramáveis, nesse já são executados múltiplos programas de uma única vez, e os recursos da máquina são compartilhados entre esses.
Neste sistema, enquanto um programa está lendo arquivos no disco, outro pode estar capturando informações com o usuário. E isso acabou trazendo sua principal vantagem com relação ao modelo monotarefa, o custo. Ele tem o custo muito reduzido em comparação aos monotarefas.
No geral seu tempo de execução é menor, mas acabam tendo uma implementação bastante complexa, exatamente por apresentarem preocupações com compartilhamento de recursos, periféricos e outros.
E ainda há uma divisão entre os sistemas multiprogramáveis, sendo esse definido pela quantidade de usuários que interagem com o sistema simultaneamente, onde:
- Um usuário: Monousuário;
- Dois ou mais usuários: Multiusuários.
Os sistemas multitarefas são divididos ainda em três subtipos, esses dependendo da forma com que as aplicações são gerenciadas, são elas:
Sistema batch
Esses foram os primeiros tipos de sistema operacional multitarefas, e eram programados através de cartões perfurados, e seu armazenamento eram discos ou fitas.
Geralmente os sistemas batch não necessitavam de interações com o usuário, utilizavam de arquivos na memória ou fitas para pegar as informações de entrada, comumente processando contas e compilações.
Com sua forma de processamento em blocos (batch) foram bastante utilizados por serem muito eficientes. Hoje os sistemas operacionais simulam esta forma de processamento, não existindo sistemas inteiros batch.
Sistemas de tempo compartilhado
Os sistemas de tempo compartilhado, permitem que diversos programas sejam executados em pequenos intervalos definidos pelo sistema operacional.
Esta forma de trabalho é bastante utilizada pelas aplicações corporativas, por oferecerem tempo de resposta e execução bons. Neste sistema, o usuário pode interagir com o sistema operacional, utilizando mouse, teclado e vídeo.
Caso o tempo definido para uma aplicação não seja o suficiente, ela volta para a fila e outro processo entra em seu lugar.
Sistemas de tempo real
A forma de implementação de sistemas de tempo real, porém com a diferença que o tempo separado para a execução da aplicação é feito de forma muito rígida, e não é finalizado a qualquer momento, para um possível novo calculo do tempo, como é feito com o tempo compartilhado.
Aqui não existe a divisão do tempo, a aplicação pode levar o tempo que for necessário para rodar a aplicação, e todas as definições do tempo que será gasto, quais recursos serão utilizados, é definido pelo próprio programa que está executando, e não pelo sistema operacional, assim como ocorre nos demais formatos citados acima.
É um tipo de sistema muito utilizado em aplicações críticas, como usinas nucleares e controle de tráfego aéreo.
E esses foram as várias formas do sistema operacional multiprogramado. Agora veja os sistemas com múltiplos processadores.
Sistemas com múltiplos processadores
Os sistemas com múltiplos processadores são aqueles que tem dois ou mais processadores trabalhando em conjunto.
Esses permitem que muitas aplicações sejam executadas ao mesmo tempo e ou que uma mesma aplicação rode em diferentes processadores, porém neste caso a aplicação terá de ter o suporte a trabalhar desta forma.
Múltiplos processadores são utilizados nos meios científicos nos cálculos aeroespaciais, simulações entre vários outras áreas.
Os conceitos utilizados nestes sistemas são os mesmos encontrados nos sistemas multitarefas, e são esses:
- Escalabilidade: Esta é a característica de conseguir aumentar o poder computacional acrescentando processadores;
- Disponibilidade: Com o trabalho sendo realizado com múltiplos processadores, caso algum deles venha a falhar, os demais ainda continuaram trabalhando normalmente;
- Balanceamento de carga: É a capacidade de dividir o processamento entre os diversos processadores.
Ainda há uma divisão que é feita dentro dos sistemas com múltiplos processadores, essa classificação é feita de acordo com a forma de comunicação entre as UCPs presentes no hardware.
As divisões são feitas entre os sistemas fortemente acoplados e os fracamente acoplados.
Sistemas fortemente acoplados
Os sistemas com múltiplos processadores fortemente acoplados são caracterizados por, várias UCPs dividindo uma única memória, dispositivos de E/S que são gerenciados tudo isso pelo mesmo sistema operacional. Os sistemas fortemente acoplados são divididos entre:
- SMP - Tem tempo uniforme no acesso a memória;
- NUMA - Sistemas que são conectados através de uma rede de interconexão.
Nestes dois sistemas todos os sistemas operacionais tem os mesmos problemas.
Sistemas fracamente acoplados
Os sistemas com múltiplos processadores fortemente acoplados são caracterizados pela forma independente de trabalho. São sistemas que são interligados, porém cada um com seu sistema operacional, estes podendo ser diferentes ou não. E cada um dos computadores ligados tem seu gerenciamento feito de forma diferente.
Os sistemas fracamente acoplados são divididos em:
- SOR (Sistemas operacionais para redes) - Permitem que um host compartilhe seus recursos para as demais máquinas na rede;
- Sistemas distribuídos - Nos SORs os hosts sabem que existem múltiplos host oferecendo serviços, já nos sistemas distribuídos, o sistema operacional mascara essa informação, fazendo com que mesmo que haja vários máquinas trabalhando, o sistema trabalha como se fosse apena um.
Comentários
Postar um comentário