Conceitos Essenciais de Sistemas Operacionais
Classificado em Computação
Escrito em em português com um tamanho de 2,91 KB
Sistemas Monoprogramáveis/Monotarefa
Os sistemas monoprogramáveis se caracterizam por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa.
Sistemas Multiprogramáveis/Multitarefa
As vantagens do uso de sistemas multiprogramáveis são o aumento da produtividade dos seus usuários e a redução de custos, a partir do compartilhamento dos diversos recursos do sistema.
Sistemas Batch
Os sistemas batch (lote) foram os primeiros sistemas multiprogramáveis a serem implementados e caracterizam-se por terem seus programas armazenados em disco ou fita, onde esperam para ser executados sequencialmente. Não é necessária a interação com o usuário.
Sistemas de Tempo Compartilhado
Os sistemas de tempo compartilhado (time-sharing) permitem a interação dos usuários com o sistema, basicamente através de terminais que incluem vídeo, teclado e mouse. Devido à interação usuário-sistema, estes também ficaram conhecidos como sistemas on-line.
Sistemas de Tempo Real
Os sistemas de tempo real (real time) são bem semelhantes em implementação aos sistemas de tempo compartilhado. A maior diferença é o tempo de resposta exigido no processamento das aplicações. Os tempos de resposta devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário poderão ocorrer problemas irreparáveis.
Sistemas com Múltiplos Processadores
Os sistemas com múltiplos processadores caracterizam-se por possuir duas ou mais UCPs interligadas, trabalhando em conjunto. Podemos classificar os sistemas em fortemente acoplados ou fracamente acoplados.
Escalonamento
Quando um processador é multiprogramado, existem vários processos que competem pela CPU ao mesmo tempo. Esta situação ocorre sempre que dois processos estejam simultaneamente no estado pronto.
Tipos de Escalonamento:
- Preemptivo: um processo vai para o estado pronto-suspenso, para depois ir para o estado pronto-rodando.
- Não Preemptivo: o processo precisa terminar sua execução para liberar a CPU.
Quando Escalonar
O escalonamento ocorre nas seguintes situações:
- Quando se cria um novo processo.
- No término de um processo.
- Quando o processo é bloqueado (aguardando E/S, por exemplo).
- Quando um processo executa um evento de entrada e saída.
Pipeline
O pipeline é como uma linha de montagem, onde a tarefa é dividida em uma sequência de subtarefas, executadas em diferentes estágios. É utilizado em Sistemas Multiprogramáveis para otimizar o desempenho.
Compilador
O compilador é responsável por gerar, a partir de um programa escrito em uma linguagem de alto nível, um programa em linguagem de máquina.