Sistemas Operacionais: Definição, Funções e Tipos

Classificado em Computação

Escrito em em português com um tamanho de 4,88 KB

Definição e Funções do Sistema Operacional (SO)

O Sistema Operacional (SO) atua como intermediário entre o usuário e o hardware. Ele administra e opera todos os recursos do computador, gerenciando o software de aplicação e utilitários.

Exemplos de SO: Microsoft Windows, macOS, Linux.

Funções do SO

  • Facilitar o acesso aos recursos do sistema.
  • Compartilhar recursos de forma organizada e protegida.
  • Gerenciar a alocação de recursos (CPU, RAM).
  • Responder a pedidos de recursos feitos pelos programas.

Tipos de Sistemas Operacionais

Sistemas Monoprogramáveis/Monotarefas

Dedica todos os recursos do sistema (CPU + RAM) exclusivamente a uma única tarefa/programa por vez.

Sistemas Multiprogramáveis/Multitarefas

Permite que vários programas acessem os recursos simultaneamente.

Classificação dos Sistemas Multiprogramáveis

  • Sistemas Batch (Lote): Os programas são executados em sequência, armazenados em fita ou disco. O processamento é puramente sequencial, resultando em um tempo de resposta longo.
  • Sistemas de Tempo Compartilhado (“time sharing”): O SO aloca uma fatia de tempo do processador para cada programa. Se o programa não terminar, ele é substituído por outro e aguarda uma nova fatia de tempo.
  • Sistemas de Tempo Real: Semelhantes ao tempo compartilhado, mas a diferença crucial reside no tempo de resposta exigido. No tempo real, o tempo de resposta deve ser rigorosamente respeitado para cada processo, sob risco de problemas irreparáveis (ex: controle de tráfego aéreo). O processo pode usar o processador pelo tempo necessário ou até que um de maior prioridade apareça, sendo essa prioridade controlada pela aplicação, e não primariamente pelo SO.

Sistemas com Múltiplos Processadores (SMP)

Sistemas Fortemente Acoplados (SFA)

Dois ou mais processadores compartilham o mesmo banco de memória, com uso intenso da CPU e programação concorrente (CPU-RAM-CPU-Dispositivos).

  • Sistema Assimétrico: A CPU escrava deve enviar uma interrupção à CPU mestre para realizar operações. Um alto número de interrupções pode tornar o sistema ineficiente. A falha da CPU mestre leva à falha de todo o sistema. Os processadores não realizam as mesmas operações (CPU mestre gerencia SO/dispositivos; CPU escrava executa tarefas).
  • Sistema Simétrico: O processo pode ser executado por qualquer processador (programação paralela), permitindo o balanceamento de carga de processos.

Sistemas Fracamente Acoplados

Possuem dois ou mais sistemas de computação conectados por linhas de comunicação (CPU(Mem, disp) <-- link de comunicação --> CPU(Mem, disp)).

Gerenciamento de Processos

O SO deve alterar a execução dos processos para otimizar o uso da CPU e melhorar o tempo de resposta, alocando recursos (CPU + RAM) aos processos. Suporta a criação de processos pai e filhos, e a comunicação entre processos.

Escalonador de Processos

O processo entra na fila, é despachado para a CPU e sai (após conclusão ou pausa). O SO constrói estruturas de dados e aloca espaço de endereçamento na memória. Um processo é criado quando o usuário chama um aplicativo ou quando um aplicativo é chamado por outro software.

Problemas de Processos

  • Processos nem sempre estão prontos para executar (espera por I/O, processos fora da fila).
  • Estado Suspenso: Ocorre quando todos os processos podem estar bloqueados, pois a CPU é muito mais rápida que as operações de E/S. Envolve o swapping (troca de processos).
  • Problema Busy-Waiting: Ocorre quando um processo fica testando infinitamente uma condição até que ela se torne satisfatória.

Exclusão Mútua

Técnica de programação usada para evitar que dois processos acessem simultaneamente um recurso compartilhado.

Estruturas de Dados do SO para Gerenciamento

Para gerenciar processos, o SO precisa conhecer sua localização e atributos. O conjunto de atributos de um processo é chamado de Bloco de Controle de Processos (PCB), que inclui:

  • Identificação do Processo: Identificadores numéricos, nome, registradores.
  • Informações do Processador: Registradores e apontadores de estruturas de dados.
  • Informações de Controle: Estados do processo, prioridade, suporte ao escalonamento, eventos, comunicação entre processos, gerenciamento de memória e dados de uso de recursos.

O SO utiliza tabelas para gerenciar o sistema: tabela de memória principal, tabela de E/S, tabela de arquivos e tabela de processos.

Entradas relacionadas: