Tipos de Sistemas Operacionais e Gerenciamento de Memória

Classificado em Computação

Escrito em em português com um tamanho de 6,65 KB.

1. Tipos de Programas e Processos

1.1. Relocáveis

Programas ou processos relocáveis são aqueles que, uma vez carregados na memória RAM para execução, podem variar de posição. Isso ocorre porque a parte da memória RAM que eles ocupam pode ser necessária para outro processo. Esses processos mudam de posição durante a execução de operações no computador, geralmente relacionadas à configuração interna do sistema.

1.2. Reentrantes

Programas reentrantes são aqueles que, quando em execução, não liberam a memória que ocupam. Quando não estão em uso, são armazenados no disco rígido e carregados na memória quando necessários, utilizando técnicas como a memória virtual.

1.3. Residentes

Programas ou processos residentes são aqueles que, uma vez carregados na memória, permanecem nela até que o computador seja desligado. Eles não mudam de posição e geralmente ocupam um espaço fixo na memória RAM, entre 1024Kb e 1088Kb.

1.4. Reutilizáveis

Programas reutilizáveis são aqueles que podem ser usados por vários usuários simultaneamente na memória, otimizando o uso dos recursos.

2. Tipos de Interface

2.1. Interface de Texto

Em sistemas operacionais com interface de texto, o usuário interage digitando comandos e o sistema responde com mensagens de texto. Exemplos: DOS e UNIX.

  • Todos os comandos são digitados no teclado e exibidos na tela.
  • A tela em modo texto é composta por 80 colunas e 24 linhas, exibindo até 1920 caracteres (80 * 24).

2.2. Interface Gráfica

Atualmente, a maioria dos sistemas operacionais utiliza interface gráfica. O usuário interage com o sistema através do mouse e a informação é exibida em janelas, que contêm componentes para interação sem a necessidade de digitar comandos.

3. Tipos de Sistemas Operacionais

3.1. Batch

Utilizado na segunda geração de computadores, o processamento em lote (batch) consiste em carregar os dados em um armazenamento externo, processá-los no computador e armazenar os resultados em outro armazenamento externo para posterior exibição.

3.2. Tempo Real

Semelhante ao processamento em lote, mas o usuário insere os dados e o programa é iniciado imediatamente, processando as informações em tempo real.

3.3. Número de Usuários

3.3.1. Monousuário

Permite que apenas um usuário utilize o computador por vez, com todos os recursos de hardware disponíveis para ele.

3.3.2. Multiusuário

Permite que vários usuários utilizem os recursos do sistema simultaneamente, compartilhando dispositivos de armazenamento e periféricos como impressoras.

3.4. Número de Tarefas

3.4.1. Monotarefa

O sistema operacional executa apenas um programa ou processo por vez, dedicando todos os recursos a ele.

3.4.2. Multitarefa

O sistema operacional executa vários programas ou processos simultaneamente, geralmente em computadores com mais de um processador.

3.5. Número de Processadores

3.5.1. Uniprocessador

O computador possui apenas um processador, por onde todos os processos passam.

3.5.2. Multiprocessador

O computador possui dois ou mais processadores, permitindo que o sistema operacional distribua as tarefas entre eles.

  • Multiprocessamento Simétrico (SMP): O sistema operacional utiliza todos os processadores da mesma forma.
  • Multiprocessamento Assimétrico (AMP): O sistema operacional atribui tarefas específicas a cada processador.
  • Tempo de Resposta em Tempo Real: A resposta é imediata após o início do processo.

    Tempo Compartilhado: Cada processo utiliza ciclos de CPU até sua conclusão.

4. Funções do Sistema Operacional

O sistema operacional coordena o uso de programas e aplicações. O usuário escolhe os programas na maioria dos casos, mas o sistema operacional também executa seus próprios programas para garantir o funcionamento do sistema.

5. Estrutura do Sistema

A estrutura de um sistema computacional pode ser vista sob duas perspectivas:

  • Hardware e software do ponto de vista do usuário.
  • Hardware, sistema operacional, utilitários e aplicações.

Ambas as perspectivas são válidas, mas a segunda é mais completa, incluindo utilitários e aplicações que interagem com o sistema operacional e o hardware.

6. Serviços do Sistema Operacional

Um serviço é um tipo de aplicação que geralmente é executado em segundo plano, oferecendo serviços aos usuários e aplicações. Os serviços utilizam recursos do sistema operacional e podem ser multiusuário. Alguns serviços são iniciados pelo próprio sistema operacional, como servidores web, servidores de banco de dados e outras aplicações baseadas em servidores locais ou em rede.

Os serviços do sistema operacional permitem:

  • Criar e executar programas (editores, compiladores, depuradores).
  • Gerenciar recursos de hardware e software.
  • Acessar arquivos de forma segura e controlada.
  • Controlar o acesso a dispositivos de entrada e saída.
  • Acessar informações em um ambiente seguro.
  • Verificar e corrigir erros de hardware e software.
  • Fornecer informações estatísticas e de segurança.

Os serviços são essenciais para o funcionamento de muitas aplicações e do sistema operacional. Sem eles, muitas aplicações não funcionariam e tarefas comuns como acessar a internet seriam impossíveis.

7. Gerenciamento de Memória

7.1. Memória Virtual

A memória RAM é limitada, especialmente em sistemas grandes. Para solucionar esse problema, foram desenvolvidas técnicas como a divisão de programas em camadas, que são carregadas na memória RAM sob demanda, a partir do disco rígido.

7.2. Swapping

Quando vários usuários executam processos no mesmo computador, o sistema operacional utiliza a técnica de swapping para gerenciar a memória RAM. Processos inativos são movidos para uma área de swap no disco rígido (swap-out), liberando espaço na RAM para outros processos.

7.3. Paginação

A paginação divide a memória RAM em blocos de tamanho fixo chamados frames e os programas em blocos de mesmo tamanho chamados páginas. O sistema operacional aloca as páginas do programa aos frames disponíveis na memória RAM.

7.4. Segmentação

Similar à paginação, mas os blocos de memória (segmentos) possuem tamanho variável, que pode ser ajustado de acordo com as necessidades do programa.

Entradas relacionadas: