Swapping
Existem situações onde não é possível manter todos os processos na memória.
Ex: um processo já alocado na memória faz uma chamada de sistema pedindo mais memória e não existe memória livre contígua a área onde o mesmo está alocado um usuário dispara um programa, não existe memória disponível mas é política dos sistema disparar imediatamente todos os programas solicitados de terminal.Usando o swapping o sistema escolhe um programa residente que é levado da memória para o disco (swap-out ) retornando posteriormente para a memória (swap-in).
Ex: um processo já alocado na memória faz uma chamada de sistema pedindo mais memória e não existe memória livre contígua a área onde o mesmo está alocado um usuário dispara um programa, não existe memória disponível mas é política dos sistema disparar imediatamente todos os programas solicitados de terminal.Usando o swapping o sistema escolhe um programa residente que é levado da memória para o disco (swap-out ) retornando posteriormente para a memória (swap-in).
Paginação
A paginação permite que o programa possa ser espalhado por áreas não contíguas de memória. Características:
- o espaço de endereçamento lógico de um processo é dividido em páginas lógicas de tamanho fixo
- a memória física é dividida em páginas com tamanho fixo, com tamanho igual ao da página lógica
- o programa é carregado página a página, cada página lógica ocupa uma página física
- as páginas físicas não são necessariamente contíguas
- o endereço lógico é inicialmente dividido em duas partes : um número de página lógica e um deslocamento dentro da página
- o número da página lógica é usado como índice no acesso a tabela de páginas, de forma a obter o número da página física correspondente
- não existe fragmentação externa
- existe fragmentação interna (Ex: um programa que ocupe 201kb, o tamanho de página é de 4 kb, serão alocadas 51 páginas resultando uma fragmentação interna de 3kb)
- além da localização a tabela de páginas armazena também o bit de validade, (1) se a página está na memória (0) se a página não está na memória
- a transferência das páginas de processo podem ser transferidas para a memória por demanda, levando apenas o que é necessário para a execução do programa ou por paginação antecipada, onde o sistema tenta prever as páginas que serão necessárias à execução do programa.
Paginas constantemente referenciadas em um processo devem permanecer na memória:
- Técnica de gerência de memória onde programas são divididos em segmentos de tamanhos variados cada um com seu próprio espaço de endereçamento.
- A principal diferença entre a paginação e a segmentação é a alocação da memória de maneira não fixa, a alocação depende da lógica do programa.
- O mapeamento é feito através das tabelas de mapeamento de segmentos.
- Os endereços são compostos pelo número do segmento e um deslocamento dentro do segmento.
- Cada entrada na tabela mantém o endereço físico do segmento, o tamanho do segmento, se ele está ou não na memória e sua proteção.
- O sistema operacional mantém uma tabela com as áreas livres e ocupadas da memória.
- Somente segmentos referenciados são transferidos para a memória principal.
- Ocorre fragmentação externa.
- Sistemas que implementam a segmentação com paginação. Cada segmento é dividido fisicamente em páginas.
- O endereço é formado pelo número do segmento, número da página dentro desse segmento e o deslocamento dentro dessa página.
Memória Virtual
- Técnica de gerenciamento que combina a memória principal e a secundária dando ao usuário a idéia de existir uma memória maior que a memória principal.
- Desvincula o endereçamento feito pelo programa dos endereços físicos da memória principal.
- Um programa no ambiente de memória virtual não faz referência a endereços físicos mas endereços virtuais.
- O endereço virtual é traduzido para o endereço físico através do mapeamento.
- Os programas podem ser muito maiores do que sua memória física, apenas parte deles está residente na memória em um determinado instante.
- O restante do programa fica na memória secundária até ser referenciado.
Fonte: http://escalonamentoprocessos.blogspot.com.br/2010/12/swapping-x-paginacao-x-segmentacao-x.html