domingo, 1 de novembro de 2009

Qual o Funcionamento do Sistema Operativo?

Um sistema operacional possui as seguintes funções:

  1. gerenciamento de processos;
  2. gerenciamento de memória;
  3. sistema de arquivos;
  4. entrada e saída de dados.

Gerenciamento de processos.

O sistema operacional multitarefa é preparado para dar ao usuário a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que o usuário pensa que sua execução é simultânea.

São utilizados algoritmos para determinar que processo será executado em determinado momento e por quanto tempo.

Os processos podem se comunicar, isto é conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados são:

  1. sinais,
  2. pipes,
  3. named pipes,
  4. memória compartilhada,
  5. soquetes (sockets),
  6. semáforos,
  7. trocas de mensagens.

O sistema operacional, normalmente, deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompível, o que significa que pode ser interrompido no meio da execução de uma tarefa.

Gerenciamento de memória.

O sistema operacional tem acesso completo à memória do sistema e deve permitir que os processos dos usuários tenham acesso seguro à memória quando o requisitam.
Vários sistemas operacionais usam memória virtual, que possui 3 funções básicas:

  1. Assegurar que cada processo tenha seu próprio espaço de endereçamento, começando em zero, para evitar ou resolver o problema de relocação (Tanenbaum, 1999);
  2. Prover proteção da memória para impedir que um processo utilize um endereço de memória que não lhe pertença;
  3. Possibilitar que uma aplicação utilize mais memória do que a fisicamente existente.

Sistema de arquivos.

A memória principal do computador é volátil, e seu tamanho é limitado pelo custo do hardware. Assim, os usuários necessitam de algum método para armazenar e recuperar informações de modo permanente.
Um arquivo é um conjunto de bytes, normalmente armazenado em um dispositivo periférico não volátil (p.ex., disco), que pode ser lido e gravado por um ou mais processos.
O sistema de arquivos é a estrutura que permite o gerenciamento de arquivos—criação, destruição, leitura, gravação, controle de acesso, etc.

Sem comentários:

Enviar um comentário