Sistemas Operacionais: Conceitos, Tipos e Ciclo da CPU
Técnicas da Terceira Geração de Sistemas Operacionais
Na terceira geração de Sistemas Operacionais, foram criadas técnicas como multiprogramação, *spooling* e *time-sharing*.
Multiprogramação
Programas em execução na memória exigem técnicas de multiprogramação. As tarefas são executadas em ordem de chegada, mas podem não ser completadas; cada programa é executado em sua fatia de tempo.
Spooling
Um processo de transferência de dados que os coloca em uma área de trabalho temporária, onde outro programa pode acessá-los para processamento futuro. A técnica de *spooling* consiste em colocar *jobs* (tarefas) em um *buffer*, uma área da memória ou de um disco que um dispositivo pode acessar quando estiver preparado.
Time-sharing (Compartilhamento de Tempo)
Também denominado *multitasking*, sendo uma extensão lógica da multiprogramação. Basicamente, *time-sharing* consiste em alternar entre diferentes processos de forma que o usuário tenha a percepção de que todos os processos estão sendo executados simultaneamente, permitindo a interação com múltiplos processos em execução.
Tipos e Características de Sistemas Operacionais
Sistemas Operacionais para Computadores de Grande Porte
A principal característica dos sistemas operacionais para computadores de grande porte é serem orientados para o processamento simultâneo de muitos *jobs* (trabalhos). Cada unidade de trabalho é pequena, mas o sistema precisa tratar centenas ou milhares delas por segundo e simultaneamente.
Sistemas Operacionais de Servidores
Servem múltiplos usuários simultaneamente em uma rede, permitindo-lhes compartilhar recursos de *hardware* e *software*. Servidores podem oferecer serviços de impressão, serviços de arquivo ou serviços web.
Sistemas Operacionais de Multiprocessadores
Um modo mais comum de obter eficiência computacional é conectar múltiplas CPUs em um único sistema. Dependendo de como estiverem conectadas e o que compartilham, esses sistemas são denominados:
- Computadores Paralelos
- Multicomputadores
- Multiprocessadores
Precisam de sistemas operacionais especiais, muitas vezes derivados de sistemas operacionais de servidores, com aspectos especiais de comunicação e conectividade.
Sistemas Operacionais para Computadores Pessoais
Sua função é fornecer uma boa interface para um único usuário. São amplamente usados para processadores de texto, planilhas eletrônicas e acesso à internet.
Sistemas Operacionais de Tempo Real
São sistemas onde o tempo é um fator fundamental. Por exemplo: em um processo de fabricação de um carro. Caso o robô de soldagem seja ativado antes ou depois do tempo previsto, o carro estará perdido. Se ações precisam ocorrer em determinados instantes (ou em determinado intervalo de tempo), então tem-se um sistema de tempo real.
Sistemas Operacionais Embarcados
São os sistemas operacionais presentes em computadores de mão e outros dispositivos, também chamados de sistemas embarcados.
Sistemas Operacionais para Cartões Inteligentes
Os menores sistemas operacionais são executados em cartões inteligentes – dispositivos do tamanho de um cartão de crédito que contêm um chip de CPU.
Ciclo Básico de Execução da CPU
- Cálculo do endereço de memória que contém a instrução
- Busca da instrução
- Decodificação da instrução
- Cálculo do endereço dos operandos
- Busca do operando (*Operand Fetch*)
- Execução da operação
- Armazenamento do resultado em um endereço de memória